@pequity/squirrel 8.4.4 → 8.5.0

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 (175) hide show
  1. package/README.md +31 -1
  2. package/dist/cjs/chunks/index.js +530 -179
  3. package/dist/cjs/chunks/p-alert.js +14 -16
  4. package/dist/cjs/chunks/p-avatar.js +16 -0
  5. package/dist/cjs/chunks/p-btn.js +4 -1
  6. package/dist/cjs/chunks/p-card.js +4 -0
  7. package/dist/cjs/chunks/p-dropdown-select.js +34 -0
  8. package/dist/cjs/chunks/p-input-number.js +32 -0
  9. package/dist/cjs/chunks/p-input-percent.js +15 -4
  10. package/dist/cjs/chunks/p-input.js +28 -0
  11. package/dist/cjs/chunks/p-pagination-info.js +9 -5
  12. package/dist/cjs/chunks/p-pagination.js +23 -13
  13. package/dist/cjs/chunks/p-select-btn.js +2 -1
  14. package/dist/cjs/chunks/p-select.js +33 -0
  15. package/dist/cjs/chunks/p-table-loader.js +20 -0
  16. package/dist/cjs/chunks/p-tabs.js +12 -0
  17. package/dist/cjs/chunks/p-textarea.js +20 -0
  18. package/dist/cjs/index.js +72 -29
  19. package/dist/cjs/inputClasses.js +3 -3
  20. package/dist/cjs/p-checkbox.js +8 -1
  21. package/dist/cjs/p-chips.js +17 -1
  22. package/dist/cjs/p-close-btn.js +6 -1
  23. package/dist/cjs/p-drawer.js +90 -2
  24. package/dist/cjs/p-dropdown.js +2 -1
  25. package/dist/cjs/p-icon.js +2 -1
  26. package/dist/cjs/p-input-search.js +13 -1
  27. package/dist/cjs/p-loading.js +3 -3
  28. package/dist/cjs/p-modal.js +125 -43
  29. package/dist/cjs/p-select-pill.js +36 -2
  30. package/dist/cjs/p-skeleton-loader.js +17 -1
  31. package/dist/cjs/p-table-filter-icon.js +4 -1
  32. package/dist/cjs/p-table-header-cell.js +32 -2
  33. package/dist/cjs/p-table-td.js +1 -1
  34. package/dist/cjs/p-table.js +2 -0
  35. package/dist/cjs/p-toggle.js +22 -1
  36. package/dist/cjs/usePTableHeaderWrap.js +38 -0
  37. package/dist/es/chunks/index.js +530 -179
  38. package/dist/es/chunks/p-alert.js +14 -16
  39. package/dist/es/chunks/p-avatar.js +16 -0
  40. package/dist/es/chunks/p-btn.js +5 -2
  41. package/dist/es/chunks/p-card.js +4 -0
  42. package/dist/es/chunks/p-dropdown-select.js +34 -0
  43. package/dist/es/chunks/p-input-number.js +32 -0
  44. package/dist/es/chunks/p-input-percent.js +15 -4
  45. package/dist/es/chunks/p-input.js +28 -0
  46. package/dist/es/chunks/p-pagination-info.js +9 -5
  47. package/dist/es/chunks/p-pagination.js +24 -14
  48. package/dist/es/chunks/p-select-btn.js +2 -1
  49. package/dist/es/chunks/p-select.js +33 -0
  50. package/dist/es/chunks/p-table-loader.js +20 -0
  51. package/dist/es/chunks/p-tabs.js +12 -0
  52. package/dist/es/chunks/p-textarea.js +20 -0
  53. package/dist/es/index.js +77 -34
  54. package/dist/es/inputClasses.js +4 -4
  55. package/dist/es/p-checkbox.js +8 -1
  56. package/dist/es/p-chips.js +17 -1
  57. package/dist/es/p-close-btn.js +6 -1
  58. package/dist/es/p-drawer.js +90 -2
  59. package/dist/es/p-dropdown.js +2 -1
  60. package/dist/es/p-icon.js +2 -1
  61. package/dist/es/p-input-search.js +13 -1
  62. package/dist/es/p-loading.js +3 -3
  63. package/dist/es/p-modal.js +125 -43
  64. package/dist/es/p-select-pill.js +36 -2
  65. package/dist/es/p-skeleton-loader.js +17 -1
  66. package/dist/es/p-table-filter-icon.js +4 -1
  67. package/dist/es/p-table-header-cell.js +32 -2
  68. package/dist/es/p-table-td.js +1 -1
  69. package/dist/es/p-table.js +2 -0
  70. package/dist/es/p-toggle.js +22 -1
  71. package/dist/es/usePTableHeaderWrap.js +38 -0
  72. package/dist/squirrel/components/p-action-bar/p-action-bar.vue.d.ts +15 -3
  73. package/dist/squirrel/components/p-alert/p-alert.vue.d.ts +18 -5
  74. package/dist/squirrel/components/p-avatar/p-avatar.vue.d.ts +36 -1
  75. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +21 -5
  76. package/dist/squirrel/components/p-card/p-card.vue.d.ts +21 -8
  77. package/dist/squirrel/components/p-checkbox/p-checkbox.vue.d.ts +26 -8
  78. package/dist/squirrel/components/p-chips/p-chips.vue.d.ts +24 -0
  79. package/dist/squirrel/components/p-close-btn/p-close-btn.vue.d.ts +14 -1
  80. package/dist/squirrel/components/p-date-picker/p-date-picker.vue.d.ts +17 -1
  81. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +153 -15
  82. package/dist/squirrel/components/p-dropdown/p-dropdown.vue.d.ts +11 -2
  83. package/dist/squirrel/components/p-dropdown-select/p-dropdown-select.vue.d.ts +70 -2
  84. package/dist/squirrel/components/p-file-upload/p-file-upload.vue.d.ts +71 -7
  85. package/dist/squirrel/components/p-icon/p-icon.types.d.ts +1 -0
  86. package/dist/squirrel/components/p-icon/p-icon.vue.d.ts +5 -1
  87. package/dist/squirrel/components/p-info-icon/p-info-icon.vue.d.ts +12 -5
  88. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +28 -8
  89. package/dist/squirrel/components/p-input/p-input.vue.d.ts +74 -9
  90. package/dist/squirrel/components/p-input-number/p-input-number.vue.d.ts +83 -12
  91. package/dist/squirrel/components/p-input-percent/p-input-percent.vue.d.ts +23 -3
  92. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +25 -1
  93. package/dist/squirrel/components/p-link/p-link.vue.d.ts +1 -1
  94. package/dist/squirrel/components/p-loading/p-loading.vue.d.ts +1 -1
  95. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +190 -16
  96. package/dist/squirrel/components/p-pagination/p-pagination.vue.d.ts +23 -13
  97. package/dist/squirrel/components/p-pagination-info/p-pagination-info.vue.d.ts +17 -9
  98. package/dist/squirrel/components/p-progress-bar/p-progress-bar.vue.d.ts +21 -1
  99. package/dist/squirrel/components/p-ring-loader/p-ring-loader.vue.d.ts +11 -1
  100. package/dist/squirrel/components/p-select/p-select.vue.d.ts +77 -7
  101. package/dist/squirrel/components/p-select-btn/p-select-btn.vue.d.ts +68 -11
  102. package/dist/squirrel/components/p-select-list/p-select-list.vue.d.ts +2 -2
  103. package/dist/squirrel/components/p-select-pill/p-select-pill.vue.d.ts +72 -2
  104. package/dist/squirrel/components/p-skeleton-loader/p-skeleton-loader.vue.d.ts +40 -0
  105. package/dist/squirrel/components/p-steps/p-steps.vue.d.ts +13 -1
  106. package/dist/squirrel/components/p-table/p-table.types.d.ts +1 -0
  107. package/dist/squirrel/components/p-table/p-table.vue.d.ts +33 -1
  108. package/dist/squirrel/components/p-table/usePTableHeaderWrap.d.ts +4 -0
  109. package/dist/squirrel/components/p-table-header-cell/p-table-filter-icon.vue.d.ts +7 -1
  110. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +59 -4
  111. package/dist/squirrel/components/p-table-loader/p-table-loader.vue.d.ts +41 -1
  112. package/dist/squirrel/components/p-table-sort/p-table-sort.vue.d.ts +13 -3
  113. package/dist/squirrel/components/p-table-td/p-table-td.vue.d.ts +13 -1
  114. package/dist/squirrel/components/p-tabs/p-tabs.vue.d.ts +34 -3
  115. package/dist/squirrel/components/p-tabs-pills/p-tabs-pills.vue.d.ts +23 -1
  116. package/dist/squirrel/components/p-textarea/p-textarea.vue.d.ts +53 -9
  117. package/dist/squirrel/components/p-toggle/p-toggle.vue.d.ts +51 -4
  118. package/dist/squirrel.css +68 -68
  119. package/package.json +24 -22
  120. package/squirrel/components/p-action-bar/p-action-bar.stories.js +5 -5
  121. package/squirrel/components/p-action-bar/p-action-bar.vue +30 -3
  122. package/squirrel/components/p-alert/p-alert.spec.js +4 -4
  123. package/squirrel/components/p-alert/p-alert.stories.js +19 -13
  124. package/squirrel/components/p-alert/p-alert.vue +33 -11
  125. package/squirrel/components/p-avatar/p-avatar.vue +28 -0
  126. package/squirrel/components/p-btn/p-btn.vue +35 -0
  127. package/squirrel/components/p-card/p-card.vue +24 -1
  128. package/squirrel/components/p-checkbox/p-checkbox.vue +23 -1
  129. package/squirrel/components/p-chips/p-chips.vue +24 -0
  130. package/squirrel/components/p-close-btn/p-close-btn.vue +15 -0
  131. package/squirrel/components/p-date-picker/p-date-picker.vue +23 -1
  132. package/squirrel/components/p-drawer/p-drawer.vue +95 -0
  133. package/squirrel/components/p-dropdown/p-dropdown.vue +12 -1
  134. package/squirrel/components/p-dropdown-select/p-dropdown-select.vue +41 -0
  135. package/squirrel/components/p-file-upload/p-file-upload.vue +58 -3
  136. package/squirrel/components/p-icon/p-icon.types.ts +1 -0
  137. package/squirrel/components/p-icon/p-icon.vue +16 -0
  138. package/squirrel/components/p-info-icon/p-info-icon.vue +19 -0
  139. package/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue +32 -0
  140. package/squirrel/components/p-input/p-input.vue +61 -1
  141. package/squirrel/components/p-input-number/p-input-number.vue +78 -1
  142. package/squirrel/components/p-input-percent/p-input-percent.vue +27 -3
  143. package/squirrel/components/p-input-search/p-input-search.vue +30 -2
  144. package/squirrel/components/p-link/p-link.vue +13 -0
  145. package/squirrel/components/p-loading/p-loading.vue +9 -2
  146. package/squirrel/components/p-modal/p-modal-basic.spec.js +29 -3
  147. package/squirrel/components/p-modal/p-modal.vue +182 -35
  148. package/squirrel/components/p-pagination/p-pagination.vue +28 -8
  149. package/squirrel/components/p-pagination-info/p-pagination-info.vue +16 -4
  150. package/squirrel/components/p-progress-bar/p-progress-bar.vue +31 -4
  151. package/squirrel/components/p-ring-loader/p-ring-loader.vue +17 -0
  152. package/squirrel/components/p-select/p-select.vue +50 -1
  153. package/squirrel/components/p-select-btn/p-select-btn.vue +90 -2
  154. package/squirrel/components/p-select-list/p-select-list.vue +7 -0
  155. package/squirrel/components/p-select-pill/p-select-pill.vue +52 -2
  156. package/squirrel/components/p-skeleton-loader/p-skeleton-loader.vue +24 -0
  157. package/squirrel/components/p-steps/p-steps.vue +25 -0
  158. package/squirrel/components/p-table/p-table.spec.js +51 -15
  159. package/squirrel/components/p-table/p-table.types.ts +2 -0
  160. package/squirrel/components/p-table/p-table.vue +46 -4
  161. package/squirrel/components/p-table/usePTableHeaderWrap.spec.js +118 -0
  162. package/squirrel/components/p-table/usePTableHeaderWrap.ts +45 -0
  163. package/squirrel/components/p-table-header-cell/p-table-filter-icon.vue +9 -0
  164. package/squirrel/components/p-table-header-cell/p-table-header-cell.spec.js +5 -1
  165. package/squirrel/components/p-table-header-cell/p-table-header-cell.vue +38 -1
  166. package/squirrel/components/p-table-loader/p-table-loader.vue +28 -0
  167. package/squirrel/components/p-table-sort/p-table-sort.vue +19 -1
  168. package/squirrel/components/p-table-td/p-table-td.vue +20 -0
  169. package/squirrel/components/p-tabs/p-tabs.stories.js +2 -2
  170. package/squirrel/components/p-tabs/p-tabs.vue +33 -1
  171. package/squirrel/components/p-tabs-pills/p-tabs-pills.vue +33 -0
  172. package/squirrel/components/p-textarea/p-textarea.vue +43 -1
  173. package/squirrel/components/p-toggle/p-toggle.vue +44 -1
  174. package/squirrel/assets/pagination-left-icon.svg +0 -5
  175. package/squirrel/assets/pagination-right-icon.svg +0 -5
