@pequity/squirrel 10.0.0 → 10.0.2

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 (85) hide show
  1. package/dist/cjs/chunks/p-action-bar.js +3 -3
  2. package/dist/cjs/chunks/p-btn.js +1 -1
  3. package/dist/cjs/chunks/p-icon.js +1 -1
  4. package/dist/cjs/chunks/p-info-icon.js +2 -2
  5. package/dist/cjs/chunks/p-inline-date-picker.js +6 -6
  6. package/dist/cjs/chunks/p-input-number.js +1 -1
  7. package/dist/cjs/chunks/p-link.js +2 -2
  8. package/dist/cjs/chunks/p-progress-bar.js +2 -2
  9. package/dist/cjs/chunks/p-select-btn.js +11 -11
  10. package/dist/cjs/chunks/p-steps.js +4 -4
  11. package/dist/cjs/chunks/p-table-header-cell.js +9 -9
  12. package/dist/cjs/chunks/p-tabs-pills.js +8 -8
  13. package/dist/cjs/index.js +13 -13
  14. package/dist/cjs/p-drawer.js +1 -1
  15. package/dist/es/chunks/p-action-bar.js +3 -3
  16. package/dist/es/chunks/p-btn.js +1 -1
  17. package/dist/es/chunks/p-icon.js +1 -1
  18. package/dist/es/chunks/p-info-icon.js +2 -2
  19. package/dist/es/chunks/p-inline-date-picker.js +6 -6
  20. package/dist/es/chunks/p-input-number.js +1 -1
  21. package/dist/es/chunks/p-link.js +2 -2
  22. package/dist/es/chunks/p-progress-bar.js +2 -2
  23. package/dist/es/chunks/p-select-btn.js +11 -11
  24. package/dist/es/chunks/p-steps.js +4 -4
  25. package/dist/es/chunks/p-table-header-cell.js +9 -9
  26. package/dist/es/chunks/p-tabs-pills.js +8 -8
  27. package/dist/es/index.js +13 -13
  28. package/dist/es/p-drawer.js +1 -1
  29. package/dist/squirrel/components/p-action-bar/p-action-bar.vue.d.ts +2 -1
  30. package/dist/squirrel/components/p-alert/p-alert.vue.d.ts +2 -1
  31. package/dist/squirrel/components/p-avatar/p-avatar.vue.d.ts +2 -1
  32. package/dist/squirrel/components/p-btn/p-btn.vue.d.ts +5 -4
  33. package/dist/squirrel/components/p-card/p-card.vue.d.ts +3 -2
  34. package/dist/squirrel/components/p-checkbox/p-checkbox.vue.d.ts +3 -2
  35. package/dist/squirrel/components/p-chips/p-chips.vue.d.ts +10 -9
  36. package/dist/squirrel/components/p-close-btn/p-close-btn.vue.d.ts +2 -1
  37. package/dist/squirrel/components/p-date-picker/p-date-picker.vue.d.ts +4 -2
  38. package/dist/squirrel/components/p-drawer/p-drawer.vue.d.ts +9 -8
  39. package/dist/squirrel/components/p-dropdown/p-dropdown.vue.d.ts +9 -8
  40. package/dist/squirrel/components/p-dropdown-select/p-dropdown-select.vue.d.ts +3 -2
  41. package/dist/squirrel/components/p-file-upload/p-file-upload.vue.d.ts +2 -1
  42. package/dist/squirrel/components/p-icon/p-icon.vue.d.ts +2 -1
  43. package/dist/squirrel/components/p-info-icon/p-info-icon.vue.d.ts +3 -2
  44. package/dist/squirrel/components/p-inline-date-picker/p-inline-date-picker.vue.d.ts +5 -3
  45. package/dist/squirrel/components/p-input/p-input.vue.d.ts +2 -1
  46. package/dist/squirrel/components/p-input-number/p-input-number.vue.d.ts +3 -2
  47. package/dist/squirrel/components/p-input-percent/p-input-percent.vue.d.ts +2 -1
  48. package/dist/squirrel/components/p-input-search/p-input-search.vue.d.ts +2 -1
  49. package/dist/squirrel/components/p-link/p-link.vue.d.ts +3 -2
  50. package/dist/squirrel/components/p-loading/p-loading.vue.d.ts +2 -1
  51. package/dist/squirrel/components/p-modal/p-modal.vue.d.ts +3 -2
  52. package/dist/squirrel/components/p-pagination/p-pagination.vue.d.ts +2 -1
  53. package/dist/squirrel/components/p-pagination-info/p-pagination-info.vue.d.ts +3 -2
  54. package/dist/squirrel/components/p-progress-bar/p-progress-bar.vue.d.ts +2 -1
  55. package/dist/squirrel/components/p-ring-loader/p-ring-loader.vue.d.ts +2 -1
  56. package/dist/squirrel/components/p-select/p-select.vue.d.ts +3 -2
  57. package/dist/squirrel/components/p-select-btn/p-select-btn.vue.d.ts +3 -2
  58. package/dist/squirrel/components/p-select-list/p-select-list.vue.d.ts +3 -2
  59. package/dist/squirrel/components/p-select-pill/p-select-pill.vue.d.ts +9 -8
  60. package/dist/squirrel/components/p-skeleton-loader/p-skeleton-loader.vue.d.ts +10 -9
  61. package/dist/squirrel/components/p-steps/p-steps.vue.d.ts +2 -1
  62. package/dist/squirrel/components/p-table/p-table.vue.d.ts +10 -9
  63. package/dist/squirrel/components/p-table-header-cell/p-table-header-cell.vue.d.ts +3 -2
  64. package/dist/squirrel/components/p-table-loader/p-table-loader.vue.d.ts +2 -1
  65. package/dist/squirrel/components/p-table-sort/p-table-sort.vue.d.ts +2 -1
  66. package/dist/squirrel/components/p-table-td/p-table-td.vue.d.ts +3 -2
  67. package/dist/squirrel/components/p-tabs/p-tabs.vue.d.ts +2 -1
  68. package/dist/squirrel/components/p-tabs-pills/p-tabs-pills.vue.d.ts +2 -1
  69. package/dist/squirrel/components/p-textarea/p-textarea.vue.d.ts +3 -2
  70. package/dist/squirrel/components/p-toggle/p-toggle.vue.d.ts +2 -1
  71. package/dist/squirrel.css +1 -1
  72. package/package.json +24 -24
  73. package/squirrel/components/p-action-bar/p-action-bar.spec.ts +4 -4
  74. package/squirrel/components/p-btn/p-btn.spec.js +3 -0
  75. package/squirrel/components/p-btn/p-btn.vue +1 -1
  76. package/squirrel/components/p-dropdown-select/p-dropdown-select.spec.js +1 -1
  77. package/squirrel/components/p-input-number/p-input-number.spec.js +1 -1
  78. package/squirrel/components/p-input-number/p-input-number.vue +1 -3
  79. package/squirrel/components/p-modal/p-modal-features.spec.js +20 -16
  80. package/squirrel/components/p-select-btn/p-select-btn.spec.js +2 -2
  81. package/squirrel/components/p-select-btn/p-select-btn.vue +1 -1
  82. package/squirrel/components/p-select-list/p-select-list.spec.js +1 -1
  83. package/squirrel/components/p-table-sort/p-table-sort.spec.js +40 -21
  84. package/squirrel/utils/listKeyboardNavigation.spec.js +3 -1
  85. package/squirrel/utils/sanitization.spec.js +1 -1
