@7pmlabs/design-system 0.8.0 → 0.8.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 (132) hide show
  1. package/dist/design-system10.mjs +9 -9
  2. package/dist/design-system10.mjs.map +1 -1
  3. package/dist/design-system100.mjs +6 -68
  4. package/dist/design-system100.mjs.map +1 -1
  5. package/dist/design-system101.mjs +67 -6
  6. package/dist/design-system101.mjs.map +1 -1
  7. package/dist/design-system102.mjs +16 -16
  8. package/dist/design-system105.mjs +9 -9
  9. package/dist/design-system106.mjs.map +1 -1
  10. package/dist/design-system107.mjs.map +1 -1
  11. package/dist/design-system108.mjs +16 -16
  12. package/dist/design-system109.mjs +16 -16
  13. package/dist/design-system11.mjs.map +1 -1
  14. package/dist/design-system111.mjs +16 -16
  15. package/dist/design-system111.mjs.map +1 -1
  16. package/dist/design-system112.mjs.map +1 -1
  17. package/dist/design-system114.mjs.map +1 -1
  18. package/dist/design-system117.mjs +1 -1
  19. package/dist/design-system118.mjs +5 -5
  20. package/dist/design-system118.mjs.map +1 -1
  21. package/dist/design-system12.mjs.map +1 -1
  22. package/dist/design-system123.mjs.map +1 -1
  23. package/dist/design-system125.mjs +7 -4
  24. package/dist/design-system125.mjs.map +1 -1
  25. package/dist/design-system126.mjs +5 -8
  26. package/dist/design-system126.mjs.map +1 -1
  27. package/dist/design-system127.mjs +6 -6
  28. package/dist/design-system127.mjs.map +1 -1
  29. package/dist/design-system13.mjs.map +1 -1
  30. package/dist/design-system14.mjs.map +1 -1
  31. package/dist/design-system15.mjs.map +1 -1
  32. package/dist/design-system16.mjs +1 -1
  33. package/dist/design-system16.mjs.map +1 -1
  34. package/dist/design-system17.mjs +92 -92
  35. package/dist/design-system17.mjs.map +1 -1
  36. package/dist/design-system18.mjs +2 -2
  37. package/dist/design-system18.mjs.map +1 -1
  38. package/dist/design-system19.mjs +64 -64
  39. package/dist/design-system19.mjs.map +1 -1
  40. package/dist/design-system20.mjs +78 -78
  41. package/dist/design-system20.mjs.map +1 -1
  42. package/dist/design-system21.mjs.map +1 -1
  43. package/dist/design-system22.mjs.map +1 -1
  44. package/dist/design-system23.mjs.map +1 -1
  45. package/dist/design-system24.mjs.map +1 -1
  46. package/dist/design-system25.mjs.map +1 -1
  47. package/dist/design-system40.mjs +46 -46
  48. package/dist/design-system40.mjs.map +1 -1
  49. package/dist/design-system43.mjs +10 -10
  50. package/dist/design-system45.mjs.map +1 -1
  51. package/dist/design-system49.mjs +2 -2
  52. package/dist/design-system49.mjs.map +1 -1
  53. package/dist/design-system51.mjs +68 -68
  54. package/dist/design-system51.mjs.map +1 -1
  55. package/dist/design-system54.mjs.map +1 -1
  56. package/dist/design-system57.mjs.map +1 -1
  57. package/dist/design-system64.mjs +10 -10
  58. package/dist/design-system64.mjs.map +1 -1
  59. package/dist/design-system66.mjs.map +1 -1
  60. package/dist/design-system72.mjs.map +1 -1
  61. package/dist/design-system76.mjs.map +1 -1
  62. package/dist/design-system79.mjs.map +1 -1
  63. package/dist/design-system83.mjs +43 -43
  64. package/dist/design-system83.mjs.map +1 -1
  65. package/dist/design-system85.mjs +75 -75
  66. package/dist/design-system85.mjs.map +1 -1
  67. package/dist/design-system88.mjs.map +1 -1
  68. package/dist/design-system90.mjs.map +1 -1
  69. package/dist/design-system95.mjs +42 -42
  70. package/dist/design-system95.mjs.map +1 -1
  71. package/dist/design-system96.mjs +2 -2
  72. package/dist/design-system96.mjs.map +1 -1
  73. package/dist/design-system97.mjs +1 -1
  74. package/dist/design-system97.mjs.map +1 -1
  75. package/dist/design-system98.mjs +12 -12
  76. package/dist/design-system98.mjs.map +1 -1
  77. package/dist/design-system99.mjs +63 -62
  78. package/dist/design-system99.mjs.map +1 -1
  79. package/dist/style.css +1 -1
  80. package/dist/types/components/BBreadcrumb/BBreadcrumb.vue.d.ts +4 -4
  81. package/dist/types/components/BBreadcrumb/BBreadcrumbSeparator.vue.d.ts +1 -1
  82. package/dist/types/components/BButton.vue.d.ts +4 -4
  83. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +6 -6
  84. package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +1 -1
  85. package/dist/types/components/BCheckbox.vue.d.ts +5 -5
  86. package/dist/types/components/BCollapse.vue.d.ts +3 -3
  87. package/dist/types/components/BCurrencyField.vue.d.ts +6 -6
  88. package/dist/types/components/BDatePicker/BDatePicker.vue.d.ts +6 -6
  89. package/dist/types/components/BDatePicker/BDatePickerButtonNext.vue.d.ts +1 -1
  90. package/dist/types/components/BDatePicker/BDatePickerButtonPrevious.vue.d.ts +1 -1
  91. package/dist/types/components/BDatePicker/BDatePickerGridDate.vue.d.ts +3 -3
  92. package/dist/types/components/BDatePicker/BDatePickerGridDateRange.vue.d.ts +3 -3
  93. package/dist/types/components/BDatePicker/BDatePickerGridMonth.vue.d.ts +3 -3
  94. package/dist/types/components/BDatePicker/BDatePickerGridYear.vue.d.ts +3 -3
  95. package/dist/types/components/BDatePicker/BDatePickerHeading.vue.d.ts +1 -1
  96. package/dist/types/components/BDatePicker/BDatePickerIcon.vue.d.ts +1 -1
  97. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +5 -5
  98. package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +1 -1
  99. package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +4 -4
  100. package/dist/types/components/BErrorMessage.vue.d.ts +4 -4
  101. package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +7 -7
  102. package/dist/types/components/BImagePicker/BImagePickerCloseButton.vue.d.ts +1 -1
  103. package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +3 -3
  104. package/dist/types/components/BLabel.vue.d.ts +5 -5
  105. package/dist/types/components/BLoadingBar.vue.d.ts +4 -4
  106. package/dist/types/components/BLoadingOverlay.vue.d.ts +4 -4
  107. package/dist/types/components/BModal/BModal.vue.d.ts +5 -5
  108. package/dist/types/components/BModal/BModalBody.vue.d.ts +1 -1
  109. package/dist/types/components/BModal/BModalContainer.vue.d.ts +5 -5
  110. package/dist/types/components/BModal/BModalFooter.vue.d.ts +1 -1
  111. package/dist/types/components/BModal/BModalHeader.vue.d.ts +1 -1
  112. package/dist/types/components/BMultiSelect.vue.d.ts +9 -9
  113. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +7 -7
  114. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +7 -7
  115. package/dist/types/components/BOverlay.vue.d.ts +1 -1
  116. package/dist/types/components/BPagination.vue.d.ts +5 -5
  117. package/dist/types/components/BRadio.vue.d.ts +6 -6
  118. package/dist/types/components/BSelect.vue.d.ts +9 -9
  119. package/dist/types/components/BStepper.vue.d.ts +3 -3
  120. package/dist/types/components/BSwitch.vue.d.ts +5 -5
  121. package/dist/types/components/BTabs/BTab.vue.d.ts +1 -1
  122. package/dist/types/components/BTabs/BTabs.vue.d.ts +5 -5
  123. package/dist/types/components/BTextField.vue.d.ts +8 -8
  124. package/dist/types/components/BTextarea.vue.d.ts +7 -7
  125. package/dist/types/components/BTimeline/BTimeline.vue.d.ts +1 -1
  126. package/dist/types/components/BTimeline/BTimelineItem.vue.d.ts +1 -1
  127. package/dist/types/components/BToast/BToast.vue.d.ts +3 -3
  128. package/dist/types/components/BToast/BToastItem.vue.d.ts +6 -6
  129. package/dist/types/components/BTooltip.vue.d.ts +6 -6
  130. package/dist/types/composables/Validation.d.ts +6 -1
  131. package/dist/types/constants/Common.d.ts +2 -2
  132. package/package.json +3 -3
