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,106 @@
1
+ export type PfDrawerDirection = 'top' | 'bottom' | 'left' | 'right';
2
+ export interface PfDrawerUi {
3
+ overlay?: string;
4
+ content?: string;
5
+ handle?: string;
6
+ container?: string;
7
+ header?: string;
8
+ title?: string;
9
+ description?: string;
10
+ body?: string;
11
+ footer?: string;
12
+ }
13
+ type __VLS_Props = {
14
+ title?: string;
15
+ description?: string;
16
+ inset?: boolean;
17
+ overlay?: boolean;
18
+ handle?: boolean;
19
+ handleOnly?: boolean;
20
+ portal?: string | boolean | HTMLElement | undefined;
21
+ nested?: boolean;
22
+ ui?: PfDrawerUi;
23
+ modal?: boolean;
24
+ open?: boolean;
25
+ defaultOpen?: boolean;
26
+ dismissible?: boolean;
27
+ transition?: boolean;
28
+ direction?: PfDrawerDirection;
29
+ closeThreshold?: number;
30
+ snapPoints?: (string | number)[];
31
+ activeSnapPoint?: string | number | null;
32
+ shouldScaleBackground?: boolean;
33
+ setBackgroundColorOnScale?: boolean;
34
+ noBodyStyles?: boolean;
35
+ };
36
+ declare function close(): void;
37
+ declare function __VLS_template(): {
38
+ attrs: Partial<{}>;
39
+ slots: {
40
+ default?(_: {}): any;
41
+ default?(_: {}): any;
42
+ content?(_: {
43
+ close: typeof close;
44
+ }): any;
45
+ header?(_: {
46
+ close: typeof close;
47
+ }): any;
48
+ title?(_: {}): any;
49
+ description?(_: {}): any;
50
+ body?(_: {}): any;
51
+ footer?(_: {
52
+ close: typeof close;
53
+ }): any;
54
+ };
55
+ refs: {
56
+ triggerRef: HTMLDivElement;
57
+ panelRef: HTMLDivElement;
58
+ handleRef: HTMLDivElement;
59
+ containerRef: HTMLDivElement;
60
+ };
61
+ rootEl: any;
62
+ };
63
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
64
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
65
+ close: () => any;
66
+ "update:open": (value: boolean) => any;
67
+ drag: (percentageDragged: number) => any;
68
+ "close:prevent": () => any;
69
+ "update:activeSnapPoint": (value: string | number) => any;
70
+ release: (open: boolean) => any;
71
+ animationEnd: (open: boolean) => any;
72
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
73
+ onClose?: (() => any) | undefined;
74
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
75
+ onDrag?: ((percentageDragged: number) => any) | undefined;
76
+ "onClose:prevent"?: (() => any) | undefined;
77
+ "onUpdate:activeSnapPoint"?: ((value: string | number) => any) | undefined;
78
+ onRelease?: ((open: boolean) => any) | undefined;
79
+ onAnimationEnd?: ((open: boolean) => any) | undefined;
80
+ }>, {
81
+ transition: boolean;
82
+ defaultOpen: boolean;
83
+ nested: boolean;
84
+ portal: string | boolean | HTMLElement;
85
+ modal: boolean;
86
+ overlay: boolean;
87
+ dismissible: boolean;
88
+ handle: boolean;
89
+ handleOnly: boolean;
90
+ direction: PfDrawerDirection;
91
+ closeThreshold: number;
92
+ setBackgroundColorOnScale: boolean;
93
+ noBodyStyles: boolean;
94
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
95
+ triggerRef: HTMLDivElement;
96
+ panelRef: HTMLDivElement;
97
+ handleRef: HTMLDivElement;
98
+ containerRef: HTMLDivElement;
99
+ }, any>;
100
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
101
+ export default _default;
102
+ type __VLS_WithTemplateSlots<T, S> = T & {
103
+ new (): {
104
+ $slots: S;
105
+ };
106
+ };
@@ -0,0 +1,10 @@
1
+ declare function __VLS_template(): any;
2
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
3
+ declare const __VLS_component: any;
4
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
5
+ export default _default;
6
+ type __VLS_WithTemplateSlots<T, S> = T & {
7
+ new (): {
8
+ $slots: S;
9
+ };
10
+ };
@@ -0,0 +1,74 @@
1
+ import { PfIconName } from '../../element/PfIcon/paths';
2
+ import { PfDropdownMenuContent, PfDropdownMenuFilter, PfDropdownMenuItemsInput, PfDropdownMenuSize, PfDropdownMenuUi } from './types';
3
+ type __VLS_Props = {
4
+ items?: PfDropdownMenuItemsInput;
5
+ size?: PfDropdownMenuSize;
6
+ disabled?: boolean;
7
+ modal?: boolean;
8
+ portal?: string | boolean | HTMLElement | undefined;
9
+ open?: boolean;
10
+ defaultOpen?: boolean;
11
+ checkedIcon?: PfIconName;
12
+ externalIcon?: PfIconName;
13
+ pressOpenDelay?: number;
14
+ content?: PfDropdownMenuContent;
15
+ arrow?: boolean;
16
+ filter?: PfDropdownMenuFilter;
17
+ filterFields?: string[];
18
+ ignoreFilter?: boolean;
19
+ searchTerm?: string;
20
+ ui?: PfDropdownMenuUi;
21
+ };
22
+ declare function __VLS_template(): {
23
+ attrs: Partial<{}>;
24
+ slots: {
25
+ default?(_: {}): any;
26
+ item?(_: any): any;
27
+ 'item-leading'?(_: any): any;
28
+ 'item-label'?(_: any): any;
29
+ 'item-description'?(_: any): any;
30
+ 'item-trailing'?(_: any): any;
31
+ empty?(_: {}): any;
32
+ 'content-top'?(_: {}): any;
33
+ 'content-bottom'?(_: {}): any;
34
+ };
35
+ refs: {
36
+ triggerRef: HTMLDivElement;
37
+ itemsRef: unknown;
38
+ };
39
+ rootEl: any;
40
+ };
41
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
42
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
43
+ "update:open": (value: boolean) => any;
44
+ "update:searchTerm": (value: string) => any;
45
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
46
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
47
+ "onUpdate:searchTerm"?: ((value: string) => any) | undefined;
48
+ }>, {
49
+ filter: PfDropdownMenuFilter;
50
+ size: PfDropdownMenuSize;
51
+ disabled: boolean;
52
+ content: PfDropdownMenuContent;
53
+ defaultOpen: boolean;
54
+ items: PfDropdownMenuItemsInput;
55
+ checkedIcon: PfIconName;
56
+ filterFields: string[];
57
+ ignoreFilter: boolean;
58
+ searchTerm: string;
59
+ portal: string | boolean | HTMLElement;
60
+ modal: boolean;
61
+ externalIcon: PfIconName;
62
+ arrow: boolean;
63
+ pressOpenDelay: number;
64
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
65
+ triggerRef: HTMLDivElement;
66
+ itemsRef: unknown;
67
+ }, 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,58 @@
1
+ import { RouteLocationRaw } from 'vue-router';
2
+ import { PfIconName } from '../../element/PfIcon/paths';
3
+ import { PfSelectColor, PfSelectOptionAvatarConfig } from '../../form/PfSelect/index.vue';
4
+ export type PfDropdownMenuSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ export type PfDropdownMenuItemType = 'label' | 'separator' | 'checkbox' | 'link';
6
+ export interface PfDropdownMenuContent {
7
+ side?: 'top' | 'right' | 'bottom' | 'left';
8
+ align?: 'start' | 'center' | 'end';
9
+ sideOffset?: number;
10
+ alignOffset?: number;
11
+ }
12
+ export interface PfDropdownMenuItem {
13
+ label?: string;
14
+ description?: string;
15
+ icon?: PfIconName;
16
+ avatar?: PfSelectOptionAvatarConfig;
17
+ kbds?: string[];
18
+ type?: PfDropdownMenuItemType;
19
+ color?: PfSelectColor;
20
+ checked?: boolean;
21
+ disabled?: boolean;
22
+ slot?: string;
23
+ onSelect?: (e: Event) => void;
24
+ onUpdateChecked?: (checked: boolean) => void;
25
+ children?: PfDropdownMenuItem[] | PfDropdownMenuItem[][];
26
+ filter?: boolean | Record<string, unknown>;
27
+ filterFields?: string[];
28
+ ignoreFilter?: boolean;
29
+ to?: RouteLocationRaw;
30
+ target?: string;
31
+ external?: boolean;
32
+ class?: string;
33
+ [key: string]: unknown;
34
+ }
35
+ export type PfDropdownMenuItemsInput = readonly PfDropdownMenuItem[] | readonly (readonly PfDropdownMenuItem[])[];
36
+ export type PfDropdownMenuFilter = boolean | Record<string, unknown>;
37
+ export interface PfDropdownMenuUi {
38
+ content?: string;
39
+ input?: string;
40
+ empty?: string;
41
+ viewport?: string;
42
+ arrow?: string;
43
+ group?: string;
44
+ label?: string;
45
+ separator?: string;
46
+ item?: string;
47
+ itemLeadingIcon?: string;
48
+ itemLeadingAvatar?: string;
49
+ itemLeadingAvatarSize?: string;
50
+ itemTrailing?: string;
51
+ itemTrailingIcon?: string;
52
+ itemTrailingKbds?: string;
53
+ itemTrailingKbdsSize?: string;
54
+ itemWrapper?: string;
55
+ itemLabel?: string;
56
+ itemDescription?: string;
57
+ itemLabelExternalIcon?: string;
58
+ }
@@ -0,0 +1,138 @@
1
+ import { PfIconName } from '../../element/PfIcon/paths';
2
+ export type PfModalCloseButtonProps = Partial<{
3
+ label: string;
4
+ color: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error' | 'neutral';
5
+ variant: 'solid' | 'outline' | 'soft' | 'subtle' | 'ghost' | 'link';
6
+ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
7
+ square: boolean;
8
+ block: boolean;
9
+ icon: PfIconName;
10
+ leading: boolean;
11
+ leadingIcon: PfIconName;
12
+ trailing: boolean;
13
+ trailingIcon: PfIconName;
14
+ iconOnly: boolean;
15
+ ariaLabel: string;
16
+ disabled: boolean;
17
+ loading: boolean;
18
+ loadingIcon: PfIconName;
19
+ loadingAuto: boolean;
20
+ type: 'button' | 'submit' | 'reset';
21
+ active: boolean;
22
+ activeColor: 'primary' | 'secondary' | 'success' | 'info' | 'warning' | 'error' | 'neutral';
23
+ activeVariant: 'solid' | 'outline' | 'soft' | 'subtle' | 'ghost' | 'link';
24
+ }>;
25
+ export interface PfModalUi {
26
+ overlay?: string;
27
+ content?: string;
28
+ header?: string;
29
+ wrapper?: string;
30
+ body?: string;
31
+ footer?: string;
32
+ title?: string;
33
+ description?: string;
34
+ actions?: string;
35
+ close?: string;
36
+ }
37
+ type __VLS_Props = {
38
+ title?: string;
39
+ description?: string;
40
+ overlay?: boolean;
41
+ scrollable?: boolean;
42
+ transition?: boolean;
43
+ fullscreen?: boolean;
44
+ portal?: string | boolean | HTMLElement | undefined;
45
+ close?: boolean | PfModalCloseButtonProps;
46
+ closeIcon?: PfIconName;
47
+ dismissible?: boolean;
48
+ ui?: PfModalUi;
49
+ open?: boolean;
50
+ defaultOpen?: boolean;
51
+ modal?: boolean;
52
+ };
53
+ declare function closeModal(): void;
54
+ declare function __VLS_template(): {
55
+ attrs: Partial<{}>;
56
+ slots: {
57
+ default?(_: {}): any;
58
+ default?(_: {}): any;
59
+ content?(_: {
60
+ close: typeof closeModal;
61
+ }): any;
62
+ header?(_: {
63
+ close: typeof closeModal;
64
+ }): any;
65
+ title?(_: {}): any;
66
+ description?(_: {}): any;
67
+ actions?(_: {
68
+ close: typeof closeModal;
69
+ }): any;
70
+ close?(_: {
71
+ close: typeof closeModal;
72
+ }): any;
73
+ body?(_: {}): any;
74
+ footer?(_: {
75
+ close: typeof closeModal;
76
+ }): any;
77
+ };
78
+ refs: {
79
+ triggerRef: HTMLDivElement;
80
+ contentRef: HTMLDivElement;
81
+ };
82
+ rootEl: any;
83
+ };
84
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
85
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
86
+ "update:open": (value: boolean) => any;
87
+ "after:leave": () => any;
88
+ "after:enter": () => any;
89
+ "close:prevent": () => any;
90
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
91
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
92
+ "onAfter:leave"?: (() => any) | undefined;
93
+ "onAfter:enter"?: (() => any) | undefined;
94
+ "onClose:prevent"?: (() => any) | undefined;
95
+ }>, {
96
+ close: boolean | Partial<{
97
+ label: string;
98
+ color: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral";
99
+ variant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
100
+ size: "xs" | "sm" | "md" | "lg" | "xl";
101
+ square: boolean;
102
+ block: boolean;
103
+ icon: PfIconName;
104
+ leading: boolean;
105
+ leadingIcon: PfIconName;
106
+ trailing: boolean;
107
+ trailingIcon: PfIconName;
108
+ iconOnly: boolean;
109
+ ariaLabel: string;
110
+ disabled: boolean;
111
+ loading: boolean;
112
+ loadingIcon: PfIconName;
113
+ loadingAuto: boolean;
114
+ type: "button" | "submit" | "reset";
115
+ active: boolean;
116
+ activeColor: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral";
117
+ activeVariant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
118
+ }>;
119
+ closeIcon: PfIconName;
120
+ transition: boolean;
121
+ defaultOpen: boolean;
122
+ portal: string | boolean | HTMLElement;
123
+ modal: boolean;
124
+ overlay: boolean;
125
+ scrollable: boolean;
126
+ fullscreen: boolean;
127
+ dismissible: boolean;
128
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
129
+ triggerRef: HTMLDivElement;
130
+ contentRef: HTMLDivElement;
131
+ }, any>;
132
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
133
+ export default _default;
134
+ type __VLS_WithTemplateSlots<T, S> = T & {
135
+ new (): {
136
+ $slots: S;
137
+ };
138
+ };
@@ -0,0 +1,128 @@
1
+ import { PfIconName } from '../../element/PfIcon/paths';
2
+ import { PfToastAction, PfToastCloseButton, PfToastColor, PfToastOrientation } from '../../../composables/usePfToast';
3
+ export type PfToastUi = Partial<{
4
+ root: string;
5
+ wrapper: string;
6
+ title: string;
7
+ description: string;
8
+ icon: string;
9
+ actions: string;
10
+ close: string;
11
+ }>;
12
+ type __VLS_Props = {
13
+ id?: string;
14
+ title?: string;
15
+ description?: string;
16
+ icon?: PfIconName;
17
+ color?: PfToastColor;
18
+ orientation?: PfToastOrientation;
19
+ close?: boolean | PfToastCloseButton;
20
+ closeIcon?: PfIconName;
21
+ actions?: PfToastAction[];
22
+ progress?: boolean;
23
+ progressDuration?: number;
24
+ progressPaused?: boolean;
25
+ ui?: PfToastUi;
26
+ pulse?: number;
27
+ };
28
+ declare function onCloseClick(): void;
29
+ declare function __VLS_template(): {
30
+ attrs: Partial<{}>;
31
+ slots: {
32
+ leading?(_: {}): any;
33
+ title?(_: {}): any;
34
+ description?(_: {}): any;
35
+ actions?(_: {}): any;
36
+ actions?(_: {}): any;
37
+ close?(_: {
38
+ close: typeof onCloseClick;
39
+ }): any;
40
+ };
41
+ refs: {};
42
+ rootEl: any;
43
+ };
44
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
45
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
46
+ close: () => any;
47
+ action: (action: Partial<{
48
+ label: string;
49
+ color: PfToastColor;
50
+ variant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
51
+ size: "xs" | "sm" | "md" | "lg" | "xl";
52
+ icon: PfIconName;
53
+ leading: boolean;
54
+ trailing: boolean;
55
+ ariaLabel: string;
56
+ disabled: boolean;
57
+ loading: boolean;
58
+ type: "button" | "submit" | "reset";
59
+ href: string;
60
+ to: string;
61
+ target: string;
62
+ rel: string;
63
+ download: boolean | string;
64
+ onClick: (event?: MouseEvent) => void;
65
+ }>, event: MouseEvent) => any;
66
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
67
+ onClose?: (() => any) | undefined;
68
+ onAction?: ((action: Partial<{
69
+ label: string;
70
+ color: PfToastColor;
71
+ variant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
72
+ size: "xs" | "sm" | "md" | "lg" | "xl";
73
+ icon: PfIconName;
74
+ leading: boolean;
75
+ trailing: boolean;
76
+ ariaLabel: string;
77
+ disabled: boolean;
78
+ loading: boolean;
79
+ type: "button" | "submit" | "reset";
80
+ href: string;
81
+ to: string;
82
+ target: string;
83
+ rel: string;
84
+ download: boolean | string;
85
+ onClick: (event?: MouseEvent) => void;
86
+ }>, event: MouseEvent) => any) | undefined;
87
+ }>, {
88
+ pulse: number;
89
+ progress: boolean;
90
+ color: PfToastColor;
91
+ orientation: PfToastOrientation;
92
+ actions: Partial<{
93
+ label: string;
94
+ color: PfToastColor;
95
+ variant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
96
+ size: "xs" | "sm" | "md" | "lg" | "xl";
97
+ icon: PfIconName;
98
+ leading: boolean;
99
+ trailing: boolean;
100
+ ariaLabel: string;
101
+ disabled: boolean;
102
+ loading: boolean;
103
+ type: "button" | "submit" | "reset";
104
+ href: string;
105
+ to: string;
106
+ target: string;
107
+ rel: string;
108
+ download: boolean | string;
109
+ onClick: (event?: MouseEvent) => void;
110
+ }>[];
111
+ close: boolean | Partial<{
112
+ color: PfToastColor;
113
+ variant: "solid" | "outline" | "soft" | "subtle" | "ghost" | "link";
114
+ size: "xs" | "sm" | "md" | "lg" | "xl";
115
+ class: string;
116
+ ariaLabel: string;
117
+ }>;
118
+ closeIcon: PfIconName;
119
+ progressDuration: number;
120
+ progressPaused: boolean;
121
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
122
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
123
+ export default _default;
124
+ type __VLS_WithTemplateSlots<T, S> = T & {
125
+ new (): {
126
+ $slots: S;
127
+ };
128
+ };
@@ -0,0 +1,11 @@
1
+ type __VLS_Props = {
2
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
3
+ duration?: number;
4
+ max?: number;
5
+ };
6
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
7
+ max: number;
8
+ position: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right";
9
+ duration: number;
10
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
11
+ export default _default;
@@ -0,0 +1,85 @@
1
+ import { PfKbdColor, PfKbdSize, PfKbdUi, PfKbdVariant } from '../../element/PfKbd/index.vue';
2
+ export type PfTooltipSide = 'top' | 'right' | 'bottom' | 'left';
3
+ export type PfTooltipAlign = 'start' | 'center' | 'end';
4
+ export interface PfTooltipReferenceElement {
5
+ getBoundingClientRect: () => DOMRect;
6
+ }
7
+ export interface PfTooltipContentProps {
8
+ side?: PfTooltipSide;
9
+ align?: PfTooltipAlign;
10
+ sideOffset?: number;
11
+ alignOffset?: number;
12
+ updatePositionStrategy?: 'optimized' | 'always';
13
+ }
14
+ export interface PfTooltipArrowProps {
15
+ width?: number;
16
+ height?: number;
17
+ }
18
+ export interface PfTooltipKbdProps {
19
+ value?: string;
20
+ color?: PfKbdColor;
21
+ variant?: PfKbdVariant;
22
+ size?: PfKbdSize;
23
+ ui?: PfKbdUi;
24
+ class?: string;
25
+ }
26
+ export type PfTooltipKbd = string | undefined | PfTooltipKbdProps;
27
+ export interface PfTooltipUi {
28
+ content?: string;
29
+ arrow?: string;
30
+ text?: string;
31
+ kbds?: string;
32
+ kbdsSize?: PfKbdSize;
33
+ }
34
+ type __VLS_Props = {
35
+ text?: string;
36
+ kbds?: PfTooltipKbd[];
37
+ content?: PfTooltipContentProps;
38
+ arrow?: boolean | PfTooltipArrowProps;
39
+ portal?: string | boolean | HTMLElement;
40
+ reference?: PfTooltipReferenceElement;
41
+ ui?: PfTooltipUi;
42
+ defaultOpen?: boolean;
43
+ open?: boolean;
44
+ delayDuration?: number;
45
+ disableHoverableContent?: boolean;
46
+ disableClosingTrigger?: boolean;
47
+ disabled?: boolean;
48
+ ignoreNonKeyboardFocus?: boolean;
49
+ };
50
+ declare function __VLS_template(): {
51
+ attrs: Partial<{}>;
52
+ slots: {
53
+ default?(_: {}): any;
54
+ content?(_: {}): any;
55
+ };
56
+ refs: {
57
+ triggerRef: HTMLSpanElement;
58
+ contentRef: HTMLDivElement;
59
+ };
60
+ rootEl: any;
61
+ };
62
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
63
+ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
64
+ "update:open": (value: boolean) => any;
65
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
66
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
67
+ }>, {
68
+ disabled: boolean;
69
+ content: PfTooltipContentProps;
70
+ defaultOpen: boolean;
71
+ kbds: PfTooltipKbd[];
72
+ portal: string | boolean | HTMLElement;
73
+ arrow: boolean | PfTooltipArrowProps;
74
+ ignoreNonKeyboardFocus: boolean;
75
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
76
+ triggerRef: HTMLSpanElement;
77
+ contentRef: HTMLDivElement;
78
+ }, any>;
79
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
80
+ export default _default;
81
+ type __VLS_WithTemplateSlots<T, S> = T & {
82
+ new (): {
83
+ $slots: S;
84
+ };
85
+ };
@@ -0,0 +1,21 @@
1
+ /** Internal layout helpers for PfScrollArea (no external virtualizer dependency). */
2
+ export type PfMasonryItemLayout = {
3
+ top: number;
4
+ left: number;
5
+ width: number;
6
+ height: number;
7
+ };
8
+ export declare function buildLinearOffsets(sizes: readonly number[], gap: number, paddingStart: number, _axis: 'vertical' | 'horizontal'): number[];
9
+ export declare function linearTotalSize(offsets: readonly number[], sizes: readonly number[], paddingEnd: number): number;
10
+ export declare function findVisibleRangeLinear(offsets: readonly number[], sizes: readonly number[], scrollStart: number, viewport: number, overscanPx: number): {
11
+ start: number;
12
+ end: number;
13
+ };
14
+ export declare function computeMasonryLayouts(heights: readonly number[], lanes: number, containerInnerWidth: number, gap: number, paddingStart: number): {
15
+ layouts: PfMasonryItemLayout[];
16
+ totalHeight: number;
17
+ };
18
+ export declare function findMasonryVisibleRange(layouts: readonly PfMasonryItemLayout[], scrollTop: number, viewport: number, overscanPx: number): {
19
+ start: number;
20
+ end: number;
21
+ };
@@ -0,0 +1,7 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { PfAppContextValue } from '../components/layout/PfApp/injection';
3
+ /**
4
+ * Global app context from the nearest `PfApp`.
5
+ * Outside `PfApp`, defaults are used (`portalTarget: 'body'`).
6
+ */
7
+ export declare function usePfApp(): ComputedRef<PfAppContextValue>;
@@ -0,0 +1,11 @@
1
+ import { ComputedRef, Ref } from 'vue';
2
+ export interface PfContentSearchState {
3
+ isOpen: Ref<boolean>;
4
+ searchTerm: Ref<string>;
5
+ open: () => void;
6
+ close: () => void;
7
+ toggle: () => void;
8
+ setSearchTerm: (value: string) => void;
9
+ hasSearchTerm: ComputedRef<boolean>;
10
+ }
11
+ export declare function usePfContentSearch(): PfContentSearchState;
@@ -0,0 +1,14 @@
1
+ import { ComputedRef } from 'vue';
2
+ /**
3
+ * Glyphs for special keys (similar to Nuxt UI `kbdKeysMap`).
4
+ * Keys are lowercased for lookup.
5
+ */
6
+ export declare const PF_KBD_GLYPHS: Readonly<Record<string, string>>;
7
+ /**
8
+ * Display text: literal or special key name (`meta` → ⌘ on macOS, `Ctrl` otherwise).
9
+ */
10
+ export declare function getPfKbdKey(value: string): string;
11
+ export declare function usePfKbd(): {
12
+ macOS: ComputedRef<boolean>;
13
+ getKbdKey: typeof getPfKbdKey;
14
+ };