@7pmlabs/design-system 0.2.2 → 0.2.3

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 (326) hide show
  1. package/README.md +44 -44
  2. package/dist/design-system10.js +1 -1
  3. package/dist/design-system10.js.map +1 -1
  4. package/dist/design-system10.mjs +11 -11
  5. package/dist/design-system10.mjs.map +1 -1
  6. package/dist/design-system100.js +1 -1
  7. package/dist/design-system100.js.map +1 -1
  8. package/dist/design-system100.mjs +7 -2
  9. package/dist/design-system100.mjs.map +1 -1
  10. package/dist/design-system101.js +1 -1
  11. package/dist/design-system101.mjs +2 -2
  12. package/dist/design-system102.js +1 -1
  13. package/dist/design-system102.mjs +1 -1
  14. package/dist/design-system11.js +1 -1
  15. package/dist/design-system11.js.map +1 -1
  16. package/dist/design-system11.mjs +128 -114
  17. package/dist/design-system11.mjs.map +1 -1
  18. package/dist/design-system12.js +1 -1
  19. package/dist/design-system12.mjs +1 -1
  20. package/dist/design-system132.js +1 -1
  21. package/dist/design-system132.js.map +1 -1
  22. package/dist/design-system132.mjs +7 -11
  23. package/dist/design-system132.mjs.map +1 -1
  24. package/dist/design-system133.js +1 -1
  25. package/dist/design-system133.js.map +1 -1
  26. package/dist/design-system133.mjs +9 -7
  27. package/dist/design-system133.mjs.map +1 -1
  28. package/dist/design-system134.js +1 -1
  29. package/dist/design-system134.js.map +1 -1
  30. package/dist/design-system134.mjs +11 -9
  31. package/dist/design-system134.mjs.map +1 -1
  32. package/dist/design-system138.js +1 -1
  33. package/dist/design-system138.mjs +1 -1
  34. package/dist/design-system139.js +1 -1
  35. package/dist/design-system139.mjs +1 -1
  36. package/dist/design-system142.js +1 -1
  37. package/dist/design-system142.mjs +1 -1
  38. package/dist/design-system143.js +1 -1
  39. package/dist/design-system143.mjs +1 -1
  40. package/dist/design-system15.js +1 -1
  41. package/dist/design-system15.mjs +1 -1
  42. package/dist/design-system16.js +1 -1
  43. package/dist/design-system16.mjs +3 -3
  44. package/dist/design-system18.js +1 -1
  45. package/dist/design-system18.mjs +1 -1
  46. package/dist/design-system19.js +1 -1
  47. package/dist/design-system19.mjs +1 -1
  48. package/dist/design-system20.js +1 -1
  49. package/dist/design-system20.mjs +1 -1
  50. package/dist/design-system22.js +1 -1
  51. package/dist/design-system22.mjs +3 -3
  52. package/dist/design-system23.js +1 -1
  53. package/dist/design-system23.mjs +3 -3
  54. package/dist/design-system24.js +1 -1
  55. package/dist/design-system24.mjs +3 -3
  56. package/dist/design-system25.js +1 -1
  57. package/dist/design-system25.mjs +4 -4
  58. package/dist/design-system26.js +1 -1
  59. package/dist/design-system26.mjs +1 -1
  60. package/dist/design-system29.js +1 -1
  61. package/dist/design-system29.mjs +3 -3
  62. package/dist/design-system30.js +1 -1
  63. package/dist/design-system30.mjs +3 -3
  64. package/dist/design-system31.js +1 -1
  65. package/dist/design-system31.mjs +1 -1
  66. package/dist/design-system32.js +1 -1
  67. package/dist/design-system32.mjs +1 -1
  68. package/dist/design-system33.js +1 -1
  69. package/dist/design-system33.mjs +1 -1
  70. package/dist/design-system34.js +1 -1
  71. package/dist/design-system34.mjs +1 -1
  72. package/dist/design-system35.js +1 -1
  73. package/dist/design-system35.mjs +2 -2
  74. package/dist/design-system36.js +1 -1
  75. package/dist/design-system36.mjs +3 -3
  76. package/dist/design-system37.js +1 -1
  77. package/dist/design-system37.mjs +1 -1
  78. package/dist/design-system39.js +1 -1
  79. package/dist/design-system39.mjs +3 -3
  80. package/dist/design-system40.js +1 -1
  81. package/dist/design-system40.mjs +1 -1
  82. package/dist/design-system41.js +1 -1
  83. package/dist/design-system41.mjs +3 -3
  84. package/dist/design-system44.js +6 -1
  85. package/dist/design-system44.js.map +1 -1
  86. package/dist/design-system44.mjs +107 -2
  87. package/dist/design-system44.mjs.map +1 -1
  88. package/dist/design-system45.js +6 -1
  89. package/dist/design-system45.js.map +1 -1
  90. package/dist/design-system45.mjs +910 -114
  91. package/dist/design-system45.mjs.map +1 -1
  92. package/dist/design-system46.js +7 -1
  93. package/dist/design-system46.js.map +1 -1
  94. package/dist/design-system46.mjs +861 -2
  95. package/dist/design-system46.mjs.map +1 -1
  96. package/dist/design-system47.js +4 -1
  97. package/dist/design-system47.js.map +1 -1
  98. package/dist/design-system47.mjs +1364 -7
  99. package/dist/design-system47.mjs.map +1 -1
  100. package/dist/design-system48.js +1 -1
  101. package/dist/design-system48.mjs +2 -2
  102. package/dist/design-system49.js +1 -1
  103. package/dist/design-system49.js.map +1 -1
  104. package/dist/design-system49.mjs +116 -2
  105. package/dist/design-system49.mjs.map +1 -1
  106. package/dist/design-system50.js +1 -4
  107. package/dist/design-system50.js.map +1 -1
  108. package/dist/design-system50.mjs +2 -74
  109. package/dist/design-system50.mjs.map +1 -1
  110. package/dist/design-system51.js +1 -1
  111. package/dist/design-system51.mjs +7 -2
  112. package/dist/design-system51.mjs.map +1 -1
  113. package/dist/design-system52.js +1 -1
  114. package/dist/design-system52.js.map +1 -1
  115. package/dist/design-system52.mjs +2 -49
  116. package/dist/design-system52.mjs.map +1 -1
  117. package/dist/design-system54.js +4 -1
  118. package/dist/design-system54.js.map +1 -1
  119. package/dist/design-system54.mjs +74 -2
  120. package/dist/design-system54.mjs.map +1 -1
  121. package/dist/design-system55.js +1 -1
  122. package/dist/design-system55.mjs +2 -2
  123. package/dist/design-system56.js +1 -1
  124. package/dist/design-system56.js.map +1 -1
  125. package/dist/design-system56.mjs +49 -2
  126. package/dist/design-system56.mjs.map +1 -1
  127. package/dist/design-system57.js +1 -1
  128. package/dist/design-system57.mjs +2 -2
  129. package/dist/design-system58.js +1 -1
  130. package/dist/design-system58.mjs +2 -2
  131. package/dist/design-system59.js +1 -1
  132. package/dist/design-system59.mjs +1 -1
  133. package/dist/design-system60.js +1 -1
  134. package/dist/design-system60.mjs +1 -1
  135. package/dist/design-system61.js +1 -1
  136. package/dist/design-system61.js.map +1 -1
  137. package/dist/design-system61.mjs +2 -28
  138. package/dist/design-system61.mjs.map +1 -1
  139. package/dist/design-system62.js +1 -1
  140. package/dist/design-system62.mjs +2 -2
  141. package/dist/design-system63.js +1 -1
  142. package/dist/design-system63.js.map +1 -1
  143. package/dist/design-system63.mjs +2 -58
  144. package/dist/design-system63.mjs.map +1 -1
  145. package/dist/design-system64.js +1 -1
  146. package/dist/design-system64.mjs +2 -2
  147. package/dist/design-system65.js +1 -1
  148. package/dist/design-system65.js.map +1 -1
  149. package/dist/design-system65.mjs +28 -2
  150. package/dist/design-system65.mjs.map +1 -1
  151. package/dist/design-system66.js +1 -1
  152. package/dist/design-system66.mjs +2 -2
  153. package/dist/design-system67.js +1 -1
  154. package/dist/design-system67.js.map +1 -1
  155. package/dist/design-system67.mjs +58 -2
  156. package/dist/design-system67.mjs.map +1 -1
  157. package/dist/design-system68.js +1 -1
  158. package/dist/design-system68.mjs +2 -2
  159. package/dist/design-system69.js +1 -1
  160. package/dist/design-system69.mjs +1 -1
  161. package/dist/design-system70.js +1 -1
  162. package/dist/design-system70.mjs +1 -1
  163. package/dist/design-system71.js +1 -1
  164. package/dist/design-system71.mjs +2 -2
  165. package/dist/design-system72.js +1 -1
  166. package/dist/design-system72.js.map +1 -1
  167. package/dist/design-system72.mjs +2 -81
  168. package/dist/design-system72.mjs.map +1 -1
  169. package/dist/design-system73.js +1 -1
  170. package/dist/design-system73.mjs +2 -2
  171. package/dist/design-system74.js +1 -1
  172. package/dist/design-system74.mjs +1 -1
  173. package/dist/design-system75.js +1 -1
  174. package/dist/design-system75.mjs +2 -2
  175. package/dist/design-system76.js +1 -1
  176. package/dist/design-system76.js.map +1 -1
  177. package/dist/design-system76.mjs +81 -2
  178. package/dist/design-system76.mjs.map +1 -1
  179. package/dist/design-system77.js +1 -1
  180. package/dist/design-system77.mjs +2 -2
  181. package/dist/design-system78.js +1 -1
  182. package/dist/design-system78.js.map +1 -1
  183. package/dist/design-system78.mjs +2 -102
  184. package/dist/design-system78.mjs.map +1 -1
  185. package/dist/design-system79.js +1 -1
  186. package/dist/design-system79.mjs +2 -2
  187. package/dist/design-system80.js +1 -6
  188. package/dist/design-system80.js.map +1 -1
  189. package/dist/design-system80.mjs +2 -107
  190. package/dist/design-system80.mjs.map +1 -1
  191. package/dist/design-system81.js +1 -6
  192. package/dist/design-system81.js.map +1 -1
  193. package/dist/design-system81.mjs +2 -912
  194. package/dist/design-system81.mjs.map +1 -1
  195. package/dist/design-system82.js +1 -7
  196. package/dist/design-system82.js.map +1 -1
  197. package/dist/design-system82.mjs +95 -854
  198. package/dist/design-system82.mjs.map +1 -1
  199. package/dist/design-system83.js +1 -4
  200. package/dist/design-system83.js.map +1 -1
  201. package/dist/design-system83.mjs +2 -1364
  202. package/dist/design-system83.mjs.map +1 -1
  203. package/dist/design-system84.js +5 -1
  204. package/dist/design-system84.js.map +1 -1
  205. package/dist/design-system84.mjs +10 -2452
  206. package/dist/design-system84.mjs.map +1 -1
  207. package/dist/design-system85.js +1 -1
  208. package/dist/design-system85.js.map +1 -1
  209. package/dist/design-system85.mjs +6 -1103
  210. package/dist/design-system85.mjs.map +1 -1
  211. package/dist/design-system86.js +1 -1
  212. package/dist/design-system86.js.map +1 -1
  213. package/dist/design-system86.mjs +3 -16
  214. package/dist/design-system86.mjs.map +1 -1
  215. package/dist/design-system87.js +1 -1
  216. package/dist/design-system87.js.map +1 -1
  217. package/dist/design-system87.mjs +2 -75
  218. package/dist/design-system87.mjs.map +1 -1
  219. package/dist/design-system88.js +1 -1
  220. package/dist/design-system88.js.map +1 -1
  221. package/dist/design-system88.mjs +16 -5
  222. package/dist/design-system88.mjs.map +1 -1
  223. package/dist/design-system90.js +1 -1
  224. package/dist/design-system90.js.map +1 -1
  225. package/dist/design-system90.mjs +1103 -25
  226. package/dist/design-system90.mjs.map +1 -1
  227. package/dist/design-system91.js +1 -5
  228. package/dist/design-system91.js.map +1 -1
  229. package/dist/design-system91.mjs +25 -10
  230. package/dist/design-system91.mjs.map +1 -1
  231. package/dist/design-system92.js +1 -1
  232. package/dist/design-system92.js.map +1 -1
  233. package/dist/design-system92.mjs +75 -6
  234. package/dist/design-system92.mjs.map +1 -1
  235. package/dist/design-system93.js +1 -1
  236. package/dist/design-system93.js.map +1 -1
  237. package/dist/design-system93.mjs +5 -3
  238. package/dist/design-system93.mjs.map +1 -1
  239. package/dist/design-system94.js +1 -1
  240. package/dist/design-system94.js.map +1 -1
  241. package/dist/design-system94.mjs +2452 -2
  242. package/dist/design-system94.mjs.map +1 -1
  243. package/dist/design-system95.js +1 -1
  244. package/dist/design-system95.mjs +2 -2
  245. package/dist/design-system96.js +1 -1
  246. package/dist/design-system96.js.map +1 -1
  247. package/dist/design-system96.mjs +2 -4
  248. package/dist/design-system96.mjs.map +1 -1
  249. package/dist/design-system97.js +1 -1
  250. package/dist/design-system97.js.map +1 -1
  251. package/dist/design-system97.mjs +2 -8
  252. package/dist/design-system97.mjs.map +1 -1
  253. package/dist/design-system98.js +1 -1
  254. package/dist/design-system98.js.map +1 -1
  255. package/dist/design-system98.mjs +4 -7
  256. package/dist/design-system98.mjs.map +1 -1
  257. package/dist/design-system99.js +1 -1
  258. package/dist/design-system99.js.map +1 -1
  259. package/dist/design-system99.mjs +8 -2
  260. package/dist/design-system99.mjs.map +1 -1
  261. package/dist/style.css +1 -1
  262. package/dist/types/components/BButton.vue.d.ts +65 -65
  263. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +68 -68
  264. package/dist/types/components/BCarousel/BCarouselItem.vue.d.ts +9 -9
  265. package/dist/types/components/BCheckbox.vue.d.ts +90 -90
  266. package/dist/types/components/BCollapse.vue.d.ts +24 -24
  267. package/dist/types/components/BDatePicker.vue.d.ts +143 -143
  268. package/dist/types/components/BDateRangePicker.vue.d.ts +134 -134
  269. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +102 -102
  270. package/dist/types/components/BDropdown/BDropdownContent.vue.d.ts +9 -9
  271. package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +27 -27
  272. package/dist/types/components/BErrorMessage.vue.d.ts +14 -14
  273. package/dist/types/components/BLabel.vue.d.ts +39 -39
  274. package/dist/types/components/BLoadingBar.vue.d.ts +40 -40
  275. package/dist/types/components/BLoadingOverlay.vue.d.ts +32 -32
  276. package/dist/types/components/BModal/BModal.vue.d.ts +53 -53
  277. package/dist/types/components/BModal/BModalBody.vue.d.ts +9 -9
  278. package/dist/types/components/BModal/BModalContainer.vue.d.ts +50 -50
  279. package/dist/types/components/BModal/BModalFooter.vue.d.ts +9 -9
  280. package/dist/types/components/BModal/BModalHeader.vue.d.ts +9 -9
  281. package/dist/types/components/BMultiSelect.vue.d.ts +140 -140
  282. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +104 -104
  283. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +49 -49
  284. package/dist/types/components/BOverlay.vue.d.ts +9 -9
  285. package/dist/types/components/BPagination.vue.d.ts +52 -52
  286. package/dist/types/components/BRadio.vue.d.ts +99 -99
  287. package/dist/types/components/BSelect.vue.d.ts +131 -131
  288. package/dist/types/components/BTabs/BTab.vue.d.ts +9 -9
  289. package/dist/types/components/BTabs/BTabs.vue.d.ts +42 -42
  290. package/dist/types/components/BTextField.vue.d.ts +187 -187
  291. package/dist/types/components/BTextarea.vue.d.ts +126 -126
  292. package/dist/types/components/BToast/BToast.vue.d.ts +21 -21
  293. package/dist/types/components/BToast/BToastItem.vue.d.ts +53 -53
  294. package/dist/types/components/BTooltip.vue.d.ts +43 -43
  295. package/dist/types/components/index.d.ts +31 -31
  296. package/dist/types/composables/Date.d.ts +7 -7
  297. package/dist/types/composables/Validation.d.ts +42 -42
  298. package/dist/types/constants/Common.d.ts +2 -2
  299. package/dist/types/constants/Enums.d.ts +106 -106
  300. package/dist/types/helpers/ComponentHelper.d.ts +7 -7
  301. package/dist/types/helpers/DateHelper.d.ts +2 -2
  302. package/dist/types/index.d.ts +9 -9
  303. package/dist/types/playground/PlaygroundView.vue.d.ts +2 -2
  304. package/dist/types/plugin.d.ts +8 -8
  305. package/dist/types/types/Common.d.ts +5 -5
  306. package/dist/types/types/components/BCarousel.d.ts +8 -8
  307. package/dist/types/types/components/BDatePicker.d.ts +19 -19
  308. package/dist/types/types/components/BDateRangePicker.d.ts +18 -18
  309. package/dist/types/types/components/BDropdown.d.ts +11 -11
  310. package/dist/types/types/components/BErrorMessage.d.ts +4 -4
  311. package/dist/types/types/components/BLabel.d.ts +5 -5
  312. package/dist/types/types/components/BLoadingBar.d.ts +6 -6
  313. package/dist/types/types/components/BLoadingOverlay.d.ts +6 -6
  314. package/dist/types/types/components/BModal.d.ts +7 -7
  315. package/dist/types/types/components/BMultiSelect.d.ts +18 -18
  316. package/dist/types/types/components/BOtpField.d.ts +13 -13
  317. package/dist/types/types/components/BPagination.d.ts +8 -8
  318. package/dist/types/types/components/BRadio.d.ts +13 -13
  319. package/dist/types/types/components/BSelect.d.ts +17 -17
  320. package/dist/types/types/components/BTabs.d.ts +9 -9
  321. package/dist/types/types/components/BTextField.d.ts +22 -22
  322. package/dist/types/types/components/BTextarea.d.ts +16 -16
  323. package/dist/types/types/components/BToast.d.ts +8 -8
  324. package/dist/types/types/components/BTooltip.d.ts +6 -6
  325. package/dist/types/types/index.d.ts +20 -20
  326. package/package.json +96 -96
