@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
@@ -8,14 +8,26 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
8
8
  },
9
9
  __name: "p-tabs",
10
10
  props: {
11
+ /**
12
+ * Array of tab objects to display.
13
+ * Each tab should have a name, title, and optional icon and route.
14
+ */
11
15
  tabs: {
12
16
  type: Array,
13
17
  required: true
14
18
  },
19
+ /**
20
+ * The currently active tab name.
21
+ * Controls which tab is visually highlighted.
22
+ */
15
23
  activeTab: {
16
24
  type: String,
17
25
  required: true
18
26
  },
27
+ /**
28
+ * Left padding for the tabs container in pixels.
29
+ * Useful for aligning tabs with other content.
30
+ */
19
31
  tabsLeftPadding: {
20
32
  type: Number,
21
33
  default: 0
@@ -11,22 +11,42 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
11
11
  },
12
12
  __name: "p-textarea",
13
13
  props: {
14
+ /**
15
+ * The current value of the textarea (v-model).
16
+ * Supports two-way binding for form inputs.
17
+ */
14
18
  modelValue: {
15
19
  type: [String, Number, null],
16
20
  default: ""
17
21
  },
22
+ /**
23
+ * Text label for the textarea field.
24
+ * If not provided, you can use the label slot instead.
25
+ */
18
26
  label: {
19
27
  type: String,
20
28
  default: ""
21
29
  },
30
+ /**
31
+ * Error message to display below the textarea.
32
+ * When provided, the textarea will show error styling.
33
+ */
22
34
  errorMsg: {
23
35
  type: String,
24
36
  default: ""
25
37
  },
38
+ /**
39
+ * Whether the textarea is required.
40
+ * Adds required attribute and visual indicator.
41
+ */
26
42
  required: {
27
43
  type: Boolean,
28
44
  default: false
29
45
  },
46
+ /**
47
+ * The size of the textarea - affects padding, font size, and spacing.
48
+ * Valid values: 'sm', 'md', 'lg'
49
+ */
30
50
  size: {
31
51
  type: String,
32
52
  default: "md",
package/dist/cjs/index.js CHANGED
@@ -45,6 +45,7 @@ const pSkeletonLoader = require("./p-skeleton-loader.js");
45
45
  const pSteps_vue_vue_type_script_setup_true_lang = require("./chunks/p-steps.js");
46
46
  const pTable$1 = require("./p-table.js");
47
47
  const usePTableColResize = require("./usePTableColResize.js");
48
+ const usePTableHeaderWrap = require("./usePTableHeaderWrap.js");
48
49
  const pTableHeaderCell = require("./p-table-header-cell.js");
49
50
  const pTableTd = require("./p-table-td.js");
50
51
  const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js");
@@ -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__ */ vue.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__ */ vue.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
@@ -202,7 +235,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
202
235
  if (!f) {
203
236
  return;
204
237
  }
205
- const validatedFiles = props.fileTypes ? validateFiles(Array.from(f)) : f;
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__ */ vue.defineComponent({
264
297
  class: "text-p-gray-50"
265
298
  }),
266
299
  vue.createElementVNode("div", _hoisted_4$3, [
267
- _cache[3] || (_cache[3] = vue.createTextVNode(" Drag or ")),
300
+ _cache[3] || (_cache[3] = vue.createTextVNode(" Drag or ", -1)),
268
301
  vue.createElementVNode("span", _hoisted_5$3, "select " + vue.toDisplayString(fileWord.value), 1)
269
302
  ])
270
303
  ])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_6$3, [
@@ -273,7 +306,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
273
306
  width: "32",
274
307
  class: "text-primary"
275
308
  }),
276
- vue.createElementVNode("div", _hoisted_7$2, "Drop " + vue.toDisplayString(fileWord.value), 1)
309
+ vue.createElementVNode("div", _hoisted_7$1, "Drop " + vue.toDisplayString(fileWord.value), 1)
277
310
  ])),
278
311
  vue.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: pDropdownSelect_vue_vue_type_script_setup_true_lang._imports_0
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__ */ vue.defineComponent({
642
675
  }), 128))
643
676
  ], 8, _hoisted_5$2)
644
677
  ]),