@@ -1,8 +1,18 @@
1
1
  type Props = {
2
+ /**
3
+ * The size of the ring loader in pixels.
4
+ * Controls the overall dimensions of the spinner.
5
+ * Default: 80px
6
+ */
2
7
  size?: number;
8
+ /**
9
+ * Custom color for the ring loader.
10
+ * Overrides the default blue color when provided.
11
+ * Can be any valid CSS color value.
12
+ */
3
13
  color?: string;
4
14
  };
5
- declare const _default: import("vue").DefineComponent<Props, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
15
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
6
16
  size: number;
7
17
  color: string;
8
18
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,78 +1,148 @@
1
1
  import { type Size } from '../p-btn/p-btn.types';
2
2
  import { type PropType } from 'vue';
3
- declare var __VLS_1: {
4
- label: string;
5
- labelClasses: string;
6
- };
7
- type __VLS_Slots = {} & {
8
- label?: (props: typeof __VLS_1) => any;
3
+ type __VLS_Slots = {
4
+ /**
5
+ * Custom label content - overrides the label prop.
6
+ * @param {string} label - The label text
7
+ * @param {string} label-classes - CSS classes for the label
8
+ */
9
+ label?: (props: {
10
+ label: string;
11
+ labelClasses: string;
12
+ }) => unknown;
9
13
  };
10
14
  declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
15
+ /**
16
+ * The current selected value (v-model).
17
+ * Supports two-way binding for form inputs.
18
+ */
11
19
  modelValue: {
12
20
  type: PropType<string | number | boolean | null>;
13
21
  default: string;
14
22
  };
23
+ /**
24
+ * Array of objects representing the select options.
25
+ * Each object should have properties specified by itemText and itemValue.
26
+ * @example [{ text: 'Option 1', value: 1 }, { text: 'Option 2', value: 2 }]
27
+ */
15
28
  items: {
16
29
  type: PropType<Record<string, unknown>[]>;
17
30
  default: () => never[];
18
31
  };
32
+ /**
33
+ * Text label for the select field.
34
+ * If not provided, you can use the label slot instead.
35
+ */
19
36
  label: {
20
37
  type: StringConstructor;
21
38
  default: string;
22
39
  };
40
+ /**
41
+ * Error message to display below the select.
42
+ * When provided, the select will show error styling.
43
+ */
23
44
  errorMsg: {
24
45
  type: StringConstructor;
25
46
  default: string;
26
47
  };
48
+ /**
49
+ * Whether the select is required.
50
+ * Adds required attribute and visual indicator.
51
+ */
27
52
  required: {
28
53
  type: BooleanConstructor;
29
54
  default: boolean;
30
55
  };
56
+ /**
57
+ * The size of the select - affects padding, font size, and spacing.
58
+ * Valid values: 'sm', 'md', 'lg'
59
+ */
31
60
  size: {
32
61
  type: PropType<Size>;
33
62
  default: string;
34
63
  validator(value: Size): boolean;
35
64
  };
65
+ /**
66
+ * Property name to use as the display text for each option.
67
+ * Defaults to 'text' - each item should have this property.
68
+ */
36
69
  itemText: {
37
70
  type: StringConstructor;
38
71
  default: string;
39
72
  };
73
+ /**
74
+ * Property name to use as the value for each option.
75
+ * Defaults to 'value' - each item should have this property.
76
+ */
40
77
  itemValue: {
41
78
  type: PropType<string | number | boolean | null>;
42
79
  default: string;
43
80
  };
44
- }>, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
81
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
45
82
  "update:modelValue": (...args: any[]) => void;
