@7pmlabs/design-system 0.3.8 → 0.4.1

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 (292) hide show
  1. package/dist/design-system.js +1 -1
  2. package/dist/design-system.mjs +32 -32
  3. package/dist/design-system100.js +1 -1
  4. package/dist/design-system100.js.map +1 -1
  5. package/dist/design-system100.mjs +1 -1
  6. package/dist/design-system100.mjs.map +1 -1
  7. package/dist/design-system101.js +1 -1
  8. package/dist/design-system101.js.map +1 -1
  9. package/dist/design-system101.mjs +63 -2167
  10. package/dist/design-system101.mjs.map +1 -1
  11. package/dist/design-system102.js +1 -1
  12. package/dist/design-system102.js.map +1 -1
  13. package/dist/design-system102.mjs +6 -1103
  14. package/dist/design-system102.mjs.map +1 -1
  15. package/dist/design-system105.js +1 -1
  16. package/dist/design-system105.mjs +2 -2
  17. package/dist/design-system106.js +1 -1
  18. package/dist/design-system106.js.map +1 -1
  19. package/dist/design-system106.mjs +2 -4
  20. package/dist/design-system106.mjs.map +1 -1
  21. package/dist/design-system107.js +1 -1
  22. package/dist/design-system107.js.map +1 -1
  23. package/dist/design-system107.mjs +4 -8
  24. package/dist/design-system107.mjs.map +1 -1
  25. package/dist/design-system108.js +1 -1
  26. package/dist/design-system108.js.map +1 -1
  27. package/dist/design-system108.mjs +7 -6
  28. package/dist/design-system108.mjs.map +1 -1
  29. package/dist/design-system109.js +1 -1
  30. package/dist/design-system109.js.map +1 -1
  31. package/dist/design-system109.mjs +7 -2
  32. package/dist/design-system109.mjs.map +1 -1
  33. package/dist/design-system11.js.map +1 -1
  34. package/dist/design-system11.mjs.map +1 -1
  35. package/dist/design-system110.js +1 -1
  36. package/dist/design-system110.mjs +2 -2
  37. package/dist/design-system12.js +1 -7
  38. package/dist/design-system12.js.map +1 -1
  39. package/dist/design-system12.mjs +17 -297
  40. package/dist/design-system12.mjs.map +1 -1
  41. package/dist/design-system13.js +2 -2
  42. package/dist/design-system13.js.map +1 -1
  43. package/dist/design-system13.mjs +202 -166
  44. package/dist/design-system13.mjs.map +1 -1
  45. package/dist/design-system14.js +7 -1
  46. package/dist/design-system14.js.map +1 -1
  47. package/dist/design-system14.mjs +256 -92
  48. package/dist/design-system14.mjs.map +1 -1
  49. package/dist/design-system141.js +1 -1
  50. package/dist/design-system141.mjs +2 -2
  51. package/dist/design-system15.js +1 -1
  52. package/dist/design-system15.js.map +1 -1
  53. package/dist/design-system15.mjs +100 -14
  54. package/dist/design-system15.mjs.map +1 -1
  55. package/dist/design-system16.js +1 -1
  56. package/dist/design-system16.js.map +1 -1
  57. package/dist/design-system16.mjs +15 -59
  58. package/dist/design-system16.mjs.map +1 -1
  59. package/dist/design-system17.js +1 -1
  60. package/dist/design-system17.js.map +1 -1
  61. package/dist/design-system17.mjs +52 -243
  62. package/dist/design-system17.mjs.map +1 -1
  63. package/dist/design-system18.js +1 -1
  64. package/dist/design-system18.js.map +1 -1
  65. package/dist/design-system18.mjs +238 -107
  66. package/dist/design-system18.mjs.map +1 -1
  67. package/dist/design-system19.js +1 -3
  68. package/dist/design-system19.js.map +1 -1
  69. package/dist/design-system19.mjs +113 -113
  70. package/dist/design-system19.mjs.map +1 -1
  71. package/dist/design-system20.js +3 -1
  72. package/dist/design-system20.js.map +1 -1
  73. package/dist/design-system20.mjs +115 -61
  74. package/dist/design-system20.mjs.map +1 -1
  75. package/dist/design-system21.js +1 -1
  76. package/dist/design-system21.js.map +1 -1
  77. package/dist/design-system21.mjs +54 -187
  78. package/dist/design-system21.mjs.map +1 -1
  79. package/dist/design-system22.js +1 -1
  80. package/dist/design-system22.js.map +1 -1
  81. package/dist/design-system22.mjs +187 -62
  82. package/dist/design-system22.mjs.map +1 -1
  83. package/dist/design-system23.js +1 -1
  84. package/dist/design-system23.js.map +1 -1
  85. package/dist/design-system23.mjs +69 -37
  86. package/dist/design-system23.mjs.map +1 -1
  87. package/dist/design-system24.js +1 -1
  88. package/dist/design-system24.js.map +1 -1
  89. package/dist/design-system24.mjs +37 -144
  90. package/dist/design-system24.mjs.map +1 -1
  91. package/dist/design-system25.js +1 -1
  92. package/dist/design-system25.mjs +2 -2
  93. package/dist/design-system27.js +1 -1
  94. package/dist/design-system27.mjs +2 -2
  95. package/dist/design-system28.js +1 -1
  96. package/dist/design-system28.mjs +10 -6
  97. package/dist/design-system28.mjs.map +1 -1
  98. package/dist/design-system29.js +1 -1
  99. package/dist/design-system29.js.map +1 -1
  100. package/dist/design-system29.mjs +23 -10
  101. package/dist/design-system29.mjs.map +1 -1
  102. package/dist/design-system30.js +1 -1
  103. package/dist/design-system30.js.map +1 -1
  104. package/dist/design-system30.mjs +24 -14
  105. package/dist/design-system30.mjs.map +1 -1
  106. package/dist/design-system31.js +1 -1
  107. package/dist/design-system31.js.map +1 -1
  108. package/dist/design-system31.mjs +5 -29
  109. package/dist/design-system31.mjs.map +1 -1
  110. package/dist/design-system32.js +1 -1
  111. package/dist/design-system32.mjs +3 -3
  112. package/dist/design-system33.js +1 -1
  113. package/dist/design-system33.mjs +10 -5
  114. package/dist/design-system33.mjs.map +1 -1
  115. package/dist/design-system34.js +1 -1
  116. package/dist/design-system34.mjs +7 -7
  117. package/dist/design-system35.js +1 -1
  118. package/dist/design-system35.mjs +6 -6
  119. package/dist/design-system36.js +1 -1
  120. package/dist/design-system36.mjs +8 -8
  121. package/dist/design-system37.js +1 -1
  122. package/dist/design-system37.mjs +9 -8
  123. package/dist/design-system37.mjs.map +1 -1
  124. package/dist/design-system38.js +1 -1
  125. package/dist/design-system38.mjs +4 -10
  126. package/dist/design-system38.mjs.map +1 -1
  127. package/dist/design-system39.js +1 -1
  128. package/dist/design-system39.mjs +4 -4
  129. package/dist/design-system40.js +1 -1
  130. package/dist/design-system40.js.map +1 -1
  131. package/dist/design-system40.mjs +68 -141
  132. package/dist/design-system40.mjs.map +1 -1
  133. package/dist/design-system41.js +1 -1
  134. package/dist/design-system41.js.map +1 -1
  135. package/dist/design-system41.mjs +5 -76
  136. package/dist/design-system41.mjs.map +1 -1
  137. package/dist/design-system42.js +1 -1
  138. package/dist/design-system42.mjs +10 -5
  139. package/dist/design-system42.mjs.map +1 -1
  140. package/dist/design-system43.js +1 -1
  141. package/dist/design-system43.mjs +13 -8
  142. package/dist/design-system43.mjs.map +1 -1
  143. package/dist/design-system44.js +1 -1
  144. package/dist/design-system44.mjs +5 -15
  145. package/dist/design-system44.mjs.map +1 -1
  146. package/dist/design-system45.js +1 -1
  147. package/dist/design-system45.js.map +1 -1
  148. package/dist/design-system45.mjs +59 -5
  149. package/dist/design-system45.mjs.map +1 -1
  150. package/dist/design-system46.js +1 -1
  151. package/dist/design-system46.js.map +1 -1
  152. package/dist/design-system46.mjs +5 -59
  153. package/dist/design-system46.mjs.map +1 -1
  154. package/dist/design-system54.js +1 -1
  155. package/dist/design-system54.js.map +1 -1
  156. package/dist/design-system54.mjs +28 -28
  157. package/dist/design-system54.mjs.map +1 -1
  158. package/dist/design-system59.js +1 -1
  159. package/dist/design-system59.js.map +1 -1
  160. package/dist/design-system59.mjs +1 -1
  161. package/dist/design-system59.mjs.map +1 -1
  162. package/dist/design-system61.js +1 -1
  163. package/dist/design-system61.js.map +1 -1
  164. package/dist/design-system61.mjs +2 -49
  165. package/dist/design-system61.mjs.map +1 -1
  166. package/dist/design-system62.js +1 -1
  167. package/dist/design-system62.mjs +2 -2
  168. package/dist/design-system63.js +1 -1
  169. package/dist/design-system63.mjs +2 -2
  170. package/dist/design-system64.js +1 -1
  171. package/dist/design-system64.mjs +1 -1
  172. package/dist/design-system65.js +1 -1
  173. package/dist/design-system65.mjs +1 -1
  174. package/dist/design-system66.js +1 -1
  175. package/dist/design-system66.mjs +1 -1
  176. package/dist/design-system67.js +1 -1
  177. package/dist/design-system67.mjs +1 -1
  178. package/dist/design-system68.js +1 -1
  179. package/dist/design-system68.js.map +1 -1
  180. package/dist/design-system68.mjs +28 -2
  181. package/dist/design-system68.mjs.map +1 -1
  182. package/dist/design-system69.js +1 -1
  183. package/dist/design-system69.mjs +2 -2
  184. package/dist/design-system70.js +1 -1
  185. package/dist/design-system70.js.map +1 -1
  186. package/dist/design-system70.mjs +51 -21
  187. package/dist/design-system70.mjs.map +1 -1
  188. package/dist/design-system71.js +1 -1
  189. package/dist/design-system71.mjs +2 -2
  190. package/dist/design-system72.js +1 -1
  191. package/dist/design-system72.js.map +1 -1
  192. package/dist/design-system72.mjs +2 -58
  193. package/dist/design-system72.mjs.map +1 -1
  194. package/dist/design-system73.js +1 -1
  195. package/dist/design-system73.mjs +2 -2
  196. package/dist/design-system74.js +1 -1
  197. package/dist/design-system74.mjs +1 -1
  198. package/dist/design-system75.js +1 -1
  199. package/dist/design-system75.mjs +1 -1
  200. package/dist/design-system76.js +1 -1
  201. package/dist/design-system76.mjs +1 -1
  202. package/dist/design-system77.js +1 -1
  203. package/dist/design-system77.mjs +1 -1
  204. package/dist/design-system78.js +1 -1
  205. package/dist/design-system78.mjs +2 -2
  206. package/dist/design-system79.js +1 -1
  207. package/dist/design-system79.js.map +1 -1
  208. package/dist/design-system79.mjs +81 -2
  209. package/dist/design-system79.mjs.map +1 -1
  210. package/dist/design-system80.js +1 -1
  211. package/dist/design-system80.mjs +2 -2
  212. package/dist/design-system81.js +1 -1
  213. package/dist/design-system81.js.map +1 -1
  214. package/dist/design-system81.mjs +2 -81
  215. package/dist/design-system81.mjs.map +1 -1
  216. package/dist/design-system82.js +1 -1
  217. package/dist/design-system82.js.map +1 -1
  218. package/dist/design-system82.mjs +119 -2
  219. package/dist/design-system82.mjs.map +1 -1
  220. package/dist/design-system83.js +1 -1
  221. package/dist/design-system83.mjs +2 -2
  222. package/dist/design-system84.js +1 -1
  223. package/dist/design-system84.mjs +1 -1
  224. package/dist/design-system85.js +1 -1
  225. package/dist/design-system85.mjs +1 -1
  226. package/dist/design-system86.js +1 -1
  227. package/dist/design-system86.js.map +1 -1
  228. package/dist/design-system86.mjs +102 -2
  229. package/dist/design-system86.mjs.map +1 -1
  230. package/dist/design-system87.js +1 -1
  231. package/dist/design-system87.js.map +1 -1
  232. package/dist/design-system87.mjs +2 -102
  233. package/dist/design-system87.mjs.map +1 -1
  234. package/dist/design-system88.js +1 -1
  235. package/dist/design-system88.js.map +1 -1
  236. package/dist/design-system88.mjs +173 -2
  237. package/dist/design-system88.mjs.map +1 -1
  238. package/dist/design-system89.js +1 -1
  239. package/dist/design-system89.js.map +1 -1
  240. package/dist/design-system89.mjs +2 -175
  241. package/dist/design-system89.mjs.map +1 -1
  242. package/dist/design-system90.js +1 -1
  243. package/dist/design-system90.mjs +2 -2
  244. package/dist/design-system91.js +1 -1
  245. package/dist/design-system91.js.map +1 -1
  246. package/dist/design-system91.mjs +131 -2
  247. package/dist/design-system91.mjs.map +1 -1
  248. package/dist/design-system92.js +1 -1
  249. package/dist/design-system92.mjs +2 -2
  250. package/dist/design-system97.js +1 -1
  251. package/dist/design-system97.js.map +1 -1
  252. package/dist/design-system97.mjs +2167 -63
  253. package/dist/design-system97.mjs.map +1 -1
  254. package/dist/design-system98.js +1 -1
  255. package/dist/design-system98.js.map +1 -1
  256. package/dist/design-system98.mjs +1103 -17
  257. package/dist/design-system98.mjs.map +1 -1
  258. package/dist/design-system99.js +1 -1
  259. package/dist/design-system99.js.map +1 -1
  260. package/dist/design-system99.mjs +16 -5
  261. package/dist/design-system99.mjs.map +1 -1
  262. package/dist/style.css +1 -1
  263. package/dist/types/components/BButton.vue.d.ts +6 -3
  264. package/dist/types/components/BCarousel/BCarousel.vue.d.ts +1 -1
  265. package/dist/types/components/BCheckbox.vue.d.ts +1 -4
  266. package/dist/types/components/BCollapse.vue.d.ts +1 -1
  267. package/dist/types/components/BCurrencyField.vue.d.ts +12 -66
  268. package/dist/types/components/BDatePicker.vue.d.ts +1 -4
  269. package/dist/types/components/BDateRangePicker.vue.d.ts +1 -4
  270. package/dist/types/components/BDropdown/BDropdown.vue.d.ts +4 -4
  271. package/dist/types/components/BDropdown/BDropdownItem.vue.d.ts +0 -3
  272. package/dist/types/components/BErrorMessage.vue.d.ts +9 -5
  273. package/dist/types/components/BImagePicker/BImagePicker.vue.d.ts +1 -4
  274. package/dist/types/components/BImagePicker/BImagePreview.vue.d.ts +1 -4
  275. package/dist/types/components/BLabel.vue.d.ts +0 -3
  276. package/dist/types/components/BLoadingBar.vue.d.ts +0 -3
  277. package/dist/types/components/BLoadingOverlay.vue.d.ts +0 -3
  278. package/dist/types/components/BModal/BModal.vue.d.ts +4 -4
  279. package/dist/types/components/BModal/BModalContainer.vue.d.ts +0 -3
  280. package/dist/types/components/BMultiSelect.vue.d.ts +2 -5
  281. package/dist/types/components/BOtpField/BOtpField.vue.d.ts +2 -5
  282. package/dist/types/components/BOtpField/BOtpFieldBox.vue.d.ts +6 -9
  283. package/dist/types/components/BPagination.vue.d.ts +1 -4
  284. package/dist/types/components/BRadio.vue.d.ts +1 -4
  285. package/dist/types/components/BSelect.vue.d.ts +2 -5
  286. package/dist/types/components/BTabs/BTabs.vue.d.ts +1 -4
  287. package/dist/types/components/BTextField.vue.d.ts +8 -61
  288. package/dist/types/components/BTextarea.vue.d.ts +1 -4
  289. package/dist/types/components/BToast/BToast.vue.d.ts +1 -4
  290. package/dist/types/components/BToast/BToastItem.vue.d.ts +0 -3
  291. package/dist/types/components/BTooltip.vue.d.ts +1 -4
  292. package/package.json +10 -10