645
- vue.unref(isSelected)(vue.unref(getValue)(row.index)) ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_6$2)) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$1))
678
+ vue.unref(isSelected)(vue.unref(getValue)(row.index)) ? (vue.openBlock(), vue.createElementBlock("img", _hoisted_6$2)) : (vue.openBlock(), vue.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__ */ vue.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__ */ vue.defineComponent({
680
712
  ...{ name: "PTable" },
681
713
  __name: "p-table",
@@ -713,6 +745,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
713
745
  vue.computed(() => props.colsResizable)
714
746
  );
715
747
  const scrollWrapper = vue.ref(null);
748
+ const theadRef = vue.useTemplateRef("theadRef");
716
749
  const ths = vue.ref([]);
717
750
  const {
718
751
  isColResizing,
@@ -726,6 +759,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
726
759
  enabled: vue.computed(() => props.colsResizable),
727
760
  ths
728
761
  });
762
+ const { hasWrap } = usePTableHeaderWrap.usePTableHeaderWrap(theadRef);
729
763
  const tbodyElement = vue.ref(null);
730
764
  const updateThsRefs = (el, index2) => {
731
765
  if (el instanceof Element) {
@@ -812,7 +846,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
812
846
  { "first-col-fixed": _ctx.isFirstColFixed }
813
847
  ]
814
848
  }, vue.toHandlers(_ctx.colsResizable ? { mousemove: vue.unref(colResize) } : {}, true)), [
815
- vue.createElementVNode("thead", null, [
849
+ vue.createElementVNode("thead", {
850
+ ref_key: "theadRef",
851
+ ref: theadRef
852
+ }, [
816
853
  vue.createElementVNode("tr", null, [
817
854
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.cols, (col, i) => {
818
855
  return vue.openBlock(), vue.createElementBlock("th", vue.mergeProps({
@@ -828,7 +865,9 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
828
865
  class: vue.normalizeClass(thDivClasses(i)),
829
866
  style: vue.normalizeStyle(bgColorStyle(col))
830
867
  }, [
831
- vue.createElementVNode("div", _hoisted_2$1, [
868
+ vue.createElementVNode("div", {
869
+ class: vue.normalizeClass(["flex", { "h-10": vue.unref(hasWrap) }])
870
+ }, [
832
871
  vue.renderSlot(_ctx.$slots, `prepend-header-cell-${vue.unref(lodashEs.kebabCase)(col.name)}`, { col }, void 0, true),
833
872
  vue.createVNode(pTableHeaderCell, vue.mergeProps({
834
873
  text: col.title,
@@ -840,14 +879,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.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 && i !== 0 && !(i === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (vue.openBlock(), vue.createElementBlock("div", {
845
884
  key: 0,
846
- class: vue.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", i === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
885
+ class: vue.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", i === _ctx.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
847
886
  "data-resize-handle": "",
848
887
  onMousedown: ($event) => vue.unref(colResizeStart)($event, i),
849
888
  onDblclick: ($event) => vue.unref(colResizeFitToData)(i)
850
- }, null, 42, _hoisted_3$1)) : vue.createCommentVNode("", true)
889
+ }, null, 42, _hoisted_2$1)) : vue.createCommentVNode("", true)
851
890
  ], 6),
852
891
  _ctx.subheader ? (vue.openBlock(), vue.createElementBlock("div", {
853
892
  key: 0,
@@ -857,14 +896,14 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
857
896
  ], 2)) : vue.createCommentVNode("", true)
858
897
  ], 16, _hoisted_1$1);
859
898
  }), 128)),
860
- _ctx.colsResizable && !_ctx.isLastColFixed ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_4$1)) : vue.createCommentVNode("", true)
899
+ _ctx.colsResizable && !_ctx.isLastColFixed ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_3$1)) : vue.createCommentVNode("", true)
861
900
  ])
862
- ]),
901
+ ], 512),
863
902
  vue.createElementVNode("tbody", {
864
903
  ref_key: "tbodyElement",
865
904
  ref: tbodyElement
866
905
  }, [
867
- _ctx.virtualizer.paddingTop > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_5$1, [
906
+ _ctx.virtualizer.paddingTop > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_4$1, [
868
907
  vue.createElementVNode("td", {
869
908
  style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingTop}px` })
870
909
  }, null, 4)
@@ -883,7 +922,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
883
922
  default: vue.withCtx(() => [
884
923
  vue.renderSlot(_ctx.$slots, "cell", vue.mergeProps({ ref_for: true }, { col, colIndex, rowData, rowIndex, cellData: rowData[col.name] }), () => [
885
924
  vue.renderSlot(_ctx.$slots, `cell-${vue.unref(lodashEs.kebabCase)(col.name)}`, vue.mergeProps({ ref_for: true }, { col, rowData, rowIndex, cellData: rowData[col.name] }), () => [
886
- vue.createElementVNode("div", _hoisted_6$1, vue.toDisplayString(rowData[col.name]), 1)
925
+ vue.createElementVNode("div", _hoisted_5$1, vue.toDisplayString(rowData[col.name]), 1)
887
926
  ], true)
888
927
  ], true)
889
928
  ]),
@@ -894,7 +933,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
894
933
  ]);
895
934
  }), 128))
896
935
  ], true),
897
- _ctx.virtualizer.paddingBottom > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_7, [
936
+ _ctx.virtualizer.paddingBottom > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$1, [
898
937
  vue.createElementVNode("td", {
899
938
  style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingBottom}px` })
900
939
  }, null, 4)
@@ -905,7 +944,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
905
944
  };
