Files
webmail/lib/plugin-sandbox/ui-kit/index.ts
T
Tobias Genannt d6d3683b65 feat(plugins): add Combobox component to UI kit with host floating dropdown portal
- Add Combobox component supporting single and multiselect modes, search filtering, and clear button
- Implement floating dropdown bridge and host slot portal so dropdown renders cleanly outside plugin iframe
- Fix clear button and chip removals to not unexpectedly open the dropdown
- Add comprehensive unit tests covering Combobox options, clear behavior, multiselect, and bridge communication
2026-10-16 10:08:27 +02:00

23 lines
810 B
TypeScript

// `@plugin-host/ui`: the module plugins require for the app's controls.
// See components.tsx. Adding an export is a plugin API change: list it in
// KIT_EXPORTS below (the plugins repo's docs and fake API read that list).
import * as components from './components';
import { DialogButtons, useSlotProps } from './dialog-buttons';
export * from './components';
export { DialogButtons, SlotPropsContext, useSlotProps } from './dialog-buttons';
export type { DialogButtonSpec } from './dialog-buttons';
/** Bumped when a component is added or its props change in a way plugins can see. */
export const KIT_VERSION = 2;
export const pluginUiKit = Object.freeze({
...components,
DialogButtons,
useSlotProps,
KIT_VERSION,
});
export const KIT_EXPORTS = Object.freeze(Object.keys(pluginUiKit).sort());