@pequity/squirrel 8.4.3 → 8.4.5

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 (157) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/chunks/p-alert.js +3 -0
  3. package/dist/cjs/chunks/p-avatar.js +16 -0
  4. package/dist/cjs/chunks/p-btn.js +3 -0
  5. package/dist/cjs/chunks/p-card.js +4 -0
  6. package/dist/cjs/chunks/p-dropdown-select.js +34 -0
  7. package/dist/cjs/chunks/p-input-number.js +32 -0
  8. package/dist/cjs/chunks/p-input-percent.js +13 -2
  9. package/dist/cjs/chunks/p-input.js +28 -0
  10. package/dist/cjs/chunks/p-pagination-info.js +9 -5
  11. package/dist/cjs/chunks/p-pagination.js +23 -13
  12. package/dist/cjs/chunks/p-select-btn.js +2 -1
  13. package/dist/cjs/chunks/p-select.js +33 -0
  14. package/dist/cjs/chunks/p-table-loader.js +20 -0
  15. package/dist/cjs/chunks/p-tabs.js +12 -0
  16. package/dist/cjs/chunks/p-textarea.js +20 -0
  17. package/dist/cjs/index.js +40 -3
  18. package/dist/cjs/p-checkbox.js +8 -1
  19. package/dist/cjs/p-chips.js +17 -1
  20. package/dist/cjs/p-close-btn.js +6 -1
  21. package/dist/cjs/p-drawer.js +90 -2
  22. package/dist/cjs/p-dropdown.js +2 -1
  23. package/dist/cjs/p-icon.js +3 -2
  24. package/dist/cjs/p-input-search.js +13 -1
  25. package/dist/cjs/p-loading.js +1 -1
  26. package/dist/cjs/p-modal.js +82 -2
  27. package/dist/cjs/p-select-pill.js +36 -2
  28. package/dist/cjs/p-skeleton-loader.js +17 -1
  29. package/dist/cjs/p-table-filter-icon.js +4 -1
  30. package/dist/cjs/p-table-header-cell.js +29 -0
  31. package/dist/cjs/p-table-td.js +1 -1
  32. package/dist/cjs/p-toggle.js +22 -1
  33. package/dist/es/chunks/p-alert.js +3 -0
  34. package/dist/es/chunks/p-avatar.js +16 -0
  35. package/dist/es/chunks/p-btn.js +3 -0
  36. package/dist/es/chunks/p-card.js +4 -0
  37. package/dist/es/chunks/p-dropdown-select.js +34 -0
  38. package/dist/es/chunks/p-input-number.js +32 -0
  39. package/dist/es/chunks/p-input-percent.js +13 -2
  40. package/dist/es/chunks/p-input.js +28 -0
  41. package/dist/es/chunks/p-pagination-info.js +9 -5
  42. package/dist/es/chunks/p-pagination.js +24 -14
  43. package/dist/es/chunks/p-select-btn.js +2 -1
  44. package/dist/es/chunks/p-select.js +33 -0
  45. package/dist/es/chunks/p-table-loader.js +20 -0
  46. package/dist/es/chunks/p-tabs.js +12 -0
  47. package/dist/es/chunks/p-textarea.js +20 -0
  48. package/dist/es/index.js +40 -3
  49. package/dist/es/p-checkbox.js +8 -1
  50. package/dist/es/p-chips.js +17 -1
  51. package/dist/es/p-close-btn.js +6 -1
  52. package/dist/es/p-drawer.js +90 -2
  53. package/dist/es/p-dropdown.js +2 -1
  54. package/dist/es/p-icon.js +3 -2
  55. package/dist/es/p-input-search.js +13 -1
  56. package/dist/es/p-loading.js +1 -1
  57. package/dist/es/p-modal.js +82 -2
  58. package/dist/es/p-select-pill.js +36 -2
  59. package/dist/es/p-skeleton-loader.js +17 -1
  60. package/dist/es/p-table-filter-icon.js +4 -1
  61. package/dist/es/p-table-header-cell.js +29 -0
  62. package/dist/es/p-table-td.js +1 -1
  63. package/dist/es/p-toggle.js +22 -1
  64. package/dist/squirrel/components/p-action-bar/p-action-bar.vue.d.ts +15 -3
  65. package/dist/squirrel/components/p-alert/p-alert.vue.d.ts +17 -4
  66. package/dist/squirrel/components/p-avatar/p-avatar.vue.d.ts +36 -1
  67. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +21 -5
  68. package/dist/squirrel/components/p-card/p-card.vue.d.ts +21 -8
  69. package/dist/squirrel/components/p-checkbox/p-checkbox.vue.d.ts +26 -8
  70. package/dist/squirrel/components/p-chips/p-chips.vue.d.ts +24 -0
  71. package/dist/squirrel/components/p-close-btn/p-close-btn.vue.d.ts +14 -1
  72. package/dist/squirrel/components/p-date-picker/p-date-picker.vue.d.ts +17 -1
  73. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +144 -6
  74. package/dist/squirrel/components/p-dropdown/p-dropdown.vue.d.ts +11 -2
  75. package/dist/squirrel/components/p-dropdown-select/p-dropdown-select.vue.d.ts +70 -2
  76. package/dist/squirrel/components/p-file-upload/p-file-upload.vue.d.ts +71 -7
  77. package/dist/squirrel/components/p-icon/p-icon.types.d.ts +3 -2
  78. package/dist/squirrel/components/p-icon/p-icon.vue.d.ts +5 -1
  79. package/dist/squirrel/components/p-info-icon/p-info-icon.vue.d.ts +12 -5
  80. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +28 -8
  81. package/dist/squirrel/components/p-input/p-input.vue.d.ts +74 -9
  82. package/dist/squirrel/components/p-input-number/p-input-number.vue.d.ts +83 -12
  83. package/dist/squirrel/components/p-input-percent/p-input-percent.vue.d.ts +23 -3
  84. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +25 -1
  85. package/dist/squirrel/components/p-link/p-link.vue.d.ts +1 -1
  86. package/dist/squirrel/components/p-loading/p-loading.vue.d.ts +1 -1
  87. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +186 -16
  88. package/dist/squirrel/components/p-pagination/p-pagination.vue.d.ts +23 -13
  89. package/dist/squirrel/components/p-pagination-info/p-pagination-info.vue.d.ts +17 -9
  90. package/dist/squirrel/components/p-progress-bar/p-progress-bar.vue.d.ts +21 -1
  91. package/dist/squirrel/components/p-ring-loader/p-ring-loader.vue.d.ts +11 -1
  92. package/dist/squirrel/components/p-select/p-select.vue.d.ts +77 -7
  93. package/dist/squirrel/components/p-select-btn/p-select-btn.vue.d.ts +68 -11
  94. package/dist/squirrel/components/p-select-list/p-select-list.vue.d.ts +2 -2
  95. package/dist/squirrel/components/p-select-pill/p-select-pill.vue.d.ts +72 -2
  96. package/dist/squirrel/components/p-skeleton-loader/p-skeleton-loader.vue.d.ts +40 -0
  97. package/dist/squirrel/components/p-steps/p-steps.vue.d.ts +13 -1
  98. package/dist/squirrel/components/p-table/p-table.vue.d.ts +32 -0
  99. package/dist/squirrel/components/p-table-header-cell/p-table-filter-icon.vue.d.ts +7 -1
  100. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +59 -4
  101. package/dist/squirrel/components/p-table-loader/p-table-loader.vue.d.ts +41 -1
  102. package/dist/squirrel/components/p-table-sort/p-table-sort.vue.d.ts +13 -3
  103. package/dist/squirrel/components/p-table-td/p-table-td.vue.d.ts +13 -1
  104. package/dist/squirrel/components/p-tabs/p-tabs.vue.d.ts +34 -3
  105. package/dist/squirrel/components/p-tabs-pills/p-tabs-pills.vue.d.ts +23 -1
  106. package/dist/squirrel/components/p-textarea/p-textarea.vue.d.ts +53 -9
  107. package/dist/squirrel/components/p-toggle/p-toggle.vue.d.ts +51 -4
  108. package/dist/squirrel.css +68 -68
  109. package/package.json +20 -21
  110. package/squirrel/components/p-action-bar/p-action-bar.stories.js +5 -5
  111. package/squirrel/components/p-action-bar/p-action-bar.vue +30 -3
  112. package/squirrel/components/p-alert/p-alert.vue +24 -0
  113. package/squirrel/components/p-avatar/p-avatar.vue +28 -0
  114. package/squirrel/components/p-btn/p-btn.vue +35 -0
  115. package/squirrel/components/p-card/p-card.vue +24 -1
  116. package/squirrel/components/p-checkbox/p-checkbox.vue +23 -1
  117. package/squirrel/components/p-chips/p-chips.vue +24 -0
  118. package/squirrel/components/p-close-btn/p-close-btn.vue +15 -0
  119. package/squirrel/components/p-date-picker/p-date-picker.vue +23 -1
  120. package/squirrel/components/p-drawer/p-drawer.vue +95 -0
  121. package/squirrel/components/p-dropdown/p-dropdown.vue +12 -1
  122. package/squirrel/components/p-dropdown-select/p-dropdown-select.vue +41 -0
  123. package/squirrel/components/p-file-upload/p-file-upload.vue +58 -3
  124. package/squirrel/components/p-icon/p-icon.types.ts +3 -2
  125. package/squirrel/components/p-icon/p-icon.vue +16 -0
  126. package/squirrel/components/p-info-icon/p-info-icon.vue +19 -0
  127. package/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue +32 -0
  128. package/squirrel/components/p-input/p-input.vue +61 -1
  129. package/squirrel/components/p-input-number/p-input-number.vue +78 -1
  130. package/squirrel/components/p-input-percent/p-input-percent.vue +27 -3
  131. package/squirrel/components/p-input-search/p-input-search.vue +30 -2
  132. package/squirrel/components/p-link/p-link.vue +13 -0
  133. package/squirrel/components/p-loading/p-loading.vue +9 -2
  134. package/squirrel/components/p-modal/p-modal.vue +138 -2
  135. package/squirrel/components/p-pagination/p-pagination.vue +28 -8
  136. package/squirrel/components/p-pagination-info/p-pagination-info.vue +16 -4
  137. package/squirrel/components/p-progress-bar/p-progress-bar.vue +31 -4
  138. package/squirrel/components/p-ring-loader/p-ring-loader.vue +17 -0
  139. package/squirrel/components/p-select/p-select.vue +50 -1
  140. package/squirrel/components/p-select-btn/p-select-btn.vue +90 -2
  141. package/squirrel/components/p-select-list/p-select-list.vue +7 -0
  142. package/squirrel/components/p-select-pill/p-select-pill.vue +52 -2
  143. package/squirrel/components/p-skeleton-loader/p-skeleton-loader.vue +24 -0
  144. package/squirrel/components/p-steps/p-steps.vue +25 -0
  145. package/squirrel/components/p-table/p-table.vue +39 -0
  146. package/squirrel/components/p-table-header-cell/p-table-filter-icon.vue +9 -0
  147. package/squirrel/components/p-table-header-cell/p-table-header-cell.vue +36 -0
  148. package/squirrel/components/p-table-loader/p-table-loader.vue +28 -0
  149. package/squirrel/components/p-table-sort/p-table-sort.vue +19 -1
  150. package/squirrel/components/p-table-td/p-table-td.vue +20 -0
  151. package/squirrel/components/p-tabs/p-tabs.stories.js +2 -2
  152. package/squirrel/components/p-tabs/p-tabs.vue +33 -1
  153. package/squirrel/components/p-tabs-pills/p-tabs-pills.vue +33 -0
  154. package/squirrel/components/p-textarea/p-textarea.vue +43 -1
  155. package/squirrel/components/p-toggle/p-toggle.vue +44 -1
  156. package/squirrel/assets/pagination-left-icon.svg +0 -5
  157. package/squirrel/assets/pagination-right-icon.svg +0 -5