@@ -28,7 +28,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
28
  setup(__props) {
29
29
  return (_ctx, _cache) => {
30
30
  return vue.openBlock(), vue.createBlock(vue.Teleport, { to: "body" }, [
31
- _ctx.show ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
31
+ __props.show ? (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({
32
32
  key: 0,
33
33
  class: "fixed bottom-6 left-1/2 z-[100] -translate-x-2/4",
34
34
  role: "alertdialog"
@@ -45,10 +45,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
45
45
  _cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "text-xs" }, "Clear All", -1))
46
46
  ]),
47
47
  _cache[2] || (_cache[2] = vue.createElementVNode("div", { class: "h-9 w-0.5 shrink-0 rounded bg-p-purple-50" }, null, -1)),
48
- vue.createElementVNode("p", _hoisted_2, vue.toDisplayString(_ctx.label), 1),
48
+ vue.createElementVNode("p", _hoisted_2, vue.toDisplayString(__props.label), 1),
49
49
  _cache[3] || (_cache[3] = vue.createElementVNode("div", { class: "mr-2 h-9 w-0.5 shrink-0 rounded bg-p-purple-50" }, null, -1)),
50
50
  vue.createElementVNode("div", _hoisted_3, [
51
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.actions, (actionOrMenu) => {
51
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.actions, (actionOrMenu) => {
52
52
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
53
53
  key: `action-${actionOrMenu.label}`
54
54
  }, [
@@ -10,7 +10,7 @@ const _hoisted_1 = { class: "slot-wrapper empty:hidden" };
10
10
  const btnClasses = {
11
11
  slots: {
12
12
  button: "relative inline-flex whitespace-nowrap rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50",
13
- content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0",
13
+ content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0 w-full",
14
14
  loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium",
15
15
  icon: "shrink-0"
16
16
  },
@@ -15,7 +15,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
15
  const isPIcon = (icon) => !!pIcon.P_ICON_ALIASES[icon];
16
16
  return (_ctx, _cache) => {
17
17
  return vue.openBlock(), vue.createElementBlock("iconify-icon", {
18
- icon: isPIcon(_ctx.icon) ? vue.unref(pIcon.P_ICON_ALIASES)[_ctx.icon] : _ctx.icon
18
+ icon: isPIcon(__props.icon) ? vue.unref(pIcon.P_ICON_ALIASES)[__props.icon] : __props.icon
19
19
  }, null, 8, _hoisted_1);
20
20
  };
21
21
  }
@@ -15,11 +15,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
15
  return vue.openBlock(), vue.createBlock(_component_VTooltip, {
16
16
  "popper-triggers": ["hover"],
17
17
  delay: { show: 750, hide: 0 },
18
- disabled: !_ctx.$slots.default && !_ctx.text
18
+ disabled: !_ctx.$slots.default && !__props.text
19
19
  }, {
20
20
  popper: vue.withCtx(() => [
21
21
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
22
- vue.createTextVNode(vue.toDisplayString(_ctx.text), 1)
22
+ vue.createTextVNode(vue.toDisplayString(__props.text), 1)
23
23
  ])
24
24
  ]),
25
25
  default: vue.withCtx(() => [
@@ -135,17 +135,17 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
135
135
  return (_ctx, _cache) => {
136
136
  return vue.openBlock(), vue.createElementBlock("div", {
137
137
  class: vue.normalizeClass([{ hidden: _ctx.$attrs.hidden }, _ctx.$attrs.class]),
138
- "data-has-error": !!_ctx.errorMsg,
138
+ "data-has-error": !!__props.errorMsg,
139
139
  style: vue.normalizeStyle(style.value)
140
140
  }, [
141
141
  vue.renderSlot(_ctx.$slots, "label", {
142
- label: _ctx.label,
142
+ label: __props.label,
143
143
  labelClasses: vue.unref(labelClasses)
144
144
  }, () => [
145
- _ctx.label ? (vue.openBlock(), vue.createElementBlock("label", {
145
+ __props.label ? (vue.openBlock(), vue.createElementBlock("label", {
146
146
  key: 0,
147
147
  class: vue.normalizeClass(vue.unref(labelClasses))
148
- }, vue.toDisplayString(_ctx.label), 3)) : vue.createCommentVNode("", true)
148
+ }, vue.toDisplayString(__props.label), 3)) : vue.createCommentVNode("", true)
149
149
  ]),
150
150
  vue.createVNode(vue.unref(VueDatePicker), vue.mergeProps({
151
151
  modelValue: model.value,
@@ -153,8 +153,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
153
153
  }, datePickerProps.value), null, 16, ["modelValue"]),
154
154
  vue.withDirectives(vue.createElementVNode("div", {
155
155
  class: vue.normalizeClass(vue.unref(errorMsgClasses))
156
- }, vue.toDisplayString(_ctx.errorMsg), 3), [
157
- [vue.vShow, _ctx.errorMsg]
156
+ }, vue.toDisplayString(__props.errorMsg), 3), [
157
+ [vue.vShow, __props.errorMsg]
158
158
  ])
159
159
  ], 14, _hoisted_1);
160
160
  };
@@ -181,7 +181,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
181
181
  !!_ctx.$slots.prefix || __props.prefixString ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
182
182
  vue.renderSlot(_ctx.$slots, "prefix", {}, () => [
183
183
  vue.createElementVNode("div", {
184
- class: vue.normalizeClass([{ "absolute left-3 flex items-center": __props.prefixString }, __props.prefixString ? prefixClasses[__props.size] : ""])
184
+ class: vue.normalizeClass([{ "absolute flex items-center": __props.prefixString }, __props.prefixString ? prefixClasses[__props.size] : ""])
185
185
  }, vue.toDisplayString(__props.prefixString), 3)
186
186
  ])
187
187
  ])) : vue.createCommentVNode("", true),
@@ -20,9 +20,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
20
20
  },
21
21
  setup(__props) {
22
22
  return (_ctx, _cache) => {
23
- return typeof _ctx.to === "string" && vue.unref(link.isExternalLink)(_ctx.to) ? (vue.openBlock(), vue.createElementBlock("a", {
23
+ return typeof __props.to === "string" && vue.unref(link.isExternalLink)(__props.to) ? (vue.openBlock(), vue.createElementBlock("a", {
24
24
  key: 0,
25
- href: vue.unref(sanitization.sanitizeUrl)(_ctx.to),
25
+ href: vue.unref(sanitization.sanitizeUrl)(__props.to),
26
26
  target: "_blank"
27
27
  }, [
28
28
  vue.renderSlot(_ctx.$slots, "default")
@@ -17,11 +17,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
17
17
  return (_ctx, _cache) => {
18
18
  const _directive_tooltip = vue.resolveDirective("tooltip");
19
19
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
20
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.items, (item) => {
20
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item) => {
21
21
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
22
22
  key: `progress-value-${item.color}`,
23
23
  class: "h-full",
24
- style: vue.normalizeStyle({ width: `${item.value / _ctx.total * 100}%`, background: item.color })
24
+ style: vue.normalizeStyle({ width: `${item.value / __props.total * 100}%`, background: item.color })
25
25
  }, null, 4)), [
26
26
  [
27
27
  _directive_tooltip,
@@ -61,24 +61,24 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
61
61
  return (_ctx, _cache) => {
62
62
  const _directive_tooltip = vue.resolveDirective("tooltip");
63
63
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
64
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.items, (item, index) => {
64
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (item, index) => {
65
65
  return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
66
- key: String(item[_ctx.itemValue]),
67
- class: vue.normalizeClass(["inline-flex", { "*:px-0 *:py-0": _ctx.noPadding, grow: _ctx.grow }])
66
+ key: String(item[__props.itemValue]),
67
+ class: vue.normalizeClass(["inline-flex", { "[&_*]:px-0 [&_*]:py-0": __props.noPadding, grow: __props.grow }])
68
68
  }, [
69
69
  vue.createVNode(pBtn_vue_vue_type_script_setup_true_lang._sfc_main, {
70
- size: _ctx.size,
70
+ size: __props.size,
71
71
  type: "secondary-outline-blue",
72
72
  disabled: item.disabled,
73
73
  icon: item.icon ? String(item.icon) : "",
74
74
  class: vue.normalizeClass({
75
- "rounded-none": index !== 0 && index !== _ctx.items.length - 1 && _ctx.items.length > 1,
76
- "rounded-br-none rounded-tr-none": index === 0 && _ctx.items.length > 1,
77
- "rounded-bl-none rounded-tl-none": index === _ctx.items.length - 1 && _ctx.items.length > 1,
78
- "-mr-0.5": index !== _ctx.items.length - 1,
79
- "flex-1": _ctx.grow
75
+ "rounded-none": index !== 0 && index !== __props.items.length - 1 && __props.items.length > 1,
76
+ "rounded-br-none rounded-tr-none": index === 0 && __props.items.length > 1,
77
+ "rounded-bl-none rounded-tl-none": index === __props.items.length - 1 && __props.items.length > 1,
78
+ "-mr-0.5": index !== __props.items.length - 1,
79
+ "flex-1": __props.grow
80
80
  }),
81
- selected: isSelected(item) && _ctx.highlightSelected,
81
+ selected: isSelected(item) && __props.highlightSelected,
82
82
  onClick: ($event) => select(item)
83
83
  }, {
84
84
  default: vue.withCtx(() => [
@@ -86,7 +86,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
86
86
  item,
87
87
  isSelected: isSelected(item)
88
88
  }, () => [
89
- vue.createTextVNode(vue.toDisplayString(item[_ctx.itemText]), 1)
89
+ vue.createTextVNode(vue.toDisplayString(item[__props.itemText]), 1)
90
90
  ])
91
91
  ]),
92
92
  _: 2
@@ -34,16 +34,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
34
34
  };
35
35
  return (_ctx, _cache) => {
36
36
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
37
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.steps, (step, i) => {
37
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.steps, (step, i) => {
38
38
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, {
39
39
  key: step.value
40
40
  }, [
41
41
  vue.createElementVNode("div", {
42
- class: vue.normalizeClass(["text-nowrap rounded-full border px-4 py-1 text-sm font-semibold", [stepClasses(step, i), { "cursor-pointer": _ctx.clickable && !step.disabled }]]),
43
- "data-state": step.value === _ctx.activeStep ? "active" : "inactive",
42
+ class: vue.normalizeClass(["text-nowrap rounded-full border px-4 py-1 text-sm font-semibold", [stepClasses(step, i), { "cursor-pointer": __props.clickable && !step.disabled }]]),
43
+ "data-state": step.value === __props.activeStep ? "active" : "inactive",
44
44
  onClick: ($event) => emit("click:step", step, i)
45
45
  }, vue.toDisplayString(step.text || vue.unref(lodashEs.startCase)(String(step.value))), 11, _hoisted_2),
46
- i < _ctx.steps.length - 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
46
+ i < __props.steps.length - 1 ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_3, [
47
47
  vue.createVNode(pIcon_vue_vue_type_script_setup_true_lang._sfc_main, {
48
48
  icon: "material-symbols:arrow-right-alt-rounded",
49
49
  class: vue.normalizeClass([activeStepIndex.value <= i ? "text-p-gray-30" : "text-p-blue-50"])
@@ -28,26 +28,26 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
28
28
  return (_ctx, _cache) => {
29
29
  return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
30
30
  vue.createElementVNode("div", {
31
- class: vue.normalizeClass([DEFAULT_CLASSES, _ctx.textClass, textColorClass.value]),
31
+ class: vue.normalizeClass([DEFAULT_CLASSES, __props.textClass, textColorClass.value]),
32
32
  style: vue.normalizeStyle(style.value),
33
- title: _ctx.text,
33
+ title: __props.text,
34
34
  "data-p-table-header-text": ""
35
- }, vue.toDisplayString(_ctx.text), 15, _hoisted_2),
36
- _ctx.tooltipText ? (vue.openBlock(), vue.createBlock(pInfoIcon_vue_vue_type_script_setup_true_lang._sfc_main, {
35
+ }, vue.toDisplayString(__props.text), 15, _hoisted_2),
36
+ __props.tooltipText ? (vue.openBlock(), vue.createBlock(pInfoIcon_vue_vue_type_script_setup_true_lang._sfc_main, {
37
37
  key: 0,
38
- text: _ctx.tooltipText
38
+ text: __props.tooltipText
39
39
  }, null, 8, ["text"])) : vue.createCommentVNode("", true),
40
40
  vue.renderSlot(_ctx.$slots, "icon"),
41
41
  vue.createVNode(pIcon_vue_vue_type_script_setup_true_lang._sfc_main, {
42
- icon: _ctx.filterActive ? "ph:funnel-fill" : "si:filter-list-alt-duotone",
42
+ icon: __props.filterActive ? "ph:funnel-fill" : "si:filter-list-alt-duotone",
43
43
  class: vue.normalizeClass([
44
44
  "ml-auto cursor-pointer rounded-sm",
45
- { hidden: !_ctx.showFilterIcon },
46
- _ctx.filterActive ? "text-active-blue hover:bg-p-blue-10 hover:text-p-blue-60 hover:ring-1 hover:ring-p-blue-10" : "text-p-gray-60 hover:bg-p-gray-10 hover:text-night hover:ring-1 hover:ring-p-gray-10"
45
+ { hidden: !__props.showFilterIcon },
46
+ __props.filterActive ? "text-active-blue hover:bg-p-blue-10 hover:text-p-blue-60 hover:ring-1 hover:ring-p-blue-10" : "text-p-gray-60 hover:bg-p-gray-10 hover:text-night hover:ring-1 hover:ring-p-gray-10"
47
47
  ]),
48
48
  height: "16",
49
49
  "data-p-table-header-filter-icon": "",
50
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click-filter-icon", $event, _ctx.filterActive))
50
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click-filter-icon", $event, __props.filterActive))
51
51
  }, null, 8, ["icon", "class"])
52
52
  ]);
53
53
  };
@@ -22,20 +22,20 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
22
22
  setup(__props) {
23
23
  return (_ctx, _cache) => {
24
24
  return vue.openBlock(), vue.createElementBlock("nav", _hoisted_1, [
25
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(_ctx.items, (tab) => {
25
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.items, (tab) => {
26
26
  return vue.openBlock(), vue.createElementBlock("button", {
27
- key: String(tab[_ctx.itemValue]),
27
+ key: String(tab[__props.itemValue]),
28
28
  type: "button",
29
29
  class: vue.normalizeClass(["rounded px-2 pb-px leading-none transition-all duration-300", [
30
- tab.disabled ? "text-p-gray-30" : tab[_ctx.itemValue] === _ctx.modelValue ? "bg-night text-surface hover:bg-night hover:text-surface" : "hover:text-p-gray-70"
30
+ tab.disabled ? "text-p-gray-30" : tab[__props.itemValue] === __props.modelValue ? "bg-night text-surface hover:bg-night hover:text-surface" : "hover:text-p-gray-70"
31
31
  ]]),
32
32
  disabled: !!tab.disabled,
33
33
  role: "tab",
34
- "aria-selected": tab[_ctx.itemValue] === _ctx.modelValue,
35
- "data-tab": `#${tab[_ctx.itemValue]}`,
36
- "aria-controls": String(tab[_ctx.itemValue]),
37
- onClick: ($event) => _ctx.$emit("update:modelValue", tab[_ctx.itemValue])
38
- }, vue.toDisplayString(tab[_ctx.itemText]), 11, _hoisted_2);
34
+ "aria-selected": tab[__props.itemValue] === __props.modelValue,
35
+ "data-tab": `#${tab[__props.itemValue]}`,
36
+ "aria-controls": String(tab[__props.itemValue]),
37
+ onClick: ($event) => _ctx.$emit("update:modelValue", tab[__props.itemValue])
38
+ }, vue.toDisplayString(tab[__props.itemText]), 11, _hoisted_2);
39
39
  }), 128))
40
40
  ]);
41
41
  };
package/dist/cjs/index.js CHANGED
@@ -826,7 +826,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
826
826
  return vue.openBlock(), vue.createElementBlock("div", {
827
827
  ref_key: "scrollWrapper",
828
828
  ref: scrollWrapper,
829
- class: vue.normalizeClass(["block rounded-xl border border-p-gray-30", _ctx.lockScroll ? "overflow-hidden" : "overflow-x-auto"])
829
+ class: vue.normalizeClass(["block rounded-xl border border-p-gray-30", __props.lockScroll ? "overflow-hidden" : "overflow-x-auto"])
830
830
  }, [
831
831
  vue.unref(isColResizing) ? (vue.openBlock(), vue.createElementBlock("div", {
832
832
  key: 0,
@@ -841,10 +841,10 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
841
841
  vue.createElementVNode("table", vue.mergeProps({
842
842
  class: [
843
843
  "p-table mb-0 w-full bg-surface",
844
- { "last-col-fixed": _ctx.isLastColFixed },
845
- { "first-col-fixed": _ctx.isFirstColFixed }
844
+ { "last-col-fixed": __props.isLastColFixed },
845
+ { "first-col-fixed": __props.isFirstColFixed }
846
846
  ]
847
- }, vue.toHandlers(_ctx.colsResizable ? { mousemove: vue.unref(colResize) } : {}, true)), [
847
+ }, vue.toHandlers(__props.colsResizable ? { mousemove: vue.unref(colResize) } : {}, true)), [
848
848
  vue.createElementVNode("thead", {
849
849
  ref_key: "theadRef",
850
850
  ref: theadRef
@@ -875,7 +875,7 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
875
875
  "tooltip-text": col.tooltip,
876
876
  class: [
877
877
  vue.unref(hasWrap) ? "leading-4" : "leading-5",
878
- { "pl-2": i === 1 && _ctx.isFirstColFixed, "pr-2": i === _ctx.cols.length && _ctx.isLastColFixed },
878
+ { "pl-2": i === 1 && __props.isFirstColFixed, "pr-2": i === __props.cols.length && __props.isLastColFixed },
879
879
  "grow"
880
880
  ],
881
881
  "text-color": headerCellTextColor(col)
@@ -888,15 +888,15 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
888
888
  _: 2
889
889
  }, 1040, ["text", "filter-active", "show-filter-icon", "tooltip-text", "class", "text-color", "onClickFilterIcon"])
890
890
  ], 2),
891
- _ctx.colsResizable && i !== 0 && !(i === _ctx.cols.length - 1 && _ctx.isLastColFixed) ? (vue.openBlock(), vue.createElementBlock("div", {
891
+ __props.colsResizable && i !== 0 && !(i === __props.cols.length - 1 && __props.isLastColFixed) ? (vue.openBlock(), vue.createElementBlock("div", {
892
892
  key: 0,
893
- 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"]),
893
+ 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 === __props.cols.length - 1 ? "after:right-0.5" : "after:right-0"]),
894
894
  "data-resize-handle": "",
895
895
  onMousedown: ($event) => vue.unref(colResizeStart)($event, i),
896
896
  onDblclick: ($event) => vue.unref(colResizeFitToData)(i)
897
897
  }, null, 42, _hoisted_2$1)) : vue.createCommentVNode("", true)
898
898
  ], 6),
899
- _ctx.subheader ? (vue.openBlock(), vue.createElementBlock("div", {
899
+ __props.subheader ? (vue.openBlock(), vue.createElementBlock("div", {
900
900
  key: 0,
901
901
  class: vue.normalizeClass(thSubheaderClasses(i))
902
902
  }, [
@@ -904,16 +904,16 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
904
904
  ], 2)) : vue.createCommentVNode("", true)
905
905
  ], 16, _hoisted_1$1);
906
906
  }), 128)),
907
- _ctx.colsResizable && !_ctx.isLastColFixed ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_3$1)) : vue.createCommentVNode("", true)
907
+ __props.colsResizable && !__props.isLastColFixed ? (vue.openBlock(), vue.createElementBlock("th", _hoisted_3$1)) : vue.createCommentVNode("", true)
908
908
  ])
909
909
  ], 512),
910
910
  vue.createElementVNode("tbody", {
911
911
  ref_key: "tbodyElement",
912
912
  ref: tbodyElement
913
913
  }, [
914
- _ctx.virtualizer.paddingTop > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_4$1, [
914
+ __props.virtualizer.paddingTop > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_4$1, [
915
915
  vue.createElementVNode("td", {
916
- style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingTop}px` })
916
+ style: vue.normalizeStyle({ height: `${__props.virtualizer.paddingTop}px` })
917
917
  }, null, 4)
918
918
  ])) : vue.createCommentVNode("", true),
919
919
  vue.renderSlot(_ctx.$slots, "default", {}, () => [
@@ -941,9 +941,9 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
941
941
  ]);
942
942
  }), 128))
943
943
  ], true),
944
- _ctx.virtualizer.paddingBottom > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$1, [
944
+ __props.virtualizer.paddingBottom > 0 ? (vue.openBlock(), vue.createElementBlock("tr", _hoisted_6$1, [
945
945
  vue.createElementVNode("td", {
946
- style: vue.normalizeStyle({ height: `${_ctx.virtualizer.paddingBottom}px` })
946
+ style: vue.normalizeStyle({ height: `${__props.virtualizer.paddingBottom}px` })
947
947
  }, null, 4)
948
948
  ])) : vue.createCommentVNode("", true)
949
949
  ], 512)
@@ -237,7 +237,7 @@ const __default__ = vue.defineComponent({
237
237
  });
238
238
  const __injectCSSVars__ = () => {
239
239
  vue.useCssVars((_ctx) => ({
240
- "0ae27020": _ctx.width
240
+ "v0ae27020": _ctx.width
241
241
  }));
242
242
  };
243
243
  const __setup__ = __default__.setup;
@@ -27,7 +27,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  setup(__props) {
28
28
  return (_ctx, _cache) => {
29
29
  return openBlock(), createBlock(Teleport, { to: "body" }, [
30
- _ctx.show ? (openBlock(), createElementBlock("div", mergeProps({
30
+ __props.show ? (openBlock(), createElementBlock("div", mergeProps({
31
31
  key: 0,
32
32
  class: "fixed bottom-6 left-1/2 z-[100] -translate-x-2/4",
33
33
  role: "alertdialog"
@@ -44,10 +44,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
44
44
  _cache[1] || (_cache[1] = createElementVNode("div", { class: "text-xs" }, "Clear All", -1))
45
45
  ]),
46
46
  _cache[2] || (_cache[2] = createElementVNode("div", { class: "h-9 w-0.5 shrink-0 rounded bg-p-purple-50" }, null, -1)),
47
- createElementVNode("p", _hoisted_2, toDisplayString(_ctx.label), 1),
47
+ createElementVNode("p", _hoisted_2, toDisplayString(__props.label), 1),
48
48
  _cache[3] || (_cache[3] = createElementVNode("div", { class: "mr-2 h-9 w-0.5 shrink-0 rounded bg-p-purple-50" }, null, -1)),
49
49
  createElementVNode("div", _hoisted_3, [
50
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.actions, (actionOrMenu) => {
50
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.actions, (actionOrMenu) => {
51
51
  return openBlock(), createElementBlock(Fragment, {
52
52
  key: `action-${actionOrMenu.label}`
53
53
  }, [
@@ -9,7 +9,7 @@ const _hoisted_1 = { class: "slot-wrapper empty:hidden" };
9
9
  const btnClasses = {
10
10
  slots: {
11
11
  button: "relative inline-flex whitespace-nowrap rounded font-medium outline-none disabled:pointer-events-none disabled:cursor-default disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:cursor-default aria-disabled:opacity-50",
12
- content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0",
12
+ content: "flex items-center justify-center has-[.slot-wrapper:empty]:gap-0 w-full",
13
13
  loader: "absolute bottom-0 left-0 right-0 top-0 flex items-center justify-center font-medium",
14
14
  icon: "shrink-0"
15
15
  },
@@ -14,7 +14,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  const isPIcon = (icon) => !!P_ICON_ALIASES[icon];
15
15
  return (_ctx, _cache) => {
16
16
  return openBlock(), createElementBlock("iconify-icon", {
17
- icon: isPIcon(_ctx.icon) ? unref(P_ICON_ALIASES)[_ctx.icon] : _ctx.icon
17
+ icon: isPIcon(__props.icon) ? unref(P_ICON_ALIASES)[__props.icon] : __props.icon
18
18
  }, null, 8, _hoisted_1);
19
19
  };
20
20
  }
@@ -14,11 +14,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  return openBlock(), createBlock(_component_VTooltip, {
15
15
  "popper-triggers": ["hover"],
16
16
  delay: { show: 750, hide: 0 },
17
- disabled: !_ctx.$slots.default && !_ctx.text
17
+ disabled: !_ctx.$slots.default && !__props.text
18
18
  }, {
19
19
  popper: withCtx(() => [
20
20
  renderSlot(_ctx.$slots, "default", {}, () => [
21
- createTextVNode(toDisplayString(_ctx.text), 1)
21
+ createTextVNode(toDisplayString(__props.text), 1)
22
22
  ])
23
23
  ]),
24
24
  default: withCtx(() => [
@@ -134,17 +134,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
134
134
  return (_ctx, _cache) => {
135
135
  return openBlock(), createElementBlock("div", {
136
136
  class: normalizeClass([{ hidden: _ctx.$attrs.hidden }, _ctx.$attrs.class]),
137
- "data-has-error": !!_ctx.errorMsg,
137
+ "data-has-error": !!__props.errorMsg,
138
138
  style: normalizeStyle(style.value)
139
139
  }, [
140
140
  renderSlot(_ctx.$slots, "label", {
141
- label: _ctx.label,
141
+ label: __props.label,
142
142
  labelClasses: unref(labelClasses)
143
143
  }, () => [
144
- _ctx.label ? (openBlock(), createElementBlock("label", {
144
+ __props.label ? (openBlock(), createElementBlock("label", {
145
145
  key: 0,
146
146
  class: normalizeClass(unref(labelClasses))
147
- }, toDisplayString(_ctx.label), 3)) : createCommentVNode("", true)
147
+ }, toDisplayString(__props.label), 3)) : createCommentVNode("", true)
148
148
  ]),
149
149
  createVNode(unref(VueDatePicker), mergeProps({
150
150
  modelValue: model.value,
@@ -152,8 +152,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
152
152
  }, datePickerProps.value), null, 16, ["modelValue"]),
153
153
  withDirectives(createElementVNode("div", {
154
154
  class: normalizeClass(unref(errorMsgClasses))
155
- }, toDisplayString(_ctx.errorMsg), 3), [
156
- [vShow, _ctx.errorMsg]
155
+ }, toDisplayString(__props.errorMsg), 3), [
156
+ [vShow, __props.errorMsg]
157
157
  ])
158
158
  ], 14, _hoisted_1);
159
159
  };
@@ -180,7 +180,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
180
180
  !!_ctx.$slots.prefix || __props.prefixString ? (openBlock(), createElementBlock("div", _hoisted_4, [
181
181
  renderSlot(_ctx.$slots, "prefix", {}, () => [
182
182
  createElementVNode("div", {
183
- class: normalizeClass([{ "absolute left-3 flex items-center": __props.prefixString }, __props.prefixString ? prefixClasses[__props.size] : ""])
183
+ class: normalizeClass([{ "absolute flex items-center": __props.prefixString }, __props.prefixString ? prefixClasses[__props.size] : ""])
184
184
  }, toDisplayString(__props.prefixString), 3)
185
185
  ])
186
186
  ])) : createCommentVNode("", true),
@@ -19,9 +19,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  },
20
20
  setup(__props) {
21
21
  return (_ctx, _cache) => {
22
- return typeof _ctx.to === "string" && unref(isExternalLink)(_ctx.to) ? (openBlock(), createElementBlock("a", {
22
+ return typeof __props.to === "string" && unref(isExternalLink)(__props.to) ? (openBlock(), createElementBlock("a", {
23
23
  key: 0,
24
- href: unref(sanitizeUrl)(_ctx.to),
24
+ href: unref(sanitizeUrl)(__props.to),
25
25
  target: "_blank"
26
26
  }, [
27
27
  renderSlot(_ctx.$slots, "default")
@@ -16,11 +16,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16
16
  return (_ctx, _cache) => {
17
17
  const _directive_tooltip = resolveDirective("tooltip");
18
18
  return openBlock(), createElementBlock("div", _hoisted_1, [
19
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item) => {
19
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
20
20
  return withDirectives((openBlock(), createElementBlock("div", {
21
21
  key: `progress-value-${item.color}`,
22
22
  class: "h-full",
23
- style: normalizeStyle({ width: `${item.value / _ctx.total * 100}%`, background: item.color })
23
+ style: normalizeStyle({ width: `${item.value / __props.total * 100}%`, background: item.color })
24
24
  }, null, 4)), [
25
25
  [
26
26
  _directive_tooltip,
@@ -60,24 +60,24 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  return (_ctx, _cache) => {
61
61
  const _directive_tooltip = resolveDirective("tooltip");
62
62
  return openBlock(), createElementBlock("div", _hoisted_1, [
63
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.items, (item, index) => {
63
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
64
64
  return withDirectives((openBlock(), createElementBlock("div", {
65
- key: String(item[_ctx.itemValue]),
66
- class: normalizeClass(["inline-flex", { "*:px-0 *:py-0": _ctx.noPadding, grow: _ctx.grow }])
65
+ key: String(item[__props.itemValue]),
66
+ class: normalizeClass(["inline-flex", { "[&_*]:px-0 [&_*]:py-0": __props.noPadding, grow: __props.grow }])
67
67
  }, [
68
68
  createVNode(_sfc_main$1, {
69
- size: _ctx.size,
69
+ size: __props.size,
70
70
  type: "secondary-outline-blue",
71
71
  disabled: item.disabled,
72
72
  icon: item.icon ? String(item.icon) : "",
73
73
  class: normalizeClass({
74
- "rounded-none": index !== 0 && index !== _ctx.items.length - 1 && _ctx.items.length > 1,
75
- "rounded-br-none rounded-tr-none": index === 0 && _ctx.items.length > 1,
76
- "rounded-bl-none rounded-tl-none": index === _ctx.items.length - 1 && _ctx.items.length > 1,
77
- "-mr-0.5": index !== _ctx.items.length - 1,
78
- "flex-1": _ctx.grow
74
+ "rounded-none": index !== 0 && index !== __props.items.length - 1 && __props.items.length > 1,
75
+ "rounded-br-none rounded-tr-none": index === 0 && __props.items.length > 1,
76
+ "rounded-bl-none rounded-tl-none": index === __props.items.length - 1 && __props.items.length > 1,
77
+ "-mr-0.5": index !== __props.items.length - 1,
78
+ "flex-1": __props.grow
79
79
  }),
80
- selected: isSelected(item) && _ctx.highlightSelected,
80
+ selected: isSelected(item) && __props.highlightSelected,
81
81
  onClick: ($event) => select(item)
82
82
  }, {
83
83
  default: withCtx(() => [
@@ -85,7 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
85
85
  item,
86
86
  isSelected: isSelected(item)
87
87
  }, () => [
88
- createTextVNode(toDisplayString(item[_ctx.itemText]), 1)
88
+ createTextVNode(toDisplayString(item[__props.itemText]), 1)
89
89
  ])
90
90
  ]),
91
91
  _: 2
@@ -33,16 +33,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
33
  };
34
34
  return (_ctx, _cache) => {
35
35
  return openBlock(), createElementBlock("div", _hoisted_1, [
36
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.steps, (step, i) => {
36
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.steps, (step, i) => {
37
37
  return openBlock(), createElementBlock(Fragment, {
38
38
  key: step.value
39
39
  }, [
40
40
  createElementVNode("div", {
41
- class: normalizeClass(["text-nowrap rounded-full border px-4 py-1 text-sm font-semibold", [stepClasses(step, i), { "cursor-pointer": _ctx.clickable && !step.disabled }]]),
42
- "data-state": step.value === _ctx.activeStep ? "active" : "inactive",
41
+ class: normalizeClass(["text-nowrap rounded-full border px-4 py-1 text-sm font-semibold", [stepClasses(step, i), { "cursor-pointer": __props.clickable && !step.disabled }]]),
42
+ "data-state": step.value === __props.activeStep ? "active" : "inactive",
43
43
  onClick: ($event) => emit("click:step", step, i)
44
44
  }, toDisplayString(step.text || unref(startCase)(String(step.value))), 11, _hoisted_2),
45
- i < _ctx.steps.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3, [
45
+ i < __props.steps.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_3, [
46
46
  createVNode(_sfc_main$1, {
47
47
  icon: "material-symbols:arrow-right-alt-rounded",
48
48
  class: normalizeClass([activeStepIndex.value <= i ? "text-p-gray-30" : "text-p-blue-50"])
@@ -27,26 +27,26 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  return (_ctx, _cache) => {
28
28
  return openBlock(), createElementBlock("div", _hoisted_1, [
29
29
  createElementVNode("div", {
30
- class: normalizeClass([DEFAULT_CLASSES, _ctx.textClass, textColorClass.value]),
30
+ class: normalizeClass([DEFAULT_CLASSES, __props.textClass, textColorClass.value]),
31
31
  style: normalizeStyle(style.value),
32
- title: _ctx.text,
32
+ title: __props.text,
33
33
  "data-p-table-header-text": ""
34
- }, toDisplayString(_ctx.text), 15, _hoisted_2),
35
- _ctx.tooltipText ? (openBlock(), createBlock(_sfc_main$1, {
34
+ }, toDisplayString(__props.text), 15, _hoisted_2),
35
+ __props.tooltipText ? (openBlock(), createBlock(_sfc_main$1, {
36
36
  key: 0,
37
- text: _ctx.tooltipText
37
+ text: __props.tooltipText
38
38
  }, null, 8, ["text"])) : createCommentVNode("", true),
39
39
  renderSlot(_ctx.$slots, "icon"),
40
40
  createVNode(_sfc_main$2, {
41
- icon: _ctx.filterActive ? "ph:funnel-fill" : "si:filter-list-alt-duotone",
41
+ icon: __props.filterActive ? "ph:funnel-fill" : "si:filter-list-alt-duotone",
42
42
  class: normalizeClass([
43
43
  "ml-auto cursor-pointer rounded-sm",
44
- { hidden: !_ctx.showFilterIcon },
45
- _ctx.filterActive ? "text-active-blue hover:bg-p-blue-10 hover:text-p-blue-60 hover:ring-1 hover:ring-p-blue-10" : "text-p-gray-60 hover:bg-p-gray-10 hover:text-night hover:ring-1 hover:ring-p-gray-10"
44
+ { hidden: !__props.showFilterIcon },
45
+ __props.filterActive ? "text-active-blue hover:bg-p-blue-10 hover:text-p-blue-60 hover:ring-1 hover:ring-p-blue-10" : "text-p-gray-60 hover:bg-p-gray-10 hover:text-night hover:ring-1 hover:ring-p-gray-10"
46
46
  ]),
47
47
  height: "16",
48
48
  "data-p-table-header-filter-icon": "",
49
- onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click-filter-icon", $event, _ctx.filterActive))
49
+ onClick: _cache[0] || (_cache[0] = ($event) => _ctx.$emit("click-filter-icon", $event, __props.filterActive))
50
50
  }, null, 8, ["icon", "class"])
51
51
  ]);
52
52
  };