906
945
  }
907
946
  });
908
- const pTable = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main$1, [["__scopeId", "data-v-ab73279a"]]);
947
+ const pTable = /* @__PURE__ */ _pluginVue_exportHelper._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__ */ vue.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: pTableSort.SORTING_TYPES.NO_SORTING,
@@ -1049,12 +1093,11 @@ exports.toNumberOrNull = number.toNumberOrNull;
1049
1093
  exports.isObject = object.isObject;
1050
1094
  exports.createPagingRange = pagination.createPagingRange;
1051
1095
  exports.sanitizeUrl = sanitization.sanitizeUrl;
1052
- exports.cn = index.M;
1053
- exports.cnBase = index.N;
1054
- exports.createTV = index.fe;
1055
- exports.defaultConfig = index.ie;
1056
- exports.tv = index.ce;
1057
- exports.voidEmpty = index.x;
1096
+ exports.cn = index.i;
1097
+ exports.cnBase = index.u;
1098
+ exports.createTV = index.C;
1099
+ exports.defaultConfig = index.Q;
1100
+ exports.tv = index.T;
1058
1101
  exports.PFileUpload = _sfc_main$3;
1059
1102
  exports.PSelectList = _sfc_main$2;
1060
1103
  exports.PTable = pTable;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const index = require("./chunks/index.js");