@@ -1,8 +1,7 @@
1
- import { defineComponent, computed, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, createElementVNode, normalizeClass, renderList, toDisplayString } from "vue";
1
+ import { defineComponent, computed, createElementBlock, openBlock, Fragment, createBlock, createCommentVNode, createElementVNode, normalizeClass, createVNode, renderList, toDisplayString } from "vue";
2
+ import { _ as _sfc_main$1 } from "./p-icon.js";
2
3
  import PSkeletonLoader from "../p-skeleton-loader.js";
3
4
  import { createPagingRange } from "../pagination.js";
4
- const _imports_0 = "data:image/svg+xml,%3csvg%20width='8'%20height='12'%20viewBox='0%200%208%2012'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M0.25%205.99968C0.25%205.64968%200.4%205.34968%200.65%205.14968L6.25%200.249681C6.65%20-0.100319%207.2%20-0.0503187%207.55%200.349681C7.85%200.749681%207.85%201.29968%207.45%201.59968L2.55%205.89968C2.5%205.94968%202.5%205.99968%202.55%206.04968L7.45%2010.3497C7.85%2010.6997%207.9%2011.2497%207.55%2011.6497C7.2%2012.0497%206.65%2012.0997%206.25%2011.7497C6.25%2011.7497%206.25%2011.7497%206.2%2011.6997L0.65%206.84968C0.4%206.64968%200.25%206.29968%200.25%205.99968Z'%20fill='%23918da1'%20/%3e%3c/svg%3e";
5
- const _imports_1 = "data:image/svg+xml,%3csvg%20width='8'%20height='14'%20viewBox='0%200%208%2014'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.75695%206.98136C7.75695%207.33136%207.60695%207.63136%207.35695%207.83136L1.75695%2012.7814C1.35695%2013.1314%200.756947%2013.0814%200.456947%2012.6814C0.156947%2012.2814%200.156947%2011.7314%200.556947%2011.3814L5.45695%207.08136C5.50695%207.03136%205.50695%206.98136%205.45695%206.88136L0.556947%202.58136C0.156947%202.23136%200.156947%201.63136%200.506947%201.28136C0.856947%200.931361%201.40695%200.881361%201.80695%201.18136L7.40695%206.08136C7.60695%206.33136%207.75695%206.63136%207.75695%206.98136Z'%20fill='%23918da1'%20/%3e%3c/svg%3e";
6
5
  const _hoisted_1 = {
7
6
  key: 1,
8
7
  class: "flex text-p-gray-40"
@@ -21,35 +20,40 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21
20
  __name: "p-pagination",
22
21
  props: {
23
22
  /**
24
- * The current page.
23
+ * The current page number (v-model).
24
+ * Controls which page is visually active and navigable.
25
25
  */
26
26
  modelValue: {
27
27
  type: Number,
28
28
  default: null
29
29
  },
30
30
  /**
31
- * The amount of data pagination should iterate through.
31
+ * The total amount of items to paginate through.
32
+ * Used to calculate the total number of pages.
32
33
  */
33
34
  count: {
34
35
  type: Number,
35
36
  default: 0
36
37
  },
37
38
  /**
38
- * The amount of data to be displayed at 1 page. Used to calculate the length of pagination.
39
+ * The number of items to display per page.
40
+ * Used to calculate the total number of pages.
39
41
  */
40
42
  pageSize: {
41
43
  type: Number,
42
44
  default: 10
43
45
  },
44
46
  /**
45
- * The amount of pages to be displayed before and after the current page.
47
+ * The number of pages to show before and after the current page.
48
+ * Controls the range of page numbers displayed around the current page.
46
49
  */
47
50
  pageOffset: {
48
51
  type: Number,
49
52
  default: 2
50
53
  },
51
54
  /**
52
- * Whether the pagination is loading.
55
+ * Whether the pagination is in a loading state.
56
+ * When true, shows a skeleton loader instead of the pagination controls.
53
57
  */
54
58
  loading: {
55
59
  type: Boolean,
@@ -82,9 +86,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
82
86
  class: normalizeClass([BTN_CLASS, Number(__props.modelValue) <= 1 ? ARROW_INACTIVE_CLASS : ARROW_ACTIVE_CLASS]),
83
87
  "aria-label": "go to the previous page",
84
88
  onClick: _cache[0] || (_cache[0] = ($event) => setPage(Number(__props.modelValue) - 1))
85
- }, _cache[2] || (_cache[2] = [
86
- createElementVNode("img", { src: _imports_0 }, null, -1)
87
- ]), 2),
89
+ }, [
90
+ createVNode(_sfc_main$1, {
91
+ icon: "chevron-left",
92
+ width: "24px"
93
+ })
94
+ ], 2),
88
95
  (openBlock(true), createElementBlock(Fragment, null, renderList(pages.value, (page, index) => {
89
96
  return openBlock(), createElementBlock("div", {
90
97
  key: index,
@@ -106,9 +113,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
106
113
  class: normalizeClass([BTN_CLASS, __props.modelValue === pageCount.value ? ARROW_INACTIVE_CLASS : ARROW_ACTIVE_CLASS]),
107
114
  "aria-label": "go to the next page",
108
115
  onClick: _cache[1] || (_cache[1] = ($event) => setPage(Number(__props.modelValue) + 1))
109
- }, _cache[3] || (_cache[3] = [
110
- createElementVNode("img", { src: _imports_1 }, null, -1)
111
- ]), 2)
116
+ }, [
117
+ createVNode(_sfc_main$1, {
118
+ icon: "chevron-right",
119
+ width: "24px"
120
+ })
121
+ ], 2)
112
122
  ])) : createCommentVNode("", true)