@@ -1 +1 @@
1
- {"version":3,"file":"design-system13.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, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, createBlock as _createBlock, createCommentVNode as _createCommentVNode } 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\"]\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM96 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\" }, null, -1)\nconst _hoisted_6 = [\n _hoisted_5\n]\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 { 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 */\nexport interface BDateRangePickerProps {\n inputId?: string;\n modelValue: Date[];\n label?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n placeholder?: string;\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n disabled?: boolean;\n inputCssClass?: string;\n /**\n * Minimum selectable date\n */\n minDate?: any;\n /**\n * Maximum selectable date\n */\n maxDate?: any;\n /**\n * Default view mode when open picker dropdown\n */\n view?: BDatePickerView;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Position of picker dropdown when it's showed up\n */\n position?: string;\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 prevHtml: `<svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/>\n </svg>`,\n nextHtml: `<svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/>\n </svg>`,\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-3 ds-z-[3]\"\n }, [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-fill-black/40' : 'ds-text-black/[0.85]',\n ], \"ds-h-4 ds-w-4\"]),\n viewBox: \"0 0 448 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _hoisted_6, 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 }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_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
+ {"version":3,"file":"design-system13.js","sources":["../src/components/BDatePicker.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, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, unref as _unref, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"id\", \"disabled\"]\nconst _hoisted_4 = [\"for\"]\nconst _hoisted_5 = [\"for\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"path\", { d: \"M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM96 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\" }, null, -1)\nconst _hoisted_7 = [\n _hoisted_6\n]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n// https://imask.js.org/guide.html#getting-started\nimport IMask from '@/vendor/imask-7.1.3.js';\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 moment from 'moment-mini';\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 { DateDelimiter } from '@/constants/Common';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport { checkIfISOFormat } from '@/helpers/DateHelper';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\n\n//#region Props\nexport interface BDatePickerProps {\n inputId?: string;\n modelValue: any;\n label?: string;\n /**\n * Array of custom validation rules.\n */\n validationRules?: ValidationRule[];\n placeholder?: string;\n /**\n * Validate if the field is left empty.\n */\n required?: boolean;\n requiredErrorMessage?: string;\n disabled?: boolean;\n inputCssClass?: string;\n /**\n * Minimum selectable date\n */\n minDate?: any;\n /**\n * Maximum selectable date\n */\n maxDate?: any;\n /**\n * Show \"Today\" text if selected date is the current date\n */\n showHintToday?: boolean;\n /**\n * Default view mode when open picker dropdown\n */\n view?: BDatePickerView;\n /**\n * Hide the validation error message.\n */\n hideDetails?: boolean;\n /**\n * Position of picker dropdown when it's showed up\n */\n position?: string;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDatePicker',\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 showHintToday: { type: Boolean, default: false },\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//#endregion\n\n//#region Events\n\n//#endregion\n\n//#region Data\nconst { t, locale } = useI18n();\nconst dateFormat = `DD${DateDelimiter}MM${DateDelimiter}YYYY`; // moment's date format\nconst currentDate = new Date();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nlet mask: any;\nconst inputMaskRef = ref<HTMLElement | null>(null);\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\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 !== undefined ? 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 toggleButtonCofirm(!!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 prevHtml: `<svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"/>\n </svg>`,\n nextHtml: `<svg xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 320 512\">\n <path d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"/>\n </svg>`,\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 isToday = computed(() => {\n if (!props.modelValue) {\n return false;\n }\n return (\n currentDate.getDate() === props.modelValue.getDate() &&\n currentDate.getMonth() === props.modelValue.getMonth() &&\n currentDate.getFullYear() === props.modelValue.getFullYear()\n );\n});\nconst inputMaskOptions = computed(() => {\n const result: any = {\n mask: IMask.MaskedDate,\n pattern: dateFormat,\n lazy: true,\n\n format: (date: any) => moment(date).format(dateFormat),\n parse: (str: string) => moment(str, dateFormat),\n\n blocks: {\n YYYY: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 9999,\n },\n MM: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 12,\n },\n DD: {\n mask: IMask.MaskedRange,\n from: 1,\n to: 31,\n },\n },\n };\n\n if (props.minDate) {\n result.min = props.minDate;\n }\n if (props.maxDate) {\n result.max = props.maxDate;\n }\n\n return result;\n});\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n//#endregion\n\n//#region Watchers\nwatch(\n () => props.modelValue,\n () => {\n // Make sure to update value once\n if (checkIfModelNeedToSync(datePicker.selectedDates[0])) {\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n datePicker.setViewDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n if (checkIfModelNeedToSync(getInputMaskDate())) {\n mask.value = formatDate(props.modelValue);\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//#endregion\n\n//#region Methods\nconst formatDate = (date: string | Date) =>\n checkIfISOFormat(date) ? moment(date).format(dateFormat) : date;\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\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 datePicker.setViewDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst onAccept = () => {\n if (!mask.unmaskedValue) {\n emit('update:modelValue', '');\n }\n};\nconst onComplete = () => {\n const date = getInputMaskDate();\n return date ? emit('update:modelValue', date) : emit('update:modelValue', '');\n};\nconst onBlur = () => {\n const date = getInputMaskDate();\n validate();\n if (!checkIfModelNeedToSync(date)) {\n return;\n }\n emit('update:modelValue', date === undefined ? '' : date);\n};\nconst checkIfModelNeedToSync = (date: any) => {\n const ruleEngine = [\n !props.modelValue && date,\n !date && props.modelValue,\n props.modelValue && date && props.modelValue.getTime() !== date.getTime(),\n ];\n\n return ruleEngine.some((r) => r);\n};\nconst getInputMaskDate = () => {\n const arr = mask.value.split('/');\n const dateStr = `${arr[2]}-${arr[1]}-${arr[0]}`;\n // Check if string is in ISO format\n if (moment(dateStr, moment.ISO_8601, true).isValid()) {\n return new Date(dateStr);\n }\n\n return undefined;\n};\nconst toggleButtonCofirm = (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//#endregion\n\n//#region Lifecycle Hooks\nonMounted(() => {\n // Picker\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n // Input mask\n mask = IMask(inputMaskRef.value!, inputMaskOptions.value);\n mask.value = formatDate(props.modelValue);\n mask.on('accept', onAccept);\n mask.on('complete', onComplete);\n});\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n//#endregion\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 ref_key: \"inputMaskRef\",\n ref: inputMaskRef,\n class: _normalizeClass([inputCssClassValue.value, \"ds-relative ds-z-[2] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n onBlur: onBlur\n }, null, 42, _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 readonly: \"\"\n }, null, 10, _hoisted_3),\n (_ctx.showHintToday && isToday.value)\n ? (_openBlock(), _createElementBlock(\"label\", {\n key: 0,\n for: id.value,\n class: \"ds-absolute ds-left-[98px] ds-top-2.5 ds-z-[3] ds-text-sm\"\n }, _toDisplayString(`(${_ctx.$t('ds.components.base.date_picker.today')})`), 9, _hoisted_4))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-3 ds-z-[3]\"\n }, [\n (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-fill-black/40' : 'ds-text-black/[0.85]',\n ], \"ds-h-4 ds-w-4\"]),\n viewBox: \"0 0 448 512\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _hoisted_7, 2))\n ], 8, _hoisted_5)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","dateFormat","DateDelimiter","currentDate","datePicker","mask","inputMaskRef","ref","validateRequired","val","selectedDate","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonCofirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","isToday","inputMaskOptions","IMask","moment","str","useValidationField","watch","checkIfModelNeedToSync","getInputMaskDate","formatDate","checkIfISOFormat","unlockScrollBody","lockScrollBody","onAccept","onComplete","onBlur","r","arr","dateStr","enabled","btnEl","onMounted","AirDatepicker","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_toDisplayString","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- import { defineComponent as Y, ref as w, computed as n, nextTick as V, watch as D, onMounted as A, onBeforeUnmount as L, openBlock as h, createElementBlock as x, createVNode as O, createElementVNode as i, normalizeClass as f, createBlock as E, unref as U, createCommentVNode as G } from "vue";
2
- import { useI18n as J } from "./design-system48.mjs";
3
- import K from "./design-system102.mjs";
4
- import { useValidationField as Q } from "./design-system3.mjs";
5
- import { BDatePickerView as W } from "./design-system5.mjs";
6
- import { unlockScrollBody as M, lockScrollBody as X } from "./design-system6.mjs";
7
- import Z from "./design-system30.mjs";
8
- import ee from "./design-system31.mjs";
9
- import { checkIfISOFormat as se } from "./design-system47.mjs";
10
- import te from "./design-system52.mjs";
11
- import { DateDelimiter as B } from "./design-system4.mjs";
12
- import ae from "./design-system98.mjs";
13
- import l from "./design-system103.mjs";
14
- const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "value"], re = ["id", "disabled", "placeholder"], ne = ["for"], le = /* @__PURE__ */ i("path", { d: "M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM96 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z" }, null, -1), ie = [
15
- le
16
- ], Ve = /* @__PURE__ */ Y({
17
- __name: "BDateRangePicker",
1
+ import { defineComponent as J, ref as V, computed as n, nextTick as $, watch as C, onMounted as K, onBeforeUnmount as Q, openBlock as b, createElementBlock as D, createVNode as W, createElementVNode as m, normalizeClass as w, toDisplayString as X, createCommentVNode as P, createBlock as Z, unref as ee } from "vue";
2
+ import i from "./design-system97.mjs";
3
+ import c from "./design-system52.mjs";
4
+ import { useI18n as se } from "./design-system48.mjs";
5
+ import te from "./design-system98.mjs";
6
+ import { useValidationField as ae } from "./design-system3.mjs";
7
+ import { DateDelimiter as q } from "./design-system4.mjs";
8
+ import { BDatePickerView as oe } from "./design-system5.mjs";
9
+ import { unlockScrollBody as z, lockScrollBody as de } from "./design-system6.mjs";
10
+ import { checkIfISOFormat as ne } from "./design-system47.mjs";
11
+ import re from "./design-system29.mjs";
12
+ import le from "./design-system30.mjs";
13
+ import ie from "./design-system99.mjs";
14
+ const ce = { class: "ds-relative" }, me = ["id", "disabled", "placeholder"], ue = ["id", "disabled"], pe = ["for"], be = ["for"], fe = /* @__PURE__ */ m("path", { d: "M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192zM96 296c0-13.3 10.7-24 24-24H328c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24zm24 72H232c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z" }, null, -1), ke = [
15
+ fe
16
+ ], $e = /* @__PURE__ */ J({
17
+ __name: "BDatePicker",
18
18
  props: {
19
19
  inputId: { default: "" },
20
20
  modelValue: {},
@@ -27,134 +27,132 @@ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "val
27
27
  inputCssClass: { default: "" },
28
28
  minDate: { default: "" },
29
29
  maxDate: { default: "" },
30
- view: { default: W.Days },
30
+ showHintToday: { type: Boolean, default: !1 },
31
+ view: { default: oe.Days },
31
32
  hideDetails: { type: Boolean, default: !1 },
32
33
  position: { default: "bottom left" }
33
34
  },
34
35
  emits: ["update:modelValue"],
35
- setup(H, { emit: C }) {
36
- const t = H, { t: e, locale: P } = J(), S = `DD${B}MM${B}YYYY`;
37
- let r;
38
- const q = {
39
- validateRule: (s) => !!s,
40
- errorMessage: () => t.requiredErrorMessage || e("ds.global.field_required")
41
- }, p = w(), o = n(() => t.inputId || `id-${ae()}`), _ = n({
36
+ setup(R, { emit: l }) {
37
+ const t = R, { t: s, locale: Y } = se(), u = `DD${q}MM${q}YYYY`, f = /* @__PURE__ */ new Date();
38
+ let o, r;
39
+ const M = V(null), I = {
40
+ validateRule: (e) => !!e,
41
+ errorMessage: () => t.requiredErrorMessage || s("ds.global.field_required")
42
+ }, k = V(), d = n(() => t.inputId || `id-${ie()}`), x = n({
42
43
  get() {
43
44
  return t.modelValue;
44
45
  },
45
- set(s) {
46
- C("update:modelValue", s);
46
+ set(e) {
47
+ l("update:modelValue", e);
47
48
  }
48
- }), z = n(() => [
49
+ }), T = n(() => [
49
50
  {
50
- content: e("ds.components.base.date_picker.buttons.cancel"),
51
+ content: s("ds.components.base.date_picker.buttons.cancel"),
51
52
  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",
52
- onClick: (s) => {
53
- s.clear(), V(() => {
54
- v();
55
- }), s.hide();
53
+ onClick: (e) => {
54
+ e.clear(), $(() => {
55
+ _();
56
+ }), e.hide();
56
57
  }
57
58
  },
58
59
  {
59
- content: e("ds.components.base.date_picker.buttons.confirm"),
60
- 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`,
61
- onClick: (s) => {
62
- _.value = c(p.value) ? p.value : [], V(() => {
63
- v();
64
- }), s.hide();
60
+ content: s("ds.components.base.date_picker.buttons.confirm"),
61
+ className: `${d.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`,
62
+ onClick: (e) => {
63
+ x.value = k.value !== void 0 ? k.value : "", $(() => {
64
+ _();
65
+ }), e.hide();
65
66
  },
66
67
  attrs: t.required ? {
67
68
  disabled: ""
68
69
  } : void 0
69
70
  }
70
- ]), y = n(() => {
71
- const s = {
71
+ ]), B = n(() => {
72
+ const e = {
72
73
  days: [
73
- e("ds.components.base.date_picker.days.sunday"),
74
- e("ds.components.base.date_picker.days.monday"),
75
- e("ds.components.base.date_picker.days.tuesday"),
76
- e("ds.components.base.date_picker.days.wednesday"),
77
- e("ds.components.base.date_picker.days.thursday"),
78
- e("ds.components.base.date_picker.days.friday"),
79
- e("ds.components.base.date_picker.days.saturday")
74
+ s("ds.components.base.date_picker.days.sunday"),
75
+ s("ds.components.base.date_picker.days.monday"),
76
+ s("ds.components.base.date_picker.days.tuesday"),
77
+ s("ds.components.base.date_picker.days.wednesday"),
78
+ s("ds.components.base.date_picker.days.thursday"),
79
+ s("ds.components.base.date_picker.days.friday"),
80
+ s("ds.components.base.date_picker.days.saturday")
80
81
  ],
81
82
  daysShort: [
82
- e("ds.components.base.date_picker.days_short.sunday"),
83
- e("ds.components.base.date_picker.days_short.monday"),
84
- e("ds.components.base.date_picker.days_short.tuesday"),
85
- e("ds.components.base.date_picker.days_short.wednesday"),
86
- e("ds.components.base.date_picker.days_short.thursday"),
87
- e("ds.components.base.date_picker.days_short.friday"),
88
- e("ds.components.base.date_picker.days_short.saturday")
83
+ s("ds.components.base.date_picker.days_short.sunday"),
84
+ s("ds.components.base.date_picker.days_short.monday"),
85
+ s("ds.components.base.date_picker.days_short.tuesday"),
86
+ s("ds.components.base.date_picker.days_short.wednesday"),
87
+ s("ds.components.base.date_picker.days_short.thursday"),
88
+ s("ds.components.base.date_picker.days_short.friday"),
89
+ s("ds.components.base.date_picker.days_short.saturday")
89
90
  ],
90
91
  daysMin: [
91
- e("ds.components.base.date_picker.days_min.sunday"),
92
- e("ds.components.base.date_picker.days_min.monday"),
93
- e("ds.components.base.date_picker.days_min.tuesday"),
94
- e("ds.components.base.date_picker.days_min.wednesday"),
95
- e("ds.components.base.date_picker.days_min.thursday"),
96
- e("ds.components.base.date_picker.days_min.friday"),
97
- e("ds.components.base.date_picker.days_min.saturday")
92
+ s("ds.components.base.date_picker.days_min.sunday"),
93
+ s("ds.components.base.date_picker.days_min.monday"),
94
+ s("ds.components.base.date_picker.days_min.tuesday"),
95
+ s("ds.components.base.date_picker.days_min.wednesday"),
96
+ s("ds.components.base.date_picker.days_min.thursday"),
97
+ s("ds.components.base.date_picker.days_min.friday"),
98
+ s("ds.components.base.date_picker.days_min.saturday")
98
99
  ],
99
100
  months: [
100
- e("ds.components.base.date_picker.months.january"),
101
- e("ds.components.base.date_picker.months.february"),
102
- e("ds.components.base.date_picker.months.march"),
103
- e("ds.components.base.date_picker.months.april"),
104
- e("ds.components.base.date_picker.months.may"),
105
- e("ds.components.base.date_picker.months.june"),
106
- e("ds.components.base.date_picker.months.july"),
107
- e("ds.components.base.date_picker.months.august"),
108
- e("ds.components.base.date_picker.months.september"),
109
- e("ds.components.base.date_picker.months.october"),
110
- e("ds.components.base.date_picker.months.november"),
111
- e("ds.components.base.date_picker.months.december")
101
+ s("ds.components.base.date_picker.months.january"),
102
+ s("ds.components.base.date_picker.months.february"),
103
+ s("ds.components.base.date_picker.months.march"),
104
+ s("ds.components.base.date_picker.months.april"),
105
+ s("ds.components.base.date_picker.months.may"),
106
+ s("ds.components.base.date_picker.months.june"),
107
+ s("ds.components.base.date_picker.months.july"),
108
+ s("ds.components.base.date_picker.months.august"),
109
+ s("ds.components.base.date_picker.months.september"),
110
+ s("ds.components.base.date_picker.months.october"),
111
+ s("ds.components.base.date_picker.months.november"),
112
+ s("ds.components.base.date_picker.months.december")
112
113
  ],
113
114
  monthsShort: [
114
- e("ds.components.base.date_picker.months_short.january"),
115
- e("ds.components.base.date_picker.months_short.february"),
116
- e("ds.components.base.date_picker.months_short.march"),
117
- e("ds.components.base.date_picker.months_short.april"),
118
- e("ds.components.base.date_picker.months_short.may"),
119
- e("ds.components.base.date_picker.months_short.june"),
120
- e("ds.components.base.date_picker.months_short.july"),
121
- e("ds.components.base.date_picker.months_short.august"),
122
- e("ds.components.base.date_picker.months_short.september"),
123
- e("ds.components.base.date_picker.months_short.october"),
124
- e("ds.components.base.date_picker.months_short.november"),
125
- e("ds.components.base.date_picker.months_short.december")
115
+ s("ds.components.base.date_picker.months_short.january"),
116
+ s("ds.components.base.date_picker.months_short.february"),
117
+ s("ds.components.base.date_picker.months_short.march"),
118
+ s("ds.components.base.date_picker.months_short.april"),
119
+ s("ds.components.base.date_picker.months_short.may"),
120
+ s("ds.components.base.date_picker.months_short.june"),
121
+ s("ds.components.base.date_picker.months_short.july"),
122
+ s("ds.components.base.date_picker.months_short.august"),
123
+ s("ds.components.base.date_picker.months_short.september"),
124
+ s("ds.components.base.date_picker.months_short.october"),
125
+ s("ds.components.base.date_picker.months_short.november"),
126
+ s("ds.components.base.date_picker.months_short.december")
126
127
  ],
127
- today: e("ds.components.base.date_picker.buttons.today"),
128
- clear: e("ds.components.base.date_picker.buttons.clear"),
128
+ today: s("ds.components.base.date_picker.buttons.today"),
129
+ clear: s("ds.components.base.date_picker.buttons.clear"),
129
130
  dateFormat: "dd/MM/yyyy",
130
131
  timeFormat: "HH:mm",
131
132
  firstDay: 1
132
133
  // Monday
133
134
  }, a = ({
134
- date: d
135
+ date: p
135
136
  }) => {
136
- const m = c(d);
137
- p.value = m ? d : [], t.required && F(m);
137
+ k.value = p, t.required && G(!!p);
138
138
  };
139
139
  return {
140
- locale: s,
141
- selectedDates: t.modelValue,
140
+ locale: e,
141
+ selectedDates: [t.modelValue],
142
142
  onSelect: a,
143
- buttons: z.value,
143
+ buttons: [...T.value],
144
144
  showOtherMonths: !1,
145
145
  timepicker: !1,
146
146
  onlyTimepicker: !1,
147
147
  minDate: t.minDate,
148
148
  maxDate: t.maxDate,
149
149
  view: t.view,
150
- onHide: I,
151
- onShow: N,
150
+ onHide: O,
151
+ onShow: A,
152
152
  navTitles: {
153
153
  days: "MMMM yyyy"
154
154
  },
155
155
  position: t.position,
156
- range: !0,
157
- multipleDatesSeparator: " - ",
158
156
  prevHtml: `<svg xmlns="http://www.w3.org/2000/svg"
159
157
  viewBox="0 0 320 512">
160
158
  <path d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z"/>
@@ -164,110 +162,148 @@ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "val
164
162
  <path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/>
165
163
  </svg>`
166
164
  };
167
- }), $ = n(() => {
168
- let s = [];
169
- return t.required && s.push(q), t.validationRules && (s = s.concat(t.validationRules)), s.length ? s : void 0;
170
- }), k = n(() => [
165
+ }), F = n(() => {
166
+ let e = [];
167
+ return t.required && e.push(I), t.validationRules && (e = e.concat(t.validationRules)), e.length ? e : void 0;
168
+ }), H = n(() => [
171
169
  "ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",
172
170
  {
173
171
  "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": t.disabled,
174
172
  "ds-text-black/[0.85]": !t.disabled,
175
- "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !b.value.valid,
176
- "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": b.value.valid,
177
- "!ds-border-focus ds-ring-1 ds-ring-focus": u.value
173
+ "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !y.value.valid,
174
+ "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": y.value.valid,
175
+ "!ds-border-focus ds-ring-1 ds-ring-focus": h.value
178
176
  },
179
177
  t.inputCssClass
180
- ]), u = w(!1), R = n(
181
- () => t.modelValue.map((s) => j(s)).join(" - ")
182
- ), { validate: v, validationResult: b } = Q(
183
- o.value,
184
- _,
185
- $.value
178
+ ]), j = n(() => t.modelValue ? f.getDate() === t.modelValue.getDate() && f.getMonth() === t.modelValue.getMonth() && f.getFullYear() === t.modelValue.getFullYear() : !1), N = n(() => {
179
+ const e = {
180
+ mask: i.MaskedDate,
181
+ pattern: u,
182
+ lazy: !0,
183
+ format: (a) => c(a).format(u),
184
+ parse: (a) => c(a, u),
185
+ blocks: {
186
+ YYYY: {
187
+ mask: i.MaskedRange,
188
+ from: 1,
189
+ to: 9999
190
+ },
191
+ MM: {
192
+ mask: i.MaskedRange,
193
+ from: 1,
194
+ to: 12
195
+ },
196
+ DD: {
197
+ mask: i.MaskedRange,
198
+ from: 1,
199
+ to: 31
200
+ }
201
+ }
202
+ };
203
+ return t.minDate && (e.min = t.minDate), t.maxDate && (e.max = t.maxDate), e;
204
+ }), h = V(!1), { validate: _, validationResult: y } = ae(
205
+ d.value,
206
+ x,
207
+ F.value
186
208
  );
187
- D(
209
+ C(
188
210
  () => t.modelValue,
189
211
  () => {
190
- T(r.selectedDates) && (c(t.modelValue) ? r.selectDate(t.modelValue) : r.clear());
212
+ v(o.selectedDates[0]) && (t.modelValue ? (o.selectDate(t.modelValue), o.setViewDate(t.modelValue)) : o.clear()), v(g()) && (r.value = S(t.modelValue));
191
213
  },
192
214
  { deep: !0 }
193
- ), D(
215
+ ), C(
194
216
  [
195
- P,
217
+ Y,
196
218
  () => t.position,
197
219
  () => t.minDate,
198
220
  () => t.maxDate,
199
221
  () => t.view
200
222
  ],
201
223
  () => {
202
- r.update(y.value);
224
+ o.update(B.value);
203
225
  }
204
226
  );
205
- const c = (s) => (s == null ? void 0 : s.length) === 2, j = (s) => se(s) ? te(s).format(S) : s, I = () => {
206
- u.value = !1, M();
207
- }, N = () => {
208
- u.value = !0, c(t.modelValue) ? r.selectDate(t.modelValue) : r.clear(), X();
209
- }, T = (s) => [
210
- !l(t.modelValue) && l(s),
211
- !l(s) && l(t.modelValue),
212
- !l(t.modelValue) && !l(s) && t.modelValue.some((d, m) => {
213
- var g;
214
- return (d == null ? void 0 : d.getTime()) !== ((g = s[m]) == null ? void 0 : g.getTime());
215
- })
216
- ].some((d) => d), F = (s) => {
217
- const a = document.querySelector(`.${o.value}-btn-confirm`);
218
- s ? a == null || a.removeAttribute("disabled") : a == null || a.setAttribute("disabled", "");
227
+ const S = (e) => ne(e) ? c(e).format(u) : e, O = () => {
228
+ h.value = !1, z();
229
+ }, A = () => {
230
+ h.value = !0, t.modelValue ? (o.selectDate(t.modelValue), o.setViewDate(t.modelValue)) : o.clear(), de();
231
+ }, E = () => {
232
+ r.unmaskedValue || l("update:modelValue", "");
233
+ }, L = () => {
234
+ const e = g();
235
+ return e ? l("update:modelValue", e) : l("update:modelValue", "");
236
+ }, U = () => {
237
+ const e = g();
238
+ _(), v(e) && l("update:modelValue", e === void 0 ? "" : e);
239
+ }, v = (e) => [
240
+ !t.modelValue && e,
241
+ !e && t.modelValue,
242
+ t.modelValue && e && t.modelValue.getTime() !== e.getTime()
243
+ ].some((p) => p), g = () => {
244
+ const e = r.value.split("/"), a = `${e[2]}-${e[1]}-${e[0]}`;
245
+ if (c(a, c.ISO_8601, !0).isValid())
246
+ return new Date(a);
247
+ }, G = (e) => {
248
+ const a = document.querySelector(`.${d.value}-btn-confirm`);
249
+ e ? a == null || a.removeAttribute("disabled") : a == null || a.setAttribute("disabled", "");
219
250
  };
220
- return A(() => {
221
- r = new K(
222
- `#${o.value}Picker`,
223
- y.value
224
- );
225
- }), L(() => {
226
- M();
227
- }), (s, a) => (h(), x("div", null, [
228
- O(ee, {
229
- id: o.value,
230
- label: s.label,
231
- required: s.required
251
+ return K(() => {
252
+ o = new te(
253
+ `#${d.value}Picker`,
254
+ B.value
255
+ ), r = i(M.value, N.value), r.value = S(t.modelValue), r.on("accept", E), r.on("complete", L);
256
+ }), Q(() => {
257
+ z();
258
+ }), (e, a) => (b(), D("div", null, [
259
+ W(le, {
260
+ id: d.value,
261
+ label: e.label,
262
+ required: e.required
232
263
  }, null, 8, ["id", "label", "required"]),
233
- i("div", oe, [
234
- i("input", {
235
- id: o.value,
236
- class: f([k.value, "ds-relative ds-z-[2] ds-drop-shadow-light"]),
237
- disabled: s.disabled,
238
- placeholder: s.placeholder,
239
- value: R.value,
240
- readonly: ""
241
- }, null, 10, de),
242
- i("input", {
243
- id: `${o.value}Picker`,
244
- class: f([k.value, "ds-absolute ds-top-0 ds-z-[1]"]),
245
- disabled: s.disabled,
246
- placeholder: s.placeholder,
264
+ m("div", ce, [
265
+ m("input", {
266
+ id: d.value,
267
+ ref_key: "inputMaskRef",
268
+ ref: M,
269
+ class: w([H.value, "ds-relative ds-z-[2] ds-drop-shadow-light"]),
270
+ disabled: e.disabled,
271
+ placeholder: e.placeholder,
272
+ onBlur: U
273
+ }, null, 42, me),
274
+ m("input", {
275
+ id: `${d.value}Picker`,
276
+ class: w([H.value, "ds-absolute ds-top-0 ds-z-[1]"]),
277
+ disabled: e.disabled,
247
278
  readonly: ""
248
- }, null, 10, re),
249
- i("label", {
250
- for: `${o.value}Picker`,
279
+ }, null, 10, ue),
280
+ e.showHintToday && j.value ? (b(), D("label", {
281
+ key: 0,
282
+ for: d.value,
283
+ class: "ds-absolute ds-left-[98px] ds-top-2.5 ds-z-[3] ds-text-sm"
284
+ }, X(`(${e.$t("ds.components.base.date_picker.today")})`), 9, pe)) : P("", !0),
285
+ m("label", {
286
+ for: `${d.value}Picker`,
251
287
  class: "ds-absolute ds-right-3 ds-top-3 ds-z-[3]"
252
288
  }, [
253
- (h(), x("svg", {
254
- class: f([[
289
+ (b(), D("svg", {
290
+ class: w([[
255
291
  t.disabled ? "ds-fill-black/40" : "ds-text-black/[0.85]"
256
292
  ], "ds-h-4 ds-w-4"]),
257
293
  viewBox: "0 0 448 512",
258
294
  xmlns: "http://www.w3.org/2000/svg"
259
- }, ie, 2))
260
- ], 8, ne)
295
+ }, ke, 2))
296
+ ], 8, be)
261
297
  ]),
262
- s.hideDetails ? G("", !0) : (h(), E(Z, {
298
+ e.hideDetails ? P("", !0) : (b(), Z(re, {
263
299
  key: 0,
264
- "error-message": U(b).errorMessage(),
300
+ "error-message": ee(y).errorMessage(),
265
301
  class: "ds-mt-1"
266
302
  }, null, 8, ["error-message"]))
267
303
  ]));
268
304
  }
269
305
  });
270
306
  export {
271
- Ve as default
307
+ $e as default
272
308
  };
273
309
  //# sourceMappingURL=design-system13.mjs.map