prismify-ui 0.1.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CODE_OF_CONDUCT.md +79 -0
  3. package/LICENSE +21 -0
  4. package/README.md +38 -0
  5. package/dist/components/dashboard/PfDashboardGroup/index.vue.d.ts +42 -0
  6. package/dist/components/dashboard/PfDashboardNavbar/index.vue.d.ts +57 -0
  7. package/dist/components/dashboard/PfDashboardPanel/index.vue.d.ts +47 -0
  8. package/dist/components/dashboard/PfDashboardResizeHandle/index.vue.d.ts +28 -0
  9. package/dist/components/dashboard/PfDashboardSearch/index.vue.d.ts +99 -0
  10. package/dist/components/dashboard/PfDashboardSearchButton/index.vue.d.ts +71 -0
  11. package/dist/components/dashboard/PfDashboardSidebar/index.vue.d.ts +121 -0
  12. package/dist/components/dashboard/PfDashboardSidebarCollapse/index.vue.d.ts +65 -0
  13. package/dist/components/dashboard/PfDashboardSidebarToggle/index.vue.d.ts +65 -0
  14. package/dist/components/dashboard/PfDashboardToolbar/index.vue.d.ts +32 -0
  15. package/dist/components/dashboard/shared/injection.d.ts +30 -0
  16. package/dist/components/dashboard/shared/resize.d.ts +5 -0
  17. package/dist/components/dashboard/shared/storage.d.ts +10 -0
  18. package/dist/components/data/PfAccordion/index.vue.d.ts +167 -0
  19. package/dist/components/data/PfEmpty/index.vue.d.ts +83 -0
  20. package/dist/components/data/PfMarquee/index.vue.d.ts +97 -0
  21. package/dist/components/data/PfScrollArea/index.vue.d.ts +58 -0
  22. package/dist/components/data/PfTable/index.vue.d.ts +166 -0
  23. package/dist/components/data/PfTimeline/index.vue.d.ts +105 -0
  24. package/dist/components/data/PfTree/PfTreeBranch.vue.d.ts +78 -0
  25. package/dist/components/data/PfTree/PfTreeRow.vue.d.ts +107 -0
  26. package/dist/components/data/PfTree/index.vue.d.ts +222 -0
  27. package/dist/components/data/PfTree/treeContext.d.ts +19 -0
  28. package/dist/components/data/PfTree/treeItemDisplay.d.ts +5 -0
  29. package/dist/components/data/PfTree/treeTypes.d.ts +58 -0
  30. package/dist/components/data/PfUser/index.vue.d.ts +65 -0
  31. package/dist/components/editor/PfEditor/PfEditorImageUploadNode.vue.d.ts +3 -0
  32. package/dist/components/editor/PfEditor/imageUploadExtension.d.ts +10 -0
  33. package/dist/components/editor/PfEditor/index.vue.d.ts +47 -0
  34. package/dist/components/editor/PfEditorDragHandle/index.vue.d.ts +95 -0
  35. package/dist/components/editor/PfEditorEmojiMenu/index.vue.d.ts +43 -0
  36. package/dist/components/editor/PfEditorMentionMenu/index.vue.d.ts +53 -0
  37. package/dist/components/editor/PfEditorSuggestionMenu/index.vue.d.ts +49 -0
  38. package/dist/components/editor/PfEditorToolbar/index.vue.d.ts +67 -0
  39. package/dist/components/editor/utils/handlers.d.ts +7 -0
  40. package/dist/components/editor/utils/injection.d.ts +8 -0
  41. package/dist/components/editor/utils/mapEditorItems.d.ts +7 -0
  42. package/dist/components/editor/utils/types.d.ts +98 -0
  43. package/dist/components/editor/utils/useEditorMenu.d.ts +31 -0
  44. package/dist/components/element/PfAlert/index.vue.d.ts +98 -0
  45. package/dist/components/element/PfAvatar/index.vue.d.ts +43 -0
  46. package/dist/components/element/PfAvatarGroup/index.vue.d.ts +52 -0
  47. package/dist/components/element/PfAvatarGroup/injection.d.ts +6 -0
  48. package/dist/components/element/PfBadge/index.vue.d.ts +64 -0
  49. package/dist/components/element/PfBanner/index.vue.d.ts +67 -0
  50. package/dist/components/element/PfButton/index.vue.d.ts +108 -0
  51. package/dist/components/element/PfCard/index.vue.d.ts +34 -0
  52. package/dist/components/element/PfChip/index.vue.d.ts +49 -0
  53. package/dist/components/element/PfCollapsible/index.vue.d.ts +82 -0
  54. package/dist/components/element/PfContentSearchButton/index.vue.d.ts +75 -0
  55. package/dist/components/element/PfFieldGroup/index.vue.d.ts +48 -0
  56. package/dist/components/element/PfFieldGroup/injection.d.ts +6 -0
  57. package/dist/components/element/PfIcon/iconSizes.d.ts +3 -0
  58. package/dist/components/element/PfIcon/index.vue.d.ts +10 -0
  59. package/dist/components/element/PfIcon/paths.d.ts +14 -0
  60. package/dist/components/element/PfKbd/index.vue.d.ts +36 -0
  61. package/dist/components/element/PfProgress/index.vue.d.ts +69 -0
  62. package/dist/components/element/PfSeparator/index.vue.d.ts +58 -0
  63. package/dist/components/element/PfSkeleton/index.vue.d.ts +31 -0
  64. package/dist/components/form/PfCalendar/calendarGrid.d.ts +12 -0
  65. package/dist/components/form/PfCalendar/calendarSelection.d.ts +30 -0
  66. package/dist/components/form/PfCalendar/index.vue.d.ts +137 -0
  67. package/dist/components/form/PfCheckbox/index.vue.d.ts +84 -0
  68. package/dist/components/form/PfCheckboxGroup/index.vue.d.ts +82 -0
  69. package/dist/components/form/PfColorPicker/colorPicker.d.ts +46 -0
  70. package/dist/components/form/PfColorPicker/index.vue.d.ts +54 -0
  71. package/dist/components/form/PfFileUpload/index.vue.d.ts +258 -0
  72. package/dist/components/form/PfForm/index.vue.d.ts +75 -0
  73. package/dist/components/form/PfForm/injection.d.ts +32 -0
  74. package/dist/components/form/PfForm/validation.d.ts +9 -0
  75. package/dist/components/form/PfFormField/index.vue.d.ts +59 -0
  76. package/dist/components/form/PfInput/index.vue.d.ts +97 -0
  77. package/dist/components/form/PfInputDate/index.vue.d.ts +109 -0
  78. package/dist/components/form/PfInputDate/inputDateSegments.d.ts +36 -0
  79. package/dist/components/form/PfInputMenu/index.vue.d.ts +1410 -0
  80. package/dist/components/form/PfInputNumber/index.vue.d.ts +498 -0
  81. package/dist/components/form/PfInputTags/index.vue.d.ts +482 -0
  82. package/dist/components/form/PfInputTime/index.vue.d.ts +108 -0
  83. package/dist/components/form/PfInputTime/inputTimeSegments.d.ts +36 -0
  84. package/dist/components/form/PfPinInput/index.vue.d.ts +56 -0
  85. package/dist/components/form/PfRadio/index.vue.d.ts +76 -0
  86. package/dist/components/form/PfRadioGroup/index.vue.d.ts +74 -0
  87. package/dist/components/form/PfSelect/index.vue.d.ts +209 -0
  88. package/dist/components/form/PfSelectMenu/index.vue.d.ts +1034 -0
  89. package/dist/components/form/PfSlider/index.vue.d.ts +54 -0
  90. package/dist/components/form/PfSwitch/index.vue.d.ts +83 -0
  91. package/dist/components/form/PfTextarea/index.vue.d.ts +111 -0
  92. package/dist/components/form/groupItems.d.ts +36 -0
  93. package/dist/components/layout/PfApp/index.vue.d.ts +45 -0
  94. package/dist/components/layout/PfApp/injection.d.ts +43 -0
  95. package/dist/components/layout/PfContainer/index.vue.d.ts +27 -0
  96. package/dist/components/layout/PfError/index.vue.d.ts +113 -0
  97. package/dist/components/layout/PfFooter/index.vue.d.ts +38 -0
  98. package/dist/components/layout/PfHeader/index.vue.d.ts +132 -0
  99. package/dist/components/layout/PfMain/index.vue.d.ts +27 -0
  100. package/dist/components/navigation/PfBreadcrumb/index.vue.d.ts +156 -0
  101. package/dist/components/navigation/PfContentNavigation/index.vue.d.ts +196 -0
  102. package/dist/components/navigation/PfContentSurround/index.vue.d.ts +86 -0
  103. package/dist/components/navigation/PfContentToc/index.vue.d.ts +165 -0
  104. package/dist/components/navigation/PfFooterColumns/index.vue.d.ts +145 -0
  105. package/dist/components/navigation/PfLink/index.vue.d.ts +80 -0
  106. package/dist/components/navigation/PfNavigationMenu/index.vue.d.ts +187 -0
  107. package/dist/components/navigation/PfPagination/index.vue.d.ts +103 -0
  108. package/dist/components/navigation/PfStepper/index.vue.d.ts +107 -0
  109. package/dist/components/navigation/PfTabs/index.vue.d.ts +131 -0
  110. package/dist/components/overlay/PfContentSearch/index.vue.d.ts +181 -0
  111. package/dist/components/overlay/PfContextMenu/PfContextMenuItems.vue.d.ts +10 -0
  112. package/dist/components/overlay/PfContextMenu/index.vue.d.ts +57 -0
  113. package/dist/components/overlay/PfContextMenu/types.d.ts +40 -0
  114. package/dist/components/overlay/PfDrawer/index.vue.d.ts +106 -0
  115. package/dist/components/overlay/PfDropdownMenu/PfDropdownMenuItems.vue.d.ts +10 -0
  116. package/dist/components/overlay/PfDropdownMenu/index.vue.d.ts +74 -0
  117. package/dist/components/overlay/PfDropdownMenu/types.d.ts +58 -0
  118. package/dist/components/overlay/PfModal/index.vue.d.ts +138 -0
  119. package/dist/components/overlay/PfToast/index.vue.d.ts +128 -0
  120. package/dist/components/overlay/PfToaster/index.vue.d.ts +11 -0
  121. package/dist/components/overlay/PfTooltip/index.vue.d.ts +85 -0
  122. package/dist/composables/pfScrollAreaVirtual.d.ts +21 -0
  123. package/dist/composables/usePfApp.d.ts +7 -0
  124. package/dist/composables/usePfContentSearch.d.ts +11 -0
  125. package/dist/composables/usePfKbd.d.ts +14 -0
  126. package/dist/composables/usePfToast.d.ts +137 -0
  127. package/dist/composables/usePfVModelBound.d.ts +5 -0
  128. package/dist/index.d.ts +184 -0
  129. package/dist/prismify-ui.cjs +3 -0
  130. package/dist/prismify-ui.cjs.map +1 -0
  131. package/dist/prismify-ui.js +26967 -0
  132. package/dist/prismify-ui.js.map +1 -0
  133. package/dist/style.css +1 -0
  134. package/dist/utils/editor.d.ts +2 -0
  135. package/dist/utils/pfLinkQuery.d.ts +8 -0
  136. package/docs/README.md +17 -0
  137. package/docs/installation.md +120 -0
  138. package/docs/library-development.md +57 -0
  139. package/docs/theming.md +334 -0
  140. package/llms.txt +220 -0
  141. package/package.json +146 -0
  142. package/src/styles/_variables.scss +25 -0
  143. package/src/styles/index.scss +1 -0
  144. package/src/styles/mixins/_input-tag-pill.scss +72 -0
  145. package/src/styles/variables/_accordion.scss +15 -0
  146. package/src/styles/variables/_animation.scss +25 -0
  147. package/src/styles/variables/_breadcrumb.scss +11 -0
  148. package/src/styles/variables/_colors.scss +37 -0
  149. package/src/styles/variables/_contextMenu.scss +31 -0
  150. package/src/styles/variables/_dashboard.scss +8 -0
  151. package/src/styles/variables/_drawer.scss +34 -0
  152. package/src/styles/variables/_editor.scss +34 -0
  153. package/src/styles/variables/_effects.scss +6 -0
  154. package/src/styles/variables/_empty.scss +12 -0
  155. package/src/styles/variables/_fileUpload.scss +21 -0
  156. package/src/styles/variables/_footerColumns.scss +17 -0
  157. package/src/styles/variables/_layout.scss +294 -0
  158. package/src/styles/variables/_link.scss +8 -0
  159. package/src/styles/variables/_marquee.scss +6 -0
  160. package/src/styles/variables/_modal.scss +26 -0
  161. package/src/styles/variables/_navigationMenu.scss +46 -0
  162. package/src/styles/variables/_stepper.scss +15 -0
  163. package/src/styles/variables/_table.scss +29 -0
  164. package/src/styles/variables/_tabs.scss +18 -0
  165. package/src/styles/variables/_timeline.scss +11 -0
  166. package/src/styles/variables/_toast.scss +14 -0
  167. package/src/styles/variables/_tooltip.scss +16 -0
  168. package/src/styles/variables/_tree.scss +29 -0
  169. package/src/styles/variables/_typography.scss +19 -0