113
123
  ], 64);
114
124
  };
@@ -7,7 +7,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  },
8
8
  __name: "p-select-btn",
9
9
  props: {
10
- modelValue: { default: null },
10
+ modelValue: { type: [String, Number, Boolean, null, Array], default: null },
11
11
  items: { default: () => [] },
12
12
  itemValue: { default: "value" },
13
13
  itemText: { default: "text" },
@@ -55,6 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
55
55
  return index !== -1;
56
56
  }
57
57
  }
58
+ return false;
58
59
  };
59
60
  return (_ctx, _cache) => {
60
61
  const _directive_tooltip = resolveDirective("tooltip");
@@ -12,26 +12,51 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  },
13
13
  __name: "p-select",
14
14
  props: {
15
+ /**
16
+ * The current selected value (v-model).
17
+ * Supports two-way binding for form inputs.
18
+ */
15
19
  modelValue: {
16
20
  type: [String, Number, Boolean, null],
17
21
  default: ""
18
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
+ */
19
28
  items: {
20
29
  type: Array,
21
30
  default: () => []
22
31
  },
32
+ /**
33
+ * Text label for the select field.
34
+ * If not provided, you can use the label slot instead.
35
+ */
23
36
  label: {
24
37
  type: String,
25
38
  default: ""
26
39
  },
40
+ /**
41
+ * Error message to display below the select.
42
+ * When provided, the select will show error styling.
43
+ */
27
44
  errorMsg: {
28
45
  type: String,
29
46
  default: ""
30
47
  },
48
+ /**
49
+ * Whether the select is required.
50
+ * Adds required attribute and visual indicator.
51
+ */
31
52
  required: {
32
53
  type: Boolean,
33
54
  default: false
34
55
  },
56
+ /**
57
+ * The size of the select - affects padding, font size, and spacing.
58
+ * Valid values: 'sm', 'md', 'lg'
59
+ */
35
60
  size: {
36
61
  type: String,
37
62
  default: "md",
@@ -39,10 +64,18 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
39
64
  return SIZES.includes(value);
40
65
  }
41
66
  },
67
+ /**
68
+ * Property name to use as the display text for each option.
69
+ * Defaults to 'text' - each item should have this property.
70
+ */
42
71
  itemText: {
43
72
  type: String,
44
73
  default: "text"
45
74
  },
75
+ /**
76
+ * Property name to use as the value for each option.
77
+ * Defaults to 'value' - each item should have this property.
78
+ */
46
79
  itemValue: {
47
80
  type: [String, Number, Boolean, null],
48
81
  default: "value"
@@ -14,22 +14,42 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  },
15
15
  __name: "p-table-loader",
16
16
  props: {
17
+ /**
18
+ * The number of rows to display in the skeleton table.
19
+ * Controls the vertical size of the loading placeholder.
20
+ */
17
21
  rows: {
18
22
  type: [Number, String],
19
23
  default: 4
20
24
  },
25
+ /**
26
+ * The number of columns to display in the skeleton table.
27
+ * Controls the horizontal size of the loading placeholder.
28
+ */
21
29
  columns: {
22
30
  type: [Number, String],
23
31
  default: 6
24
32
  },
33
+ /**
34
+ * CSS classes to apply to each table cell.
35
+ * Allows customization of cell padding and styling.
36
+ */
25
37
  tdClasses: {
26
38
  type: String,
27
39
  default: "px-4 py-5"
28
40
  },
41
+ /**
42
+ * CSS classes to apply to the skeleton loader within each cell.
43
+ * Controls the height and appearance of individual skeleton elements.
44
+ */
29
45
  tdSkeletonClasses: {
30
46
  type: String,
31
47
  default: "h-5"
32
48
  },
49
+ /**
50
+ * Whether to display subheaders in the table header.
51
+ * Adds an additional row below the main header for more complex table structures.
52
+ */
33
53
  withSubheader: {
34
54
  type: Boolean,
35
55
  default: false
@@ -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
@@ -93,10 +93,18 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
93
93
  },
94
94
  __name: "p-file-upload",
95
95
  props: {
96
+ /**
97
+ * The current file(s) value (v-model).
98
+ * Supports both single file and multiple files based on the multiple prop.
99
+ */
96
100
  modelValue: {
97
101
  type: [Object, Array],
98
102
  default: () => []
99
103
  },
104
+ /**
105
+ * Whether multiple files can be selected.
106
+ * When true, allows selecting multiple files at once.
107
+ */
100
108
  multiple: {
101
109
  type: Boolean,
102
110
  default: false
@@ -109,27 +117,51 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
109
117
  type: Array,
110
118
  default: () => []
111
119
  },
120
+ /**
121
+ * Whether the file upload is disabled.
122
+ * Prevents user interaction when true.
123
+ */
112
124
  disabled: {
113
125
  type: Boolean,
114
126
  default: false
115
127
  },
128
+ /**
129
+ * Whether the file upload is required.
130
+ * Adds required attribute and visual indicator.
131
+ */
116
132
  required: {
117
133
  type: Boolean,
118
134
  default: false
119
135
  },
136
+ /**
137
+ * Error message to display below the file upload.
138
+ * When provided, the upload area will show error styling.
139
+ */
120
140
  errorMsg: {
121
141
  type: String,
122
142
  default: ""
123
143
  },
144
+ /**
145
+ * Text label for the file upload field.
146
+ * Displayed above the upload area.
147
+ */
124
148
  label: {
125
149
  type: String,
126
150
  default: ""
127
151
  },
152
+ /**
153
+ * Maximum file size in bytes.
154
+ * Files exceeding this size will be rejected with an error message.
155
+ */
128
156
  maxSizeInBytes: {
129
157
  type: Number,
130
158
  default: 256 * 1e3
131
159
  // 256 KB
132
160
  },
161
+ /**
162
+ * Maximum number of files that can be uploaded.
163
+ * Only applies when multiple is true.
164
+ */
133
165
  maxNumberOfFiles: {
134
166
  type: Number,
135
167
  default: 10
@@ -202,7 +234,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
202
234
  if (!f2) {
203
235
  return;
204
236
  }
205
- const validatedFiles = props.fileTypes ? validateFiles(Array.from(f2)) : f2;
237
+ const validatedFiles = props.fileTypes ? validateFiles(Array.from(f2)) : Array.from(f2);
206
238
  files.value = props.multiple ? [...files.value, ...validatedFiles] : validatedFiles;
207
239
  emit("file-added", validatedFiles);
208
240
  };
@@ -264,7 +296,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
264
296
  class: "text-p-gray-50"
265
297
  }),
266
298
  createElementVNode("div", _hoisted_4$3, [
267
- _cache[3] || (_cache[3] = createTextVNode(" Drag or ")),
299
+ _cache[3] || (_cache[3] = createTextVNode(" Drag or ", -1)),
268
300
  createElementVNode("span", _hoisted_5$3, "select " + toDisplayString(fileWord.value), 1)
269
301
  ])
270
302
  ])) : (openBlock(), createElementBlock("div", _hoisted_6$3, [
@@ -905,7 +937,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
905
937
  };
906
938
  }
907
939
  });