46
83
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
84
+ /**
85
+ * The current selected value (v-model).
86
+ * Supports two-way binding for form inputs.
87
+ */
47
88
  modelValue: {
48
89
  type: PropType<string | number | boolean | null>;
49
90
  default: string;
50
91
  };
92
+ /**
93
+ * Array of objects representing the select options.
94
+ * Each object should have properties specified by itemText and itemValue.
95
+ * @example [{ text: 'Option 1', value: 1 }, { text: 'Option 2', value: 2 }]
96
+ */
51
97
  items: {
52
98
  type: PropType<Record<string, unknown>[]>;
53
99
  default: () => never[];
54
100
  };
101
+ /**
102
+ * Text label for the select field.
103
+ * If not provided, you can use the label slot instead.
104
+ */
55
105
  label: {
56
106
  type: StringConstructor;
57
107
  default: string;
58
108
  };
109
+ /**
110
+ * Error message to display below the select.
111
+ * When provided, the select will show error styling.
112
+ */
59
113
  errorMsg: {
60
114
  type: StringConstructor;
61
115
  default: string;
62
116
  };
117
+ /**
118
+ * Whether the select is required.
119
+ * Adds required attribute and visual indicator.
120
+ */
63
121
  required: {
64
122
  type: BooleanConstructor;
65
123
  default: boolean;
66
124
  };
