@7pmlabs/design-system 0.3.2 → 0.3.4

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 (344) hide show
  1. package/README.md +5 -5
  2. package/dist/design-system100.js +1 -1
  3. package/dist/design-system100.js.map +1 -1
  4. package/dist/design-system100.mjs +59 -2164
  5. package/dist/design-system100.mjs.map +1 -1
  6. package/dist/design-system101.js +1 -1
  7. package/dist/design-system101.js.map +1 -1
  8. package/dist/design-system101.mjs +2164 -59
  9. package/dist/design-system101.mjs.map +1 -1
  10. package/dist/design-system102.js +1 -1
  11. package/dist/design-system102.js.map +1 -1
  12. package/dist/design-system102.mjs +1103 -75
  13. package/dist/design-system102.mjs.map +1 -1
  14. package/dist/design-system103.js +1 -1
  15. package/dist/design-system103.js.map +1 -1
  16. package/dist/design-system103.mjs +24 -5
  17. package/dist/design-system103.mjs.map +1 -1
  18. package/dist/design-system105.js +1 -1
  19. package/dist/design-system105.js.map +1 -1
  20. package/dist/design-system105.mjs +2 -4
  21. package/dist/design-system105.mjs.map +1 -1
  22. package/dist/design-system106.js +1 -1
  23. package/dist/design-system106.js.map +1 -1
  24. package/dist/design-system106.mjs +4 -8
  25. package/dist/design-system106.mjs.map +1 -1
  26. package/dist/design-system107.js +1 -1
  27. package/dist/design-system107.js.map +1 -1
  28. package/dist/design-system107.mjs +7 -6
  29. package/dist/design-system107.mjs.map +1 -1
  30. package/dist/design-system108.js +1 -1
  31. package/dist/design-system108.js.map +1 -1
  32. package/dist/design-system108.mjs +7 -2
  33. package/dist/design-system108.mjs.map +1 -1
  34. package/dist/design-system109.js +1 -1
  35. package/dist/design-system109.mjs +2 -2
  36. package/dist/design-system11.js +1 -1
  37. package/dist/design-system11.js.map +1 -1
  38. package/dist/design-system11.mjs +41 -47
  39. package/dist/design-system11.mjs.map +1 -1
  40. package/dist/design-system110.js +1 -1
  41. package/dist/design-system110.mjs +2 -2
  42. package/dist/design-system12.js +7 -1
  43. package/dist/design-system12.js.map +1 -1
  44. package/dist/design-system12.mjs +83 -72
  45. package/dist/design-system12.mjs.map +1 -1
  46. package/dist/design-system120.js +1 -1
  47. package/dist/design-system120.mjs +1 -1
  48. package/dist/design-system122.js +1 -1
  49. package/dist/design-system122.mjs +1 -1
  50. package/dist/design-system123.js +1 -1
  51. package/dist/design-system123.mjs +6 -6
  52. package/dist/design-system126.js +1 -1
  53. package/dist/design-system126.mjs +3 -3
  54. package/dist/design-system13.js +7 -1
  55. package/dist/design-system13.js.map +1 -1
  56. package/dist/design-system13.mjs +101 -90
  57. package/dist/design-system13.mjs.map +1 -1
  58. package/dist/design-system131.js +1 -1
  59. package/dist/design-system131.mjs +1 -1
  60. package/dist/design-system136.js +1 -1
  61. package/dist/design-system136.mjs +2 -2
  62. package/dist/design-system138.js +1 -1
  63. package/dist/design-system138.mjs +1 -1
  64. package/dist/design-system14.js +1 -1
  65. package/dist/design-system14.js.map +1 -1
  66. package/dist/design-system14.mjs +46 -42
  67. package/dist/design-system14.mjs.map +1 -1
  68. package/dist/design-system140.js +1 -1
  69. package/dist/design-system140.js.map +1 -1
  70. package/dist/design-system140.mjs +2 -12
  71. package/dist/design-system140.mjs.map +1 -1
  72. package/dist/design-system141.js +1 -1
  73. package/dist/design-system141.js.map +1 -1
  74. package/dist/design-system141.mjs +11 -7
  75. package/dist/design-system141.mjs.map +1 -1
  76. package/dist/design-system142.js +1 -1
  77. package/dist/design-system142.js.map +1 -1
  78. package/dist/design-system142.mjs +7 -9
  79. package/dist/design-system142.mjs.map +1 -1
  80. package/dist/design-system143.js +1 -1
  81. package/dist/design-system143.js.map +1 -1
  82. package/dist/design-system143.mjs +9 -5
  83. package/dist/design-system143.mjs.map +1 -1
  84. package/dist/design-system144.js +1 -1
  85. package/dist/design-system144.js.map +1 -1
  86. package/dist/design-system144.mjs +6 -10
  87. package/dist/design-system144.mjs.map +1 -1
  88. package/dist/design-system145.js +1 -1
  89. package/dist/design-system145.js.map +1 -1
  90. package/dist/design-system145.mjs +10 -2
  91. package/dist/design-system145.mjs.map +1 -1
  92. package/dist/design-system147.js +1 -1
  93. package/dist/design-system147.mjs +1 -1
  94. package/dist/design-system148.js +1 -1
  95. package/dist/design-system148.mjs +1 -1
  96. package/dist/design-system151.js +1 -1
  97. package/dist/design-system151.mjs +1 -1
  98. package/dist/design-system152.js +1 -1
  99. package/dist/design-system152.mjs +2 -2
  100. package/dist/design-system153.js +1 -1
  101. package/dist/design-system153.mjs +1 -1
  102. package/dist/design-system154.js +1 -1
  103. package/dist/design-system154.mjs +2 -2
  104. package/dist/design-system157.js +1 -1
  105. package/dist/design-system157.mjs +1 -1
  106. package/dist/design-system16.js +1 -1
  107. package/dist/design-system16.js.map +1 -1
  108. package/dist/design-system16.mjs +1 -1
  109. package/dist/design-system16.mjs.map +1 -1
  110. package/dist/design-system161.js +1 -1
  111. package/dist/design-system161.js.map +1 -1
  112. package/dist/design-system161.mjs +3 -2
  113. package/dist/design-system161.mjs.map +1 -1
  114. package/dist/design-system162.js +1 -1
  115. package/dist/design-system162.js.map +1 -1
  116. package/dist/design-system162.mjs +4 -3
  117. package/dist/design-system162.mjs.map +1 -1
  118. package/dist/design-system163.js +1 -1
  119. package/dist/design-system163.js.map +1 -1
  120. package/dist/design-system163.mjs +13 -4
  121. package/dist/design-system163.mjs.map +1 -1
  122. package/dist/design-system164.js +1 -1
  123. package/dist/design-system164.js.map +1 -1
  124. package/dist/design-system164.mjs +4 -12
  125. package/dist/design-system164.mjs.map +1 -1
  126. package/dist/design-system165.js +1 -1
  127. package/dist/design-system165.js.map +1 -1
  128. package/dist/design-system165.mjs +4 -5
  129. package/dist/design-system165.mjs.map +1 -1
  130. package/dist/design-system166.js +1 -1
  131. package/dist/design-system166.js.map +1 -1
  132. package/dist/design-system166.mjs +5 -4
  133. package/dist/design-system166.mjs.map +1 -1
  134. package/dist/design-system167.js +1 -1
  135. package/dist/design-system167.js.map +1 -1
  136. package/dist/design-system167.mjs +5 -5
  137. package/dist/design-system167.mjs.map +1 -1
  138. package/dist/design-system168.js +1 -1
  139. package/dist/design-system168.js.map +1 -1
  140. package/dist/design-system168.mjs +4 -4
  141. package/dist/design-system168.mjs.map +1 -1
  142. package/dist/design-system169.js +1 -1
  143. package/dist/design-system169.js.map +1 -1
  144. package/dist/design-system169.mjs +5 -5
  145. package/dist/design-system169.mjs.map +1 -1
  146. package/dist/design-system17.js +1 -1
  147. package/dist/design-system17.js.map +1 -1
  148. package/dist/design-system17.mjs +118 -113
  149. package/dist/design-system17.mjs.map +1 -1
  150. package/dist/design-system170.js +1 -1
  151. package/dist/design-system170.js.map +1 -1
  152. package/dist/design-system170.mjs +4 -4
  153. package/dist/design-system170.mjs.map +1 -1
  154. package/dist/design-system171.js +1 -1
  155. package/dist/design-system171.js.map +1 -1
  156. package/dist/design-system171.mjs +15 -5
  157. package/dist/design-system171.mjs.map +1 -1
  158. package/dist/design-system172.js +1 -1
  159. package/dist/design-system172.js.map +1 -1
  160. package/dist/design-system172.mjs +13 -14
  161. package/dist/design-system172.mjs.map +1 -1
  162. package/dist/design-system173.js +1 -1
  163. package/dist/design-system173.js.map +1 -1
  164. package/dist/design-system173.mjs +8 -13
  165. package/dist/design-system173.mjs.map +1 -1
  166. package/dist/design-system174.js +1 -1
  167. package/dist/design-system174.js.map +1 -1
  168. package/dist/design-system174.mjs +4 -9
  169. package/dist/design-system174.mjs.map +1 -1
  170. package/dist/design-system175.js +1 -1
  171. package/dist/design-system175.js.map +1 -1
  172. package/dist/design-system175.mjs +6 -4
  173. package/dist/design-system175.mjs.map +1 -1
  174. package/dist/design-system176.js +1 -1
  175. package/dist/design-system176.js.map +1 -1
  176. package/dist/design-system176.mjs +5 -5
  177. package/dist/design-system176.mjs.map +1 -1
  178. package/dist/design-system177.js +1 -1
  179. package/dist/design-system177.js.map +1 -1
  180. package/dist/design-system177.mjs +5 -5
  181. package/dist/design-system177.mjs.map +1 -1
  182. package/dist/design-system178.js +1 -1
  183. package/dist/design-system178.js.map +1 -1
  184. package/dist/design-system178.mjs +7 -5
  185. package/dist/design-system178.mjs.map +1 -1
  186. package/dist/design-system179.js +1 -1
  187. package/dist/design-system179.js.map +1 -1
  188. package/dist/design-system179.mjs +17 -7
  189. package/dist/design-system179.mjs.map +1 -1
  190. package/dist/design-system18.js +1 -1
  191. package/dist/design-system18.js.map +1 -1
  192. package/dist/design-system18.mjs +4 -9
  193. package/dist/design-system18.mjs.map +1 -1
  194. package/dist/design-system180.js +1 -1
  195. package/dist/design-system180.js.map +1 -1
  196. package/dist/design-system180.mjs +10 -17
  197. package/dist/design-system180.mjs.map +1 -1
  198. package/dist/design-system181.js +1 -1
  199. package/dist/design-system181.js.map +1 -1
  200. package/dist/design-system181.mjs +5 -10
  201. package/dist/design-system181.mjs.map +1 -1
  202. package/dist/design-system182.js +1 -1
  203. package/dist/design-system182.js.map +1 -1
  204. package/dist/design-system182.mjs +3 -4
  205. package/dist/design-system182.mjs.map +1 -1
  206. package/dist/design-system183.js +1 -1
  207. package/dist/design-system183.js.map +1 -1
  208. package/dist/design-system183.mjs +4 -4
  209. package/dist/design-system183.mjs.map +1 -1
  210. package/dist/design-system184.js +1 -1
  211. package/dist/design-system184.js.map +1 -1
  212. package/dist/design-system184.mjs +5 -4
  213. package/dist/design-system184.mjs.map +1 -1
  214. package/dist/design-system185.js +1 -1
  215. package/dist/design-system185.js.map +1 -1
  216. package/dist/design-system185.mjs +6 -5
  217. package/dist/design-system185.mjs.map +1 -1
  218. package/dist/design-system186.js +1 -1
  219. package/dist/design-system186.js.map +1 -1
  220. package/dist/design-system186.mjs +11 -7
  221. package/dist/design-system186.mjs.map +1 -1
  222. package/dist/design-system187.js +1 -1
  223. package/dist/design-system187.js.map +1 -1
  224. package/dist/design-system187.mjs +2 -11
  225. package/dist/design-system187.mjs.map +1 -1
  226. package/dist/design-system188.js +1 -1
  227. package/dist/design-system188.mjs +1 -1
  228. package/dist/design-system19.js +2 -2
  229. package/dist/design-system19.js.map +1 -1
  230. package/dist/design-system19.mjs +77 -65
  231. package/dist/design-system19.mjs.map +1 -1
  232. package/dist/design-system194.js +1 -1
  233. package/dist/design-system194.mjs +2 -2
  234. package/dist/design-system199.js +1 -1
  235. package/dist/design-system199.mjs +1 -1
  236. package/dist/design-system20.js +1 -1
  237. package/dist/design-system20.js.map +1 -1
  238. package/dist/design-system20.mjs +2 -2
  239. package/dist/design-system20.mjs.map +1 -1
  240. package/dist/design-system21.js +1 -1
  241. package/dist/design-system21.js.map +1 -1
  242. package/dist/design-system21.mjs +108 -101
  243. package/dist/design-system21.mjs.map +1 -1
  244. package/dist/design-system22.js +1 -1
  245. package/dist/design-system22.js.map +1 -1
  246. package/dist/design-system22.mjs +1 -1
  247. package/dist/design-system22.mjs.map +1 -1
  248. package/dist/design-system23.js +1 -1
  249. package/dist/design-system23.js.map +1 -1
  250. package/dist/design-system23.mjs +2 -2
  251. package/dist/design-system23.mjs.map +1 -1
  252. package/dist/design-system24.js +1 -1
  253. package/dist/design-system24.js.map +1 -1
  254. package/dist/design-system24.mjs +3 -8
  255. package/dist/design-system24.mjs.map +1 -1
  256. package/dist/design-system25.js +1 -1
  257. package/dist/design-system25.mjs +2 -2
  258. package/dist/design-system27.js +1 -1
  259. package/dist/design-system27.mjs +2 -2
  260. package/dist/design-system28.js +1 -1
  261. package/dist/design-system28.mjs +2 -2
  262. package/dist/design-system30.js.map +1 -1
  263. package/dist/design-system30.mjs.map +1 -1
  264. package/dist/design-system32.js +1 -1
  265. package/dist/design-system32.mjs +3 -3
  266. package/dist/design-system39.js +1 -1
  267. package/dist/design-system39.mjs +1 -1
  268. package/dist/design-system40.js +1 -1
  269. package/dist/design-system40.js.map +1 -1
  270. package/dist/design-system40.mjs +80 -83
  271. package/dist/design-system40.mjs.map +1 -1
  272. package/dist/design-system41.js +1 -1
  273. package/dist/design-system41.js.map +1 -1
  274. package/dist/design-system41.mjs +53 -34
  275. package/dist/design-system41.mjs.map +1 -1
  276. package/dist/design-system42.js +1 -1
  277. package/dist/design-system42.mjs +2 -2
  278. package/dist/design-system45.js +1 -1
  279. package/dist/design-system45.mjs +3 -3
  280. package/dist/design-system46.js.map +1 -1
  281. package/dist/design-system46.mjs.map +1 -1
  282. package/dist/design-system54.js +1 -1
  283. package/dist/design-system54.js.map +1 -1
  284. package/dist/design-system54.mjs +83 -67
  285. package/dist/design-system54.mjs.map +1 -1
  286. package/dist/design-system59.js +1 -1
  287. package/dist/design-system59.js.map +1 -1
  288. package/dist/design-system59.mjs +1 -1
  289. package/dist/design-system59.mjs.map +1 -1
  290. package/dist/design-system61.js.map +1 -1
  291. package/dist/design-system61.mjs.map +1 -1
  292. package/dist/design-system70.js +1 -1
  293. package/dist/design-system70.js.map +1 -1
  294. package/dist/design-system70.mjs +1 -1
  295. package/dist/design-system70.mjs.map +1 -1
  296. package/dist/design-system81.js +1 -1
  297. package/dist/design-system81.js.map +1 -1
  298. package/dist/design-system81.mjs +1 -1
  299. package/dist/design-system81.mjs.map +1 -1
  300. package/dist/design-system87.js +1 -1
  301. package/dist/design-system87.js.map +1 -1
  302. package/dist/design-system87.mjs +1 -1
  303. package/dist/design-system87.mjs.map +1 -1
  304. package/dist/design-system89.js +1 -1
  305. package/dist/design-system89.js.map +1 -1
  306. package/dist/design-system89.mjs +4 -4
  307. package/dist/design-system89.mjs.map +1 -1
  308. package/dist/design-system97.js +1 -1
  309. package/dist/design-system97.js.map +1 -1
  310. package/dist/design-system97.mjs +67 -16
  311. package/dist/design-system97.mjs.map +1 -1
  312. package/dist/design-system98.js +1 -1
  313. package/dist/design-system98.js.map +1 -1
  314. package/dist/design-system98.mjs +17 -1103
  315. package/dist/design-system98.mjs.map +1 -1
  316. package/dist/design-system99.js +1 -1
  317. package/dist/design-system99.js.map +1 -1
  318. package/dist/design-system99.mjs +5 -24
  319. package/dist/design-system99.mjs.map +1 -1
  320. package/dist/style.css +1 -1
  321. package/dist/types/components/BButton.vue.d.ts +2 -28
  322. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +4 -2
  323. package/dist/types/components/BCheckbox.vue.d.ts +4 -2
  324. package/dist/types/components/BCollapse.vue.d.ts +4 -2
  325. package/dist/types/components/BCurrencyField.vue.d.ts +10 -5
  326. package/dist/types/components/BDatePicker.vue.d.ts +4 -2
  327. package/dist/types/components/BDateRangePicker.vue.d.ts +4 -2
  328. package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +6 -3
  329. package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +4 -2
  330. package/dist/types/components/BModal/BModal.vue.d.ts +4 -2
  331. package/dist/types/components/BModal/BModalContainer.vue.d.ts +4 -2
  332. package/dist/types/components/BMultiSelect.vue.d.ts +12 -6
  333. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +10 -5
  334. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +14 -7
  335. package/dist/types/components/BPagination.vue.d.ts +6 -3
  336. package/dist/types/components/BRadio.vue.d.ts +6 -3
  337. package/dist/types/components/BSelect.vue.d.ts +12 -6
  338. package/dist/types/components/BTabs/BTabs.vue.d.ts +4 -2
  339. package/dist/types/components/BTextField.vue.d.ts +24 -9
  340. package/dist/types/components/BTextarea.vue.d.ts +4 -2
  341. package/dist/types/components/BToast/BToast.vue.d.ts +4 -2
  342. package/dist/types/components/BToast/BToastItem.vue.d.ts +13 -14
  343. package/dist/types/components/BTooltip.vue.d.ts +4 -2
  344. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-system17.js","sources":["../src/components/BMultiSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-absolute ds-right-3 ds-z-[1]\" }\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = [\"id\", \"disabled\"]\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 { 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 BCheckbox from './BCheckbox.vue';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\nimport type { DisplayItem } from '@/types';\n\n/**\n * Props\n */\nexport interface BMultiSelectProps {\n inputId?: string;\n modelValue: Array<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 * Show number of selected items.\n */\n showSelectedItemCount?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BMultiSelect',\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 showSelectedItemCount: { type: Boolean, default: false },\n allowInput: { type: Boolean, default: false }\n },\n emits: [\n 'update:modelValue',\n 'change',\n 'open',\n 'close',\n 'change:input',\n],\n setup(__props: any, { expose: __expose, emit }) {\n\nconst props = __props;\n\n// https://vuejs.org/guide/essentials/event-handling.html#event-modifiers\n\n\n/**\n * Events\n */\n\n\n\n/**\n * Data\n */\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: Array<string | number>) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItems = 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});\nconst selectedItemCount = computed(() =>\n value.value?.length > 1\n ? ` (${t('ds.components.base.multi_select.selected_item_count', {\n count: value.value?.length,\n })})`\n : '',\n);\nconst labelDisplay = computed(() =>\n props.showSelectedItemCount\n ? `${props.label}${selectedItemCount.value}`\n : props.label,\n);\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\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(\n value,\n () => {\n ensureSelectedItems();\n },\n {\n deep: true,\n },\n);\nwatch(\n () => props.items,\n () => {\n if (value.value.length !== 0 && selectedItems.value.length === 0) {\n ensureSelectedItems();\n }\n },\n {\n deep: true,\n },\n);\n\n/**\n * Methods\n */\nconst ensureSelectedItems = () => {\n selectedItems.value = value.value.map((v) => {\n let item = selectedItems.value.find((i) => i.value === v);\n if (!item) {\n item = props.items.find((i) => i.value === v);\n }\n return { text: item?.text, value: v, cssClass: item?.cssClass };\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 const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n } else {\n value.value.push(item.value);\n }\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 inputText.value = '';\n};\nconst deselectItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n }\n};\nconst init = () => {\n if (props.items.length > 0) {\n ensureSelectedItems();\n }\n};\ninit();\n\n/**\n * Lifecycle Hooks\n */\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\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: labelDisplay.value,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([{\n 'ds-border-focus ds-ring-1 ds-ring-focus':\n selectMenu.value && _unref(validationResult).valid,\n 'ds-ring-1 ds-ring-error': selectMenu.value && !_unref(validationResult).valid,\n 'ds-border-black/10': _unref(validationResult).valid,\n 'ds-border-error': !_unref(validationResult).valid,\n }, \"ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light\"])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"i\", {\n class: _normalizeClass(`fa-solid fa-caret-down ds-transition-transform ${\n selectMenu.value ? 'ds-rotate-180' : ''\n }`),\n onClick: _cache[0] || (_cache[0] = ($event: any) => (inputRef.value?.focus()))\n }, null, 2)\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(selectedItems.value, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `item${i}`,\n class: \"ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2\"\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1),\n _createElementVNode(\"i\", {\n class: \"fa-solid fa-circle-xmark ds-cursor-pointer ds-text-black/60 hover:ds-text-black/40\",\n onClick: ($event: any) => (deselectItem(item))\n }, null, 8, _hoisted_2)\n ]))\n }), 128)),\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[1] || (_cache[1] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n class: \"ds-flex-auto\",\n \"hide-details\": \"\",\n \"input-css-class\": \"ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0\",\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (selectMenu.value = true))\n }, null, 8, [\"id\", \"modelValue\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: _ctx.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n (selectedItems.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm\"])\n }, _toDisplayString(selectedItems.value?.map((s) => s.text).join(', ')), 3))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm ds-text-black/[0.4]\"])\n }, _toDisplayString(props.placeholder), 3)),\n _createTextVNode(\"   \"),\n _createElementVNode(\"span\", {\n class: _normalizeClass([`${selectMenu.value ? 'ds-rotate-180' : ''}`, \"fa-solid fa-caret-down ds-text-base ds-transition-transform\"])\n }, null, 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_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: _withModifiers(($event: any) => (onClickItem(item)), [\"prevent\"])\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([\n item.cssClass +\n `${\n selectedItems.value.some((s) => s.value === item.value)\n ? ' ds-bg-slate-100'\n : ''\n }`\n , \"ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-100\"])\n }, [\n _createVNode(BCheckbox, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((value).value = $event)),\n value: item.value,\n size: \"sm\"\n }, null, 8, [\"modelValue\", \"value\"]),\n _createElementVNode(\"span\", null, _toDisplayString(item?.text), 1)\n ], 2)\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 \"prepend-icon\": \"fa-solid fa-circle-exclamation\"\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","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItems","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","selectedItemCount","_a","_b","labelDisplay","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItems","v","item","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","index","nextTick","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","deselectItem","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_normalizeClass","_unref","$event","_Fragment","_renderList","_toDisplayString","_createBlock","BTextField","_createCommentVNode","s","_createTextVNode","_withDirectives","_withModifiers","BCheckbox","_vShow","BErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"design-system17.js","sources":["../src/components/BMultiSelect.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, unref as _unref, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, vShow as _vShow, withDirectives as _withDirectives } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-absolute ds-right-3 ds-z-[1]\" }\nconst _hoisted_2 = /*#__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_3 = [\n _hoisted_2\n]\nconst _hoisted_4 = [\"onClick\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\" }, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\nconst _hoisted_7 = [\"id\", \"disabled\"]\nconst _hoisted_8 = /*#__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_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = [\"id\", \"data-cy\", \"data-ut\"]\nconst _hoisted_11 = { class: \"ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow\" }\nconst _hoisted_12 = { class: \"ds-py-1 ds-text-sm ds-text-black/[0.85]\" }\nconst _hoisted_13 = [\"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 { 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 BCheckbox from './BCheckbox.vue';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport BTextField from './BTextField.vue';\nimport type { DisplayItem } from '@/types';\n\n/**\n * Props\n */\nexport interface BMultiSelectProps {\n inputId?: string;\n modelValue: Array<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 * Show number of selected items.\n */\n showSelectedItemCount?: boolean;\n /**\n * Allow to type to search.\n */\n allowInput?: boolean;\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BMultiSelect',\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 showSelectedItemCount: { 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 }) {\n\nconst props = __props;\n\n// https://vuejs.org/guide/essentials/event-handling.html#event-modifiers\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\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: Array<string | number>) => !!val && val.length > 0,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst inputText = ref('');\nconst selectedItems = 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});\nconst selectedItemCount = computed(() =>\n value.value?.length > 1\n ? ` (${t('ds.components.base.multi_select.selected_item_count', {\n count: value.value?.length,\n })})`\n : '',\n);\nconst labelDisplay = computed(() =>\n props.showSelectedItemCount\n ? `${props.label}${selectedItemCount.value}`\n : props.label,\n);\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\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(\n value,\n () => {\n ensureSelectedItems();\n },\n {\n deep: true,\n },\n);\nwatch(\n () => props.items,\n () => {\n if (value.value.length !== 0 && selectedItems.value.length === 0) {\n ensureSelectedItems();\n }\n },\n {\n deep: true,\n },\n);\n\n/**\n * Methods\n */\nconst ensureSelectedItems = () => {\n selectedItems.value = value.value.map((v) => {\n let item = selectedItems.value.find((i) => i.value === v);\n if (!item) {\n item = props.items.find((i) => i.value === v);\n }\n return { text: item?.text, value: v, cssClass: item?.cssClass };\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 const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n } else {\n value.value.push(item.value);\n }\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 inputText.value = '';\n};\nconst deselectItem = (item: DisplayItem) => {\n const index = value.value.findIndex((v) => v === item.value);\n if (index !== -1) {\n value.value.splice(index, 1);\n emit('change', item.value);\n nextTick(() => {\n validate();\n });\n }\n};\nconst init = () => {\n if (props.items.length > 0) {\n ensureSelectedItems();\n }\n};\ninit();\n\n/**\n * Lifecycle Hooks\n */\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\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: labelDisplay.value,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n (props.allowInput)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([{\n 'ds-border-focus ds-ring-1 ds-ring-focus':\n selectMenu.value && _unref(validationResult).valid,\n 'ds-ring-1 ds-ring-error': selectMenu.value && !_unref(validationResult).valid,\n 'ds-border-black/10': _unref(validationResult).valid,\n 'ds-border-error': !_unref(validationResult).valid,\n }, \"ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light\"])\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\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 onClick: _cache[0] || (_cache[0] = ($event: any) => (inputRef.value?.focus()))\n }, _hoisted_3, 2))\n ]),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(selectedItems.value, (item, i) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n key: `item${i}`,\n class: \"ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2\"\n }, [\n _createElementVNode(\"span\", null, _toDisplayString(item.text), 1),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: \"ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40\",\n viewBox: \"0 0 512 512\",\n xmlns: \"http://www.w3.org/2000/svg\",\n onClick: ($event: any) => (deselectItem(item))\n }, _hoisted_6, 8, _hoisted_4))\n ]))\n }), 128)),\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[1] || (_cache[1] = ($event: any) => ((inputText).value = $event)),\n onChangeInputText\n ],\n disabled: props.disabled,\n class: \"ds-flex-auto\",\n \"hide-details\": \"\",\n \"input-css-class\": \"ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0\",\n onFocus: _cache[2] || (_cache[2] = ($event: any) => (selectMenu.value = true))\n }, null, 8, [\"id\", \"modelValue\", \"disabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n id: id.value,\n class: _normalizeClass(btnCssClass.value),\n disabled: _ctx.disabled,\n type: \"button\",\n onClick: _cache[3] || (_cache[3] = ($event: any) => (selectMenu.value = !selectMenu.value))\n }, [\n (selectedItems.value.length > 0)\n ? (_openBlock(), _createElementBlock(\"span\", {\n key: 0,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm\"])\n }, _toDisplayString(selectedItems.value?.map((s) => s.text).join(', ')), 3))\n : (_openBlock(), _createElementBlock(\"span\", {\n key: 1,\n class: _normalizeClass([_ctx.valueCssClass, \"ds-truncate ds-text-sm ds-text-black/[0.4]\"])\n }, _toDisplayString(props.placeholder), 3)),\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_9, 2))\n ], 10, _hoisted_7)),\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_11, [\n _createElementVNode(\"ul\", _hoisted_12, [\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: _withModifiers(($event: any) => (onClickItem(item)), [\"prevent\"])\n }, [\n _createElementVNode(\"a\", {\n class: _normalizeClass([\n item.cssClass +\n `${\n selectedItems.value.some((s) => s.value === item.value)\n ? ' ds-bg-slate-100'\n : ''\n }`\n , \"ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-100\"])\n }, [\n _createVNode(BCheckbox, {\n modelValue: value.value,\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => ((value).value = $event)),\n value: item.value,\n size: \"sm\"\n }, null, 8, [\"modelValue\", \"value\"]),\n _createElementVNode(\"span\", null, _toDisplayString(item?.text), 1)\n ], 2)\n ], 8, _hoisted_13))\n }), 128))\n ])\n ])\n ], 10, _hoisted_10), [\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","_hoisted_12","_hoisted_13","_sfc_main","_defineComponent","__props","__expose","emit","props","selectEl","ref","inputRef","selectMenuEl","selectMenu","t","useI18n","validateRequired","val","inputText","selectedItems","id","computed","uuid","value","btnCssClass","result","validationResult","vRules","selectedItemCount","_a","_b","labelDisplay","validate","useValidationField","watch","lockScrollBody","ensureMenuPosition","unlockScrollBody","resetMenuPosition","ensureSelectedItems","v","item","i","initPressEscapeEventListener","closeOnEscapePressed","event","closeSelectMenu","initClickOutsideEventListener","closeOnClickOutside","r","onClickItem","index","nextTick","ensureMenuWidth","parentEl","menuEl","ensureVisiblePosition","resetPosition","onChangeInputText","text","deselectItem","onMounted","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_createVNode","BLabel","_normalizeClass","_unref","$event","_Fragment","_renderList","_toDisplayString","_createBlock","BTextField","_createCommentVNode","s","_createTextVNode","_withDirectives","_withModifiers","BCheckbox","_vShow","BErrorMessage"],"mappings":"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"}
