@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
@@ -7,14 +7,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  },
8
8
  __name: "p-tabs",
9
9
  props: {
10
+ /**
11
+ * Array of tab objects to display.
12
+ * Each tab should have a name, title, and optional icon and route.
13
+ */
10
14
  tabs: {
11
15
  type: Array,
12
16
  required: true
13
17
  },
18
+ /**
19
+ * The currently active tab name.
20
+ * Controls which tab is visually highlighted.
21
+ */
14
22
  activeTab: {
15
23
  type: String,
16
24
  required: true
17
25
  },
26
+ /**
27
+ * Left padding for the tabs container in pixels.
28
+ * Useful for aligning tabs with other content.
29
+ */
18
30
  tabsLeftPadding: {
19
31
  type: Number,
20
32
  default: 0
@@ -10,22 +10,42 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
10
10
  },
11
11
  __name: "p-textarea",
12
12
  props: {
13
+ /**
14
+ * The current value of the textarea (v-model).
15
+ * Supports two-way binding for form inputs.
16
+ */
13
17
  modelValue: {
14
18
  type: [String, Number, null],
15
19
  default: ""
16
20
  },
21
+ /**
22
+ * Text label for the textarea field.
23
+ * If not provided, you can use the label slot instead.
24
+ */
17
25
  label: {
18
26
  type: String,
19
27
  default: ""
20
28
  },
29
+ /**
30
+ * Error message to display below the textarea.
31
+ * When provided, the textarea will show error styling.
32
+ */
21
33
  errorMsg: {
22
34
  type: String,
23
35
  default: ""
24
36
  },
37
+ /**
38
+ * Whether the textarea is required.
39
+ * Adds required attribute and visual indicator.
40
+ */
25
41
  required: {
26
42
  type: Boolean,
27
43
  default: false
28
44
  },
45
+ /**
46
+ * The size of the textarea - affects padding, font size, and spacing.
47
+ * Valid values: 'sm', 'md', 'lg'
48
+ */
29
49
  size: {
30
50
  type: String,
31
51
  default: "md",
package/dist/es/index.js CHANGED
@@ -11,7 +11,7 @@ import { default as default5 } from "./p-drawer.js";
11
11
  import { default as default6 } from "./p-dropdown.js";
12
12
  import { _ as _imports_0$1 } from "./chunks/p-dropdown-select.js";
13
13
  import { a } from "./chunks/p-dropdown-select.js";
14
- import { defineComponent, shallowRef, ref, computed, onMounted, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, withDirectives, unref, toDisplayString, withModifiers, createVNode, createTextVNode, Fragment, renderList, vShow, useAttrs, resolveDirective, normalizeStyle, isRef, renderSlot, provide, onBeforeUnmount, watch, mergeProps, toHandlers, createBlock, withCtx } from "vue";
14
+ import { defineComponent, shallowRef, ref, computed, onMounted, createElementBlock, openBlock, normalizeClass, createCommentVNode, createElementVNode, withDirectives, unref, toDisplayString, withModifiers, createVNode, createTextVNode, Fragment, renderList, vShow, useAttrs, resolveDirective, normalizeStyle, isRef, renderSlot, provide, useTemplateRef, onBeforeUnmount, watch, mergeProps, toHandlers, createBlock, withCtx } from "vue";
15
15
  import { formatBytes, getFileExtension } from "./p-file-upload.js";
16
16
  import { _ as _sfc_main$4 } from "./chunks/p-icon.js";
17
17
  import { useInputClasses } from "./useInputClasses.js";
@@ -45,6 +45,7 @@ import { _ as _19 } from "./chunks/p-steps.js";
45
45
  import { colsInjectionKey, isFirstColFixedInjectionKey, isLastColFixedInjectionKey, isColsResizableInjectionKey } from "./p-table.js";
46
46
  import { MIN_WIDTH_COL_RESIZE } from "./p-table.js";
47
47
  import { usePTableColResize } from "./usePTableColResize.js";
48
+ import { usePTableHeaderWrap } from "./usePTableHeaderWrap.js";
48
49
  import PTableHeaderCell from "./p-table-header-cell.js";
49
50
  import PTableTd from "./p-table-td.js";
50
51
  import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
@@ -65,7 +66,7 @@ import { toNumberOrNull } from "./number.js";
65
66
  import { isObject } from "./object.js";
66
67
  import { createPagingRange } from "./pagination.js";
67
68
  import { sanitizeUrl } from "./sanitization.js";
68
- import { M, N, f, i, c, x } from "./chunks/index.js";
69
+ import { i, u, C, Q, T } from "./chunks/index.js";
69
70
  const _hoisted_1$3 = ["data-has-error"];
70
71
  const _hoisted_2$3 = {
71
72
  key: 0,
@@ -81,7 +82,7 @@ const _hoisted_6$3 = {
81
82
  key: 1,
82
83
  class: "flex flex-col items-center"
83
84
  };
84
- const _hoisted_7$2 = { class: "mt-2 text-p-purple-60" };
85
+ const _hoisted_7$1 = { class: "mt-2 text-p-purple-60" };
85
86
  const _hoisted_8 = ["accept", "multiple", "disabled"];
86
87
  const _hoisted_9 = { class: "max-h-48 overflow-y-auto overflow-x-hidden" };
87
88
  const _hoisted_10 = ["title"];
@@ -93,10 +94,18 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
93
94
  },
94
95
  __name: "p-file-upload",
95
96
  props: {
97
+ /**
98
+ * The current file(s) value (v-model).
99
+ * Supports both single file and multiple files based on the multiple prop.
100
+ */
96
101
  modelValue: {
97
102
  type: [Object, Array],
98
103
  default: () => []
99
104
  },
105
+ /**
106
+ * Whether multiple files can be selected.
107
+ * When true, allows selecting multiple files at once.
108
+ */
100
109
  multiple: {
101
110
  type: Boolean,
102
111
  default: false
@@ -109,27 +118,51 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
109
118
  type: Array,
110
119
  default: () => []
111
120
  },
121
+ /**
122
+ * Whether the file upload is disabled.
123
+ * Prevents user interaction when true.
124
+ */
112
125
  disabled: {
113
126
  type: Boolean,
114
127
  default: false
115
128
  },
129
+ /**
130
+ * Whether the file upload is required.
131
+ * Adds required attribute and visual indicator.
132
+ */
116
133
  required: {
117
134
  type: Boolean,
118
135
  default: false
119
136
  },
137
+ /**
138
+ * Error message to display below the file upload.
139
+ * When provided, the upload area will show error styling.
140
+ */
120
141
  errorMsg: {
121
142
  type: String,
122
143
  default: ""
123
144
  },
145
+ /**
146
+ * Text label for the file upload field.
147
+ * Displayed above the upload area.
148
+ */
124
149
  label: {
125
150
  type: String,
126
151
  default: ""
127
152
  },
153
+ /**
154
+ * Maximum file size in bytes.
155
+ * Files exceeding this size will be rejected with an error message.
156
+ */
128
157
  maxSizeInBytes: {
129
158
  type: Number,
130
159
  default: 256 * 1e3
131
160
  // 256 KB
132
161
  },
162
+ /**
163
+ * Maximum number of files that can be uploaded.
164
+ * Only applies when multiple is true.
165
+ */
133
166
  maxNumberOfFiles: {
134
167
  type: Number,
135
168
  default: 10
@@ -198,11 +231,11 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
198
231
  return res;
199
232
  };
200
233
  const uploadFile = (e) => {
201
- const f2 = e.target?.files || e.dataTransfer?.files;
202
- if (!f2) {
234
+ const f = e.target?.files || e.dataTransfer?.files;
235
+ if (!f) {
203
236
  return;
204
237
  }
205
- const validatedFiles = props.fileTypes ? validateFiles(Array.from(f2)) : f2;
238
+ const validatedFiles = props.fileTypes ? validateFiles(Array.from(f)) : Array.from(f);
206
239
  files.value = props.multiple ? [...files.value, ...validatedFiles] : validatedFiles;
207
240
  emit("file-added", validatedFiles);
208
241
  };
@@ -264,7 +297,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
264
297
  class: "text-p-gray-50"
265
298
  }),
266
299
  createElementVNode("div", _hoisted_4$3, [
267
- _cache[3] || (_cache[3] = createTextVNode(" Drag or ")),
300
+ _cache[3] || (_cache[3] = createTextVNode(" Drag or ", -1)),
268
301
  createElementVNode("span", _hoisted_5$3, "select " + toDisplayString(fileWord.value), 1)
269
302
  ])
270
303
  ])) : (openBlock(), createElementBlock("div", _hoisted_6$3, [
@@ -273,7 +306,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
273
306
  width: "32",
274
307
  class: "text-primary"
275
308
  }),
276
- createElementVNode("div", _hoisted_7$2, "Drop " + toDisplayString(fileWord.value), 1)
309
+ createElementVNode("div", _hoisted_7$1, "Drop " + toDisplayString(fileWord.value), 1)
277
310
  ])),