125
+ /**
126
+ * The size of the select - affects padding, font size, and spacing.
127
+ * Valid values: 'sm', 'md', 'lg'
128
+ */
67
129
  size: {
68
130
  type: PropType<Size>;
69
131
  default: string;
70
132
  validator(value: Size): boolean;
71
133
  };
134
+ /**
135
+ * Property name to use as the display text for each option.
136
+ * Defaults to 'text' - each item should have this property.
137
+ */
72
138
  itemText: {
73
139
  type: StringConstructor;
74
140
  default: string;
75
141
  };
142
+ /**
143
+ * Property name to use as the value for each option.
144
+ * Defaults to 'value' - each item should have this property.
145
+ */
76
146
  itemValue: {
77
147
  type: PropType<string | number | boolean | null>;
78
148
  default: string;
@@ -1,32 +1,89 @@
1
1
  import { type Size } from '../p-btn/p-btn.types';
2
+ /**
3
+ * A select button group component that displays multiple buttons as a connected group.
4
+ * Provides a button-based selection interface with support for single/multiple selection,
5
+ * custom styling, tooltips, and flexible item structure.
6
+ *
7
+ * @displayName PSelectBtn
8
+ */
2
9
  type BtnGroupItem = Record<string, string | number | boolean>;
3
10
  type Props = {
4
- modelValue?: string | number | null | BtnGroupItem[];
11
+ /**
12
+ * The current selected value(s) (v-model).
13
+ * For single selection: string, number, boolean, or null
14
+ * For multiple selection: array of BtnGroupItem objects
15
+ */
16
+ modelValue?: string | number | boolean | null | BtnGroupItem[];
17
+ /**
18
+ * Array of items to display as buttons.
19
+ * Each item should have properties matching itemValue, itemText, and itemTooltipText.
20
+ */
5
21
  items?: BtnGroupItem[] | readonly BtnGroupItem[];
22
+ /**
23
+ * Property name to use as the item value.
24
+ * Used for selection comparison and v-model binding.
25
+ */
6
26
  itemValue?: string | number;
27
+ /**
28
+ * Property name to use as the item display text.
29
+ * Used for button label content.
30
+ */
7
31
  itemText?: string;
32
+ /**
33
+ * Property name to use as the item tooltip text.
34
+ * Used when showTooltip is enabled.
35
+ */
8
36
  itemTooltipText?: string;
37
+ /**
38
+ * The size of the buttons in the group.
39
+ * Valid values: 'sm', 'md', 'lg'
40
+ */
9
41
  size?: Size;
42
+ /**
43
+ * Whether to show tooltips on button hover.
44
+ * Uses the itemTooltipText property for tooltip content.
45
+ */
10
46
  showTooltip?: boolean;
47
+ /**
48
+ * Whether to highlight selected buttons visually.
49
+ * Applies selected styling to chosen buttons.
50
+ */
11
51
  highlightSelected?: boolean;
52
+ /**
53
+ * Whether buttons should grow to fill available space.
54
+ * Makes all buttons equal width within the container.
55
+ */
12
56
  grow?: boolean;
57
+ /**
58
+ * Whether multiple items can be selected simultaneously.
59
+ * When true, modelValue becomes an array of selected items.
60
+ */
13
61
  multiple?: boolean;
62
+ /**
63
+ * Whether to remove padding from button containers.
64
+ * Useful for custom spacing control.
65
+ */
14
66
  noPadding?: boolean;
15
67
  };
16
- declare var __VLS_9: `btn-${number}`, __VLS_10: {
17
- item: BtnGroupItem;
18
- isSelected: boolean | undefined;
68
+ type __VLS_Slots = {
69
+ /**
70
+ * Custom content for each button in the group.
71
+ * Overrides the default item text display.
72
+ * @param {BtnGroupItem} item - The current item data
73
+ * @param {boolean} isSelected - Whether the current item is selected
74
+ */
75
+ [key: `btn-${number}`]: (props: {
76
+ item: BtnGroupItem;
77
+ isSelected: boolean;
78
+ }) => unknown;
19
79
  };
20
- type __VLS_Slots = {} & {
21
- [K in NonNullable<typeof __VLS_9>]?: (props: typeof __VLS_10) => any;
22
- };
23
- declare const __VLS_component: import("vue").DefineComponent<Props, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
24
- "update:modelValue": (...args: any[]) => void;
80
+ declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
81
+ "update:modelValue": (value: string | number | boolean | BtnGroupItem[] | null) => any;
25
82
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
26
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
83
+ "onUpdate:modelValue"?: ((value: string | number | boolean | BtnGroupItem[] | null) => any) | undefined;
27
84
  }>, {
28
85
  size: Size;
29
- modelValue: string | number | null | BtnGroupItem[];
86
+ modelValue: string | number | boolean | null | BtnGroupItem[];
30
87
  items: BtnGroupItem[] | readonly BtnGroupItem[];
31
88
  itemText: string;
32
89
  itemValue: string | number;
@@ -133,7 +133,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
133
133
  type: PropType<string>;
134
134
  default: string;
135
135
  };
136
- }>, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
136
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
137
137
  select: (...args: any[]) => void;