@@ -1,13 +1,19 @@
1
- import { defineComponent as ee, ref as m, computed as b, watch as I, nextTick as V, onMounted as se, onBeforeUnmount as le, openBlock as n, createElementBlock as r, createElementVNode as u, createVNode as L, normalizeClass as i, unref as y, Fragment as P, renderList as D, toDisplayString as C, createBlock as z, createCommentVNode as N, createTextVNode as te, withDirectives as de, withModifiers as ae, vShow as oe } from "vue";
1
+ import { defineComponent as ee, ref as m, computed as h, watch as B, nextTick as E, onMounted as se, onBeforeUnmount as le, openBlock as d, createElementBlock as o, createElementVNode as r, createVNode as S, normalizeClass as i, unref as x, Fragment as z, renderList as P, toDisplayString as y, createBlock as D, createCommentVNode as N, createTextVNode as te, withDirectives as de, withModifiers as ae, vShow as oe } from "vue";
2
2
  import { useValidationField as ne } from "./design-system3.mjs";
3
3
  import { lockScrollBody as ue, unlockScrollBody as O, ensureVisiblePosition as re, resetPosition as ie } from "./design-system6.mjs";
4
4
  import { useI18n as ce } from "./design-system48.mjs";
5
5
  import ve from "./design-system27.mjs";