278
311
  createElementVNode("input", {
279
312
  ref_key: "fileInputRef",
@@ -338,7 +371,7 @@ const _hoisted_6$2 = {
338
371
  class: "ml-auto fill-p-purple-60 pl-2",
339
372
  src: _imports_0$1
340
373
  };
341
- const _hoisted_7$1 = {
374
+ const _hoisted_7 = {
342
375
  key: 1,
343
376
  class: "ml-auto h-4 w-[26px] pl-2"
344
377
  };
@@ -642,7 +675,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
642
675
  }), 128))
643
676
  ], 8, _hoisted_5$2)
644
677
  ]),
645
- unref(isSelected)(unref(getValue)(row.index)) ? (openBlock(), createElementBlock("img", _hoisted_6$2)) : (openBlock(), createElementBlock("div", _hoisted_7$1))
678
+ unref(isSelected)(unref(getValue)(row.index)) ? (openBlock(), createElementBlock("img", _hoisted_6$2)) : (openBlock(), createElementBlock("div", _hoisted_7))
646
679
  ], 2)
647
680
  ], 14, _hoisted_4$2)), [
648
681
  [_directive_close_popper, __props.closePopperOnSelect && !__props.multiple]
@@ -667,15 +700,14 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
667
700
  }
668
701
  });