138
138
  "update:modelValue": (...args: any[]) => void;
139
139
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
@@ -263,13 +263,13 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
263
263
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
264
264
  }>, {
265
265
  size: "sm" | "md" | "lg";
266
+ placeholder: string;
266
267
  label: string;
267
268
  required: boolean;
268
269
  modelValue: ModelValue;
269
270
  items: AnyValue[] | AnyObject[];
270
271
  itemText: string;
271
272
  errorMsg: string;
272
- placeholder: string;
273
273
  valueIsObject: boolean;
274
274
  itemValue: string | number;
275
275
  itemSize: number;
@@ -1,8 +1,15 @@
1
1
  import { type PropType } from 'vue';
2
+ /**
3
+ * Represents a single option in the select pill component.
4
+ */
2
5
  type Option = Record<string, unknown> & {
6
+ /** Display text for the option */
3
7
  text: string;
8
+ /** Optional subtext displayed below the main text */
4
9
  subtext?: string;
10
+ /** Unique value identifier for the option */
5
11
  value: string | number;
12
+ /** Whether the option is disabled and cannot be selected */
6
13
  disabled?: boolean;
7
14
  };
8
15
  declare const SIZES: {
@@ -11,27 +18,59 @@ declare const SIZES: {
11
18
  lg: string;
12
19
  };
13
20
  type Size = keyof typeof SIZES;
21
+ /**
22
+ * A select pill component that displays options as connected buttons with a sliding indicator.
23
+ * Provides a pill-style selection interface with smooth animations and visual feedback.
24
+ * The active option is highlighted with a sliding background indicator.
25
+ *
26
+ * @displayName PSelectPill
27
+ */
14
28
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
29
+ /**
30
+ * The currently selected value (v-model).
31
+ * Should match one of the item values in the items array.
32
+ */
15
33
  modelValue: {
16
34
  type: (StringConstructor | NumberConstructor)[];
17
35
  default: string;
18
36
  };
37
+ /**
38
+ * Array of options to display as pills.
39
+ * Each option should have text, value, and optional subtext and disabled properties.
40
+ */
19
41
  items: {
20
42
  type: PropType<Option[] | [] | undefined | null>;
21
43
  default: () => never[];
22
44
  };
45
+ /**
46
+ * Property name to use as the item display text.
47
+ * Used for button label content.
48
+ */
23
49
  itemText: {
24
50
  type: StringConstructor;
25
51
  default: string;
26
52
  };
53
+ /**
54
+ * Property name to use as the item subtext.
55
+ * Displayed below the main text when provided.
56
+ */
27
57
  itemSubtext: {
28
58
  type: StringConstructor;
29
59
  default: string;
30
60
  };
61
+ /**
62
+ * Property name to use as the item value.
63
+ * Used for selection comparison and v-model binding.
64
+ */
31
65
  itemValue: {
32
66
  type: (StringConstructor | NumberConstructor)[];
33
67
  default: string;
34
68
  };
69
+ /**
70
+ * The size of the pill buttons.
71
+ * Valid values: 'sm', 'md', 'lg'
72
+ * @values sm, md, lg
73
+ */
35
74
  size: {
36
75
  type: PropType<Size>;
37
76
  default: string;
@@ -47,34 +86,65 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
47
86
  }, {}, {
48
87
  click(e: Event, option: Option): void;
49
88
  setPillStyle(): void;
50
- }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
89
+ }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
+ /**
91
+ * Emitted when the selected value changes.
92
+ * @param {string | number} value - The new selected value
93
+ */
94
+ 'update:modelValue': (value: string | number) => true;
95
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
96
+ /**
97
+ * The currently selected value (v-model).
98
+ * Should match one of the item values in the items array.
99
+ */
51
100
  modelValue: {
52
101
  type: (StringConstructor | NumberConstructor)[];
53
102
  default: string;
54
103
  };
104
+ /**
105
+ * Array of options to display as pills.
106
+ * Each option should have text, value, and optional subtext and disabled properties.
107
+ */
55
108
  items: {
56
109
  type: PropType<Option[] | [] | undefined | null>;
57
110
  default: () => never[];
58
111
  };
112
+ /**
113
+ * Property name to use as the item display text.
114
+ * Used for button label content.
115
+ */
59
116
  itemText: {
60
117
  type: StringConstructor;
61
118
  default: string;
62
119
  };
120
+ /**
121
+ * Property name to use as the item subtext.
122
+ * Displayed below the main text when provided.
123
+ */
63
124
  itemSubtext: {
64
125
  type: StringConstructor;
65
126
  default: string;
66
127
  };
128
+ /**
129
+ * Property name to use as the item value.
130
+ * Used for selection comparison and v-model binding.
131
+ */
67
132
  itemValue: {
68
133
  type: (StringConstructor | NumberConstructor)[];
69
134
  default: string;
70
135
  };
136
+ /**
137
+ * The size of the pill buttons.
138
+ * Valid values: 'sm', 'md', 'lg'
139
+ * @values sm, md, lg
140
+ */
71
141
  size: {
72
142
  type: PropType<Size>;
73
143
  default: string;
74
144
  validator(value: Size): boolean;
75
145
  };
76
146
  }>> & Readonly<{
77
- "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
147
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
78
148
  }>, {
79
149
  size: "sm" | "md" | "lg";
80
150
  modelValue: string | number;
@@ -4,20 +4,44 @@ declare const LOADER_TYPES: {
4
4
  readonly circle: "circle";
5
5
  };
6
6
  type LoaderType = (typeof LOADER_TYPES)[keyof typeof LOADER_TYPES];
7
+ /**
8
+ * A skeleton loader component that displays animated loading placeholders.
9
+ * Provides customizable shapes, colors, and shimmer effects to indicate
10
+ * content loading states. Supports both rectangle and circle shapes with
11
+ * configurable background and shimmer colors.
12
+ *
13
+ * @displayName PSkeletonLoader
14
+ */
7
15
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
16
+ /**
17
+ * The shape type of the skeleton loader.
18
+ * Determines the border radius and overall appearance.
19
+ */
8
20
  type: {
9
21
  type: PropType<LoaderType>;
10
22
  default: "rectangle";
11
23
  validator(value: LoaderType): boolean;
12
24
  };
25
+ /**
26
+ * The background CSS class for the skeleton loader.
27
+ * Controls the base color of the loading placeholder.
28
+ */
13
29
  bgClass: {
14
30
  type: StringConstructor;
15
31
  default: string;
16
32
  };
33
+ /**
34
+ * Additional CSS classes to apply to the loader.
35
+ * Allows for custom styling beyond the default type-based classes.
36
+ */
17
37
  cssClass: {
18
38
  type: StringConstructor;
19
39
  default: string;
20
40
  };
41
+ /**
42
+ * The color of the shimmer effect in hex format.
43
+ * Controls the color of the animated shimmer overlay.
44
+ */
21
45
  shimmerColor: {
22
46
  type: StringConstructor;
23
47
  default: string;
@@ -33,19 +57,35 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
33
57
  };
34
58
  loaderClass(): string;
35
59
  }, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