@@ -0,0 +1,76 @@
1
+ import { Component } from 'vue';
2
+ export type PfRadioColor = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error' | 'neutral';
3
+ export type PfRadioVariant = 'card' | 'list';
4
+ export type PfRadioSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ export type PfRadioIndicator = 'start' | 'end' | 'hidden';
6
+ export type PfRadioUi = Partial<{
7
+ root: string;
8
+ container: string;
9
+ base: string;
10
+ indicator: string;
11
+ dot: string;
12
+ wrapper: string;
13
+ label: string;
14
+ description: string;
15
+ }>;
16
+ type __VLS_Props = {
17
+ as?: string | Component;
18
+ /** Group selected value (`v-model`). */
19
+ modelValue?: unknown;
20
+ defaultValue?: unknown;
21
+ /** This option’s value. */
22
+ value: unknown;
23
+ label?: string;
24
+ description?: string;
25
+ color?: PfRadioColor;
26
+ variant?: PfRadioVariant;
27
+ size?: PfRadioSize;
28
+ indicator?: PfRadioIndicator;
29
+ ui?: PfRadioUi;
30
+ disabled?: boolean;
31
+ required?: boolean;
32
+ name?: string;
33
+ id?: string;
34
+ autofocus?: boolean;
35
+ form?: string;
36
+ };
37
+ declare function __VLS_template(): {
38
+ attrs: Partial<{}>;
39
+ slots: {
40
+ label?(_: {}): any;
41
+ label?(_: {}): any;
42
+ description?(_: {}): any;
43
+ description?(_: {}): any;
44
+ };
45
+ refs: {
46
+ inputRef: HTMLInputElement;
47
+ };
48
+ rootEl: any;
49
+ };
50
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
51
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
52
+ inputRef: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
53
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
54
+ change: (event: Event) => any;
55
+ "update:modelValue": (value: unknown) => any;
56
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
57
+ onChange?: ((event: Event) => any) | undefined;
58
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
59
+ }>, {
60
+ size: PfRadioSize;
61
+ required: boolean;
62
+ color: PfRadioColor;
63
+ variant: PfRadioVariant;
64
+ disabled: boolean;
65
+ indicator: PfRadioIndicator;
66
+ autofocus: boolean;
67
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
68
+ inputRef: HTMLInputElement;
69
+ }, any>;
70
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
71
+ export default _default;
72
+ type __VLS_WithTemplateSlots<T, S> = T & {
73
+ new (): {
74
+ $slots: S;
75
+ };
76
+ };
@@ -0,0 +1,74 @@
1
+ import { Component } from 'vue';
2
+ import { PfRadioColor, PfRadioIndicator, PfRadioSize, PfRadioVariant } from '../PfRadio/index.vue';
3
+ import { PfChoiceGroupItem } from '../groupItems';
4
+ export type PfRadioGroupUi = Partial<{
5
+ root: string;
6
+ fieldset: string;
7
+ legend: string;
8
+ item: string;
9
+ container: string;
10
+ base: string;
11
+ indicator: string;
12
+ dot: string;
13
+ wrapper: string;
14
+ label: string;
15
+ description: string;
16
+ }>;
17
+ type __VLS_Props = {
18
+ as?: string | Component;
19
+ legend?: string;
20
+ valueKey?: string;
21
+ labelKey?: string;
22
+ descriptionKey?: string;
23
+ items?: readonly PfChoiceGroupItem[];
24
+ modelValue?: unknown;
25
+ defaultValue?: unknown;
26
+ size?: PfRadioSize;
27
+ variant?: PfRadioVariant | 'table';
28
+ orientation?: 'horizontal' | 'vertical';
29
+ indicator?: PfRadioIndicator;
30
+ disabled?: boolean;
31
+ name?: string;
32
+ required?: boolean;
33
+ color?: PfRadioColor;
34
+ ui?: PfRadioGroupUi;
35
+ };
36
+ declare function __VLS_template(): {
37
+ attrs: Partial<{}>;
38
+ slots: {
39
+ legend?(_: {}): any;
40
+ label?(_: {
41
+ item: import('../groupItems').PfNormalizedChoiceItem;
42
+ }): any;
43
+ description?(_: {
44
+ item: import('../groupItems').PfNormalizedChoiceItem;
45
+ }): any;
46
+ };
47
+ refs: {};
48
+ rootEl: any;
49
+ };
50
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
51
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
52
+ change: (event: Event) => any;
53
+ "update:modelValue": (value: unknown) => any;
54
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
55
+ onChange?: ((event: Event) => any) | undefined;
56
+ "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
57
+ }>, {
58
+ required: boolean;
59
+ color: PfRadioColor;
60
+ variant: PfRadioVariant | "table";
61
+ disabled: boolean;
62
+ orientation: "horizontal" | "vertical";
63
+ indicator: PfRadioIndicator;
64
+ valueKey: string;
65
+ labelKey: string;
66
+ descriptionKey: string;
67
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
68
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
69
+ export default _default;
70
+ type __VLS_WithTemplateSlots<T, S> = T & {
71
+ new (): {
72
+ $slots: S;
73
+ };
74
+ };
@@ -0,0 +1,209 @@
1
+ import { PfIconName } from '../../element/PfIcon/paths';
2
+ import { PfChipColor, PfChipSize } from '../../element/PfChip/index.vue';
3
+ export type PfSelectColor = 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error' | 'neutral';
4
+ export type PfSelectVariant = 'outline' | 'soft' | 'subtle' | 'ghost' | 'none';
5
+ export type PfSelectSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
6
+ export type PfSelectOptionAvatarSize = '3xs' | '2xs' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
7
+ /** `PfAvatar` props to the left of the item (or via `imageSrc`). */
8
+ export interface PfSelectOptionAvatarConfig {
9
+ src?: string;
10
+ alt?: string;
11
+ icon?: PfIconName;
12
+ text?: string;
13
+ size?: PfSelectOptionAvatarSize;
14
+ }
15
+ /** `PfChip` props (`standalone` mode) instead of plain label text. */
16
+ export interface PfSelectOptionChipConfig {
17
+ color?: PfChipColor;
18
+ size?: PfChipSize;
19
+ show?: boolean;
20
+ }
21
+ export interface PfSelectOption {
22
+ value: string | number;
23
+ label: string;
24
+ disabled?: boolean;
25
+ /** Icon to the left of the label (if no `avatar` / `imageSrc`). */
26
+ icon?: PfIconName;
27
+ /** Image on the left (circular via `PfAvatar`). */
28
+ imageSrc?: string;
29
+ imageAlt?: string;
30
+ /** Avatar/icon/initials on the left; takes precedence over `imageSrc` and `icon`. */
31
+ avatar?: PfSelectOptionAvatarConfig;
32
+ /** Color indicator on the left (empty `PfChip`); label aligns with icon rows. */
33
+ chip?: PfSelectOptionChipConfig;
34
+ /** Selected-item icon in the panel for this option; `null` — hide. */
35
+ selectedIcon?: PfIconName | null;
36
+ }
37
+ /** Group item: string (`value` and label match) or full option. */
38
+ export type PfSelectGroupItem = string | PfSelectOption;
39
+ /** Option groups; flattened into one list, dividers between groups in the panel. */
40
+ export type PfSelectOptionGroups = readonly (readonly PfSelectGroupItem[])[];
41
+ export type PfSelectModelValue = string | number | undefined | (string | number)[];
42
+ export interface PfSelectUi {
43
+ root?: string;
44
+ shell?: string;
45
+ native?: string;
46
+ trailing?: string;
47
+ icon?: string;
48
+ leading?: string;
49
+ leadingIcon?: string;
50
+ leadingAvatar?: string;
51
+ trigger?: string;
52
+ panel?: string;
53
+ option?: string;
54
+ optionLabel?: string;
55
+ optionIcon?: string;
56
+ optionLeading?: string;
57
+ optionChip?: string;
58
+ /** Divider between groups in the custom panel. */
59
+ groupDivider?: string;
60
+ /** Empty list after filtering (e.g. search). */
61
+ panelEmpty?: string;
62
+ }
63
+ type __VLS_Props = {
64
+ id?: string;
65
+ modelValue?: PfSelectModelValue;
66
+ defaultValue?: PfSelectModelValue;
67
+ options?: readonly PfSelectOption[];
68
+ /**
69
+ * Option groups (e.g. `[['A','B'], ['C']]`). Use instead of flat `options`;
70
+ * `v-model` still comes from option `value` fields or from the string when the item is a string.
71
+ */
72
+ optionGroups?: PfSelectOptionGroups;
73
+ /** `<optgroup>` labels in native mode by group index. */
74
+ optionGroupLabels?: readonly (string | undefined)[];
75
+ placeholder?: string;
76
+ multiple?: boolean;
77
+ /** Native `size` on `<select multiple>` — number of visible rows. */
78
+ listboxRows?: number;
79
+ /**
80
+ * Native `<select>`. Without `options` (slot) or with `native: true` — native UI;
81
+ * otherwise custom trigger and panel (single and multiple selection with `options`).
82
+ */
83
+ native?: boolean;
84
+ name?: string;
85
+ required?: boolean;
86
+ disabled?: boolean;
87
+ autocomplete?: string;
88
+ autofocus?: boolean;
89
+ form?: string;
90
+ color?: PfSelectColor;
91
+ variant?: PfSelectVariant;
92
+ size?: PfSelectSize;
93
+ highlight?: boolean;
94
+ /** Expand icon on the trigger (and native mode on the right). */
95
+ chevronIcon?: PfIconName;
96
+ /** @deprecated Use `chevronIcon`; if only this is set, behavior is unchanged. */
97
+ trailingIcon?: PfIconName;
98
+ /**
99
+ * Icon for the selected row in the panel (default for all options).
100
+ * Per-option `selectedIcon` overrides.
101
+ * `null` — hide globally (options with their own `selectedIcon` still show it).
102
+ */
103
+ selectedOptionIcon?: PfIconName | null;
104
+ /** Icon to the left of the field (custom and native UI). */
105
+ leadingIcon?: PfIconName;
106
+ /** Avatar on the left; hidden when `loading`, spinner shown. */
107
+ leadingAvatar?: PfSelectOptionAvatarConfig;
108
+ /** Loading: spinner on the left instead of `leadingIcon` / `leadingAvatar`. */
109
+ loading?: boolean;
110
+ /** Loading icon on the left. */
111
+ loadingIcon?: PfIconName;
112
+ /** Gap between panel and trigger (px). */
113
+ menuGap?: number;
114
+ /** Clear value: row in panel (single) or clear all (multi). */
115
+ clearable?: boolean;
116
+ /** Label for the clear row in the panel; default «—». */
117
+ clearOptionLabel?: string;
118
+ /** Initial panel open state (without external `v-model` on `PfSelect`). */
119
+ defaultOpen?: boolean;
120
+ /**
121
+ * Show the panel even when the option list is empty (e.g. search with no matches).
122
+ */
123
+ allowEmptyPanel?: boolean;
124
+ /**
125
+ * Hides panel rows; hidden rows stay in the native `<select>` for the form.
126
+ */
127
+ optionFilter?: (index: number, option: PfSelectOption) => boolean;
128
+ /**
129
+ * Text when filtering leaves no rows (empty `panelEmpty` slot overrides).
130
+ */
131
+ emptyText?: string;
132
+ /**
133
+ * After selecting an option in single mode, return focus to the trigger.
134
+ * For PfInputMenu set `false` to avoid leaving focus on the input field.
135
+ */
136
+ focusTriggerAfterSingleSelect?: boolean;
137
+ ui?: PfSelectUi;
138
+ };
139
+ declare function closePanel(): void;
140
+ declare function openPanel(): void;
141
+ declare function togglePanel(): void;
142
+ declare function __VLS_template(): {
143
+ attrs: Partial<{}>;
144
+ slots: {
145
+ leading?(_: {}): any;
146
+ leading?(_: {}): any;
147
+ trigger?(_: {
148
+ comboboxAttrs: Record<string, string | boolean | undefined>;
149
+ togglePanel: typeof togglePanel;
150
+ openPanel: typeof openPanel;
151
+ closePanel: typeof closePanel;
152
+ }): any;
153
+ panelTop?(_: {}): any;
154
+ panelEmpty?(_: {}): any;
155
+ default?(_: {}): any;
156
+ };
157
+ refs: {
158
+ shellRef: HTMLDivElement;
159
+ triggerRef: HTMLDivElement;
160
+ selectRef: HTMLSelectElement;
161
+ panelRef: HTMLDivElement;
162
+ };
163
+ rootEl: any;
164
+ };
165
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
166
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {
167
+ selectRef: import('vue').Ref<HTMLSelectElement | null, HTMLSelectElement | null>;
168
+ triggerRef: import('vue').Ref<HTMLButtonElement | null, HTMLButtonElement | null>;
169
+ panelRef: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
170
+ open: typeof openPanel;
171
+ close: typeof closePanel;
172
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
173
+ blur: (event: FocusEvent) => any;
174
+ change: (event: Event) => any;
175
+ "update:modelValue": (value: PfSelectModelValue) => any;
176
+ "update:menuOpen": (value: boolean) => any;
177
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
178
+ onBlur?: ((event: FocusEvent) => any) | undefined;
179
+ onChange?: ((event: Event) => any) | undefined;
180
+ "onUpdate:modelValue"?: ((value: PfSelectModelValue) => any) | undefined;
181
+ "onUpdate:menuOpen"?: ((value: boolean) => any) | undefined;
182
+ }>, {
183
+ required: boolean;
184
+ loading: boolean;
185
+ color: PfSelectColor;
186
+ variant: PfSelectVariant;
187
+ disabled: boolean;
188
+ multiple: boolean;
189
+ autocomplete: string;
190
+ highlight: boolean;
191
+ native: boolean;
192
+ menuGap: number;
193
+ clearable: boolean;
194
+ allowEmptyPanel: boolean;
195
+ emptyText: string;
196
+ focusTriggerAfterSingleSelect: boolean;
197
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
198
+ shellRef: HTMLDivElement;
199
+ triggerRef: HTMLDivElement;
200
+ selectRef: HTMLSelectElement;
201
+ panelRef: HTMLDivElement;
202
+ }, any>;
203
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
204
+ export default _default;
205
+ type __VLS_WithTemplateSlots<T, S> = T & {
206
+ new (): {
207
+ $slots: S;
208
+ };
209
+ };