669
702
  const _hoisted_1$1 = ["data-col-id"];
670
- const _hoisted_2$1 = { class: "flex" };
671
- const _hoisted_3$1 = ["onMousedown", "onDblclick"];
672
- const _hoisted_4$1 = {
703
+ const _hoisted_2$1 = ["onMousedown", "onDblclick"];
704
+ const _hoisted_3$1 = {
673
705
  key: 0,
674
706
  class: "min-w-[80px] bg-gradient-to-r from-white via-p-gray-10 to-p-gray-10"
675
707
  };
676
- const _hoisted_5$1 = { key: 0 };
677
- const _hoisted_6$1 = { class: "py-2" };
678
- const _hoisted_7 = { key: 1 };
708
+ const _hoisted_4$1 = { key: 0 };
709
+ const _hoisted_5$1 = { class: "py-2" };
710
+ const _hoisted_6$1 = { key: 1 };
679
711
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
680
712
  ...{ name: "PTable" },
681
713
  __name: "p-table",
@@ -713,6 +745,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
713
745
  computed(() => props.colsResizable)
714
746
  );
715
747
  const scrollWrapper = ref(null);
748
+ const theadRef = useTemplateRef("theadRef");
716
749
  const ths = ref([]);
717
750
  const {
718
751
  isColResizing,
@@ -726,6 +759,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
726
759
  enabled: computed(() => props.colsResizable),
727
760
  ths
728
761
  });