@@ -1,22 +1,6 @@
1
- import { defineComponent as P, computed as p, openBlock as C, createElementBlock as O, createElementVNode as s, normalizeClass as n, toDisplayString as r, withDirectives as o, vShow as i } from "vue";
1
+ import { defineComponent as C, computed as p, openBlock as O, createElementBlock as B, createElementVNode as l, normalizeClass as n, toDisplayString as r, withDirectives as o, vShow as i } from "vue";
2
2
  import { BPaginationSize as f } from "./design-system5.mjs";
3
- const B = { class: "ds-inline-flex ds-space-x-1" }, x = /* @__PURE__ */ s("svg", {
4
- class: "ds-h-4 ds-w-4 ds-fill-black/80",
5
- viewBox: "0 0 320 512",
6
- xmlns: "http://www.w3.org/2000/svg"
7
- }, [
8
- /* @__PURE__ */ s("path", { d: "M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" })
9
- ], -1), y = [
10
- x
11
- ], z = /* @__PURE__ */ s("svg", {
12
- class: "ds-h-4 ds-w-4 ds-fill-black/80",
13
- viewBox: "0 0 320 512",
14
- xmlns: "http://www.w3.org/2000/svg"
15
- }, [
16
- /* @__PURE__ */ s("path", { d: "M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" })
17
- ], -1), $ = [
18
- z
19
- ], V = 1, g = "...", E = /* @__PURE__ */ P({
3
+ const x = { class: "ds-inline-flex ds-space-x-1" }, y = 1, g = "...", h = /* @__PURE__ */ C({
20
4
  __name: "BPagination",
21
5
  props: {
22
6
  modelValue: {},
@@ -27,101 +11,117 @@ const B = { class: "ds-inline-flex ds-space-x-1" }, x = /* @__PURE__ */ s("svg",
27
11
  },
28
12
  emits: ["change", "update:modelValue"],
29
13
  setup(b, { emit: w }) {
30
- const d = b, v = w, e = p({
14
+ const d = b, c = w, e = p({
31
15
  get() {
32
16
  return d.modelValue + 1;
33
17
  },
34
- set(l) {
35
- v("update:modelValue", l - 1);
18
+ set(s) {
19
+ c("update:modelValue", s - 1);
36
20
  }
37
21
  }), t = p(() => {
38
- let l = `
22
+ let s = `
39
23
  ds-flex ds-items-center ds-justify-center
40
24
  ds-rounded-lg `;
41
- switch (d.border && (l += "ds-border ds-border-gray-300 "), d.size) {
25
+ switch (d.border && (s += "ds-border ds-border-gray-300 "), d.size) {
42
26
  case f.Small:
43
- l += "ds-w-8 ds-h-8 ";
27
+ s += "ds-w-8 ds-h-8 ";
44
28
  break;
45
29
  case f.Medium:
46
30
  default:
47
- l += "ds-w-10 ds-h-10 ";
31
+ s += "ds-w-10 ds-h-10 ";
48
32
  break;
49
33
  }
50
- return l;
51
- }), c = (l) => {
52
- e.value = l, v("change", e.value);
34
+ return s;
35
+ }), v = (s) => {
36
+ e.value = s, c("change", e.value);
53
37
  }, k = () => {
54
- e.value > 1 && (e.value--, v("change", e.value));
55
- }, h = () => {
56
- e.value < d.numberOfPages && (e.value++, v("change", e.value));
57
- }, u = (l = !0) => l ? "ds-text-white ds-bg-primary-t " : `ds-text-black/80 ${d.transparent ? "ds-bg-transparent" : "ds-bg-white"}`;
58
- return (l, a) => (C(), O("nav", null, [
59
- s("ul", B, [
60
- s("li", {
38
+ e.value > 1 && (e.value--, c("change", e.value));
39
+ }, P = () => {
40
+ e.value < d.numberOfPages && (e.value++, c("change", e.value));
41
+ }, u = (s = !0) => s ? "ds-text-white ds-bg-primary-t " : `ds-text-black/80 ${d.transparent ? "ds-bg-transparent" : "ds-bg-white"}`;
42
+ return (s, a) => (O(), B("nav", null, [
43
+ l("ul", x, [
44
+ l("li", {
61
45
  class: n([[t.value, u(!1)], "ds-ml-0 ds-cursor-pointer"]),
62
46
  onClick: k
63
- }, y, 2),
64
- s("li", {
47
+ }, a[5] || (a[5] = [
48
+ l("svg", {
49
+ class: "ds-h-4 ds-w-4 ds-fill-black/80",
50
+ viewBox: "0 0 320 512",
51
+ xmlns: "http://www.w3.org/2000/svg"
52
+ }, [
53
+ l("path", { d: "M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z" })
54
+ ], -1)
55
+ ]), 2),
56
+ l("li", {
65
57
  class: n([[u(e.value === 1), t.value], "ds-cursor-pointer"]),
66
- onClick: a[0] || (a[0] = (m) => c(1))
58
+ onClick: a[0] || (a[0] = (m) => v(1))
67
59
  }, [
68
- s("a", null, r(V))
60
+ l("a", null, r(y))
69
61
  ], 2),
70
- o(s("li", {
62
+ o(l("li", {
71
63
  class: n([[t.value], "ds-cursor-default"])
72
64
  }, [
73
- s("a", null, r(g))
65
+ l("a", null, r(g))
74
66
  ], 2), [
75
67
  [i, e.value > 3]
76
68
  ]),
77
- o(s("li", {
69
+ o(l("li", {
78
70
  class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
79
- onClick: a[1] || (a[1] = (m) => c(e.value - 1))
71
+ onClick: a[1] || (a[1] = (m) => v(e.value - 1))
80
72
  }, [
81
- s("a", null, r(e.value - 1), 1)
73
+ l("a", null, r(e.value - 1), 1)
82
74
  ], 2), [
83
75
  [i, e.value > 2]
84
76
  ]),
85
- o(s("li", {
77
+ o(l("li", {
86
78
  class: n([[t.value, u()], "ds-cursor-pointer"]),
87
- onClick: a[2] || (a[2] = (m) => c(e.value))
79
+ onClick: a[2] || (a[2] = (m) => v(e.value))
88
80
  }, [
89
- s("a", null, r(e.value), 1)
81
+ l("a", null, r(e.value), 1)
90
82
  ], 2), [
91
- [i, e.value !== 1 && e.value !== l.numberOfPages]
83
+ [i, e.value !== 1 && e.value !== s.numberOfPages]
92
84
  ]),
93
- o(s("li", {
85
+ o(l("li", {
94
86
  class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
95
- onClick: a[3] || (a[3] = (m) => c(e.value + 1))
87
+ onClick: a[3] || (a[3] = (m) => v(e.value + 1))
96
88
  }, [
97
- s("a", null, r(e.value + 1), 1)
89
+ l("a", null, r(e.value + 1), 1)
98
90
  ], 2), [
99
- [i, e.value < l.numberOfPages - 1]
91
+ [i, e.value < s.numberOfPages - 1]
100
92
  ]),
101
- o(s("li", {
93
+ o(l("li", {
102
94
  class: n([[t.value], "ds-cursor-default"])
103
95
  }, [
104
- s("a", null, r(g))
96
+ l("a", null, r(g))
105
97
  ], 2), [
106
- [i, e.value < l.numberOfPages - 2]
98
+ [i, e.value < s.numberOfPages - 2]
107
99
  ]),
108
- o(s("li", {
109
- class: n([[t.value, u(e.value === l.numberOfPages)], "ds-cursor-pointer"]),
110
- onClick: a[4] || (a[4] = (m) => c(l.numberOfPages))
100
+ o(l("li", {
101
+ class: n([[t.value, u(e.value === s.numberOfPages)], "ds-cursor-pointer"]),
102
+ onClick: a[4] || (a[4] = (m) => v(s.numberOfPages))
111
103
  }, [
112
- s("a", null, r(l.numberOfPages), 1)
104
+ l("a", null, r(s.numberOfPages), 1)
113
105
  ], 2), [
114
- [i, l.numberOfPages > 1]
106
+ [i, s.numberOfPages > 1]
115
107
  ]),
116
- s("li", {
108
+ l("li", {
117
109
  class: n([[t.value, u(!1)], "ds-cursor-pointer"]),
118
- onClick: h
119
- }, $, 2)
110
+ onClick: P
111
+ }, a[6] || (a[6] = [
112
+ l("svg", {
113
+ class: "ds-h-4 ds-w-4 ds-fill-black/80",
114
+ viewBox: "0 0 320 512",
115
+ xmlns: "http://www.w3.org/2000/svg"
116
+ }, [
117
+ l("path", { d: "M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z" })
118
+ ], -1)
119
+ ]), 2)
120
120
  ])
121
121
  ]));
122
122
  }
123
123
  });
124
124
  export {
125
- E as default
125
+ h as default
126
126
  };
127
127
  //# sourceMappingURL=design-system19.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system19.mjs","sources":["../src/components/BPagination.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-inline-flex ds-space-x-1\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\" })\n], -1)\nconst _hoisted_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n}, [\n /*#__PURE__*/_createElementVNode(\"path\", { d: \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\" })\n], -1)\nconst _hoisted_5 = [\n _hoisted_4\n]\n\nimport { BPaginationSize } from '@/constants/Enums';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BPaginationProps {\n /**\n * Start by 1.\n */\n modelValue: number;\n numberOfPages: number;\n /**\n * Bordered buttons.\n */\n border?: boolean;\n /**\n * Transparent background buttons.\n */\n transparent?: boolean;\n size?: `${BPaginationSize}`;\n}\n\nconst First = 1;\nconst EllipsisText = '...';\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BPagination',\n props: {\n modelValue: {},\n numberOfPages: {},\n border: { type: Boolean, default: false },\n transparent: { type: Boolean, default: false },\n size: { default: BPaginationSize.Medium }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst value = computed({\n get() {\n return props.modelValue + 1;\n },\n set(val: number) {\n emit('update:modelValue', val - 1);\n },\n});\nconst paginationItemClass = computed(() => {\n let result = `\n ds-flex ds-items-center ds-justify-center\n ds-rounded-lg `;\n\n if (props.border) {\n result += 'ds-border ds-border-gray-300 ';\n }\n\n switch (props.size) {\n case BPaginationSize.Small:\n result += `ds-w-8 ds-h-8 `;\n break;\n case BPaginationSize.Medium:\n default:\n result += `ds-w-10 ds-h-10 `;\n break;\n }\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst clickPage = (page: number) => {\n value.value = page;\n // Emitted when page changes via user interaction\n emit('change', value.value);\n};\nconst clickPrevious = () => {\n if (value.value > 1) {\n value.value--;\n emit('change', value.value);\n }\n};\nconst clickNext = () => {\n if (value.value < props.numberOfPages) {\n value.value++;\n emit('change', value.value);\n }\n};\nconst getActiveClass = (isActive: boolean = true) => {\n return isActive\n ? `ds-text-white ds-bg-primary-t `\n : `ds-text-black/80 ${\n props.transparent ? 'ds-bg-transparent' : 'ds-bg-white'\n }`;\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"nav\", null, [\n _createElementVNode(\"ul\", _hoisted_1, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-ml-0 ds-cursor-pointer\"]),\n onClick: clickPrevious\n }, _hoisted_3, 2),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[getActiveClass(value.value === 1), paginationItemClass.value], \"ds-cursor-pointer\"]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (clickPage(1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(First))\n ], 2),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value > 3]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (clickPage(value.value - 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value - 1), 1)\n ], 2), [\n [_vShow, value.value > 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass()], \"ds-cursor-pointer\"]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (clickPage(value.value)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value), 1)\n ], 2), [\n [_vShow, value.value !== 1 && value.value !== _ctx.numberOfPages]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (clickPage(value.value + 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value + 1), 1)\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 1]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(value.value === _ctx.numberOfPages)], \"ds-cursor-pointer\"]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (clickPage(_ctx.numberOfPages)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(_ctx.numberOfPages), 1)\n ], 2), [\n [_vShow, _ctx.numberOfPages > 1]\n ]),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: clickNext\n }, _hoisted_5, 2)\n ])\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_createElementVNode","_hoisted_3","_hoisted_4","_hoisted_5","First","EllipsisText","_sfc_main","_defineComponent","BPaginationSize","__props","__emit","props","emit","value","computed","val","paginationItemClass","result","clickPage","page","clickPrevious","clickNext","getActiveClass","isActive","_ctx","_cache","_openBlock","_createElementBlock","_normalizeClass","$event","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
1
+ {"version":3,"file":"design-system19.mjs","sources":["../src/components/BPagination.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, vShow as _vShow, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-inline-flex ds-space-x-1\" }\n\nimport { BPaginationSize } from '@/constants/Enums';\nimport { computed } from 'vue';\n\n//#region Props\nexport interface BPaginationProps {\n /**\n * Start by 1.\n */\n modelValue: number;\n numberOfPages: number;\n /**\n * Bordered buttons.\n */\n border?: boolean;\n /**\n * Transparent background buttons.\n */\n transparent?: boolean;\n size?: `${BPaginationSize}`;\n}\n\nconst First = 1;\nconst EllipsisText = '...';\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BPagination',\n props: {\n modelValue: {},\n numberOfPages: {},\n border: { type: Boolean, default: false },\n transparent: { type: Boolean, default: false },\n size: { default: BPaginationSize.Medium }\n },\n emits: [\"change\", \"update:modelValue\"],\n setup(__props: any, { emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst value = computed({\n get() {\n return props.modelValue + 1;\n },\n set(val: number) {\n emit('update:modelValue', val - 1);\n },\n});\nconst paginationItemClass = computed(() => {\n let result = `\n ds-flex ds-items-center ds-justify-center\n ds-rounded-lg `;\n\n if (props.border) {\n result += 'ds-border ds-border-gray-300 ';\n }\n\n switch (props.size) {\n case BPaginationSize.Small:\n result += `ds-w-8 ds-h-8 `;\n break;\n case BPaginationSize.Medium:\n default:\n result += `ds-w-10 ds-h-10 `;\n break;\n }\n\n return result;\n});\n//#endregion\n\n//#region Methods\nconst clickPage = (page: number) => {\n value.value = page;\n // Emitted when page changes via user interaction\n emit('change', value.value);\n};\nconst clickPrevious = () => {\n if (value.value > 1) {\n value.value--;\n emit('change', value.value);\n }\n};\nconst clickNext = () => {\n if (value.value < props.numberOfPages) {\n value.value++;\n emit('change', value.value);\n }\n};\nconst getActiveClass = (isActive: boolean = true) => {\n return isActive\n ? `ds-text-white ds-bg-primary-t `\n : `ds-text-black/80 ${\n props.transparent ? 'ds-bg-transparent' : 'ds-bg-white'\n }`;\n};\n//#endregion\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"nav\", null, [\n _createElementVNode(\"ul\", _hoisted_1, [\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-ml-0 ds-cursor-pointer\"]),\n onClick: clickPrevious\n }, _cache[5] || (_cache[5] = [\n _createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n _createElementVNode(\"path\", { d: \"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\" })\n ], -1)\n ]), 2),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[getActiveClass(value.value === 1), paginationItemClass.value], \"ds-cursor-pointer\"]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (clickPage(1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(First))\n ], 2),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value > 3]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => (clickPage(value.value - 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value - 1), 1)\n ], 2), [\n [_vShow, value.value > 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass()], \"ds-cursor-pointer\"]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => (clickPage(value.value)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value), 1)\n ], 2), [\n [_vShow, value.value !== 1 && value.value !== _ctx.numberOfPages]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: _cache[3] || (_cache[3] = ($event: any) => (clickPage(value.value + 1)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(value.value + 1), 1)\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 1]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value], \"ds-cursor-default\"])\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(EllipsisText))\n ], 2), [\n [_vShow, value.value < _ctx.numberOfPages - 2]\n ]),\n _withDirectives(_createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(value.value === _ctx.numberOfPages)], \"ds-cursor-pointer\"]),\n onClick: _cache[4] || (_cache[4] = ($event: any) => (clickPage(_ctx.numberOfPages)))\n }, [\n _createElementVNode(\"a\", null, _toDisplayString(_ctx.numberOfPages), 1)\n ], 2), [\n [_vShow, _ctx.numberOfPages > 1]\n ]),\n _createElementVNode(\"li\", {\n class: _normalizeClass([[paginationItemClass.value, getActiveClass(false)], \"ds-cursor-pointer\"]),\n onClick: clickNext\n }, _cache[6] || (_cache[6] = [\n _createElementVNode(\"svg\", {\n class: \"ds-h-4 ds-w-4 ds-fill-black/80\",\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, [\n _createElementVNode(\"path\", { d: \"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\" })\n ], -1)\n ]), 2)\n ])\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","First","EllipsisText","_sfc_main","_defineComponent","BPaginationSize","__props","__emit","props","emit","value","computed","val","paginationItemClass","result","clickPage","page","clickPrevious","clickNext","getActiveClass","isActive","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_normalizeClass","$event","_toDisplayString","_withDirectives","_vShow"],"mappings":"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"}
@@ -1,19 +1,15 @@
1
- import { defineComponent as J, ref as i, computed as k, watch as E, nextTick as L, onMounted as K, onBeforeUnmount as Q, openBlock as o, createElementBlock as d, createElementVNode as n, createVNode as X, createBlock as R, withCtx as Y, normalizeClass as r, toDisplayString as M, createTextVNode as Z, withDirectives as ee, Fragment as se, renderList as te, vShow as le, unref as oe, createCommentVNode as ae } from "vue";
1
+ import { defineComponent as J, ref as r, computed as h, watch as M, nextTick as R, onMounted as K, onBeforeUnmount as Q, openBlock as o, createElementBlock as d, createElementVNode as n, createVNode as X, createBlock as P, withCtx as Y, normalizeClass as i, toDisplayString as $, createTextVNode as Z, withDirectives as ee, Fragment as se, renderList as te, vShow as le, unref as oe, createCommentVNode as ae } from "vue";
2
2
  import { useValidationField as de } from "./design-system3.mjs";
3
- import { lockScrollBody as ne, unlockScrollBody as P, ensureVisiblePosition as ue, resetPosition as ie } from "./design-system6.mjs";
4
- import { useI18n as re } from "./design-system49.mjs";
3
+ import { lockScrollBody as ne, unlockScrollBody as S, ensureVisiblePosition as ue, resetPosition as re } from "./design-system6.mjs";
4
+ import { useI18n as ie } from "./design-system49.mjs";
5
5
  import ce from "./design-system14.mjs";
6
6
  import ve from "./design-system15.mjs";
7
7
  import pe from "./design-system39.mjs";
8
8
  import fe from "./design-system98.mjs";
9
- const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1), he = [
10
- me
11
- ], be = ["id", "disabled"], ge = { key: 0 }, ke = {
9
+ const me = ["id", "disabled"], be = { key: 0 }, ge = {
12
10
  key: 1,
13
11
  class: "ds-text-black/[0.4]"
14
- }, we = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1), ye = [
15
- we
16
- ], Ce = ["id", "data-cy", "data-ut"], xe = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, _e = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, Ee = ["onClick"], Te = /* @__PURE__ */ J({
12
+ }, ke = ["id", "data-cy", "data-ut"], he = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, we = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, ye = ["onClick"], Re = /* @__PURE__ */ J({
17
13
  __name: "BSelect",
18
14
  props: {
19
15
  inputId: { default: "" },
@@ -31,37 +27,37 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
31
27
  allowInput: { type: Boolean, default: !1 }
32
28
  },
33
29
  emits: ["change", "open", "close", "change:input", "update:modelValue"],
34
- setup(S, { expose: T, emit: z }) {
35
- const s = S, c = z, v = i(null), w = i(null), p = i(null), a = i(!1), { t: D } = re(), F = {
30
+ setup(T, { expose: _, emit: z }) {
31
+ const t = T, c = z, v = r(null), w = r(null), p = r(null), a = r(!1), { t: D } = ie(), F = {
36
32
  validateRule: (e) => !!e,
37
- errorMessage: () => s.requiredErrorMessage || D("ds.global.field_required")
38
- }, y = i(""), f = i(), m = k(() => s.inputId || `id-${fe()}`), u = k({
33
+ errorMessage: () => t.requiredErrorMessage || D("ds.global.field_required")
34
+ }, y = r(""), f = r(), m = h(() => t.inputId || `id-${fe()}`), u = h({
39
35
  get() {
40
- return s.modelValue;
36
+ return t.modelValue;
41
37
  },
42
38
  set(e) {
43
39
  c("update:modelValue", e);
44
40
  }
45
- }), N = k(() => {
41
+ }), N = h(() => {
46
42
  let e = "ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between ";
47
- return e += s.disabled ? "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] " : "ds-bg-white ds-text-black/[0.85] ", e += B.value.valid ? "ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus " : "ds-border-error focus:ds-ring-1 focus:ds-ring-error ", e;
48
- }), O = k(() => {
43
+ return e += t.disabled ? "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] " : "ds-bg-white ds-text-black/[0.85] ", e += V.value.valid ? "ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus " : "ds-border-error focus:ds-ring-1 focus:ds-ring-error ", e;
44
+ }), O = h(() => {
49
45
  let e = [];
50
- return s.required && e.push(F), s.validationRules && (e = e.concat(s.validationRules)), e.length ? e : void 0;
51
- }), { validate: $, validationResult: B } = de(
46
+ return t.required && e.push(F), t.validationRules && (e = e.concat(t.validationRules)), e.length ? e : void 0;
47
+ }), { validate: B, validationResult: V } = de(
52
48
  m.value,
53
49
  u,
54
50
  O.value
55
51
  );
56
- E(a, (e) => {
57
- e ? (ne(), G(), c("open")) : (P(), q(), c("close"));
58
- }), E(u, () => {
59
- C(), h();
60
- }), E(
61
- () => s.items,
52
+ M(a, (e) => {
53
+ e ? (ne(), G(), c("open")) : (S(), L(), c("close"));
54
+ }), M(u, () => {
55
+ C(), b();
56
+ }), M(
57
+ () => t.items,
62
58
  () => {
63
59
  var e;
64
- u.value && !((e = f.value) != null && e.value) && (C(), h());
60
+ u.value && !((e = f.value) != null && e.value) && (C(), b());
65
61
  },
66
62
  {
67
63
  deep: !0
@@ -69,44 +65,44 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
69
65
  );
70
66
  const C = () => {
71
67
  var e;
72
- f.value = (e = s.items) == null ? void 0 : e.find((t) => t.value === u.value);
73
- }, h = () => {
68
+ f.value = (e = t.items) == null ? void 0 : e.find((s) => s.value === u.value);
69
+ }, b = () => {
74
70
  var e;
75
- s.allowInput && (y.value = ((e = f.value) == null ? void 0 : e.text) || "");
71
+ t.allowInput && (y.value = ((e = f.value) == null ? void 0 : e.text) || "");
76
72
  }, U = () => {
77
- document.addEventListener("keydown", V);
78
- }, V = (e) => {
73
+ document.addEventListener("keydown", I);
74
+ }, I = (e) => {
79
75
  e.key === "Escape" && x();
80
76
  }, W = () => {
81
- document.addEventListener("click", I);
82
- }, I = (e) => {
83
- [v.value, p.value].some((b) => e.composedPath().includes(b)) || x();
77
+ document.addEventListener("click", q);
78
+ }, q = (e) => {
79
+ [v.value, p.value].some((g) => e.composedPath().includes(g)) || x();
84
80
  }, j = (e) => {
85
- u.value = e.value, x(), c("change", e.value), L(() => {
86
- $();
81
+ u.value = e.value, x(), c("change", e.value), R(() => {
82
+ B();
87
83
  });
88
- }, A = (e, t) => {
89
- t.style.width = `${e.offsetWidth}px`;
84
+ }, A = (e, s) => {
85
+ s.style.width = `${e.offsetWidth}px`;
90
86
  }, G = () => {
91
- L(() => {
87
+ R(() => {
92
88
  ue(v.value, p.value), A(v.value, p.value);
93
89
  });
94
- }, q = () => {
95
- ie(v.value, p.value);
90
+ }, L = () => {
91
+ re(v.value, p.value);
96
92
  }, H = (e) => {
97
93
  c("change:input", e);
98
94
  }, x = () => {
99
95
  var e;
100
- a.value = !1, (e = w.value) == null || e.blur(), h();
96
+ a.value = !1, (e = w.value) == null || e.blur(), b();
101
97
  };
102
98
  return (() => {
103
- C(), h();
99
+ C(), b();
104
100
  })(), K(() => {
105
101
  U(), W();
106
102
  }), Q(() => {
107
- document.removeEventListener("keydown", V), document.removeEventListener("click", I), P(), q();
108
- }), T({ validate: $, selectMenu: a }), (e, t) => {
109
- var _, b;
103
+ document.removeEventListener("keydown", I), document.removeEventListener("click", q), S(), L();
104
+ }), _({ validate: B, selectMenu: a }), (e, s) => {
105
+ var E, g;
110
106
  return o(), d("div", null, [
111
107
  n("div", {
112
108
  ref_key: "selectEl",
@@ -117,84 +113,88 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
117
113
  label: e.label,
118
114
  required: e.required
119
115
  }, null, 8, ["id", "label", "required"]),
120
- s.allowInput ? (o(), R(pe, {
116
+ t.allowInput ? (o(), P(pe, {
121
117
  key: 0,
122
118
  id: m.value,
123
119
  ref_key: "inputRef",
124
120
  ref: w,
125
121
  modelValue: y.value,
126
122
  "onUpdate:modelValue": [
127
- t[0] || (t[0] = (l) => y.value = l),
123
+ s[0] || (s[0] = (l) => y.value = l),
128
124
  H
129
125
  ],
130
- disabled: s.disabled,
131
- placeholder: s.placeholder,
126
+ disabled: t.disabled,
127
+ placeholder: t.placeholder,
132
128
  "hide-details": "",
133
- onFocus: t[1] || (t[1] = (l) => a.value = !0),
134
- "onClick:append": t[2] || (t[2] = (l) => {
135
- var g;
136
- return (g = w.value) == null ? void 0 : g.focus();
129
+ onFocus: s[1] || (s[1] = (l) => a.value = !0),
130
+ "onClick:append": s[2] || (s[2] = (l) => {
131
+ var k;
132
+ return (k = w.value) == null ? void 0 : k.focus();
137
133
  })
138
134
  }, {
139
135
  appendIcon: Y(() => [
140
136
  (o(), d("svg", {
141
- class: r([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
137
+ class: i([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
142
138
  viewBox: "0 0 320 512",
143
139
  xmlns: "http://www.w3.org/2000/svg"
144
- }, he, 2))
140
+ }, s[4] || (s[4] = [
141
+ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
142
+ ]), 2))
145
143
  ]),
146
144
  _: 1
147
145
  }, 8, ["id", "modelValue", "disabled", "placeholder"])) : (o(), d("button", {
148
146
  key: 1,
149
147
  id: m.value,
150
- class: r(N.value),
151
- disabled: s.disabled,
148
+ class: i(N.value),
149
+ disabled: t.disabled,
152
150
  type: "button",
153
- onClick: t[3] || (t[3] = (l) => a.value = !a.value)
151
+ onClick: s[3] || (s[3] = (l) => a.value = !a.value)
154
152
  }, [
155
153
  n("span", {
156
- class: r([e.valueCssClass, "ds-truncate"])
154
+ class: i([e.valueCssClass, "ds-truncate"])
157
155
  }, [
158
- (_ = f.value) != null && _.text ? (o(), d("span", ge, M((b = f.value) == null ? void 0 : b.text), 1)) : (o(), d("span", ke, M(s.placeholder), 1))
156
+ (E = f.value) != null && E.text ? (o(), d("span", be, $((g = f.value) == null ? void 0 : g.text), 1)) : (o(), d("span", ge, $(t.placeholder), 1))
159
157
  ], 2),
160
- Z("   "),
158
+ s[6] || (s[6] = Z("   ")),
161
159
  (o(), d("svg", {
162
- class: r([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
160
+ class: i([[a.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
163
161
  viewBox: "0 0 320 512",
164
162
  xmlns: "http://www.w3.org/2000/svg"
165
- }, ye, 2))
166
- ], 10, be)),
163
+ }, s[5] || (s[5] = [
164
+ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z" }, null, -1)
165
+ ]), 2))
166
+ ], 10, me)),
167
167
  ee(n("div", {
168
168
  id: `${m.value}Menu`,
169
169
  ref_key: "selectMenuEl",
170
170
  ref: p,
171
- class: r([e.menuCssClass, "ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1"]),
171
+ class: i([e.menuCssClass, "ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1"]),
172
172
  "data-cy": e.$attrs["data-cy"] ? `${e.$attrs["data-cy"]}Menu` : void 0,
173
173
  "data-ut": e.$attrs["data-ut"] ? `${e.$attrs["data-ut"]}Menu` : void 0
174
174
  }, [
175
- n("div", xe, [
176
- n("ul", _e, [
177
- (o(!0), d(se, null, te(e.items, (l, g) => (o(), d("li", {
178
- key: `item${g}`,
175
+ n("div", he, [
176
+ n("ul", we, [
177
+ (o(!0), d(se, null, te(e.items, (l, k) => (o(), d("li", {
178
+ key: `item${k}`,
179
179
  class: "ds-cursor-pointer",
180
- onClick: ($e) => j(l)
180
+ onClick: (xe) => j(l)
181
181
  }, [
182
182
  n("a", {
183
- class: r([
183
+ class: i([
184
184
  l.cssClass + `${l.value === u.value ? " ds-bg-gray-150" : ""}`,
185
185
  "ds-block ds-px-4 ds-py-2 hover:ds-bg-gray-150"
186
186
  ])
187
- }, M(l == null ? void 0 : l.text), 3)
188
- ], 8, Ee))), 128))
187
+ }, $(l == null ? void 0 : l.text), 3)
188
+ ], 8, ye))), 128))
189
189
  ])
190
190
  ])
191
- ], 10, Ce), [
191
+ ], 10, ke), [
192
192
  [le, a.value]
193
193
  ])
194
194
  ], 512),
195
- e.hideDetails ? ae("", !0) : (o(), R(ce, {
195
+ e.hideDetails ? ae("", !0) : (o(), P(ce, {
196
196
  key: 0,
197
- "error-message": oe(B).errorMessage(),
197
+ "error-message": oe(V).errorMessage(),
198
198
  class: "ds-mt-1"
199
199
  }, null, 8, ["error-message"]))
200
200
  ]);
@@ -202,6 +202,6 @@ const me = /* @__PURE__ */ n("path", { d: "M137.4 374.6c12.5 12.5 32.8 12.5 45.3
202
202
  }
203
203
  });
204
204
  export {
205
- Te as default
205
+ Re as default
206
206
  };
207
207
  //# sourceMappingURL=design-system20.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system20.mjs","sources":["../src/components/BSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, vShow as _vShow, withDirectives as _withDirectives, unref as _unref } from \"vue\"\n\nconst _hoisted_1 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\nconst _hoisted_2 = [\n _hoisted_1\n]\nconst _hoisted_3 = [\"id\", \"disabled\"]\nconst _hoisted_4 = { key: 0 }\nconst _hoisted_5 = {\n key: 1,\n class: \"ds-text-black/[0.4]\"\n}\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\nconst _hoisted_8 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_9 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_10 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_11 = [\"onClick\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport {\n ensureVisiblePosition,\n lockScrollBody,\n resetPosition,\n unlockScrollBody,\n} from '@/helpers/ComponentHelper';\nimport type { DisplayItem } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\n\n//#region Props\nexport interface BSelectProps {\n inputId?: string;\n modelValue: string | number;\n label?: string;\n items: DisplayItem[];\n disabled?: boolean;\n placeholder?: string;\n valueCssClass?: string;\n menuCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BSelect',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n items: {},\n disabled: { type: Boolean, default: false },\n placeholder: { default: '' },\n valueCssClass: { default: '' },\n menuCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\"change\", \"open\", \"close\", \"change:input\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst selectEl = ref<HTMLElement | null>(null);\nconst inputRef = ref<InstanceType<typeof BTextField> | null>(null);\nconst selectMenuEl = ref<HTMLElement | null>(null);\nconst selectMenu = ref(false);\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItem = ref<DisplayItem>();\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst btnCssClass = computed(() => {\n let result = `ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between `;\n result += props.disabled\n ? `ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] `\n : `ds-bg-white ds-text-black/[0.85] `;\n result += !validationResult.value.valid\n ? `ds-border-error focus:ds-ring-1 focus:ds-ring-error `\n : `ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus `;\n\n return result;\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Watchers\nwatch(selectMenu, (val) => {\n if (val) {\n lockScrollBody();\n ensureMenuPosition();\n emit('open');\n } else {\n unlockScrollBody();\n resetMenuPosition();\n emit('close');\n }\n});\nwatch(value, () => {\n ensureSelectedItem();\n ensureInputText();\n});\nwatch(\n () => props.items,\n () => {\n if (value.value && !selectedItem.value?.value) {\n ensureSelectedItem();\n ensureInputText();\n }\n },\n {\n deep: true,\n },\n);\n//#endregion\n\n//#region Methods\nconst ensureSelectedItem = () => {\n selectedItem.value = props.items?.find((i) => i.value === value.value);\n};\nconst ensureInputText = () => {\n if (props.allowInput) {\n inputText.value = selectedItem.value?.text || '';\n }\n};\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSelectMenu();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [selectEl.value, selectMenuEl.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n closeSelectMenu();\n }\n};\nconst onClickItem = (item: DisplayItem) => {\n value.value = item.value;\n closeSelectMenu();\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n};\nconst ensureMenuWidth = (parentEl: HTMLElement, menuEl: HTMLElement) => {\n menuEl.style.width = `${parentEl.offsetWidth}px`;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(selectEl.value!, selectMenuEl.value!);\n ensureMenuWidth(selectEl.value!, selectMenuEl.value!);\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(selectEl.value!, selectMenuEl.value!);\n};\nconst onChangeInputText = (text: string) => {\n emit('change:input', text);\n};\nconst closeSelectMenu = () => {\n selectMenu.value = false;\n inputRef.value?.blur();\n ensureInputText();\n};\nconst init = () => {\n ensureSelectedItem();\n ensureInputText();\n};\ninit();\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n});\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n unlockScrollBody();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n//#endregion\n\n__expose({ validate, selectMenu });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", {\n ref_key: \"selectEl\",\n ref: selectEl\n }, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createBlock(BTextField, {\n key: 0,\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n modelValue: inputText.value,\n \"onUpdate:modelValue\": [\n _cache[0] || (_cache[0] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n placeholder: props.placeholder,\n \"hide-details\": \"\",\n onFocus: _cache[1] || (_cache[1] = ($event: any) => (selectMenu.value = true)),\n \"onClick:append\": _cache[2] || (_cache[2] = ($event: any) => (inputRef.value?.focus()))\n }, {\n appendIcon: _withCtx(() => [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _hoisted_2, 2))\n ]),\n _: 1\n }, 8, [\"id\", \"modelValue\", \"disabled\", \"placeholder\"]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: props.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate\"])\n }, [\n (selectedItem.value?.text)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_4, _toDisplayString(selectedItem.value?.text), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_5, _toDisplayString(props.placeholder), 1))\n ], 2),\n _createTextVNode(\"   \"),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _hoisted_7, 2))\n ], 10, _hoisted_3)),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"selectMenuEl\",\n ref: selectMenuEl,\n class: _normalizeClass([_ctx.menuCssClass, \"ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"ul\", _hoisted_10, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item${index}`,\n class: \"ds-cursor-pointer\",\n onClick: ($event: any) => (onClickItem(item))\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([\n item.cssClass +\n `${item.value === value.value ? ' ds-bg-gray-150' : ''}`\n , \"ds-block ds-px-4 ds-py-2 hover:ds-bg-gray-150\"])\n }, _toDisplayString(item?.text), 3)\n ], 8, _hoisted_11))\n }), 128))\n ])\n ])\n ], 10, _hoisted_8), [\n [_vShow, selectMenu.value]\n ])\n ], 512),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItem","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItem","ensureInputText","_a","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","item","nextTick","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_createBlock","BTextField","$event","_withCtx","_normalizeClass","_toDisplayString","_b","_createTextVNode","_withDirectives","_Fragment","_renderList","index","_vShow","_createCommentVNode","BErrorMessage","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"design-system20.mjs","sources":["../src/components/BSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, vShow as _vShow, withDirectives as _withDirectives, unref as _unref } from \"vue\"\n\nconst _hoisted_1 = [\"id\", \"disabled\"]\nconst _hoisted_2 = { key: 0 }\nconst _hoisted_3 = {\n key: 1,\n class: \"ds-text-black/[0.4]\"\n}\nconst _hoisted_4 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_5 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_6 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_7 = [\"onClick\"]\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport {\n ensureVisiblePosition,\n lockScrollBody,\n resetPosition,\n unlockScrollBody,\n} from '@/helpers/ComponentHelper';\nimport type { DisplayItem } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\n\n//#region Props\nexport interface BSelectProps {\n inputId?: string;\n modelValue: string | number;\n label?: string;\n items: DisplayItem[];\n disabled?: boolean;\n placeholder?: string;\n valueCssClass?: string;\n menuCssClass?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\n\nexport default /*@__PURE__*/_defineComponent({\n __name: 'BSelect',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n items: {},\n disabled: { type: Boolean, default: false },\n placeholder: { default: '' },\n valueCssClass: { default: '' },\n menuCssClass: { default: '' },\n validationRules: { default: undefined },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n hideDetails: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\"change\", \"open\", \"close\", \"change:input\", \"update:modelValue\"],\n setup(__props: any, { expose: __expose, emit: __emit }) {\n\nconst props = __props;\n//#endregion\n\n//#region Events\nconst emit = __emit;\n//#endregion\n\n//#region Data\nconst selectEl = ref<HTMLElement | null>(null);\nconst inputRef = ref<InstanceType<typeof BTextField> | null>(null);\nconst selectMenuEl = ref<HTMLElement | null>(null);\nconst selectMenu = ref(false);\nconst { t } = useI18n();\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItem = ref<DisplayItem>();\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst btnCssClass = computed(() => {\n let result = `ds-border ds-drop-shadow-light ds-text-sm ds-h-[40px] ds-px-3 ds-rounded-lg ds-block ds-w-full ds-inline-flex ds-items-center ds-justify-between `;\n result += props.disabled\n ? `ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4] `\n : `ds-bg-white ds-text-black/[0.85] `;\n result += !validationResult.value.valid\n ? `ds-border-error focus:ds-ring-1 focus:ds-ring-error `\n : `ds-border-black/10 focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus `;\n\n return result;\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Watchers\nwatch(selectMenu, (val) => {\n if (val) {\n lockScrollBody();\n ensureMenuPosition();\n emit('open');\n } else {\n unlockScrollBody();\n resetMenuPosition();\n emit('close');\n }\n});\nwatch(value, () => {\n ensureSelectedItem();\n ensureInputText();\n});\nwatch(\n () => props.items,\n () => {\n if (value.value && !selectedItem.value?.value) {\n ensureSelectedItem();\n ensureInputText();\n }\n },\n {\n deep: true,\n },\n);\n//#endregion\n\n//#region Methods\nconst ensureSelectedItem = () => {\n selectedItem.value = props.items?.find((i) => i.value === value.value);\n};\nconst ensureInputText = () => {\n if (props.allowInput) {\n inputText.value = selectedItem.value?.text || '';\n }\n};\nconst initPressEscapeEventListener = () => {\n document.addEventListener('keydown', closeOnEscapePressed);\n};\nconst closeOnEscapePressed = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n closeSelectMenu();\n }\n};\nconst initClickOutsideEventListener = () => {\n document.addEventListener('click', closeOnClickOutside);\n};\nconst closeOnClickOutside = (event: any) => {\n const refs = [selectEl.value, selectMenuEl.value];\n const withinBoundaries = refs.some((r) => event.composedPath().includes(r));\n if (!withinBoundaries) {\n closeSelectMenu();\n }\n};\nconst onClickItem = (item: DisplayItem) => {\n value.value = item.value;\n closeSelectMenu();\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n};\nconst ensureMenuWidth = (parentEl: HTMLElement, menuEl: HTMLElement) => {\n menuEl.style.width = `${parentEl.offsetWidth}px`;\n};\nconst ensureMenuPosition = () => {\n nextTick(() => {\n ensureVisiblePosition(selectEl.value!, selectMenuEl.value!);\n ensureMenuWidth(selectEl.value!, selectMenuEl.value!);\n });\n};\nconst resetMenuPosition = () => {\n resetPosition(selectEl.value!, selectMenuEl.value!);\n};\nconst onChangeInputText = (text: string) => {\n emit('change:input', text);\n};\nconst closeSelectMenu = () => {\n selectMenu.value = false;\n inputRef.value?.blur();\n ensureInputText();\n};\nconst init = () => {\n ensureSelectedItem();\n ensureInputText();\n};\ninit();\n//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n initPressEscapeEventListener();\n initClickOutsideEventListener();\n});\nonBeforeUnmount(() => {\n document.removeEventListener('keydown', closeOnEscapePressed);\n document.removeEventListener('click', closeOnClickOutside);\n unlockScrollBody();\n // Make sure dropdown menu unmounted with itself\n resetMenuPosition();\n});\n//#endregion\n\n__expose({ validate, selectMenu });\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createElementVNode(\"div\", {\n ref_key: \"selectEl\",\n ref: selectEl\n }, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createBlock(BTextField, {\n key: 0,\n id: id.value,\n ref_key: \"inputRef\",\n ref: inputRef,\n modelValue: inputText.value,\n \"onUpdate:modelValue\": [\n _cache[0] || (_cache[0] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n placeholder: props.placeholder,\n \"hide-details\": \"\",\n onFocus: _cache[1] || (_cache[1] = ($event: any) => (selectMenu.value = true)),\n \"onClick:append\": _cache[2] || (_cache[2] = ($event: any) => (inputRef.value?.focus()))\n }, {\n appendIcon: _withCtx(() => [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _cache[4] || (_cache[4] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ]),\n _: 1\n }, 8, [\"id\", \"modelValue\", \"disabled\", \"placeholder\"]))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: props.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n _createElementVNode(\"span\", {\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate\"])\n }, [\n (selectedItem.value?.text)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, _toDisplayString(selectedItem.value?.text), 1))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_3, _toDisplayString(props.placeholder), 1))\n ], 2),\n _cache[6] || (_cache[6] = _createTextVNode(\"   \")),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[selectMenu.value ? 'ds-rotate-180' : ''], \"ds-h-4 ds-w-4 ds-transition-transform\"]),\n viewBox: \"0 0 320 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _cache[5] || (_cache[5] = [\n _createElementVNode(\"path\", { d: \"M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z\" }, null, -1)\n ]), 2))\n ], 10, _hoisted_1)),\n _withDirectives(_createElementVNode(\"div\", {\n id: `${id.value}Menu`,\n ref_key: \"selectMenuEl\",\n ref: selectMenuEl,\n class: _normalizeClass([_ctx.menuCssClass, \"ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1\"]),\n \"data-cy\": _ctx.$attrs['data-cy'] ? `${_ctx.$attrs['data-cy']}Menu` : undefined,\n \"data-ut\": _ctx.$attrs['data-ut'] ? `${_ctx.$attrs['data-ut']}Menu` : undefined\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"ul\", _hoisted_6, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.items, (item, index) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: `item${index}`,\n class: \"ds-cursor-pointer\",\n onClick: ($event: any) => (onClickItem(item))\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([\n item.cssClass +\n `${item.value === value.value ? ' ds-bg-gray-150' : ''}`\n , \"ds-block ds-px-4 ds-py-2 hover:ds-bg-gray-150\"])\n }, _toDisplayString(item?.text), 3)\n ], 8, _hoisted_7))\n }), 128))\n ])\n ])\n ], 10, _hoisted_4), [\n [_vShow, selectMenu.value]\n ])\n ], 512),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_main","_defineComponent","__props","__expose","__emit","props","emit","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItem","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItem","ensureInputText","_a","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","item","nextTick","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_createBlock","BTextField","$event","_withCtx","_normalizeClass","_toDisplayString","_b","_createTextVNode","_withDirectives","_Fragment","_renderList","index","_vShow","_createCommentVNode","BErrorMessage","_unref"],"mappings":"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"}