@@ -1 +1 @@
1
- {"version":3,"file":"design-system11.js","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\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 datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\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 inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (!isEmpty(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\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","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","isEmpty","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"design-system11.js","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"value\"]\nconst _hoisted_3 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_4 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\nimport { checkIfISOFormat } from '@/helpers/DateHelper';\nimport moment from 'moment-mini';\nimport { DateDelimiter } from '@/constants/Common';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nconst dateFormat = `DD${DateDelimiter}MM${DateDelimiter}YYYY`; // moment's date format\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\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 datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = checkIfValidDateValue(selectedDate.value)\n ? selectedDate.value\n : [];\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n const isValidDate = checkIfValidDateValue(date);\n selectedDate.value = isValidDate ? date : [];\n if (props.required) {\n toggleButtonConfirm(isValidDate);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: props.modelValue,\n onSelect: onSelectDatePicker,\n buttons: datePickerButtons.value,\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\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 inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\nconst displayValue = computed(() =>\n props.modelValue.map((val) => formatDate(val)).join(' - '),\n);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (checkIfValidDateValue(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\n/**\n * Methods\n */\nconst checkIfValidDateValue = (d: Date[]) => d?.length === 2;\nconst formatDate = (date: string | Date) =>\n checkIfISOFormat(date) ? moment(date).format(dateFormat) : date;\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (checkIfValidDateValue(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: id.value,\n class: _normalizeClass([inputCssClassValue.value, \"ds-relative ds-z-[2] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n value: displayValue.value,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1]\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_3),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_4)\n ]),\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","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","dateFormat","DateDelimiter","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","checkIfValidDateValue","datePickerOptions","datePickerLocale","onSelectDatePicker","date","isValidDate","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","displayValue","formatDate","useValidationField","watch","checkIfModelNeedToSync","d","checkIfISOFormat","moment","unlockScrollBody","lockScrollBody","isEmpty","v","_a","enabled","btnEl","onMounted","AirDatepicker","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
@@ -1,14 +1,17 @@
1
- import { defineComponent as N, ref as y, computed as i, nextTick as k, watch as h, onMounted as T, onBeforeUnmount as H, openBlock as v, createElementBlock as I, createVNode as z, createElementVNode as c, normalizeClass as g, createBlock as A, unref as F, createCommentVNode as E } from "vue";
2
- import { useI18n as O } from "./design-system41.mjs";
3
- import L from "./design-system85.mjs";
4
- import { useValidationField as U } from "./design-system3.mjs";
5
- import { BDatePickerView as G } from "./design-system5.mjs";
6
- import { unlockScrollBody as D, lockScrollBody as J } from "./design-system6.mjs";
7
- import K from "./design-system27.mjs";
8
- import Q from "./design-system28.mjs";
9
- import W from "./design-system86.mjs";
10
- import n from "./design-system90.mjs";
11
- const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = ["for"], le = /* @__PURE__ */ N({
1
+ import { defineComponent as H, ref as g, computed as n, nextTick as D, watch as V, onMounted as Y, onBeforeUnmount as A, openBlock as w, createElementBlock as O, createVNode as E, createElementVNode as l, normalizeClass as f, createBlock as L, unref as U, createCommentVNode as G } from "vue";
2
+ import { useI18n as J } from "./design-system41.mjs";
3
+ import K from "./design-system90.mjs";
4
+ import { useValidationField as Q } from "./design-system3.mjs";
5
+ import { BDatePickerView as W } from "./design-system5.mjs";
6
+ import { unlockScrollBody as x, lockScrollBody as X } from "./design-system6.mjs";
7
+ import Z from "./design-system27.mjs";
8
+ import ee from "./design-system28.mjs";
9
+ import { checkIfISOFormat as se } from "./design-system40.mjs";
10
+ import ae from "./design-system47.mjs";
11
+ import { DateDelimiter as M } from "./design-system4.mjs";
12
+ import te from "./design-system88.mjs";
13
+ import i from "./design-system91.mjs";
14
+ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "value"], re = ["id", "disabled", "placeholder"], ne = ["for"], ge = /* @__PURE__ */ H({
12
15
  __name: "BDateRangePicker",
13
16
  props: {
14
17
  inputId: { default: "" },
@@ -22,48 +25,48 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
22
25
  inputCssClass: { default: "" },
23
26
  minDate: { default: "" },
24
27
  maxDate: { default: "" },
25
- view: { default: G.Days },
28
+ view: { default: W.Days },
26
29
  hideDetails: { type: Boolean, default: !1 },
27
30
  position: { default: "bottom left" }
28
31
  },
29
32
  emits: ["update:modelValue"],
30
- setup(V, { emit: x }) {
31
- const s = V, { t: e, locale: w } = O();
32
- let d;
33
- const M = {
34
- validateRule: (t) => !!t,
35
- errorMessage: () => s.requiredErrorMessage || e("ds.global.field_required")
36
- }, p = y(), r = i(() => s.inputId || `id-${W()}`), u = i({
33
+ setup(B, { emit: P }) {
34
+ const a = B, { t: e, locale: q } = J(), C = `DD${M}MM${M}YYYY`;
35
+ let r;
36
+ const S = {
37
+ validateRule: (s) => !!s,
38
+ errorMessage: () => a.requiredErrorMessage || e("ds.global.field_required")
39
+ }, p = g(), o = n(() => a.inputId || `id-${te()}`), h = n({
37
40
  get() {
38
- return s.modelValue;
41
+ return a.modelValue;
39
42
  },
40
- set(t) {
41
- x("update:modelValue", t);
43
+ set(s) {
44
+ P("update:modelValue", s);
42
45
  }
43
- }), B = i(() => [
46
+ }), $ = n(() => [
44
47
  {
45
48
  content: e("ds.components.base.date_picker.buttons.cancel"),
46
49
  className: "ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1",
47
- onClick: (t) => {
48
- t.clear(), k(() => {
49
- f();
50
- }), t.hide();
50
+ onClick: (s) => {
51
+ s.clear(), D(() => {
52
+ k();
53
+ }), s.hide();
51
54
  }
52
55
  },
53
56
  {
54
57
  content: e("ds.components.base.date_picker.buttons.confirm"),
55
- className: `${r.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,
56
- onClick: (t) => {
57
- u.value = p.value, k(() => {
58
- f();
59
- }), t.hide();
58
+ className: `${o.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,
59
+ onClick: (s) => {
60
+ h.value = c(p.value) ? p.value : [], D(() => {
61
+ k();
62
+ }), s.hide();
60
63
  },
61
- attrs: s.required ? {
64
+ attrs: a.required ? {
62
65
  disabled: ""
63
66
  } : void 0
64
67
  }
65
- ]), b = i(() => {
66
- const t = {
68
+ ]), _ = n(() => {
69
+ const s = {
67
70
  days: [
68
71
  e("ds.components.base.date_picker.days.sunday"),
69
72
  e("ds.components.base.date_picker.days.monday"),
@@ -125,117 +128,128 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
125
128
  timeFormat: "HH:mm",
126
129
  firstDay: 1
127
130
  // Monday
128
- }, a = ({
129
- date: o
131
+ }, t = ({
132
+ date: d
130
133
  }) => {
131
- p.value = o, s.required && $(!!o);
134
+ const m = c(d);
135
+ p.value = m ? d : [], a.required && z(m);
132
136
  };
133
137
  return {
134
- locale: t,
135
- selectedDates: [...s.modelValue],
136
- onSelect: a,
137
- buttons: [...B.value],
138
+ locale: s,
139
+ selectedDates: a.modelValue,
140
+ onSelect: t,
141
+ buttons: $.value,
138
142
  showOtherMonths: !1,
139
143
  timepicker: !1,
140
144
  onlyTimepicker: !1,
141
- minDate: s.minDate,
142
- maxDate: s.maxDate,
143
- view: s.view,
144
- onHide: C,
145
- onShow: S,
145
+ minDate: a.minDate,
146
+ maxDate: a.maxDate,
147
+ view: a.view,
148
+ onHide: N,
149
+ onShow: T,
146
150
  navTitles: {
147
151
  days: "MMMM yyyy"
148
152
  },
149
- position: s.position,
153
+ position: a.position,
150
154
  range: !0,
151
155
  multipleDatesSeparator: " - "
152
156
  };
153
- }), P = i(() => {
154
- let t = [];
155
- return s.required && t.push(M), s.validationRules && (t = t.concat(s.validationRules)), t.length ? t : void 0;
156
- }), q = i(() => [
157
+ }), R = n(() => {
158
+ let s = [];
159
+ return a.required && s.push(S), a.validationRules && (s = s.concat(a.validationRules)), s.length ? s : void 0;
160
+ }), y = n(() => [
157
161
  "ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",
158
162
  {
159
- "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": s.disabled,
160
- "ds-text-black/[0.85]": !s.disabled,
161
- "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !m.value.valid,
162
- "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": m.value.valid,
163
- "!ds-border-focus ds-ring-1 ds-ring-focus": l.value
163
+ "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": a.disabled,
164
+ "ds-text-black/[0.85]": !a.disabled,
165
+ "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !b.value.valid,
166
+ "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": b.value.valid,
167
+ "!ds-border-focus ds-ring-1 ds-ring-focus": u.value
164
168
  },
165
- s.inputCssClass
166
- ]), l = y(!1), { validate: f, validationResult: m } = U(
167
- r.value,
168
- u,
169
- P.value
169
+ a.inputCssClass
170
+ ]), u = g(!1), j = n(
171
+ () => a.modelValue.map((s) => I(s)).join(" - ")
172
+ ), { validate: k, validationResult: b } = Q(
173
+ o.value,
174
+ h,
175
+ R.value
170
176
  );
171
- h(
172
- () => s.modelValue,
177
+ V(
178
+ () => a.modelValue,
173
179
  () => {
174
- R(d.selectedDates) && (n(s.modelValue) ? d.clear() : d.selectDate(s.modelValue));
180
+ F(r.selectedDates) && (c(a.modelValue) ? r.selectDate(a.modelValue) : r.clear());
175
181
  },
176
182
  { deep: !0 }
177
- ), h(
183
+ ), V(
178
184
  [
179
- w,
180
- () => s.position,
181
- () => s.minDate,
182
- () => s.maxDate,
183
- () => s.view
185
+ q,
186
+ () => a.position,
187
+ () => a.minDate,
188
+ () => a.maxDate,
189
+ () => a.view
184
190
  ],
185
191
  () => {
186
- d.update(b.value);
192
+ r.update(_.value);
187
193
  }
188
- ), T(() => {
189
- d = new L(
190
- `#${r.value}Picker`,
191
- b.value
192
- );
193
- });
194
- const C = () => {
195
- l.value = !1, D();
196
- }, S = () => {
197
- l.value = !0, s.modelValue ? d.selectDate(s.modelValue) : d.clear(), J();
198
- }, R = (t) => [
199
- !n(s.modelValue) && n(t),
200
- !n(t) && n(s.modelValue),
201
- !n(s.modelValue) && !n(t) && s.modelValue.some((o, j) => {
202
- var _;
203
- return (o == null ? void 0 : o.getTime()) !== ((_ = t[j]) == null ? void 0 : _.getTime());
194
+ );
195
+ const c = (s) => (s == null ? void 0 : s.length) === 2, I = (s) => se(s) ? ae(s).format(C) : s, N = () => {
196
+ u.value = !1, x();
197
+ }, T = () => {
198
+ u.value = !0, c(a.modelValue) ? r.selectDate(a.modelValue) : r.clear(), X();
199
+ }, F = (s) => [
200
+ !i(a.modelValue) && i(s),
201
+ !i(s) && i(a.modelValue),
202
+ !i(a.modelValue) && !i(s) && a.modelValue.some((d, m) => {
203
+ var v;
204
+ return (d == null ? void 0 : d.getTime()) !== ((v = s[m]) == null ? void 0 : v.getTime());
204
205
  })
205
- ].some((o) => o), $ = (t) => {
206
- const a = document.querySelector(`.${r.value}-btn-confirm`);
207
- t ? a == null || a.removeAttribute("disabled") : a == null || a.setAttribute("disabled", "");
206
+ ].some((d) => d), z = (s) => {
207
+ const t = document.querySelector(`.${o.value}-btn-confirm`);
208
+ s ? t == null || t.removeAttribute("disabled") : t == null || t.setAttribute("disabled", "");
208
209
  };
209
- return H(() => {
210
- D();
211
- }), (t, a) => (v(), I("div", null, [
212
- z(Q, {
213
- id: r.value,
214
- label: t.label,
215
- required: t.required
210
+ return Y(() => {
211
+ r = new K(
212
+ `#${o.value}Picker`,
213
+ _.value
214
+ );
215
+ }), A(() => {
216
+ x();
217
+ }), (s, t) => (w(), O("div", null, [
218
+ E(ee, {
219
+ id: o.value,
220
+ label: s.label,
221
+ required: s.required
216
222
  }, null, 8, ["id", "label", "required"]),
217
- c("div", X, [
218
- c("input", {
219
- id: `${r.value}Picker`,
220
- class: g([q.value, "ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light"]),
221
- disabled: t.disabled,
222
- placeholder: t.placeholder,
223
+ l("div", oe, [
224
+ l("input", {
225
+ id: o.value,
226
+ class: f([y.value, "ds-relative ds-z-[2] ds-drop-shadow-light"]),
227
+ disabled: s.disabled,
228
+ placeholder: s.placeholder,
229
+ value: j.value,
230
+ readonly: ""
231
+ }, null, 10, de),
232
+ l("input", {
233
+ id: `${o.value}Picker`,
234
+ class: f([y.value, "ds-absolute ds-top-0 ds-z-[1]"]),
235
+ disabled: s.disabled,
236
+ placeholder: s.placeholder,
223
237
  readonly: ""
224
- }, null, 10, Y),
225
- c("label", {
226
- for: `${r.value}Picker`,
238
+ }, null, 10, re),
239
+ l("label", {
240
+ for: `${o.value}Picker`,
227
241
  class: "ds-absolute ds-right-3 ds-top-2 ds-z-[3]"
228
242
  }, [
229
- c("i", {
230
- class: g([[
231
- s.disabled ? "ds-text-black/[0.4]" : "ds-text-black/[0.85]"
243
+ l("i", {
244
+ class: f([[
245
+ a.disabled ? "ds-text-black/[0.4]" : "ds-text-black/[0.85]"
232
246
  ], "fa-solid fa-calendar-lines"])
233
247
  }, null, 2)
234
- ], 8, Z)
248
+ ], 8, ne)
235
249
  ]),
236
- t.hideDetails ? E("", !0) : (v(), A(K, {
250
+ s.hideDetails ? G("", !0) : (w(), L(Z, {
237
251
  key: 0,
238
- "error-message": F(m).errorMessage(),
252
+ "error-message": U(b).errorMessage(),
239
253
  class: "ds-mt-1",
240
254
  "prepend-icon": "fa-solid fa-circle-exclamation"
241
255
  }, null, 8, ["error-message"]))
@@ -243,6 +257,6 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
243
257
  }
244
258
  });
245
259
  export {
246
- le as default
260
+ ge as default
247
261
  };
248
262
  //# sourceMappingURL=design-system11.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system11.mjs","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\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 datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\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 inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (!isEmpty(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\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","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","isEmpty","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":";;;;;;;;;;AAGA,MAAMA,IAAa,EAAE,OAAO,iBACtBC,IAAa,CAAC,MAAM,YAAY,aAAa,GAC7CC,IAAa,CAAC,KAAK,GAuCGC,KAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,YAAY,CAAC;AAAA,IACb,OAAO,EAAE,SAAS,GAAG;AAAA,IACrB,iBAAiB,EAAE,SAAS,OAAU;AAAA,IACtC,aAAa,EAAE,SAAS,GAAG;AAAA,IAC3B,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC1C,sBAAsB,EAAE,SAAS,GAAG;AAAA,IACpC,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC1C,eAAe,EAAE,SAAS,GAAG;AAAA,IAC7B,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,MAAM,EAAE,SAASC,EAAgB,KAAK;AAAA,IACtC,aAAa,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC7C,UAAU,EAAE,SAAS,cAAc;AAAA,EACrC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAEhC,UAAMC,IAAQF,GAYR,EAAE,GAAAG,GAAG,QAAAC,EAAO,IAAIC,EAAQ;AAC1B,QAAAC;AACJ,UAAMC,IAAmC;AAAA,MACvC,cAAc,CAACC,MAAQ,CAAC,CAACA;AAAA,MACzB,cAAc,MACZN,EAAM,wBAAwBC,EAAE,0BAA0B;AAAA,IAAA,GAExDM,IAAeC,KAMfC,IAAKC,EAAS,MAAMV,EAAM,WAAW,MAAMW,GAAM,EAAE,GACnDC,IAAQF,EAAS;AAAA,MACrB,MAAM;AACJ,eAAOV,EAAM;AAAA,MACf;AAAA,MACA,IAAIM,GAAK;AACP,QAAAP,EAAK,qBAAqBO,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD,GACKO,IAAoBH,EAAgC,MAAM;AAAA,MAC9D;AAAA,QACE,SAAST,EAAE,+CAA+C;AAAA,QAC1D,WACE;AAAA,QACF,SAAS,CAACa,MAAO;AACf,UAAAA,EAAG,MAAM,GACTC,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,MACF;AAAA,MACA;AAAA,QACE,SAASb,EAAE,gDAAgD;AAAA,QAC3D,WAAW,GAAGQ,EAAG,KAAK;AAAA,QACtB,SAAS,CAACK,MAAO;AACf,UAAAF,EAAM,QAAQL,EAAa,OAC3BQ,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,QACA,OAAOd,EAAM,WACT;AAAA,UACE,UAAU;AAAA,QAEZ,IAAA;AAAA,MACN;AAAA,IAAA,CACD,GACKiB,IAAoBP,EAAS,MAAM;AACvC,YAAMQ,IAAwC;AAAA,QAC5C,MAAM;AAAA,UACJjB,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,8CAA8C;AAAA,UAChDA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,8CAA8C;AAAA,QAClD;AAAA,QACA,WAAW;AAAA,UACTA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,oDAAoD;AAAA,UACtDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,oDAAoD;AAAA,QACxD;AAAA,QACA,SAAS;AAAA,UACPA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,kDAAkD;AAAA,QACtD;AAAA,QACA,QAAQ;AAAA,UACNA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,2CAA2C;AAAA,UAC7CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,8CAA8C;AAAA,UAChDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,gDAAgD;AAAA,QACpD;AAAA,QACA,aAAa;AAAA,UACXA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,sDAAsD;AAAA,UACxDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,oDAAoD;AAAA,UACtDA,EAAE,uDAAuD;AAAA,UACzDA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,sDAAsD;AAAA,UACxDA,EAAE,sDAAsD;AAAA,QAC1D;AAAA,QACA,OAAOA,EAAE,8CAA8C;AAAA,QACvD,OAAOA,EAAE,8CAA8C;AAAA,QACvD,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,UAAU;AAAA;AAAA,MAAA,GAENkB,IAAqB,CAAC;AAAA,QAC1B,MAAAC;AAAA,MAAA,MAKI;AAEJ,QAAAb,EAAa,QAAQa,GACjBpB,EAAM,YACYqB,EAAA,CAAC,CAACD,CAAI;AAAA,MAC5B;AAGK,aAAA;AAAA,QACL,QAAQF;AAAA,QACR,eAAe,CAAC,GAAGlB,EAAM,UAAU;AAAA,QACnC,UAAUmB;AAAA,QACV,SAAS,CAAC,GAAGN,EAAkB,KAAK;AAAA,QACpC,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,SAASb,EAAM;AAAA,QACf,SAASA,EAAM;AAAA,QACf,MAAMA,EAAM;AAAA,QACZ,QAAQsB;AAAA,QACR,QAAQC;AAAA,QACR,WAAW;AAAA,UACT,MAAM;AAAA,QACR;AAAA,QACA,UAAUvB,EAAM;AAAA,QAChB,OAAO;AAAA,QACP,wBAAwB;AAAA,MAAA;AAAA,IAC1B,CACD,GACKwB,IAASd,EAAS,MAAM;AAC5B,UAAIe,IAA2B,CAAA;AAE/B,aAAIzB,EAAM,YACRyB,EAAO,KAAKpB,CAAgB,GAE1BL,EAAM,oBACCyB,IAAAA,EAAO,OAAOzB,EAAM,eAAe,IAGvCyB,EAAO,SAASA,IAAS;AAAA,IAAA,CACjC,GACKC,IAAqBhB,EAAS,MAAM;AAAA,MACxC;AAAA,MACA;AAAA,QACE,6DAA6DV,EAAM;AAAA,QACnE,wBAAwB,CAACA,EAAM;AAAA,QAC/B,uDACE,CAAC2B,EAAiB,MAAM;AAAA,QAC1B,mFACEA,EAAiB,MAAM;AAAA,QACzB,4CAA4CC,EAAkB;AAAA,MAChE;AAAA,MACA5B,EAAM;AAAA,IAAA,CACP,GACK4B,IAAoBpB,EAAI,EAAK,GAE7B,EAAE,UAAAQ,GAAU,kBAAAW,EAAA,IAAqBE;AAAA,MACrCpB,EAAG;AAAA,MACHG;AAAA,MACAY,EAAO;AAAA,IAAA;AAMT,IAAAM;AAAA,MACE,MAAM9B,EAAM;AAAA,MACZ,MAAM;AACA,QAAA+B,EAAuB3B,EAAW,aAAa,MAC5C4B,EAAQhC,EAAM,UAAU,IAG3BI,EAAW,MAAM,IAFNA,EAAA,WAAWJ,EAAM,UAAU;AAAA,MAK5C;AAAA,MACA,EAAE,MAAM,GAAK;AAAA,IAAA,GAEf8B;AAAA,MACE;AAAA,QACE5B;AAAA,QACA,MAAMF,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,MACd;AAAA,MACA,MAAM;AACO,QAAAI,EAAA,OAAOa,EAAkB,KAAK;AAAA,MAC3C;AAAA,IAAA,GAGFgB,EAAU,MAAM;AACd,MAAA7B,IAAa,IAAI8B;AAAA,QACf,IAAIzB,EAAG,KAAK;AAAA,QACZQ,EAAkB;AAAA,MAAA;AAAA,IACpB,CACD;AAKD,UAAMK,IAAe,MAAM;AACzB,MAAAM,EAAkB,QAAQ,IACTO;IAAA,GAGbZ,IAAe,MAAM;AACzB,MAAAK,EAAkB,QAAQ,IACtB5B,EAAM,aACGI,EAAA,WAAWJ,EAAM,UAAU,IAEtCI,EAAW,MAAM,GAEJgC;IAAA,GAEXL,IAAyB,CAACX,MAChB;AAAA,MACZ,CAACY,EAAQhC,EAAM,UAAU,KAAKgC,EAAQZ,CAAI;AAAA,MAC1C,CAACY,EAAQZ,CAAI,KAAKY,EAAQhC,EAAM,UAAU;AAAA,MAC1C,CAACgC,EAAQhC,EAAM,UAAU,KACvB,CAACgC,EAAQZ,CAAI,KACbpB,EAAM,WAAW,KAAK,CAACqC,GAAGC;;AAAM,gBAAAD,KAAA,gBAAAA,EAAG,iBAAcE,IAAAnB,EAAKkB,CAAC,MAAN,gBAAAC,EAAS;AAAA,OAAS;AAAA,IAAA,EAG1D,KAAK,CAACC,MAAMA,CAAC,GAEtBnB,IAAsB,CAACoB,MAAqB;AAChD,YAAMC,IAAQ,SAAS,cAAc,IAAIjC,EAAG,KAAK,cAAc;AAC/D,MAAIgC,IACFC,KAAA,QAAAA,EAAO,gBAAgB,cAEhBA,KAAA,QAAAA,EAAA,aAAa,YAAY;AAAA,IAClC;AAMF,WAAAC,EAAgB,MAAM;AACH,MAAAR;IAAA,CAClB,GAEM,CAACS,GAAUC,OACRC,EAAW,GAAGC,EAAoB,OAAO,MAAM;AAAA,MACrDC,EAAaC,GAAQ;AAAA,QACnB,IAAIxC,EAAG;AAAA,QACP,OAAOmC,EAAK;AAAA,QACZ,UAAUA,EAAK;AAAA,MAAA,GACd,MAAM,GAAG,CAAC,MAAM,SAAS,UAAU,CAAC;AAAA,MACvCM,EAAoB,OAAO1D,GAAY;AAAA,QACrC0D,EAAoB,SAAS;AAAA,UAC3B,IAAI,GAAGzC,EAAG,KAAK;AAAA,UACf,OAAO0C,EAAgB,CAACzB,EAAmB,OAAO,oDAAoD,CAAC;AAAA,UACvG,UAAUkB,EAAK;AAAA,UACf,aAAaA,EAAK;AAAA,UAClB,UAAU;AAAA,QAAA,GACT,MAAM,IAAInD,CAAU;AAAA,QACvByD,EAAoB,SAAS;AAAA,UAC3B,KAAK,GAAGzC,EAAG,KAAK;AAAA,UAChB,OAAO;AAAA,QAAA,GACN;AAAA,UACDyC,EAAoB,KAAK;AAAA,YACvB,OAAOC,EAAgB,CAAC;AAAA,cACtBnD,EAAM,WAAW,wBAAwB;AAAA,YAC3C,GAAG,4BAA4B,CAAC;AAAA,UAAA,GAC/B,MAAM,CAAC;AAAA,QAAA,GACT,GAAGN,CAAU;AAAA,MAAA,CACjB;AAAA,MACCkD,EAAK,cAOHQ,EAAoB,IAAI,EAAI,KAN3BN,EAAW,GAAGO,EAAaC,GAAe;AAAA,QACzC,KAAK;AAAA,QACL,iBAAiBC,EAAO5B,CAAgB,EAAE,aAAa;AAAA,QACvD,OAAO;AAAA,QACP,gBAAgB;AAAA,MAAA,GACf,MAAM,GAAG,CAAC,eAAe,CAAC;AAAA,IACD,CACjC;AAAA,EAEH;AAEA,CAAC;"}
1
+ {"version":3,"file":"design-system11.mjs","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\", \"value\"]\nconst _hoisted_3 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_4 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\nimport { checkIfISOFormat } from '@/helpers/DateHelper';\nimport moment from 'moment-mini';\nimport { DateDelimiter } from '@/constants/Common';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nconst dateFormat = `DD${DateDelimiter}MM${DateDelimiter}YYYY`; // moment's date format\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\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 datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = checkIfValidDateValue(selectedDate.value)\n ? selectedDate.value\n : [];\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n const isValidDate = checkIfValidDateValue(date);\n selectedDate.value = isValidDate ? date : [];\n if (props.required) {\n toggleButtonConfirm(isValidDate);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: props.modelValue,\n onSelect: onSelectDatePicker,\n buttons: datePickerButtons.value,\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\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 inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\nconst displayValue = computed(() =>\n props.modelValue.map((val) => formatDate(val)).join(' - '),\n);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (checkIfValidDateValue(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\n/**\n * Methods\n */\nconst checkIfValidDateValue = (d: Date[]) => d?.length === 2;\nconst formatDate = (date: string | Date) =>\n checkIfISOFormat(date) ? moment(date).format(dateFormat) : date;\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (checkIfValidDateValue(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: id.value,\n class: _normalizeClass([inputCssClassValue.value, \"ds-relative ds-z-[2] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n value: displayValue.value,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1]\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_3),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_4)\n ]),\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","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","dateFormat","DateDelimiter","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","checkIfValidDateValue","datePickerOptions","datePickerLocale","onSelectDatePicker","date","isValidDate","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","displayValue","formatDate","useValidationField","watch","checkIfModelNeedToSync","d","checkIfISOFormat","moment","unlockScrollBody","lockScrollBody","isEmpty","v","i","_a","r","enabled","btnEl","onMounted","AirDatepicker","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":";;;;;;;;;;;;;AAGA,MAAMA,KAAa,EAAE,OAAO,iBACtBC,KAAa,CAAC,MAAM,YAAY,eAAe,OAAO,GACtDC,KAAa,CAAC,MAAM,YAAY,aAAa,GAC7CC,KAAa,CAAC,KAAK,GA0CGC,KAAiBC,gBAAAA,EAAA;AAAA,EAC3C,QAAQ;AAAA,EACR,OAAO;AAAA,IACL,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,YAAY,CAAC;AAAA,IACb,OAAO,EAAE,SAAS,GAAG;AAAA,IACrB,iBAAiB,EAAE,SAAS,OAAU;AAAA,IACtC,aAAa,EAAE,SAAS,GAAG;AAAA,IAC3B,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC1C,sBAAsB,EAAE,SAAS,GAAG;AAAA,IACpC,UAAU,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC1C,eAAe,EAAE,SAAS,GAAG;AAAA,IAC7B,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,SAAS,EAAE,SAAS,GAAG;AAAA,IACvB,MAAM,EAAE,SAASC,EAAgB,KAAK;AAAA,IACtC,aAAa,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC7C,UAAU,EAAE,SAAS,cAAc;AAAA,EACrC;AAAA,EACA,OAAO,CAAC,mBAAmB;AAAA,EAC3B,MAAMC,GAAc,EAAE,MAAAC,KAAQ;AAEhC,UAAMC,IAAQF,GAYR,EAAE,GAAAG,GAAG,QAAAC,EAAO,IAAIC,EAAQ,GACxBC,IAAa,KAAKC,CAAa,KAAKA,CAAa;AACnD,QAAAC;AACJ,UAAMC,IAAmC;AAAA,MACvC,cAAc,CAACC,MAAQ,CAAC,CAACA;AAAA,MACzB,cAAc,MACZR,EAAM,wBAAwBC,EAAE,0BAA0B;AAAA,IAAA,GAExDQ,IAAeC,KAMfC,IAAKC,EAAS,MAAMZ,EAAM,WAAW,MAAMa,IAAM,EAAE,GACnDC,IAAQF,EAAS;AAAA,MACrB,MAAM;AACJ,eAAOZ,EAAM;AAAA,MACf;AAAA,MACA,IAAIQ,GAAK;AACP,QAAAT,EAAK,qBAAqBS,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD,GACKO,IAAoBH,EAAgC,MAAM;AAAA,MAC9D;AAAA,QACE,SAASX,EAAE,+CAA+C;AAAA,QAC1D,WACE;AAAA,QACF,SAAS,CAACe,MAAO;AACf,UAAAA,EAAG,MAAM,GACTC,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,MACF;AAAA,MACA;AAAA,QACE,SAASf,EAAE,gDAAgD;AAAA,QAC3D,WAAW,GAAGU,EAAG,KAAK;AAAA,QACtB,SAAS,CAACK,MAAO;AACf,UAAAF,EAAM,QAAQK,EAAsBV,EAAa,KAAK,IAClDA,EAAa,QACb,IACJQ,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,QACA,OAAOhB,EAAM,WACT;AAAA,UACE,UAAU;AAAA,QAEZ,IAAA;AAAA,MACN;AAAA,IAAA,CACD,GACKoB,IAAoBR,EAAS,MAAM;AACvC,YAAMS,IAAwC;AAAA,QAC5C,MAAM;AAAA,UACJpB,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,8CAA8C;AAAA,UAChDA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,8CAA8C;AAAA,QAClD;AAAA,QACA,WAAW;AAAA,UACTA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,oDAAoD;AAAA,UACtDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,oDAAoD;AAAA,QACxD;AAAA,QACA,SAAS;AAAA,UACPA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,kDAAkD;AAAA,QACtD;AAAA,QACA,QAAQ;AAAA,UACNA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,6CAA6C;AAAA,UAC/CA,EAAE,2CAA2C;AAAA,UAC7CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,4CAA4C;AAAA,UAC9CA,EAAE,8CAA8C;AAAA,UAChDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,+CAA+C;AAAA,UACjDA,EAAE,gDAAgD;AAAA,UAClDA,EAAE,gDAAgD;AAAA,QACpD;AAAA,QACA,aAAa;AAAA,UACXA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,sDAAsD;AAAA,UACxDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,mDAAmD;AAAA,UACrDA,EAAE,iDAAiD;AAAA,UACnDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,kDAAkD;AAAA,UACpDA,EAAE,oDAAoD;AAAA,UACtDA,EAAE,uDAAuD;AAAA,UACzDA,EAAE,qDAAqD;AAAA,UACvDA,EAAE,sDAAsD;AAAA,UACxDA,EAAE,sDAAsD;AAAA,QAC1D;AAAA,QACA,OAAOA,EAAE,8CAA8C;AAAA,QACvD,OAAOA,EAAE,8CAA8C;AAAA,QACvD,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,UAAU;AAAA;AAAA,MAAA,GAENqB,IAAqB,CAAC;AAAA,QAC1B,MAAAC;AAAA,MAAA,MAKI;AACE,cAAAC,IAAcL,EAAsBI,CAAI;AACjC,QAAAd,EAAA,QAAQe,IAAcD,IAAO,CAAA,GACtCvB,EAAM,YACRyB,EAAoBD,CAAW;AAAA,MACjC;AAGK,aAAA;AAAA,QACL,QAAQH;AAAA,QACR,eAAerB,EAAM;AAAA,QACrB,UAAUsB;AAAA,QACV,SAASP,EAAkB;AAAA,QAC3B,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,SAASf,EAAM;AAAA,QACf,SAASA,EAAM;AAAA,QACf,MAAMA,EAAM;AAAA,QACZ,QAAQ0B;AAAA,QACR,QAAQC;AAAA,QACR,WAAW;AAAA,UACT,MAAM;AAAA,QACR;AAAA,QACA,UAAU3B,EAAM;AAAA,QAChB,OAAO;AAAA,QACP,wBAAwB;AAAA,MAAA;AAAA,IAC1B,CACD,GACK4B,IAAShB,EAAS,MAAM;AAC5B,UAAIiB,IAA2B,CAAA;AAE/B,aAAI7B,EAAM,YACR6B,EAAO,KAAKtB,CAAgB,GAE1BP,EAAM,oBACC6B,IAAAA,EAAO,OAAO7B,EAAM,eAAe,IAGvC6B,EAAO,SAASA,IAAS;AAAA,IAAA,CACjC,GACKC,IAAqBlB,EAAS,MAAM;AAAA,MACxC;AAAA,MACA;AAAA,QACE,6DAA6DZ,EAAM;AAAA,QACnE,wBAAwB,CAACA,EAAM;AAAA,QAC/B,uDACE,CAAC+B,EAAiB,MAAM;AAAA,QAC1B,mFACEA,EAAiB,MAAM;AAAA,QACzB,4CAA4CC,EAAkB;AAAA,MAChE;AAAA,MACAhC,EAAM;AAAA,IAAA,CACP,GACKgC,IAAoBtB,EAAI,EAAK,GAC7BuB,IAAerB;AAAA,MAAS,MAC5BZ,EAAM,WAAW,IAAI,CAACQ,MAAQ0B,EAAW1B,CAAG,CAAC,EAAE,KAAK,KAAK;AAAA,IAAA,GAGrD,EAAE,UAAAU,GAAU,kBAAAa,EAAA,IAAqBI;AAAA,MACrCxB,EAAG;AAAA,MACHG;AAAA,MACAc,EAAO;AAAA,IAAA;AAMT,IAAAQ;AAAA,MACE,MAAMpC,EAAM;AAAA,MACZ,MAAM;AACA,QAAAqC,EAAuB/B,EAAW,aAAa,MAC7Ca,EAAsBnB,EAAM,UAAU,IAC7BM,EAAA,WAAWN,EAAM,UAAU,IAEtCM,EAAW,MAAM;AAAA,MAGvB;AAAA,MACA,EAAE,MAAM,GAAK;AAAA,IAAA,GAEf8B;AAAA,MACE;AAAA,QACElC;AAAA,QACA,MAAMF,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,MACd;AAAA,MACA,MAAM;AACO,QAAAM,EAAA,OAAOc,EAAkB,KAAK;AAAA,MAC3C;AAAA,IAAA;AAMF,UAAMD,IAAwB,CAACmB,OAAcA,KAAA,gBAAAA,EAAG,YAAW,GACrDJ,IAAa,CAACX,MAClBgB,GAAiBhB,CAAI,IAAIiB,GAAOjB,CAAI,EAAE,OAAOnB,CAAU,IAAImB,GACvDG,IAAe,MAAM;AACzB,MAAAM,EAAkB,QAAQ,IACTS;IAAA,GAEbd,IAAe,MAAM;AACzB,MAAAK,EAAkB,QAAQ,IACtBb,EAAsBnB,EAAM,UAAU,IAC7BM,EAAA,WAAWN,EAAM,UAAU,IAEtCM,EAAW,MAAM,GAEJoC;IAAA,GAEXL,IAAyB,CAACd,MAChB;AAAA,MACZ,CAACoB,EAAQ3C,EAAM,UAAU,KAAK2C,EAAQpB,CAAI;AAAA,MAC1C,CAACoB,EAAQpB,CAAI,KAAKoB,EAAQ3C,EAAM,UAAU;AAAA,MAC1C,CAAC2C,EAAQ3C,EAAM,UAAU,KACvB,CAAC2C,EAAQpB,CAAI,KACbvB,EAAM,WAAW,KAAK,CAAC4C,GAAGC;;AAAM,gBAAAD,KAAA,gBAAAA,EAAG,iBAAcE,IAAAvB,EAAKsB,CAAC,MAAN,gBAAAC,EAAS;AAAA,OAAS;AAAA,IAAA,EAG1D,KAAK,CAACC,MAAMA,CAAC,GAEtBtB,IAAsB,CAACuB,MAAqB;AAChD,YAAMC,IAAQ,SAAS,cAAc,IAAItC,EAAG,KAAK,cAAc;AAC/D,MAAIqC,IACFC,KAAA,QAAAA,EAAO,gBAAgB,cAEhBA,KAAA,QAAAA,EAAA,aAAa,YAAY;AAAA,IAClC;AAMF,WAAAC,EAAU,MAAM;AACd,MAAA5C,IAAa,IAAI6C;AAAA,QACf,IAAIxC,EAAG,KAAK;AAAA,QACZS,EAAkB;AAAA,MAAA;AAAA,IACpB,CACD,GACDgC,EAAgB,MAAM;AACH,MAAAX;IAAA,CAClB,GAEM,CAACY,GAAUC,OACRC,EAAW,GAAGC,EAAoB,OAAO,MAAM;AAAA,MACrDC,EAAaC,IAAQ;AAAA,QACnB,IAAI/C,EAAG;AAAA,QACP,OAAO0C,EAAK;AAAA,QACZ,UAAUA,EAAK;AAAA,MAAA,GACd,MAAM,GAAG,CAAC,MAAM,SAAS,UAAU,CAAC;AAAA,MACvCM,EAAoB,OAAOpE,IAAY;AAAA,QACrCoE,EAAoB,SAAS;AAAA,UAC3B,IAAIhD,EAAG;AAAA,UACP,OAAOiD,EAAgB,CAAC9B,EAAmB,OAAO,2CAA2C,CAAC;AAAA,UAC9F,UAAUuB,EAAK;AAAA,UACf,aAAaA,EAAK;AAAA,UAClB,OAAOpB,EAAa;AAAA,UACpB,UAAU;AAAA,QAAA,GACT,MAAM,IAAIzC,EAAU;AAAA,QACvBmE,EAAoB,SAAS;AAAA,UAC3B,IAAI,GAAGhD,EAAG,KAAK;AAAA,UACf,OAAOiD,EAAgB,CAAC9B,EAAmB,OAAO,+BAA+B,CAAC;AAAA,UAClF,UAAUuB,EAAK;AAAA,UACf,aAAaA,EAAK;AAAA,UAClB,UAAU;AAAA,QAAA,GACT,MAAM,IAAI5D,EAAU;AAAA,QACvBkE,EAAoB,SAAS;AAAA,UAC3B,KAAK,GAAGhD,EAAG,KAAK;AAAA,UAChB,OAAO;AAAA,QAAA,GACN;AAAA,UACDgD,EAAoB,KAAK;AAAA,YACvB,OAAOC,EAAgB,CAAC;AAAA,cACtB5D,EAAM,WAAW,wBAAwB;AAAA,YAC3C,GAAG,4BAA4B,CAAC;AAAA,UAAA,GAC/B,MAAM,CAAC;AAAA,QAAA,GACT,GAAGN,EAAU;AAAA,MAAA,CACjB;AAAA,MACC2D,EAAK,cAOHQ,EAAoB,IAAI,EAAI,KAN3BN,EAAW,GAAGO,EAAaC,GAAe;AAAA,QACzC,KAAK;AAAA,QACL,iBAAiBC,EAAOjC,CAAgB,EAAE,aAAa;AAAA,QACvD,OAAO;AAAA,QACP,gBAAgB;AAAA,MAAA,GACf,MAAM,GAAG,CAAC,eAAe,CAAC;AAAA,IACD,CACjC;AAAA,EAEH;AAEA,CAAC;"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),g=require("./design-system6.js"),O=require("./design-system86.js"),V=["for"],$=["id"],B={class:"ds-truncate"},_=["id","data-cy","data-ut"],x=e.defineComponent({__name:"BDropdown",props:{inputId:{default:""},modelValue:{type:Boolean,default:void 0},label:{default:""},text:{default:""},toggleCssClass:{default:""},menuCssClass:{default:""},noCloseOnClickOutside:{type:Boolean,default:!1},noCloseOnEsc:{type:Boolean,default:!1},menuFixed:{type:Boolean,default:!1}},emits:["update:modelValue","hidden","shown"],setup(E,{emit:a}){const t=E,u=e.ref(null),n=e.ref(null),l=e.ref(null),c=e.ref(!1),i=e.computed(()=>t.inputId||`id-${O()}`),o=e.computed({get(){return t.modelValue!==void 0?t.modelValue:c.value},set(s){t.modelValue!==void 0?a("update:modelValue",s):c.value=s}});e.watch(o,s=>{var d;s?h():(C(),(d=u.value)==null||d.blur())}),e.watch(()=>t.noCloseOnClickOutside,s=>{s?k():p()}),e.watch(()=>t.noCloseOnEsc,s=>{s?y():f()});const f=()=>{document.addEventListener("keydown",m)},m=s=>{s.key==="Escape"&&r()},p=()=>{document.addEventListener("click",v)},v=s=>{[n.value,l.value].some(b=>s.composedPath().includes(b))||r()},w=()=>{o.value=!o.value},h=()=>{e.nextTick(()=>{g.ensureVisiblePosition(n.value,l.value,t.menuFixed),a("shown")})},C=()=>{g.resetPosition(n.value,l.value),a("hidden")},r=()=>{o.value=!1},y=()=>{document.removeEventListener("keydown",m)},k=()=>{document.removeEventListener("click",v)};return e.onMounted(()=>{t.noCloseOnEsc||f(),t.noCloseOnClickOutside||p()}),e.onBeforeUnmount(()=>{y(),k(),C()}),e.provide("closeDropdown",r),(s,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdown",ref:n},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"ds-mb-2 ds-block ds-text-xs ds-font-bold ds-capitalize ds-text-gray-500"},e.toDisplayString(t.label),9,V)):e.createCommentVNode("",!0),e.createElementVNode("button",{id:i.value,ref_key:"toggle",ref:u,class:e.normalizeClass([s.toggleCssClass,"ds-inline-flex ds-w-full ds-items-center ds-justify-between ds-rounded-lg ds-bg-gray-200 ds-px-5 ds-py-2.5 ds-text-gray-700 focus:ds-ring-1 focus:ds-ring-primary-t"]),type:"button",onClick:w},[e.renderSlot(s.$slots,"toggle",{},()=>[e.createElementVNode("span",B,e.toDisplayString(t.text),1),e.createTextVNode("   "),e.createElementVNode("span",{class:e.normalizeClass([`${o.value?"ds-rotate-180":""}`,"fa-solid fa-caret-down ds-transition-transform"])},null,2)])],10,$),e.withDirectives(e.createElementVNode("div",{id:`${i.value}Menu`,ref_key:"dropdownMenu",ref:l,class:e.normalizeClass([`${s.menuCssClass} ${t.menuFixed?"ds-fixed":"ds-absolute"}`,"ds-z-50 ds-py-1"]),"data-cy":s.$attrs["data-cy"]?`${s.$attrs["data-cy"]}Menu`:void 0,"data-ut":s.$attrs["data-ut"]?`${s.$attrs["data-ut"]}Menu`:void 0},[e.renderSlot(s.$slots,"default")],10,_),[[e.vShow,o.value]])],512))}});module.exports=x;
1
+ "use strict";const e=require("vue"),g=require("./design-system6.js"),O=require("./design-system88.js"),V=["for"],$=["id"],B={class:"ds-truncate"},_=["id","data-cy","data-ut"],x=e.defineComponent({__name:"BDropdown",props:{inputId:{default:""},modelValue:{type:Boolean,default:void 0},label:{default:""},text:{default:""},toggleCssClass:{default:""},menuCssClass:{default:""},noCloseOnClickOutside:{type:Boolean,default:!1},noCloseOnEsc:{type:Boolean,default:!1},menuFixed:{type:Boolean,default:!1}},emits:["update:modelValue","hidden","shown"],setup(E,{emit:a}){const t=E,u=e.ref(null),n=e.ref(null),l=e.ref(null),c=e.ref(!1),i=e.computed(()=>t.inputId||`id-${O()}`),o=e.computed({get(){return t.modelValue!==void 0?t.modelValue:c.value},set(s){t.modelValue!==void 0?a("update:modelValue",s):c.value=s}});e.watch(o,s=>{var d;s?h():(C(),(d=u.value)==null||d.blur())}),e.watch(()=>t.noCloseOnClickOutside,s=>{s?k():p()}),e.watch(()=>t.noCloseOnEsc,s=>{s?y():f()});const f=()=>{document.addEventListener("keydown",m)},m=s=>{s.key==="Escape"&&r()},p=()=>{document.addEventListener("click",v)},v=s=>{[n.value,l.value].some(b=>s.composedPath().includes(b))||r()},w=()=>{o.value=!o.value},h=()=>{e.nextTick(()=>{g.ensureVisiblePosition(n.value,l.value,t.menuFixed),a("shown")})},C=()=>{g.resetPosition(n.value,l.value),a("hidden")},r=()=>{o.value=!1},y=()=>{document.removeEventListener("keydown",m)},k=()=>{document.removeEventListener("click",v)};return e.onMounted(()=>{t.noCloseOnEsc||f(),t.noCloseOnClickOutside||p()}),e.onBeforeUnmount(()=>{y(),k(),C()}),e.provide("closeDropdown",r),(s,d)=>(e.openBlock(),e.createElementBlock("div",{ref_key:"dropdown",ref:n},[t.label?(e.openBlock(),e.createElementBlock("label",{key:0,for:i.value,class:"ds-mb-2 ds-block ds-text-xs ds-font-bold ds-capitalize ds-text-gray-500"},e.toDisplayString(t.label),9,V)):e.createCommentVNode("",!0),e.createElementVNode("button",{id:i.value,ref_key:"toggle",ref:u,class:e.normalizeClass([s.toggleCssClass,"ds-inline-flex ds-w-full ds-items-center ds-justify-between ds-rounded-lg ds-bg-gray-200 ds-px-5 ds-py-2.5 ds-text-gray-700 focus:ds-ring-1 focus:ds-ring-primary-t"]),type:"button",onClick:w},[e.renderSlot(s.$slots,"toggle",{},()=>[e.createElementVNode("span",B,e.toDisplayString(t.text),1),e.createTextVNode("   "),e.createElementVNode("span",{class:e.normalizeClass([`${o.value?"ds-rotate-180":""}`,"fa-solid fa-caret-down ds-transition-transform"])},null,2)])],10,$),e.withDirectives(e.createElementVNode("div",{id:`${i.value}Menu`,ref_key:"dropdownMenu",ref:l,class:e.normalizeClass([`${s.menuCssClass} ${t.menuFixed?"ds-fixed":"ds-absolute"}`,"ds-z-50 ds-py-1"]),"data-cy":s.$attrs["data-cy"]?`${s.$attrs["data-cy"]}Menu`:void 0,"data-ut":s.$attrs["data-ut"]?`${s.$attrs["data-ut"]}Menu`:void 0},[e.renderSlot(s.$slots,"default")],10,_),[[e.vShow,o.value]])],512))}});module.exports=x;
2
2
  //# sourceMappingURL=design-system12.js.map
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as M, ref as d, computed as h, watch as c, nextTick as P, onMounted as D, onBeforeUnmount as z, provide as F, openBlock as b, createElementBlock as O, toDisplayString as $, createCommentVNode as N, createElementVNode as a, normalizeClass as f, renderSlot as V, createTextVNode as S, withDirectives as T, vShow as I } from "vue";
2
2
  import { ensureVisiblePosition as j, resetPosition as U } from "./design-system6.mjs";
3
- import q from "./design-system86.mjs";
3
+ import q from "./design-system88.mjs";
4
4
  const A = ["for"], G = ["id"], H = { class: "ds-truncate" }, J = ["id", "data-cy", "data-ut"], X = /* @__PURE__ */ M({
5
5
  __name: "BDropdown",
6
6
  props: {
@@ -1,2 +1,2 @@
1
- "use strict";const h=require("./design-system133.js"),l=require("./design-system134.js");function u(s,a,i,d){var g=!i;i||(i={});for(var f=-1,v=a.length;++f<v;){var n=a[f],r=d?d(i[n],s[n],n,i,s):void 0;r===void 0&&(r=s[n]),g?l(i,n,r):h(i,n,r)}return i}module.exports=u;
1
+ "use strict";const t=require("./design-system133.js"),a=require("./design-system103.js");var i=Object.prototype,o=i.hasOwnProperty;function u(r,s,n){var e=r[s];(!(o.call(r,s)&&a(e,n))||n===void 0&&!(s in r))&&t(r,s,n)}module.exports=u;
2
2
  //# sourceMappingURL=design-system132.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system132.js","sources":["../node_modules/lodash-es/_copyObject.js"],"sourcesContent":["import assignValue from './_assignValue.js';\nimport baseAssignValue from './_baseAssignValue.js';\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nexport default copyObject;\n"],"names":["copyObject","source","props","object","customizer","isNew","index","length","key","newValue","baseAssignValue","assignValue"],"mappings":"yFAaA,SAASA,EAAWC,EAAQC,EAAOC,EAAQC,EAAY,CACrD,IAAIC,EAAQ,CAACF,EACbA,IAAWA,EAAS,CAAA,GAKpB,QAHIG,EAAQ,GACRC,EAASL,EAAM,OAEZ,EAAEI,EAAQC,GAAQ,CACvB,IAAIC,EAAMN,EAAMI,CAAK,EAEjBG,EAAWL,EACXA,EAAWD,EAAOK,CAAG,EAAGP,EAAOO,CAAG,EAAGA,EAAKL,EAAQF,CAAM,EACxD,OAEAQ,IAAa,SACfA,EAAWR,EAAOO,CAAG,GAEnBH,EACFK,EAAgBP,EAAQK,EAAKC,CAAQ,EAErCE,EAAYR,EAAQK,EAAKC,CAAQ,CAEpC,CACD,OAAON,CACT","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system132.js","sources":["../node_modules/lodash-es/_assignValue.js"],"sourcesContent":["import baseAssignValue from './_baseAssignValue.js';\nimport eq from './eq.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nexport default assignValue;\n"],"names":["objectProto","hasOwnProperty","assignValue","object","key","value","objValue","eq","baseAssignValue"],"mappings":"yFAIA,IAAIA,EAAc,OAAO,UAGrBC,EAAiBD,EAAY,eAYjC,SAASE,EAAYC,EAAQC,EAAKC,EAAO,CACvC,IAAIC,EAAWH,EAAOC,CAAG,GACrB,EAAEH,EAAe,KAAKE,EAAQC,CAAG,GAAKG,EAAGD,EAAUD,CAAK,IACvDA,IAAU,QAAa,EAAED,KAAOD,KACnCK,EAAgBL,EAAQC,EAAKC,CAAK,CAEtC","x_google_ignoreList":[0]}
@@ -1,15 +1,11 @@
1
- import v from "./design-system133.mjs";
2
- import h from "./design-system134.mjs";
3
- function x(a, r, i, d) {
4
- var l = !i;
5
- i || (i = {});
6
- for (var g = -1, s = r.length; ++g < s; ) {
7
- var n = r[g], f = d ? d(i[n], a[n], n, i, a) : void 0;
8
- f === void 0 && (f = a[n]), l ? h(i, n, f) : v(i, n, f);
9
- }
10
- return i;
1
+ import t from "./design-system133.mjs";
2
+ import i from "./design-system103.mjs";
3
+ var s = Object.prototype, p = s.hasOwnProperty;
4
+ function l(r, a, o) {
5
+ var n = r[a];
6
+ (!(p.call(r, a) && i(n, o)) || o === void 0 && !(a in r)) && t(r, a, o);
11
7
  }
12
8
  export {
13
- x as default
9
+ l as default
14
10
  };
15
11
  //# sourceMappingURL=design-system132.mjs.map