762
+ const { hasWrap } = usePTableHeaderWrap(theadRef);
729
763
  const tbodyElement = ref(null);
730
764
  const updateThsRefs = (el, index) => {
731
765
  if (el instanceof Element) {
@@ -812,7 +846,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
812
846
  { "first-col-fixed": _ctx.isFirstColFixed }
813
847
  ]
814
848
  }, toHandlers(_ctx.colsResizable ? { mousemove: unref(colResize) } : {}, true)), [
815
- createElementVNode("thead", null, [
849
+ createElementVNode("thead", {
850
+ ref_key: "theadRef",
851
+ ref: theadRef
852
+ }, [
816
853
  createElementVNode("tr", null, [
817
854
  (openBlock(true), createElementBlock(Fragment, null, renderList(props.cols, (col, i2) => {
818
855
  return openBlock(), createElementBlock("th", mergeProps({
@@ -828,7 +865,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
828
865
  class: normalizeClass(thDivClasses(i2)),
829
866
  style: normalizeStyle(bgColorStyle(col))
830
867
  }, [
831
- createElementVNode("div", _hoisted_2$1, [
868
+ createElementVNode("div", {
869
+ class: normalizeClass(["flex", { "h-10": unref(hasWrap) }])
870
+ }, [
832
871
  renderSlot(_ctx.$slots, `prepend-header-cell-${unref(kebabCase)(col.name)}`, { col }, void 0, true),
833
872
  createVNode(PTableHeaderCell, mergeProps({
834
873
  text: col.title,
@@ -840,14 +879,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
840
879
  }, { ref_for: true }, col.headerCellAttrs, {
841
880
  onClickFilterIcon: ($event) => _ctx.$emit("click-filter-icon", $event, col)
842
881
  }), null, 16, ["text", "filter-active", "show-filter-icon", "tooltip-text", "class", "text-color", "onClickFilterIcon"])
843
- ]),
882
+ ], 2),
844
883
  _ctx.colsResizable && i2 !== 0 && !(i2 === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (openBlock(), createElementBlock("div", {
845
884
  key: 0,
846
- class: normalizeClass(["absolute bottom-2 right-0 z-110 h-5 w-2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i2 === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
885
+ class: normalizeClass(["absolute right-0 top-1/2 z-110 h-5 w-2 -translate-y-1/2 cursor-col-resize after:absolute after:bottom-0 after:z-110 after:block after:h-full after:w-2 after:cursor-col-resize after:border-r-2 after:border-dashed after:border-p-gray-30", i2 === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
847
886
  "data-resize-handle": "",
848
887
  onMousedown: ($event) => unref(colResizeStart)($event, i2),
849
888
  onDblclick: ($event) => unref(colResizeFitToData)(i2)
850
- }, null, 42, _hoisted_3$1)) : createCommentVNode("", true)
889
+ }, null, 42, _hoisted_2$1)) : createCommentVNode("", true)
851
890
  ], 6),
852
891
  _ctx.subheader ? (openBlock(), createElementBlock("div", {
853
892
  key: 0,
@@ -857,14 +896,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
857
896
  ], 2)) : createCommentVNode("", true)
858
897
  ], 16, _hoisted_1$1);
859
898
  }), 128)),
860
- _ctx.colsResizable && !_ctx.isLastColFixed ? (openBlock(), createElementBlock("th", _hoisted_4$1)) : createCommentVNode("", true)
899
+ _ctx.colsResizable && !_ctx.isLastColFixed ? (openBlock(), createElementBlock("th", _hoisted_3$1)) : createCommentVNode("", true)
861
900
  ])
862
- ]),
901
+ ], 512),
863
902
  createElementVNode("tbody", {
864
903
  ref_key: "tbodyElement",
865
904
  ref: tbodyElement
866
905
  }, [
867
- _ctx.virtualizer.paddingTop > 0 ? (openBlock(), createElementBlock("tr", _hoisted_5$1, [
906
+ _ctx.virtualizer.paddingTop > 0 ? (openBlock(), createElementBlock("tr", _hoisted_4$1, [
868
907
  createElementVNode("td", {
869
908
  style: normalizeStyle({ height: `${_ctx.virtualizer.paddingTop}px` })
870
909
  }, null, 4)
@@ -883,7 +922,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
883
922
  default: withCtx(() => [
884
923
  renderSlot(_ctx.$slots, "cell", mergeProps({ ref_for: true }, { col, colIndex, rowData, rowIndex, cellData: rowData[col.name] }), () => [
885
924
  renderSlot(_ctx.$slots, `cell-${unref(kebabCase)(col.name)}`, mergeProps({ ref_for: true }, { col, rowData, rowIndex, cellData: rowData[col.name] }), () => [
886
- createElementVNode("div", _hoisted_6$1, toDisplayString(rowData[col.name]), 1)
925
+ createElementVNode("div", _hoisted_5$1, toDisplayString(rowData[col.name]), 1)
887
926
  ], true)
888
927
  ], true)
889
928
  ]),
@@ -894,7 +933,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
894
933
  ]);
895
934
  }), 128))
896
935
  ], true),
897
- _ctx.virtualizer.paddingBottom > 0 ? (openBlock(), createElementBlock("tr", _hoisted_7, [
936
+ _ctx.virtualizer.paddingBottom > 0 ? (openBlock(), createElementBlock("tr", _hoisted_6$1, [
898
937
  createElementVNode("td", {
899
938
  style: normalizeStyle({ height: `${_ctx.virtualizer.paddingBottom}px` })
900
939
  }, null, 4)
@@ -905,7 +944,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
905
944
  };
906
945
  }
907
946
  });
908
- const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ab73279a"]]);
947
+ const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-8af637b9"]]);
909
948
  const _imports_0 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75838)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75838'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
910
949
  const _imports_1 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_80096)'%3e%3cpath%20d='M11.6533%203.37331L8.47329%200.18664C8.41131%200.124154%208.33758%200.074558%208.25634%200.0407122C8.1751%200.00686641%208.08796%20-0.0105591%207.99995%20-0.0105591C7.91194%20-0.0105591%207.82481%200.00686641%207.74357%200.0407122C7.66233%200.074558%207.58859%200.124154%207.52662%200.18664L4.34662%203.37331C4.253%203.46615%204.18902%203.58468%204.16277%203.71388C4.13651%203.84309%204.14916%203.97719%204.19911%204.09921C4.24906%204.22123%204.33407%204.3257%204.44339%204.39941C4.55271%204.47312%204.68144%204.51275%204.81329%204.51331H6.81329C6.83571%204.51054%206.85846%204.51235%206.88016%204.51865C6.90186%204.52494%206.92205%204.53559%206.93951%204.54993C6.95697%204.56427%206.97133%204.58201%206.98172%204.60207C6.99211%204.62214%206.99832%204.6441%206.99995%204.66664V14.9933C6.99995%2015.2585%207.10531%2015.5129%207.29285%2015.7004C7.48038%2015.888%207.73474%2015.9933%207.99995%2015.9933C8.26517%2015.9933%208.51952%2015.888%208.70706%2015.7004C8.8946%2015.5129%208.99995%2015.2585%208.99995%2014.9933V4.66664C8.99995%204.62244%209.01751%204.58004%209.04877%204.54879C9.08002%204.51753%209.12242%204.49997%209.16662%204.49997H11.1666C11.2985%204.49942%2011.4272%204.45978%2011.5365%204.38608C11.6458%204.31237%2011.7308%204.2079%2011.7808%204.08587C11.8307%203.96385%2011.8434%203.82976%2011.8171%203.70055C11.7909%203.57134%2011.7269%203.45282%2011.6333%203.35997L11.6533%203.37331Z'%20fill='%23323CEB'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_80096'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
911
950
  const _imports_2 = "data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_1019_75842)'%3e%3cpath%20d='M11.8%2011.8933C11.75%2011.7716%2011.665%2011.6674%2011.5559%2011.5938C11.4467%2011.5203%2011.3183%2011.4807%2011.1866%2011.48H9.18664C9.16473%2011.4828%209.14248%2011.4812%209.12119%2011.4753C9.0999%2011.4694%209.07999%2011.4594%209.06262%2011.4457C9.04525%2011.4321%209.03077%2011.4151%209.02001%2011.3958C9.00926%2011.3765%209.00245%2011.3553%208.99997%2011.3333V1C8.99997%200.734784%208.89462%200.48043%208.70708%200.292893C8.51954%200.105357%208.26519%200%207.99997%200C7.73476%200%207.4804%200.105357%207.29287%200.292893C7.10533%200.48043%206.99997%200.734784%206.99997%201V11.3333C6.99997%2011.3775%206.98241%2011.4199%206.95116%2011.4512C6.9199%2011.4824%206.87751%2011.5%206.83331%2011.5H4.83331C4.70146%2011.5006%204.57273%2011.5402%204.46341%2011.6139C4.35409%2011.6876%204.26908%2011.7921%204.21913%2011.9141C4.16918%2012.0361%204.15653%2012.1702%204.18279%2012.2994C4.20904%2012.4286%204.27302%2012.5472%204.36664%2012.64L7.54664%2015.8267C7.60861%2015.8892%207.68235%2015.9387%207.76359%2015.9726C7.84483%2016.0064%207.93196%2016.0239%208.01997%2016.0239C8.10798%2016.0239%208.19512%2016.0064%208.27636%2015.9726C8.3576%2015.9387%208.43133%2015.8892%208.49331%2015.8267L11.6733%2012.64C11.7677%2012.5431%2011.8303%2012.4198%2011.853%2012.2864C11.8756%2012.153%2011.8571%2012.0159%2011.8%2011.8933Z'%20fill='%23424E6E'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_1019_75842'%3e%3crect%20width='16'%20height='16'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
@@ -934,6 +973,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
934
973
  },
935
974
  __name: "p-table-sort",
936
975
  props: {
976
+ /**
977
+ * The current sorting state (v-model).
978
+ * Valid values: 'asc', 'desc', 'no-sorting'
979
+ * Controls which sort option is visually active.
980
+ */
937
981
  modelValue: {
938
982
  type: String,
939
983
  default: SORTING_TYPES.NO_SORTING,
@@ -1033,12 +1077,12 @@ export {
1033
1077
  P_ICON_ALIASES,
1034
1078
  S as SIZES,
1035
1079
  SORTING_TYPES,
1036
- M as cn,
1037
- N as cnBase,
1080
+ i as cn,
1081
+ u as cnBase,
1038
1082
  colsInjectionKey,
1039
1083
  createPagingRange,
1040
- f as createTV,
1041
- i as defaultConfig,
1084
+ C as createTV,
1085
+ Q as defaultConfig,
1042
1086
  getNextActiveElement,
1043
1087
  isColsResizableInjectionKey,
1044
1088
  isElement,
@@ -1052,12 +1096,11 @@ export {
1052
1096
  squirrelTailwindConfig,
1053
1097
  toNumberOrNull,
1054
1098
  toString,
1055
- c as tv,
1099
+ T as tv,
1056
1100
  useInputClasses,
1057
1101
  usePLoading,
1058
1102
  usePModal,
1059
1103
  usePTableColResize,
1060
1104
  usePTableRowVirtualizer,
1061
- useSelectList,
1062
- x as voidEmpty
1105
+ useSelectList
1063
1106
  };
@@ -1,5 +1,5 @@
1
- import { c as ce } from "./chunks/index.js";
2
- const inputClasses = ce({
1
+ import { T } from "./chunks/index.js";
2
+ const inputClasses = T({
3
3
  slots: {
4
4
  input: "w-full rounded border-0 bg-surface text-night ring-1 ring-inset ring-p-gray-30 placeholder:text-p-gray-40 hover:ring-primary focus:outline-none focus:ring-2 focus:ring-primary disabled:cursor-default disabled:bg-p-blue-10 disabled:ring-p-gray-30 disabled:hover:ring-p-gray-30",
5
5
  label: "mb-1 block font-medium",
@@ -90,7 +90,7 @@ const inputClasses = ce({
90
90
  size: "md"
91
91
  }
92
92
  });
93
- const textareaClasses = ce({
93
+ const textareaClasses = T({
94
94
  extend: inputClasses,
95
95
  slots: {
96
96
  input: "resize-y overflow-auto"
@@ -109,7 +109,7 @@ const textareaClasses = ce({
109
109
  }
110
110
  }
111
111
  });
112
- const selectClasses = ce({
112
+ const selectClasses = T({
113
113
  extend: inputClasses,
114
114
  slots: {
115
115
  input: "squirrel-bg-chevron-down appearance-none truncate bg-no-repeat"
@@ -12,10 +12,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  },
13
13
  __name: "p-checkbox",
14
14
  props: {
15
+ /**
16
+ * The checked state of the checkbox (v-model)
17
+ */
15
18
  modelValue: {
16
19
  type: Boolean,
17
20
  default: false
18
21
  },
22
+ /**
23
+ * Text label for the checkbox
24
+ * Ignored if using the label slot
25
+ */
19
26
  label: {
20
27
  type: String,
21
28
  default: ""
@@ -58,7 +65,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
58
65
  };
59
66
  }
60
67
  });
61
- const pCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b394a2f0"]]);
68
+ const pCheckbox = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c0f571ea"]]);
62
69
  export {
63
70
  pCheckbox as default
64
71
  };
@@ -4,15 +4,31 @@ import { _ as _export_sfc } from "./chunks/_plugin-vue_export-helper.js";
4
4
  const _sfc_main = defineComponent({
5
5
  name: "PChips",
6
6
  props: {
7
+ /**
8
+ * Array of items to display as chips.
9
+ * Can be strings or objects with a text property.
10
+ */
7
11
  items: {
8
12
  type: Array,
9
13
  default: () => []
10
14
  },
15
+ /**
16
+ * Property name to use as the item display text.
17
+ * Used when items are objects to extract the text value.
18
+ */
11
19
  itemText: {
12
20
  type: String,
13
21
  default: "text"
14
22
  }
15
23
  },
24
+ /**
25
+ * Emitted when a chip is clicked.
26
+ * @param {any} item - The clicked item
27
+ */
28
+ /**
29
+ * Emitted when the overflow indicator is clicked.
30
+ * Indicates that there are more chips than can be displayed.
31
+ */
16
32
  emits: ["click:chip", "click:overflow"],
17
33
  data() {
18
34
  return {
@@ -102,7 +118,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
102
118
  ], 512)
103
119
  ], 512);
104
120
  }
105
- const pChips = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-57d9f151"]]);
121
+ const pChips = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a6ae49f4"]]);
106
122
  export {
107
123
  pChips as default
108
124
  };
@@ -6,6 +6,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  },
7
7
  __name: "p-close-btn",
8
8
  props: {
9
+ /**
10
+ * The visual variant of the close button.
11
+ * Controls the background color and hover effects.
12
+ * Valid values: 'transparent', 'gray', 'dark'
13
+ */
9
14
  variant: {
10
15
  type: String,
11
16
  default: "transparent"
@@ -34,7 +39,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
39
  };
35
40
  }
36
41
  });
37
- const PCloseBtn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2002dcc8"]]);
42
+ const PCloseBtn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8232fb9d"]]);
38
43
  export {
39
44
  PCloseBtn as default
40
45
  };