908
- const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-ab73279a"]]);
940
+ const pTable = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-b51c1939"]]);
909
941
  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
942
  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
943
  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 +966,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
934
966
  },
935
967
  __name: "p-table-sort",
936
968
  props: {
969
+ /**
970
+ * The current sorting state (v-model).
971
+ * Valid values: 'asc', 'desc', 'no-sorting'
972
+ * Controls which sort option is visually active.
973
+ */
937
974
  modelValue: {
938
975
  type: String,
939
976
  default: SORTING_TYPES.NO_SORTING,
@@ -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
  };
@@ -9,66 +9,132 @@ const __default__ = defineComponent({
9
9
  PCloseBtn
10
10
  },
11
11
  props: {
12
+ /**
13
+ * Target element to append the drawer to.
14
+ * Usually 'body' for proper z-index stacking.
15
+ */
12
16
  appendTo: {
13
17
  type: String,
14
18
  default: "body"
15
19
  },
20
+ /**
21
+ * Title displayed in the drawer header.
22
+ * Used for accessibility and visual identification.
23
+ */
16
24
  title: {
17
25
  type: String,
18
26
  default: ""
19
27
  },
28
+ /**
29
+ * Whether the drawer content is disabled.
30
+ * Prevents user interaction with drawer content.
31
+ */
20
32
  disabled: {
21
33
  type: Boolean,
22
34
  default: false
23
35
  },
36
+ /**
37
+ * Error message to display in the drawer.
38
+ * Shows an error alert above the drawer content.
39
+ */
24
40
  errorMsg: {
25
41
  type: String,
26
42
  default: ""
27
43
  },
44
+ /**
45
+ * The position of the drawer on the screen.
46
+ * Valid values: 'left', 'right'
47
+ * @values left, right
48
+ */
28
49
  position: {
29
50
  type: String,
30
51
  default: "right"
31
52
  },
53
+ /**
54
+ * Base z-index for the drawer.
55
+ * Higher values ensure the drawer appears above other content.
56
+ */
32
57
  zIndex: {
33
58
  type: Number,
34
59
  default: 900
35
60
  },
61
+ /**
62
+ * Inline styles for the drawer element.
63
+ * Applied directly to the drawer element.
64
+ */
36
65
  drawerStyle: {
37
66
  type: Object,
38
67
  default: () => ({})
39
68
  },
69
+ /**
70
+ * CSS class for the drawer container.
71
+ * Controls the base styling of the drawer.
72
+ */
40
73
  drawerClass: {
41
74
  type: String,
42
75
  default: "drawer"
43
76
  },
77
+ /**
78
+ * CSS class for the drawer entrance animation.
79
+ * Overrides the default position-based animation.
80
+ */
44
81
  inClass: {
45
82
  type: String,
46
83
  default: ""
47
84
  },
85
+ /**
86
+ * CSS class for the drawer exit animation.
87
+ * Overrides the default position-based animation.
88
+ */
48
89
  outClass: {
49
90
  type: String,
50
91
  default: ""
51
92
  },
93
+ /**
94
+ * Whether the drawer should be mounted immediately.
95
+ * Useful for drawers that are always present in the DOM.
96
+ */
52
97
  live: {
53
98
  type: Boolean,
54
99
  default: false
55
100
  },
101
+ /**
102
+ * Controls the visibility of the drawer (v-model).
103
+ * Supports two-way binding for drawer state.
104
+ */
56
105
  modelValue: {
57
106
  type: Boolean,
58
107
  default: false
59
108
  },
109
+ /**
110
+ * Accessibility label for the close button.
111
+ * Used by screen readers for better accessibility.
112
+ */
60
113
  closeLabel: {
61
114
  type: String,
62
115
  default: "Close"
63
116
  },
117
+ /**
118
+ * Whether to show the backdrop behind the drawer.
119
+ * When true, displays a semi-transparent overlay.
120
+ */
64
121
  showBackdrop: {
65
122
  type: Boolean,
66
123
  default: false
67
124
  },
125
+ /**
126
+ * Whether the drawer can be closed by user interaction.
127
+ * Controls close button visibility and backdrop click behavior.
128
+ */
68
129
  enableClose: {
69
130
  type: Boolean,
70
131
  default: true
71
132
  },
133
+ /**
134
+ * Width of the drawer.
135
+ * Must be a valid CSS width value ending with 'px'.
136
+ * @values 460px, 600px, 800px, etc.
137
+ */
72
138
  width: {
73
139
  type: String,
74
140
  default: "460px",
@@ -77,6 +143,28 @@ const __default__ = defineComponent({
77
143
  }
78
144
  }
79
145
  },
146
+ /**
147
+ * Emitted before the drawer starts opening.
148
+ */
149
+ /**
150
+ * Emitted when the drawer is opening (animation in progress).
151
+ */
152
+ /**
153
+ * Emitted when the drawer has finished opening.
154
+ */
155
+ /**
156
+ * Emitted before the drawer starts closing.
157
+ */
158
+ /**
159
+ * Emitted when the drawer is closing (animation in progress).
160
+ */
161
+ /**
162
+ * Emitted when the drawer has finished closing.
163
+ */
164
+ /**
165
+ * Emitted when the drawer visibility changes (v-model).
166
+ * @param {boolean} value - The new visibility state
167
+ */
80
168
  emits: ["update:modelValue", "before-open", "opening", "opened", "before-close", "closing", "closed"],
81
169
  data() {
82
170
  return {
@@ -148,7 +236,7 @@ const __default__ = defineComponent({
148
236
  });
149
237
  const __injectCSSVars__ = () => {
150
238
  useCssVars((_ctx) => ({
151
- "508822d0": _ctx.width
239
+ "0ae27020": _ctx.width
152
240
  }));
153
241
  };
154
242
  const __setup__ = __default__.setup;
@@ -265,7 +353,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
265
353
  }, 8, ["enter-active-class", "leave-active-class", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onLeave", "onAfterLeave"])
266
354
  ], 8, ["to"])) : createCommentVNode("", true);
267
355
  }
268
- const pDrawer = /* @__PURE__ */ _export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-95d3e794"]]);
356
+ const pDrawer = /* @__PURE__ */ _export_sfc(__default__, [["render", _sfc_render], ["__scopeId", "data-v-b08a9ced"]]);
269
357
  export {
270
358
  pDrawer as default
271
359
  };