import { IconPickerCatalogSection, IconPickerEmits, IconPickerEntry, IconPickerFileChooser, IconPickerLabels, IconPickerProps, IconPickerSection, IconPickerShape } from './src/types'; import { default as TxIconPicker } from './src/TxIconPicker.vue'; import { default as TxIconPickerPanel } from './src/TxIconPickerPanel.vue'; /** * TxIconPicker — pick an icon from bundled emoji, icon, brand and AI catalogs, * or from a local file, and get back one identifier string. * * @example * ```ts * import { TxIconPicker } from '@talex-touch/tuffex' * * // * // identifier: 'class:i-ri-rocket-line' | 'emoji:🚀' | 'file:/Users/me/a.png' * ``` * * The picker draws the bundled classes from its own path data, so it needs no * icon CSS from the host. A picked class shown *outside* the picker is just a * class, though: render it through `TxIcon` under a config whose * `classGlyph` is `resolveIconPickerGlyph`, or safelist * `ICON_CATALOG_CLASSES` in the host's utility-CSS engine. * * @public */ declare const IconPicker: { new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins & Readonly<{ onChange?: ((value: string) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; "onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined; "onFile-error"?: ((error: unknown) => any) | undefined; }>, { toggle: (value?: boolean) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { change: (value: string) => any; "update:modelValue": (value: string) => any; "update:shape": (value: IconPickerShape) => any; "file-error": (error: unknown) => any; }, import('vue').PublicProps, { disabled: boolean; placeholder: string; size: number; modelValue: string; inline: boolean; shape: IconPickerShape; labels: Partial; accept: string; sections: IconPickerSection[]; catalog: Partial>; shapeSelectable: boolean; fileChooser: IconPickerFileChooser; }, false, {}, {}, Record, Record, string, { panel: import('vue').CreateComponentPublicInstanceWithMixins>; shapeSelectable: boolean; labels: IconPickerLabels; disabled: boolean; accept: string; hasFileChooser: boolean; fileBusy: boolean; }> & Readonly<{ onSelect?: ((entry: IconPickerEntry) => any) | undefined; onClear?: (() => any) | undefined; "onSelect-shape"?: ((shape: IconPickerShape) => any) | undefined; "onChoose-file"?: (() => any) | undefined; "onPick-file"?: ((file: File) => any) | undefined; }>, { resetQuery: () => void; reveal: () => void; focusSearch: () => Promise; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { select: (entry: IconPickerEntry) => any; clear: () => any; "select-shape": (shape: IconPickerShape) => any; "choose-file": () => any; "pick-file": (file: File) => any; }, import('vue').PublicProps, {}, false, {}, {}, Record, Record, string, { input: HTMLInputElement; fileInput: HTMLInputElement; }, HTMLDivElement, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly<{ modelValue: string; shape: IconPickerShape; sections: IconPickerSection[]; catalog?: Partial>; shapeSelectable: boolean; labels: IconPickerLabels; disabled: boolean; accept: string; hasFileChooser: boolean; fileBusy: boolean; }> & Readonly<{ onSelect?: ((entry: IconPickerEntry) => any) | undefined; onClear?: (() => any) | undefined; "onSelect-shape"?: ((shape: IconPickerShape) => any) | undefined; "onChoose-file"?: (() => any) | undefined; "onPick-file"?: ((file: File) => any) | undefined; }>, { resetQuery: () => void; reveal: () => void; focusSearch: () => Promise; }, {}, {}, {}, {}> | null; trigger: HTMLButtonElement; plate: SVGPathElement; }, any, import('vue').ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, Readonly & Readonly<{ onChange?: ((value: string) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; "onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined; "onFile-error"?: ((error: unknown) => any) | undefined; }>, { toggle: (value?: boolean) => void; }, {}, {}, {}, { disabled: boolean; placeholder: string; size: number; modelValue: string; inline: boolean; shape: IconPickerShape; labels: Partial; accept: string; sections: IconPickerSection[]; catalog: Partial>; shapeSelectable: boolean; fileChooser: IconPickerFileChooser; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import('vue').ComponentOptionsBase & Readonly<{ onChange?: ((value: string) => any) | undefined; "onUpdate:modelValue"?: ((value: string) => any) | undefined; "onUpdate:shape"?: ((value: IconPickerShape) => any) | undefined; "onFile-error"?: ((error: unknown) => any) | undefined; }>, { toggle: (value?: boolean) => void; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { change: (value: string) => any; "update:modelValue": (value: string) => any; "update:shape": (value: IconPickerShape) => any; "file-error": (error: unknown) => any; }, string, { disabled: boolean; placeholder: string; size: number; modelValue: string; inline: boolean; shape: IconPickerShape; labels: Partial; accept: string; sections: IconPickerSection[]; catalog: Partial>; shapeSelectable: boolean; fileChooser: IconPickerFileChooser; }, {}, string, {}, Record, Record, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & import('vue').Plugin; export { AI_CATALOG, BRAND_CATALOG, EMOJI_CATALOG, ICON_CATALOG, ICON_CATALOG_CLASSES, ICON_PICKER_CATEGORY_LABELS, } from './src/catalog'; export { loadIconPickerGlyphs, provideIconPickerGlyphs, resolveIconPickerGlyph } from './src/glyphs'; export { formatIconIdentifier, parseIconIdentifier } from './src/identifier'; export { ICON_PICKER_SHAPE_PATHS, ICON_PICKER_SHAPES, isIconPickerShape } from './src/shapes'; export { IconPicker, TxIconPicker, TxIconPickerPanel }; export type { IconPickerCatalogSection, IconPickerEmits, IconPickerEntry, IconPickerFileChooser, IconPickerLabels, IconPickerProps, IconPickerSection, IconPickerShape, }; export type TxIconPickerInstance = InstanceType; export default IconPicker;