4
- const inputClasses = index.ce({
4
+ const inputClasses = index.T({
5
5
  slots: {
6
6
  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",
7
7
  label: "mb-1 block font-medium",
@@ -92,7 +92,7 @@ const inputClasses = index.ce({
92
92
  size: "md"
93
93
  }
94
94
  });
95
- const textareaClasses = index.ce({
95
+ const textareaClasses = index.T({
96
96
  extend: inputClasses,
97
97
  slots: {
98
98
  input: "resize-y overflow-auto"
@@ -111,7 +111,7 @@ const textareaClasses = index.ce({
111
111
  }
112
112
  }
113
113
  });
114
- const selectClasses = index.ce({
114
+ const selectClasses = index.T({
115
115
  extend: inputClasses,
116
116
  slots: {
117
117
  input: "squirrel-bg-chevron-down appearance-none truncate bg-no-repeat"
@@ -13,10 +13,17 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
13
13
  },
14
14
  __name: "p-checkbox",
15
15
  props: {
16
+ /**
17
+ * The checked state of the checkbox (v-model)
18
+ */
16
19
  modelValue: {
17
20
  type: Boolean,
18
21
  default: false
19
22
  },
23
+ /**
24
+ * Text label for the checkbox
25
+ * Ignored if using the label slot
26
+ */
20
27
  label: {
21
28
  type: String,
22
29
  default: ""
@@ -59,5 +66,5 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
59
66
  };
60
67
  }
61
68
  });
62
- const pCheckbox = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-b394a2f0"]]);
69
+ const pCheckbox = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-c0f571ea"]]);
63
70
  module.exports = pCheckbox;
@@ -5,15 +5,31 @@ const _pluginVue_exportHelper = require("./chunks/_plugin-vue_export-helper.js")
5
5
  const _sfc_main = vue.defineComponent({
6
6
  name: "PChips",
7
7
  props: {
8
+ /**
9
+ * Array of items to display as chips.
10
+ * Can be strings or objects with a text property.
11
+ */
8
12
  items: {
9
13
  type: Array,
10
14
  default: () => []
11
15
  },
16
+ /**
17
+ * Property name to use as the item display text.
18
+ * Used when items are objects to extract the text value.
19
+ */
12
20
  itemText: {
13
21
  type: String,
14
22
  default: "text"
15
23
  }
16
24
  },
25
+ /**
26
+ * Emitted when a chip is clicked.
27
+ * @param {any} item - The clicked item
28
+ */
29
+ /**
30
+ * Emitted when the overflow indicator is clicked.
31
+ * Indicates that there are more chips than can be displayed.
32
+ */
17
33
  emits: ["click:chip", "click:overflow"],
18
34
  data() {
19
35
  return {
@@ -103,5 +119,5 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
103
119
  ], 512)
104
120
  ], 512);
105
121
  }
106
- const pChips = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-57d9f151"]]);
122
+ const pChips = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a6ae49f4"]]);
107
123
  module.exports = pChips;
@@ -7,6 +7,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
7
7
  },
8
8
  __name: "p-close-btn",
9
9
  props: {
10
+ /**
11
+ * The visual variant of the close button.
12
+ * Controls the background color and hover effects.
13
+ * Valid values: 'transparent', 'gray', 'dark'
14
+ */
10
15
  variant: {
11
16
  type: String,
12
17
  default: "transparent"
@@ -35,5 +40,5 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
35
40
  };
36
41
  }
37
42
  });
38
- const PCloseBtn = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-2002dcc8"]]);
43
+ const PCloseBtn = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["__scopeId", "data-v-8232fb9d"]]);
39
44
  module.exports = PCloseBtn;
@@ -10,66 +10,132 @@ const __default__ = vue.defineComponent({
10
10
  PCloseBtn: pCloseBtn
11
11
  },
12
12
  props: {
13
+ /**
14
+ * Target element to append the drawer to.
15
+ * Usually 'body' for proper z-index stacking.
16
+ */
13
17
  appendTo: {
14
18
  type: String,
15
19
  default: "body"
16
20
  },
21
+ /**
22
+ * Title displayed in the drawer header.
23
+ * Used for accessibility and visual identification.
24
+ */
17
25
  title: {
18
26
  type: String,
19
27
  default: ""
20
28
  },
29
+ /**
30
+ * Whether the drawer content is disabled.
31
+ * Prevents user interaction with drawer content.
32
+ */
21
33
  disabled: {
22
34
  type: Boolean,
23
35
  default: false
24
36
  },
37
+ /**
38
+ * Error message to display in the drawer.
39
+ * Shows an error alert above the drawer content.
40
+ */
25
41
  errorMsg: {
26
42
  type: String,
27
43
  default: ""
28
44
  },
45
+ /**
46
+ * The position of the drawer on the screen.
47
+ * Valid values: 'left', 'right'
48
+ * @values left, right
49
+ */
29
50
  position: {
30
51
  type: String,
31
52
  default: "right"
32
53
  },
54
+ /**
55
+ * Base z-index for the drawer.
56
+ * Higher values ensure the drawer appears above other content.
57
+ */
33
58
  zIndex: {
34
59
  type: Number,
35
60
  default: 900
36
61
  },
62
+ /**
63
+ * Inline styles for the drawer element.
64
+ * Applied directly to the drawer element.
65
+ */
37
66
  drawerStyle: {
38
67
  type: Object,
39
68
  default: () => ({})
40
69
  },
70
+ /**
71
+ * CSS class for the drawer container.
72
+ * Controls the base styling of the drawer.
73
+ */
41
74
  drawerClass: {
42
75
  type: String,
43
76
  default: "drawer"
44
77
  },
78
+ /**
79
+ * CSS class for the drawer entrance animation.
80
+ * Overrides the default position-based animation.
81
+ */
45
82
  inClass: {
46
83
  type: String,
47
84
  default: ""
48
85
  },
86
+ /**
87
+ * CSS class for the drawer exit animation.
88
+ * Overrides the default position-based animation.
89
+ */
49
90
  outClass: {
50
91
  type: String,
51
92
  default: ""
52
93
  },
94
+ /**
95
+ * Whether the drawer should be mounted immediately.
96
+ * Useful for drawers that are always present in the DOM.
97
+ */
53
98
  live: {
54
99
  type: Boolean,
55
100
  default: false
56
101
  },
102
+ /**
103
+ * Controls the visibility of the drawer (v-model).
104
+ * Supports two-way binding for drawer state.
105
+ */
57
106
  modelValue: {
58
107
  type: Boolean,
59
108
  default: false
60
109
  },
110
+ /**
111
+ * Accessibility label for the close button.
112
+ * Used by screen readers for better accessibility.
113
+ */
61
114
  closeLabel: {
62
115
  type: String,
63
116
  default: "Close"
64
117
  },
118
+ /**
119
+ * Whether to show the backdrop behind the drawer.
120
+ * When true, displays a semi-transparent overlay.
121
+ */
65
122
  showBackdrop: {
66
123
  type: Boolean,
67
124
  default: false
68
125
  },
126
+ /**
127
+ * Whether the drawer can be closed by user interaction.
128
+ * Controls close button visibility and backdrop click behavior.
129
+ */
69
130
  enableClose: {
70
131
  type: Boolean,
71
132
  default: true
72
133
  },
134
+ /**
135
+ * Width of the drawer.
136
+ * Must be a valid CSS width value ending with 'px'.
137
+ * @values 460px, 600px, 800px, etc.
138
+ */
73
139
  width: {
74
140
  type: String,
75
141
  default: "460px",
@@ -78,6 +144,28 @@ const __default__ = vue.defineComponent({
78
144
  }
79
145
  }
80
146
  },
147
+ /**
148
+ * Emitted before the drawer starts opening.
149
+ */
150
+ /**
151
+ * Emitted when the drawer is opening (animation in progress).
152
+ */
153
+ /**
154
+ * Emitted when the drawer has finished opening.
155
+ */
156
+ /**
157
+ * Emitted before the drawer starts closing.
158
+ */
159
+ /**
160
+ * Emitted when the drawer is closing (animation in progress).
161
+ */
162
+ /**
163
+ * Emitted when the drawer has finished closing.
164
+ */
165
+ /**
166
+ * Emitted when the drawer visibility changes (v-model).
167
+ * @param {boolean} value - The new visibility state
168
+ */
81
169
  emits: ["update:modelValue", "before-open", "opening", "opened", "before-close", "closing", "closed"],
82
170
  data() {
83
171
  return {
@@ -149,7 +237,7 @@ const __default__ = vue.defineComponent({
149
237
  });
150
238
  const __injectCSSVars__ = () => {
151
239
  vue.useCssVars((_ctx) => ({
152
- "508822d0": _ctx.width
240
+ "0ae27020": _ctx.width
153
241
  }));
154
242
  };
155
243
  const __setup__ = __default__.setup;
@@ -266,5 +354,5 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
266
354
  }, 8, ["enter-active-class", "leave-active-class", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])
267
355
  ], 8, ["to"])) : vue.createCommentVNode("", true);
268
356
  }
269
- const pDrawer = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-95d3e794"]]);
357
+ const pDrawer = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-b08a9ced"]]);
270
358
  module.exports = pDrawer;
@@ -24,6 +24,7 @@ const _sfc_main = vue.defineComponent({
24
24
  },
25
25
  /**
26
26
  * Enables closing the dropdown with the Escape key.
27
+ * When true, pressing Escape will close the dropdown.
27
28
  */
28
29
  enableCloseOnEsc: {
29
30
  type: Boolean,
@@ -31,7 +32,7 @@ const _sfc_main = vue.defineComponent({
31
32
  },
32
33
  /**
33
34
  * v-tooltip wraps the popper trigger with a div that has `display: inline-block` set by default.
34
- * This prop is used to override the CSS style of that wrapper div
35
+ * This prop is used to override the CSS style of that wrapper div.
35
36
  */
36
37
  triggerStyle: {
37
38
  type: Object,
@@ -36,6 +36,7 @@ const P_ICON_ALIASES = {
36
36
  upload: "tdesign:upload",
37
37
  info: "streamline:information-circle",
38
38
  help: "ph:question",
39
- search: "streamline:magnifying-glass-solid"
39
+ search: "streamline:magnifying-glass-solid",
40
+ warning: "ri:error-warning-line"
40
41
  };
41
42
  exports.P_ICON_ALIASES = P_ICON_ALIASES;