6
- import fe from "./design-system30.mjs";
7
- import pe from "./design-system31.mjs";
6
+ import pe from "./design-system30.mjs";
7
+ import fe from "./design-system31.mjs";
8
8
  import me from "./design-system40.mjs";
9
- import be from "./design-system97.mjs";
10
- const ge = { class: "ds-absolute ds-right-3 ds-z-[1]" }, he = ["onClick"], ke = ["id", "disabled"], xe = ["id", "data-cy", "data-ut"], ye = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, Ce = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, we = ["onClick"], Le = /* @__PURE__ */ ee({
9
+ import he from "./design-system98.mjs";
10
+ const ge = { class: "ds-absolute ds-right-3 ds-z-[1]" }, be = /* @__PURE__ */ r("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), we = [
11
+ be
12
+ ], ke = ["onClick"], xe = /* @__PURE__ */ r("path", { d: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" }, null, -1), ye = [
13
+ xe
14
+ ], Ce = ["id", "disabled"], _e = /* @__PURE__ */ r("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), $e = [
15
+ _e
16
+ ], Me = ["id", "data-cy", "data-ut"], Be = { class: "ds-max-h-72 ds-overflow-y-auto ds-rounded-lg ds-bg-white ds-shadow" }, Ee = { class: "ds-py-1 ds-text-sm ds-text-black/[0.85]" }, Ie = ["onClick"], Te = /* @__PURE__ */ ee({
11
17
  __name: "BMultiSelect",
12
18
  props: {
13
19
  inputId: { default: "" },
@@ -25,98 +31,92 @@ const ge = { class: "ds-absolute ds-right-3 ds-z-[1]" }, he = ["onClick"], ke =
25
31
  showSelectedItemCount: { type: Boolean, default: !1 },
26
32
  allowInput: { type: Boolean, default: !1 }
27
33
  },
28
- emits: [
29
- "update:modelValue",
30
- "change",
31
- "open",
32
- "close",
33
- "change:input"
34
- ],
34
+ emits: ["change", "open", "close", "change:input", "update:modelValue"],
35
35
  setup(T, { expose: F, emit: v }) {
36
- const t = T, g = m(null), w = m(null), h = m(null), a = m(!1), { t: B } = ce(), U = {
36
+ const t = T, g = m(null), C = m(null), b = m(null), n = m(!1), { t: I } = ce(), U = {
37
37
  validateRule: (e) => !!e && e.length > 0,
38
- errorMessage: () => t.requiredErrorMessage || B("ds.global.field_required")
39
- }, $ = m(""), c = m([]), k = b(() => t.inputId || `id-${be()}`), d = b({
38
+ errorMessage: () => t.requiredErrorMessage || I("ds.global.field_required")
39
+ }, _ = m(""), c = m([]), w = h(() => t.inputId || `id-${he()}`), a = h({
40
40
  get() {
41
41
  return t.modelValue;
42
42
  },
43
43
  set(e) {
44
44
  v("update:modelValue", e);
45
45
  }
46
- }), j = b(() => {
46
+ }), j = h(() => {
47
47
  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 ";
48
- 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 += f.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;
49
- }), W = b(() => {
48
+ 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 += p.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;
49
+ }), W = h(() => {
50
50
  let e = [];
51
51
  return t.required && e.push(U), t.validationRules && (e = e.concat(t.validationRules)), e.length ? e : void 0;
52
- }), A = b(
52
+ }), A = h(
53
53
  () => {
54
54
  var e, s;
55
- return ((e = d.value) == null ? void 0 : e.length) > 1 ? ` (${B("ds.components.base.multi_select.selected_item_count", {
56
- count: (s = d.value) == null ? void 0 : s.length
55
+ return ((e = a.value) == null ? void 0 : e.length) > 1 ? ` (${I("ds.components.base.multi_select.selected_item_count", {
56
+ count: (s = a.value) == null ? void 0 : s.length
57
57
  })})` : "";
58
58
  }
59
- ), G = b(
59
+ ), G = h(
60
60
  () => t.showSelectedItemCount ? `${t.label}${A.value}` : t.label
61
- ), { validate: E, validationResult: f } = ne(
62
- k.value,
63
- d,
61
+ ), { validate: $, validationResult: p } = ne(
62
+ w.value,
63
+ a,
64
64
  W.value
65
65
  );
66
- I(a, (e) => {
67
- e ? (ue(), X(), v("open")) : (O(), R(), v("close"));
68
- }), I(
69
- d,
66
+ B(n, (e) => {
67
+ e ? (ue(), X(), v("open")) : (O(), L(), v("close"));
68
+ }), B(
69
+ a,
70
70
  () => {
71
71
  M();
72
72
  },
73
73
  {
74
74
  deep: !0
75
75
  }
76
- ), I(
76
+ ), B(
77
77
  () => t.items,
78
78
  () => {
79
- d.value.length !== 0 && c.value.length === 0 && M();
79
+ a.value.length !== 0 && c.value.length === 0 && M();
80
80
  },
81
81
  {
82
82
  deep: !0
83
83
  }
84
84
  );
85
85
  const M = () => {
86
- c.value = d.value.map((e) => {
87
- let s = c.value.find((o) => o.value === e);
88
- return s || (s = t.items.find((o) => o.value === e)), { text: s == null ? void 0 : s.text, value: e, cssClass: s == null ? void 0 : s.cssClass };
86
+ c.value = a.value.map((e) => {
87
+ let s = c.value.find((u) => u.value === e);
88
+ return s || (s = t.items.find((u) => u.value === e)), { text: s == null ? void 0 : s.text, value: e, cssClass: s == null ? void 0 : s.cssClass };
89
89
  });
90
90
  }, H = () => {
91
- document.addEventListener("keydown", _);
92
- }, _ = (e) => {
93
- e.key === "Escape" && S();
91
+ document.addEventListener("keydown", V);
92
+ }, V = (e) => {
93
+ e.key === "Escape" && R();
94
94
  }, J = () => {
95
95
  document.addEventListener("click", q);
96
96
  }, q = (e) => {
97
- [g.value, h.value].some((l) => e.composedPath().includes(l)) || S();
97
+ [g.value, b.value].some((l) => e.composedPath().includes(l)) || R();
98
98
  }, K = (e) => {
99
- const s = d.value.findIndex((o) => o === e.value);
100
- s !== -1 ? d.value.splice(s, 1) : d.value.push(e.value), v("change", e.value), V(() => {
101
- E();
99
+ const s = a.value.findIndex((u) => u === e.value);
100
+ s !== -1 ? a.value.splice(s, 1) : a.value.push(e.value), v("change", e.value), E(() => {
101
+ $();
102
102
  });
103
103
  }, Q = (e, s) => {
104
104
  s.style.width = `${e.offsetWidth}px`;
105
105
  }, X = () => {
106
- V(() => {
107
- re(g.value, h.value), Q(g.value, h.value);
106
+ E(() => {
107
+ re(g.value, b.value), Q(g.value, b.value);
108
108
  });
109
- }, R = () => {
110
- ie(g.value, h.value);
109
+ }, L = () => {
110
+ ie(g.value, b.value);
111
111
  }, Y = (e) => {
112
112
  v("change:input", e);
113
- }, S = () => {
113
+ }, R = () => {
114
114
  var e;
115
- a.value = !1, (e = w.value) == null || e.blur(), $.value = "";
115
+ n.value = !1, (e = C.value) == null || e.blur(), _.value = "";
116
116
  }, Z = (e) => {
117
- const s = d.value.findIndex((o) => o === e.value);
118
- s !== -1 && (d.value.splice(s, 1), v("change", e.value), V(() => {
119
- E();
117
+ const s = a.value.findIndex((u) => u === e.value);
118
+ s !== -1 && (a.value.splice(s, 1), v("change", e.value), E(() => {
119
+ $();
120
120
  }));
121
121
  };
122
122
  return (() => {
@@ -124,130 +124,135 @@ const ge = { class: "ds-absolute ds-right-3 ds-z-[1]" }, he = ["onClick"], ke =
124
124
  })(), se(() => {
125
125
  H(), J();
126
126
  }), le(() => {
127
- document.removeEventListener("keydown", _), document.removeEventListener("click", q), O(), R();
128
- }), F({ validate: E, selectMenu: a }), (e, s) => {
129
- var o;
130
- return n(), r("div", null, [
131
- u("div", {
127
+ document.removeEventListener("keydown", V), document.removeEventListener("click", q), O(), L();
128
+ }), F({ validate: $, selectMenu: n }), (e, s) => {
129
+ var u;
130
+ return d(), o("div", null, [
131
+ r("div", {
132
132
  ref_key: "selectEl",
133
133
  ref: g
134
134
  }, [
135
- L(pe, {
136
- id: k.value,
135
+ S(fe, {
136
+ id: w.value,
137
137
  label: G.value,
138
138
  required: e.required
139
139
  }, null, 8, ["id", "label", "required"]),
140
- t.allowInput ? (n(), r("div", {
140
+ t.allowInput ? (d(), o("div", {
141
141
  key: 0,
142
142
  class: i([{
143
- "ds-border-focus ds-ring-1 ds-ring-focus": a.value && y(f).valid,
144
- "ds-ring-1 ds-ring-error": a.value && !y(f).valid,
145
- "ds-border-black/10": y(f).valid,
146
- "ds-border-error": !y(f).valid
143
+ "ds-border-focus ds-ring-1 ds-ring-focus": n.value && x(p).valid,
144
+ "ds-ring-1 ds-ring-error": n.value && !x(p).valid,
145
+ "ds-border-black/10": x(p).valid,
146
+ "ds-border-error": !x(p).valid
147
147
  }, "ds-relative ds-flex ds-flex-wrap ds-items-center ds-gap-x-1 ds-rounded-lg ds-border ds-bg-white ds-px-3 ds-py-1 ds-drop-shadow-light"])
148
148
  }, [
149
- u("div", ge, [
150
- u("i", {
151
- class: i(`fa-solid fa-caret-down ds-transition-transform ${a.value ? "ds-rotate-180" : ""}`),
149
+ r("div", ge, [
150
+ (d(), o("svg", {
151
+ class: i([[n.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
152
+ viewBox: "0 0 320 512",
153
+ xmlns: "http://www.w3.org/2000/svg",
152
154
  onClick: s[0] || (s[0] = (l) => {
153
- var p;
154
- return (p = w.value) == null ? void 0 : p.focus();
155
+ var f;
156
+ return (f = C.value) == null ? void 0 : f.focus();
155
157
  })
156
- }, null, 2)
158
+ }, we, 2))
157
159
  ]),
158
- (n(!0), r(P, null, D(c.value, (l, p) => (n(), r("div", {
159
- key: `item${p}`,
160
+ (d(!0), o(z, null, P(c.value, (l, f) => (d(), o("div", {
161
+ key: `item${f}`,
160
162
  class: "ds-my-0.5 ds-flex-initial ds-space-x-1 ds-rounded-lg ds-bg-black/10 ds-px-2"
161
163
  }, [
162
- u("span", null, C(l.text), 1),
163
- u("i", {
164
- class: "fa-solid fa-circle-xmark ds-cursor-pointer ds-text-black/60 hover:ds-text-black/40",
165
- onClick: (x) => Z(l)
166
- }, null, 8, he)
164
+ r("span", null, y(l.text), 1),
165
+ (d(), o("svg", {
166
+ class: "ds-mb-1 ds-inline ds-h-4 ds-w-4 ds-cursor-pointer ds-fill-black/60 hover:ds-fill-black/40",
167
+ viewBox: "0 0 512 512",
168
+ xmlns: "http://www.w3.org/2000/svg",
169
+ onClick: (k) => Z(l)
170
+ }, ye, 8, ke))
167
171
  ]))), 128)),
168
- t.allowInput ? (n(), z(me, {
172
+ t.allowInput ? (d(), D(me, {
169
173
  key: 0,
170
- id: k.value,
174
+ id: w.value,
171
175
  ref_key: "inputRef",
172
- ref: w,
173
- modelValue: $.value,
176
+ ref: C,
177
+ modelValue: _.value,
174
178
  "onUpdate:modelValue": [
175
- s[1] || (s[1] = (l) => $.value = l),
179
+ s[1] || (s[1] = (l) => _.value = l),
176
180
  Y
177
181
  ],
178
182
  disabled: t.disabled,
179
183
  class: "ds-flex-auto",
180
184
  "hide-details": "",
181
185
  "input-css-class": "ds-drop-shadow-none ds-border-none !ds-ring-0 ds-px-0 !ds-h-[30px] ds-pl-0",
182
- onFocus: s[2] || (s[2] = (l) => a.value = !0)
186
+ onFocus: s[2] || (s[2] = (l) => n.value = !0)
183
187
  }, null, 8, ["id", "modelValue", "disabled"])) : N("", !0)
184
- ], 2)) : (n(), r("button", {
188
+ ], 2)) : (d(), o("button", {
185
189
  key: 1,
186
- id: k.value,
190
+ id: w.value,
187
191
  class: i(j.value),
188
192
  disabled: e.disabled,
189
193
  type: "button",
190
- onClick: s[3] || (s[3] = (l) => a.value = !a.value)
194
+ onClick: s[3] || (s[3] = (l) => n.value = !n.value)
191
195
  }, [
192
- c.value.length > 0 ? (n(), r("span", {
196
+ c.value.length > 0 ? (d(), o("span", {
193
197
  key: 0,
194
198
  class: i([e.valueCssClass, "ds-truncate ds-text-sm"])
195
- }, C((o = c.value) == null ? void 0 : o.map((l) => l.text).join(", ")), 3)) : (n(), r("span", {
199
+ }, y((u = c.value) == null ? void 0 : u.map((l) => l.text).join(", ")), 3)) : (d(), o("span", {
196
200
  key: 1,
197
201
  class: i([e.valueCssClass, "ds-truncate ds-text-sm ds-text-black/[0.4]"])
198
- }, C(t.placeholder), 3)),
202
+ }, y(t.placeholder), 3)),
199
203
  te("   "),
200
- u("span", {
201
- class: i([`${a.value ? "ds-rotate-180" : ""}`, "fa-solid fa-caret-down ds-text-base ds-transition-transform"])
202
- }, null, 2)
203
- ], 10, ke)),
204
- de(u("div", {
205
- id: `${k.value}Menu`,
204
+ (d(), o("svg", {
205
+ class: i([[n.value ? "ds-rotate-180" : ""], "ds-h-4 ds-w-4 ds-transition-transform"]),
206
+ viewBox: "0 0 320 512",
207
+ xmlns: "http://www.w3.org/2000/svg"
208
+ }, $e, 2))
209
+ ], 10, Ce)),
210
+ de(r("div", {
211
+ id: `${w.value}Menu`,
206
212
  ref_key: "selectMenuEl",
207
- ref: h,
213
+ ref: b,
208
214
  class: i([e.menuCssClass, "ds-absolute ds-z-50 ds-min-w-[8rem] ds-py-1"]),
209
215
  "data-cy": e.$attrs["data-cy"] ? `${e.$attrs["data-cy"]}Menu` : void 0,
210
216
  "data-ut": e.$attrs["data-ut"] ? `${e.$attrs["data-ut"]}Menu` : void 0
211
217
  }, [
212
- u("div", ye, [
213
- u("ul", Ce, [
214
- (n(!0), r(P, null, D(e.items, (l, p) => (n(), r("li", {
215
- key: `item${p}`,
218
+ r("div", Be, [
219
+ r("ul", Ee, [
220
+ (d(!0), o(z, null, P(e.items, (l, f) => (d(), o("li", {
221
+ key: `item${f}`,
216
222
  class: "ds-cursor-pointer",
217
- onClick: ae((x) => K(l), ["prevent"])
223
+ onClick: ae((k) => K(l), ["prevent"])
218
224
  }, [
219
- u("a", {
225
+ r("a", {
220
226
  class: i([
221
- l.cssClass + `${c.value.some((x) => x.value === l.value) ? " ds-bg-slate-100" : ""}`,
227
+ l.cssClass + `${c.value.some((k) => k.value === l.value) ? " ds-bg-slate-100" : ""}`,
222
228
  "ds-flex ds-items-center ds-space-x-2 ds-px-4 ds-py-2 hover:ds-bg-slate-100"
223
229
  ])
224
230
  }, [
225
- L(ve, {
226
- modelValue: d.value,
227
- "onUpdate:modelValue": s[4] || (s[4] = (x) => d.value = x),
231
+ S(ve, {
232
+ modelValue: a.value,
233
+ "onUpdate:modelValue": s[4] || (s[4] = (k) => a.value = k),
228
234
  value: l.value,
229
235
  size: "sm"
230
236
  }, null, 8, ["modelValue", "value"]),
231
- u("span", null, C(l == null ? void 0 : l.text), 1)
237
+ r("span", null, y(l == null ? void 0 : l.text), 1)
232
238
  ], 2)
233
- ], 8, we))), 128))
239
+ ], 8, Ie))), 128))
234
240
  ])
235
241
  ])
236
- ], 10, xe), [
237
- [oe, a.value]
242
+ ], 10, Me), [
243
+ [oe, n.value]
238
244
  ])
239
245
  ], 512),
240
- e.hideDetails ? N("", !0) : (n(), z(fe, {
246
+ e.hideDetails ? N("", !0) : (d(), D(pe, {
241
247
  key: 0,
242
- "error-message": y(f).errorMessage(),
243
- class: "ds-mt-1",
244
- "prepend-icon": "fa-solid fa-circle-exclamation"
248
+ "error-message": x(p).errorMessage(),
249
+ class: "ds-mt-1"
245
250
  }, null, 8, ["error-message"]))
246
251
  ]);
247
252
  };
248
253
  }
249
254
  });
250
255
  export {
251
- Le as default
256
+ Te as default
252
257
  };
253
258
  //# sourceMappingURL=design-system17.mjs.map