60
+ /**
61
+ * The shape type of the skeleton loader.
62
+ * Determines the border radius and overall appearance.
63
+ */
36
64
  type: {
37
65
  type: PropType<LoaderType>;
38
66
  default: "rectangle";
39
67
  validator(value: LoaderType): boolean;
40
68
  };
69
+ /**
70
+ * The background CSS class for the skeleton loader.
71
+ * Controls the base color of the loading placeholder.
72
+ */
41
73
  bgClass: {
42
74
  type: StringConstructor;
43
75
  default: string;
44
76
  };
77
+ /**
78
+ * Additional CSS classes to apply to the loader.
79
+ * Allows for custom styling beyond the default type-based classes.
80
+ */
45
81
  cssClass: {
46
82
  type: StringConstructor;
47
83
  default: string;
48
84
  };
85
+ /**
86
+ * The color of the shimmer effect in hex format.
87
+ * Controls the color of the animated shimmer overlay.
88
+ */
49
89
  shimmerColor: {
50
90
  type: StringConstructor;
51
91
  default: string;
@@ -1,10 +1,22 @@
1
1
  import type { StepItem } from './p-steps.types';
2
2
  type Props = {
3
+ /**
4
+ * The currently active step value.
5
+ * Should match one of the step values in the steps array.
6
+ */
3
7
  activeStep?: StepItem['value'];
8
+ /**
9
+ * Array of step items to display.
10
+ * Each step should have a value and optional text and disabled properties.
11
+ */
4
12
  steps?: readonly StepItem[];
13
+ /**
14
+ * Whether steps are clickable to navigate between them.
15
+ * When true, steps become interactive and emit click events.
16
+ */
5
17
  clickable?: boolean;
6
18
  };
7
- declare const _default: import("vue").DefineComponent<Props, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
20
  "click:step": (step: StepItem, index: number) => any;
9
21
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
10
22
  "onClick:step"?: ((step: StepItem, index: number) => any) | undefined;
@@ -27,3 +27,4 @@ export declare const isFirstColFixedInjectionKey: unique symbol;
27
27
  export declare const isLastColFixedInjectionKey: unique symbol;
28
28
  export declare const isColsResizableInjectionKey: unique symbol;
29
29
  export declare const MIN_WIDTH_COL_RESIZE = 80;
30
+ export declare const HEADER_CELL_ONE_LINE_HEIGHT = 20;
@@ -5,18 +5,50 @@ declare const _default: <T extends Record<string, unknown>>(__VLS_props: NonNull
5
5
  readonly "onCol-resize"?: ((colIndex: number, width: number) => any) | undefined;
6
6
  readonly "onClick-filter-icon"?: ((val: Event, col: any) => any) | undefined;
7
7
  } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onScroll" | "onClick-filter-icon" | "onCol-resize"> & {
8
+ /**
9
+ * Array of column definitions for the table.
10
+ * Each column defines its display properties, filtering, and styling.
11
+ */
8
12
  cols: TableCol[];
13
+ /**
14
+ * Whether columns can be resized by dragging.
15
+ * Enables column width adjustment functionality.
16
+ */
9
17
  colsResizable?: boolean;
18
+ /**
19
+ * Whether the first column is fixed in position.
20
+ * Useful for keeping important columns visible during horizontal scrolling.
21
+ */
10
22
  isFirstColFixed?: boolean;
23
+ /**
24
+ * Whether the last column is fixed in position.
25
+ * Useful for keeping action columns visible during horizontal scrolling.
26
+ */
11
27
  isLastColFixed?: boolean;
28
+ /**
29
+ * Whether to prevent horizontal scrolling.
30
+ * Forces the table to fit within its container.
31
+ */
12
32
  lockScroll?: boolean;
33
+ /**
34
+ * Whether to show subheader content below the main header.
35
+ * Provides additional header information or controls.
36
+ */
13
37
  subheader?: boolean;
38
+ /**
39
+ * Virtual scrolling configuration for large datasets.
40
+ * Controls padding for virtualized rows.
41
+ */
14
42
  virtualizer?: {
15
43
  paddingTop: number;
16
44
  paddingBottom: number;
17
45
  };
46
+ /**
47
+ * Array of data objects to display in the table.
48
+ * Each object should have properties matching the column names.
49
+ */
18
50
  data?: T[];
19
- } & Partial<{}>> & import("vue").PublicProps;
51
+ } & {}> & import("vue").PublicProps;
20
52
  expose(exposed: import("vue").ShallowUnwrapRef<{
21
53
  tbodyElement: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
22
54
  }>): void;
@@ -0,0 +1,4 @@
1
+ import { type Ref } from 'vue';
2
+ export declare const usePTableHeaderWrap: (theadRef: Ref<HTMLElement | null>) => {
3
+ hasWrap: Ref<boolean, boolean>;
4
+ };
@@ -1,9 +1,15 @@
1
1
  declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
2
+ /**
3
+ * Whether the filter icon is active (filtered state).
4
+ */
2
5
  active: {
3
6
  type: BooleanConstructor;
4
7
  default: boolean;
5
8
  };
6
- }>, void, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
9
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
10
+ /**
11
+ * Whether the filter icon is active (filtered state).
12
+ */
7
13
  active: {
8
14
  type: BooleanConstructor;
9
15
  default: boolean;