@7pmlabs/design-system 0.3.3 → 0.3.5

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 (146) hide show
  1. package/README.md +6 -6
  2. package/dist/design-system100.js +1 -1
  3. package/dist/design-system100.js.map +1 -1
  4. package/dist/design-system100.mjs +24 -17
  5. package/dist/design-system100.mjs.map +1 -1
  6. package/dist/design-system101.js +1 -5
  7. package/dist/design-system101.js.map +1 -1
  8. package/dist/design-system101.mjs +18 -10
  9. package/dist/design-system101.mjs.map +1 -1
  10. package/dist/design-system105.js +1 -1
  11. package/dist/design-system105.js.map +1 -1
  12. package/dist/design-system105.mjs +4 -2
  13. package/dist/design-system105.mjs.map +1 -1
  14. package/dist/design-system106.js +1 -1
  15. package/dist/design-system106.js.map +1 -1
  16. package/dist/design-system106.mjs +8 -2
  17. package/dist/design-system106.mjs.map +1 -1
  18. package/dist/design-system107.js +1 -1
  19. package/dist/design-system107.js.map +1 -1
  20. package/dist/design-system107.mjs +7 -4
  21. package/dist/design-system107.mjs.map +1 -1
  22. package/dist/design-system108.js +1 -1
  23. package/dist/design-system108.js.map +1 -1
  24. package/dist/design-system108.mjs +2 -8
  25. package/dist/design-system108.mjs.map +1 -1
  26. package/dist/design-system109.js +1 -1
  27. package/dist/design-system109.js.map +1 -1
  28. package/dist/design-system109.mjs +2 -7
  29. package/dist/design-system109.mjs.map +1 -1
  30. package/dist/design-system11.js +1 -1
  31. package/dist/design-system11.js.map +1 -1
  32. package/dist/design-system11.mjs +41 -47
  33. package/dist/design-system11.mjs.map +1 -1
  34. package/dist/design-system110.js +1 -1
  35. package/dist/design-system110.mjs +1 -1
  36. package/dist/design-system112.js +1 -1
  37. package/dist/design-system112.mjs +1 -1
  38. package/dist/design-system12.js +7 -1
  39. package/dist/design-system12.js.map +1 -1
  40. package/dist/design-system12.mjs +83 -72
  41. package/dist/design-system12.mjs.map +1 -1
  42. package/dist/design-system13.js +7 -1
  43. package/dist/design-system13.js.map +1 -1
  44. package/dist/design-system13.mjs +101 -90
  45. package/dist/design-system13.mjs.map +1 -1
  46. package/dist/design-system14.js +1 -1
  47. package/dist/design-system14.js.map +1 -1
  48. package/dist/design-system14.mjs +46 -42
  49. package/dist/design-system14.mjs.map +1 -1
  50. package/dist/design-system142.js +1 -1
  51. package/dist/design-system142.js.map +1 -1
  52. package/dist/design-system142.mjs +7 -11
  53. package/dist/design-system142.mjs.map +1 -1
  54. package/dist/design-system143.js +1 -1
  55. package/dist/design-system143.js.map +1 -1
  56. package/dist/design-system143.mjs +9 -7
  57. package/dist/design-system143.mjs.map +1 -1
  58. package/dist/design-system144.js +1 -1
  59. package/dist/design-system144.js.map +1 -1
  60. package/dist/design-system144.mjs +11 -9
  61. package/dist/design-system144.mjs.map +1 -1
  62. package/dist/design-system148.js +1 -1
  63. package/dist/design-system148.mjs +1 -1
  64. package/dist/design-system149.js +1 -1
  65. package/dist/design-system149.mjs +1 -1
  66. package/dist/design-system152.js +1 -1
  67. package/dist/design-system152.mjs +1 -1
  68. package/dist/design-system153.js +1 -1
  69. package/dist/design-system153.mjs +1 -1
  70. package/dist/design-system17.js +1 -1
  71. package/dist/design-system17.js.map +1 -1
  72. package/dist/design-system17.mjs +117 -106
  73. package/dist/design-system17.mjs.map +1 -1
  74. package/dist/design-system18.js +1 -1
  75. package/dist/design-system18.js.map +1 -1
  76. package/dist/design-system18.mjs +3 -3
  77. package/dist/design-system18.mjs.map +1 -1
  78. package/dist/design-system19.js +2 -2
  79. package/dist/design-system19.js.map +1 -1
  80. package/dist/design-system19.mjs +76 -64
  81. package/dist/design-system19.mjs.map +1 -1
  82. package/dist/design-system20.js +1 -1
  83. package/dist/design-system20.mjs +1 -1
  84. package/dist/design-system21.js +1 -1
  85. package/dist/design-system21.js.map +1 -1
  86. package/dist/design-system21.mjs +107 -94
  87. package/dist/design-system21.mjs.map +1 -1
  88. package/dist/design-system22.js +1 -1
  89. package/dist/design-system22.mjs +1 -1
  90. package/dist/design-system24.js +1 -1
  91. package/dist/design-system24.mjs +2 -2
  92. package/dist/design-system25.js +1 -1
  93. package/dist/design-system25.mjs +1 -1
  94. package/dist/design-system40.js +1 -1
  95. package/dist/design-system40.js.map +1 -1
  96. package/dist/design-system40.mjs +79 -75
  97. package/dist/design-system40.mjs.map +1 -1
  98. package/dist/design-system41.js +1 -1
  99. package/dist/design-system41.js.map +1 -1
  100. package/dist/design-system41.mjs +53 -34
  101. package/dist/design-system41.mjs.map +1 -1
  102. package/dist/design-system46.js +1 -1
  103. package/dist/design-system46.mjs +1 -1
  104. package/dist/design-system50.js +1 -1
  105. package/dist/design-system50.js.map +1 -1
  106. package/dist/design-system50.mjs +83 -67
  107. package/dist/design-system50.mjs.map +1 -1
  108. package/dist/design-system55.js +1 -1
  109. package/dist/design-system55.mjs +1 -1
  110. package/dist/design-system77.js +1 -1
  111. package/dist/design-system77.mjs +1 -1
  112. package/dist/design-system85.js +1 -1
  113. package/dist/design-system85.js.map +1 -1
  114. package/dist/design-system85.mjs +3 -3
  115. package/dist/design-system90.js +1 -1
  116. package/dist/design-system90.js.map +1 -1
  117. package/dist/design-system90.mjs +1 -1
  118. package/dist/design-system93.js +5 -1
  119. package/dist/design-system93.js.map +1 -1
  120. package/dist/design-system93.mjs +10 -2172
  121. package/dist/design-system93.mjs.map +1 -1
  122. package/dist/design-system94.js +1 -1
  123. package/dist/design-system94.js.map +1 -1
  124. package/dist/design-system94.mjs +17 -1103
  125. package/dist/design-system94.mjs.map +1 -1
  126. package/dist/design-system95.js +1 -1
  127. package/dist/design-system95.js.map +1 -1
  128. package/dist/design-system95.mjs +2172 -17
  129. package/dist/design-system95.mjs.map +1 -1
  130. package/dist/design-system96.js +1 -1
  131. package/dist/design-system96.js.map +1 -1
  132. package/dist/design-system96.mjs +1103 -68
  133. package/dist/design-system96.mjs.map +1 -1
  134. package/dist/design-system97.js +1 -1
  135. package/dist/design-system97.js.map +1 -1
  136. package/dist/design-system97.mjs +68 -6
  137. package/dist/design-system97.mjs.map +1 -1
  138. package/dist/design-system98.js +1 -1
  139. package/dist/design-system98.js.map +1 -1
  140. package/dist/design-system98.mjs +5 -24
  141. package/dist/design-system98.mjs.map +1 -1
  142. package/dist/style.css +1 -1
  143. package/dist/types/components/BButton.vue.d.ts +2 -28
  144. package/dist/types/components/BTextField.vue.d.ts +10 -2
  145. package/dist/types/components/BToast/BToastItem.vue.d.ts +9 -12
  146. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-system12.mjs","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\"]\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/**\n * Props\n */\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\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\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\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/**\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 !== 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 } 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\n/**\n * Watch\n */\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\n/**\n * Methods\n */\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\n/**\n * Lifecycle hooks\n */\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\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-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_5)\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","_hoisted_5","_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":";;;;;;;;;;;;;AAGA,MAAMA,KAAa,EAAE,OAAO,iBACtBC,KAAa,CAAC,MAAM,YAAY,aAAa,GAC7CC,KAAa,CAAC,MAAM,UAAU,GAC9BC,KAAa,CAAC,KAAK,GACnBC,KAAa,CAAC,KAAK,GAmFGC,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,eAAe,EAAE,MAAM,SAAS,SAAS,GAAM;AAAA,IAC/C,MAAM,EAAE,SAASC,GAAgB,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,GAAQ,GACxBC,IAAa,KAAKC,CAAa,KAAKA,CAAa,QACjDC,wBAAkB;AACpB,QAAAC,GACAC;AACE,UAAAC,IAAeC,EAAwB,IAAI,GAC3CC,IAAmC;AAAA,MACvC,cAAc,CAACC,MAAQ,CAAC,CAACA;AAAA,MACzB,cAAc,MACZZ,EAAM,wBAAwBC,EAAE,0BAA0B;AAAA,IAAA,GAExDY,IAAeH,KAMfI,IAAKC,EAAS,MAAMf,EAAM,WAAW,MAAMgB,IAAM,EAAE,GACnDC,IAAQF,EAAS;AAAA,MACrB,MAAM;AACJ,eAAOf,EAAM;AAAA,MACf;AAAA,MACA,IAAIY,GAAK;AACP,QAAAb,EAAK,qBAAqBa,CAAG;AAAA,MAC/B;AAAA,IAAA,CACD,GACKM,IAAoBH,EAAgC,MAAM;AAAA,MAC9D;AAAA,QACE,SAASd,EAAE,+CAA+C;AAAA,QAC1D,WACE;AAAA,QACF,SAAS,CAACkB,MAAO;AACf,UAAAA,EAAG,MAAM,GACTC,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,MACF;AAAA,MACA;AAAA,QACE,SAASlB,EAAE,gDAAgD;AAAA,QAC3D,WAAW,GAAGa,EAAG,KAAK;AAAA,QACtB,SAAS,CAACK,MAAO;AACf,UAAAF,EAAM,QAAQJ,EAAa,UAAU,SAAYA,EAAa,QAAQ,IACtEO,EAAS,MAAM;AACJ,YAAAC;UAAA,CACV,GACDF,EAAG,KAAK;AAAA,QACV;AAAA,QACA,OAAOnB,EAAM,WACT;AAAA,UACE,UAAU;AAAA,QAEZ,IAAA;AAAA,MACN;AAAA,IAAA,CACD,GACKsB,IAAoBP,EAAS,MAAM;AACvC,YAAMQ,IAAwC;AAAA,QAC5C,MAAM;AAAA,UACJtB,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,GAENuB,IAAqB,CAAC;AAAA,QAC1B,MAAAC;AAAA,MAAA,MAKI;AAEJ,QAAAZ,EAAa,QAAQY,GACjBzB,EAAM,YACW0B,EAAA,CAAC,CAACD,CAAI;AAAA,MAC3B;AAGK,aAAA;AAAA,QACL,QAAQF;AAAA,QACR,eAAe,CAACvB,EAAM,UAAU;AAAA,QAChC,UAAUwB;AAAA,QACV,SAAS,CAAC,GAAGN,EAAkB,KAAK;AAAA,QACpC,iBAAiB;AAAA,QACjB,YAAY;AAAA,QACZ,gBAAgB;AAAA,QAChB,SAASlB,EAAM;AAAA,QACf,SAASA,EAAM;AAAA,QACf,MAAMA,EAAM;AAAA,QACZ,QAAQ2B;AAAA,QACR,QAAQC;AAAA,QACR,WAAW;AAAA,UACT,MAAM;AAAA,QACR;AAAA,QACA,UAAU5B,EAAM;AAAA,MAAA;AAAA,IAClB,CACD,GACK6B,IAASd,EAAS,MAAM;AAC5B,UAAIe,IAA2B,CAAA;AAE/B,aAAI9B,EAAM,YACR8B,EAAO,KAAKnB,CAAgB,GAE1BX,EAAM,oBACC8B,IAAAA,EAAO,OAAO9B,EAAM,eAAe,IAGvC8B,EAAO,SAASA,IAAS;AAAA,IAAA,CACjC,GACKC,IAAqBhB,EAAS,MAAM;AAAA,MACxC;AAAA,MACA;AAAA,QACE,6DAA6Df,EAAM;AAAA,QACnE,wBAAwB,CAACA,EAAM;AAAA,QAC/B,uDACE,CAACgC,EAAiB,MAAM;AAAA,QAC1B,mFACEA,EAAiB,MAAM;AAAA,QACzB,4CAA4CC,EAAkB;AAAA,MAChE;AAAA,MACAjC,EAAM;AAAA,IAAA,CACP,GACKkC,IAAUnB,EAAS,MAClBf,EAAM,aAITM,EAAY,QAAQ,MAAMN,EAAM,WAAW,aAC3CM,EAAY,eAAeN,EAAM,WAAW,SAC5C,KAAAM,EAAY,YAAkB,MAAAN,EAAM,WAAW,gBALxC,EAOV,GACKmC,IAAmBpB,EAAS,MAAM;AACtC,YAAMe,IAAc;AAAA,QAClB,MAAMM,EAAM;AAAA,QACZ,SAAShC;AAAA,QACT,MAAM;AAAA,QAEN,QAAQ,CAACqB,MAAcY,EAAOZ,CAAI,EAAE,OAAOrB,CAAU;AAAA,QACrD,OAAO,CAACkC,MAAgBD,EAAOC,GAAKlC,CAAU;AAAA,QAE9C,QAAQ;AAAA,UACN,MAAM;AAAA,YACJ,MAAMgC,EAAM;AAAA,YACZ,MAAM;AAAA,YACN,IAAI;AAAA,UACN;AAAA,UACA,IAAI;AAAA,YACF,MAAMA,EAAM;AAAA,YACZ,MAAM;AAAA,YACN,IAAI;AAAA,UACN;AAAA,UACA,IAAI;AAAA,YACF,MAAMA,EAAM;AAAA,YACZ,MAAM;AAAA,YACN,IAAI;AAAA,UACN;AAAA,QACF;AAAA,MAAA;AAGF,aAAIpC,EAAM,YACR8B,EAAO,MAAM9B,EAAM,UAEjBA,EAAM,YACR8B,EAAO,MAAM9B,EAAM,UAGd8B;AAAA,IAAA,CACR,GACKG,IAAoBvB,EAAI,EAAK,GAE7B,EAAE,UAAAW,GAAU,kBAAAW,EAAA,IAAqBO;AAAA,MACrCzB,EAAG;AAAA,MACHG;AAAA,MACAY,EAAO;AAAA,IAAA;AAMT,IAAAW;AAAA,MACE,MAAMxC,EAAM;AAAA,MACZ,MAAM;AAEJ,QAAIyC,EAAuBlC,EAAW,cAAc,CAAC,CAAC,MAChDP,EAAM,cACGO,EAAA,WAAWP,EAAM,UAAU,GAC3BO,EAAA,YAAYP,EAAM,UAAU,KAEvCO,EAAW,MAAM,IAGjBkC,EAAuBC,EAAiB,CAAC,MACtClC,EAAA,QAAQmC,EAAW3C,EAAM,UAAU;AAAA,MAE5C;AAAA,MACA,EAAE,MAAM,GAAK;AAAA,IAAA,GAEfwC;AAAA,MACE;AAAA,QACEtC;AAAA,QACA,MAAMF,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,QACZ,MAAMA,EAAM;AAAA,MACd;AAAA,MACA,MAAM;AACO,QAAAO,EAAA,OAAOe,EAAkB,KAAK;AAAA,MAC3C;AAAA,IAAA;AAMI,UAAAqB,IAAa,CAAClB,MAClBmB,GAAiBnB,CAAI,IAAIY,EAAOZ,CAAI,EAAE,OAAOrB,CAAU,IAAIqB,GAEvDE,IAAe,MAAM;AACzB,MAAAM,EAAkB,QAAQ,IACTY;IAAA,GAGbjB,IAAe,MAAM;AACzB,MAAAK,EAAkB,QAAQ,IACtBjC,EAAM,cACGO,EAAA,WAAWP,EAAM,UAAU,GAC3BO,EAAA,YAAYP,EAAM,UAAU,KAEvCO,EAAW,MAAM,GAEJuC;IAAA,GAEXC,IAAW,MAAM;AACjB,MAACvC,EAAK,iBACRT,EAAK,qBAAqB,EAAE;AAAA,IAC9B,GAEIiD,IAAa,MAAM;AACvB,YAAMvB,IAAOiB;AACb,aAAOjB,IAAO1B,EAAK,qBAAqB0B,CAAI,IAAI1B,EAAK,qBAAqB,EAAE;AAAA,IAAA,GAExEkD,IAAS,MAAM;AACnB,YAAMxB,IAAOiB;AAET,MADKrB,KACJoB,EAAuBhB,CAAI,KAGhC1B,EAAK,qBAAqB0B,MAAS,SAAY,KAAKA,CAAI;AAAA,IAAA,GAEpDgB,IAAyB,CAAChB,MACX;AAAA,MACjB,CAACzB,EAAM,cAAcyB;AAAA,MACrB,CAACA,KAAQzB,EAAM;AAAA,MACfA,EAAM,cAAcyB,KAAQzB,EAAM,WAAW,QAAQ,MAAMyB,EAAK,QAAQ;AAAA,IAAA,EAGxD,KAAK,CAACyB,MAAMA,CAAC,GAE3BR,IAAmB,MAAM;AAC7B,YAAMS,IAAM3C,EAAK,MAAM,MAAM,GAAG,GAC1B4C,IAAU,GAAGD,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC;AAE7C,UAAId,EAAOe,GAASf,EAAO,UAAU,EAAI,EAAE;AAClC,eAAA,IAAI,KAAKe,CAAO;AAAA,IAGlB,GAEH1B,IAAqB,CAAC2B,MAAqB;AAC/C,YAAMC,IAAQ,SAAS,cAAc,IAAIxC,EAAG,KAAK,cAAc;AAC/D,MAAIuC,IACFC,KAAA,QAAAA,EAAO,gBAAgB,cAEhBA,KAAA,QAAAA,EAAA,aAAa,YAAY;AAAA,IAClC;AAMF,WAAAC,EAAU,MAAM;AAEd,MAAAhD,IAAa,IAAIiD;AAAA,QACf,IAAI1C,EAAG,KAAK;AAAA,QACZQ,EAAkB;AAAA,MAAA,GAGpBd,IAAO4B,EAAM3B,EAAa,OAAQ0B,EAAiB,KAAK,GACnD3B,EAAA,QAAQmC,EAAW3C,EAAM,UAAU,GACnCQ,EAAA,GAAG,UAAUuC,CAAQ,GACrBvC,EAAA,GAAG,YAAYwC,CAAU;AAAA,IAAA,CAC/B,GACDS,EAAgB,MAAM;AACH,MAAAZ;IAAA,CAClB,GAEM,CAACa,GAAUC,OACRC,EAAW,GAAGC,EAAoB,OAAO,MAAM;AAAA,MACrDC,EAAaC,IAAQ;AAAA,QACnB,IAAIjD,EAAG;AAAA,QACP,OAAO4C,EAAK;AAAA,QACZ,UAAUA,EAAK;AAAA,MAAA,GACd,MAAM,GAAG,CAAC,MAAM,SAAS,UAAU,CAAC;AAAA,MACvCM,EAAoB,OAAO1E,IAAY;AAAA,QACrC0E,EAAoB,SAAS;AAAA,UAC3B,IAAIlD,EAAG;AAAA,UACP,SAAS;AAAA,UACT,KAAKL;AAAA,UACL,OAAOwD,EAAgB,CAAClC,EAAmB,OAAO,2CAA2C,CAAC;AAAA,UAC9F,UAAU2B,EAAK;AAAA,UACf,aAAaA,EAAK;AAAA,UAClB,QAAAT;AAAA,QAAA,GACC,MAAM,IAAI1D,EAAU;AAAA,QACvByE,EAAoB,SAAS;AAAA,UAC3B,IAAI,GAAGlD,EAAG,KAAK;AAAA,UACf,OAAOmD,EAAgB,CAAClC,EAAmB,OAAO,+BAA+B,CAAC;AAAA,UAClF,UAAU2B,EAAK;AAAA,UACf,UAAU;AAAA,QAAA,GACT,MAAM,IAAIlE,EAAU;AAAA,QACtBkE,EAAK,iBAAiBxB,EAAQ,SAC1B0B,EAAW,GAAGC,EAAoB,SAAS;AAAA,UAC1C,KAAK;AAAA,UACL,KAAK/C,EAAG;AAAA,UACR,OAAO;AAAA,QACN,GAAAoD,EAAiB,IAAIR,EAAK,GAAG,sCAAsC,CAAC,GAAG,GAAG,GAAGjE,EAAU,KAC1F0E,EAAoB,IAAI,EAAI;AAAA,QAChCH,EAAoB,SAAS;AAAA,UAC3B,KAAK,GAAGlD,EAAG,KAAK;AAAA,UAChB,OAAO;AAAA,QAAA,GACN;AAAA,UACDkD,EAAoB,KAAK;AAAA,YACvB,OAAOC,EAAgB,CAAC;AAAA,cACtBjE,EAAM,WAAW,wBAAwB;AAAA,YAC3C,GAAG,4BAA4B,CAAC;AAAA,UAAA,GAC/B,MAAM,CAAC;AAAA,QAAA,GACT,GAAGN,EAAU;AAAA,MAAA,CACjB;AAAA,MACCgE,EAAK,cAOHS,EAAoB,IAAI,EAAI,KAN3BP,EAAW,GAAGQ,EAAaC,IAAe;AAAA,QACzC,KAAK;AAAA,QACL,iBAAiBC,GAAOtC,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-system12.mjs","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/**\n * Props\n */\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\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\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\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/**\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 !== 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\n/**\n * Watch\n */\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\n/**\n * Methods\n */\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\n/**\n * Lifecycle hooks\n */\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\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,2 +1,8 @@
1
- "use strict";const a=require("vue"),I=require("./design-system48.js"),R=require("./design-system94.js"),$=require("./design-system3.js"),j=require("./design-system5.js"),b=require("./design-system6.js"),T=require("./design-system30.js"),z=require("./design-system31.js"),H=require("./design-system47.js"),F=require("./design-system92.js"),v=require("./design-system4.js"),Y=require("./design-system95.js"),l=require("./design-system98.js"),O={class:"ds-relative"},A=["id","disabled","placeholder","value"],L=["id","disabled","placeholder"],U=["for"],G=a.defineComponent({__name:"BDateRangePicker",props:{inputId:{default:""},modelValue:{},label:{default:""},validationRules:{default:void 0},placeholder:{default:""},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},disabled:{type:Boolean,default:!1},inputCssClass:{default:""},minDate:{default:""},maxDate:{default:""},view:{default:j.BDatePickerView.Days},hideDetails:{type:Boolean,default:!1},position:{default:"bottom left"}},emits:["update:modelValue"],setup(g,{emit:D}){const t=g,{t:e,locale:V}=I.useI18n(),q=`DD${v.DateDelimiter}MM${v.DateDelimiter}YYYY`;let n;const w={validateRule:s=>!!s,errorMessage:()=>t.requiredErrorMessage||e("ds.global.field_required")},u=a.ref(),d=a.computed(()=>t.inputId||`id-${Y()}`),_=a.computed({get(){return t.modelValue},set(s){D("update:modelValue",s)}}),x=a.computed(()=>[{content:e("ds.components.base.date_picker.buttons.cancel"),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",onClick:s=>{s.clear(),a.nextTick(()=>{k()}),s.hide()}},{content:e("ds.components.base.date_picker.buttons.confirm"),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`,onClick:s=>{_.value=c(u.value)?u.value:[],a.nextTick(()=>{k()}),s.hide()},attrs:t.required?{disabled:""}:void 0}]),h=a.computed(()=>{const s={days:[e("ds.components.base.date_picker.days.sunday"),e("ds.components.base.date_picker.days.monday"),e("ds.components.base.date_picker.days.tuesday"),e("ds.components.base.date_picker.days.wednesday"),e("ds.components.base.date_picker.days.thursday"),e("ds.components.base.date_picker.days.friday"),e("ds.components.base.date_picker.days.saturday")],daysShort:[e("ds.components.base.date_picker.days_short.sunday"),e("ds.components.base.date_picker.days_short.monday"),e("ds.components.base.date_picker.days_short.tuesday"),e("ds.components.base.date_picker.days_short.wednesday"),e("ds.components.base.date_picker.days_short.thursday"),e("ds.components.base.date_picker.days_short.friday"),e("ds.components.base.date_picker.days_short.saturday")],daysMin:[e("ds.components.base.date_picker.days_min.sunday"),e("ds.components.base.date_picker.days_min.monday"),e("ds.components.base.date_picker.days_min.tuesday"),e("ds.components.base.date_picker.days_min.wednesday"),e("ds.components.base.date_picker.days_min.thursday"),e("ds.components.base.date_picker.days_min.friday"),e("ds.components.base.date_picker.days_min.saturday")],months:[e("ds.components.base.date_picker.months.january"),e("ds.components.base.date_picker.months.february"),e("ds.components.base.date_picker.months.march"),e("ds.components.base.date_picker.months.april"),e("ds.components.base.date_picker.months.may"),e("ds.components.base.date_picker.months.june"),e("ds.components.base.date_picker.months.july"),e("ds.components.base.date_picker.months.august"),e("ds.components.base.date_picker.months.september"),e("ds.components.base.date_picker.months.october"),e("ds.components.base.date_picker.months.november"),e("ds.components.base.date_picker.months.december")],monthsShort:[e("ds.components.base.date_picker.months_short.january"),e("ds.components.base.date_picker.months_short.february"),e("ds.components.base.date_picker.months_short.march"),e("ds.components.base.date_picker.months_short.april"),e("ds.components.base.date_picker.months_short.may"),e("ds.components.base.date_picker.months_short.june"),e("ds.components.base.date_picker.months_short.july"),e("ds.components.base.date_picker.months_short.august"),e("ds.components.base.date_picker.months_short.september"),e("ds.components.base.date_picker.months_short.october"),e("ds.components.base.date_picker.months_short.november"),e("ds.components.base.date_picker.months_short.december")],today:e("ds.components.base.date_picker.buttons.today"),clear:e("ds.components.base.date_picker.buttons.clear"),dateFormat:"dd/MM/yyyy",timeFormat:"HH:mm",firstDay:1},o=({date:r})=>{const i=c(r);u.value=i?r:[],t.required&&E(i)};return{locale:s,selectedDates:t.modelValue,onSelect:o,buttons:x.value,showOtherMonths:!1,timepicker:!1,onlyTimepicker:!1,minDate:t.minDate,maxDate:t.maxDate,view:t.view,onHide:P,onShow:S,navTitles:{days:"MMMM yyyy"},position:t.position,range:!0,multipleDatesSeparator:" - "}}),B=a.computed(()=>{let s=[];return t.required&&s.push(w),t.validationRules&&(s=s.concat(t.validationRules)),s.length?s:void 0}),y=a.computed(()=>["ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",{"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]":t.disabled,"ds-text-black/[0.85]":!t.disabled,"ds-border-error focus:ds-ring-1 focus:ds-ring-error":!p.value.valid,"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":p.value.valid,"!ds-border-focus ds-ring-1 ds-ring-focus":m.value},t.inputCssClass]),m=a.ref(!1),M=a.computed(()=>t.modelValue.map(s=>C(s)).join(" - ")),{validate:k,validationResult:p}=$.useValidationField(d.value,_,B.value);a.watch(()=>t.modelValue,()=>{N(n.selectedDates)&&(c(t.modelValue)?n.selectDate(t.modelValue):n.clear())},{deep:!0}),a.watch([V,()=>t.position,()=>t.minDate,()=>t.maxDate,()=>t.view],()=>{n.update(h.value)});const c=s=>(s==null?void 0:s.length)===2,C=s=>H.checkIfISOFormat(s)?F(s).format(q):s,P=()=>{m.value=!1,b.unlockScrollBody()},S=()=>{m.value=!0,c(t.modelValue)?n.selectDate(t.modelValue):n.clear(),b.lockScrollBody()},N=s=>[!l(t.modelValue)&&l(s),!l(s)&&l(t.modelValue),!l(t.modelValue)&&!l(s)&&t.modelValue.some((r,i)=>{var f;return(r==null?void 0:r.getTime())!==((f=s[i])==null?void 0:f.getTime())})].some(r=>r),E=s=>{const o=document.querySelector(`.${d.value}-btn-confirm`);s?o==null||o.removeAttribute("disabled"):o==null||o.setAttribute("disabled","")};return a.onMounted(()=>{n=new R(`#${d.value}Picker`,h.value)}),a.onBeforeUnmount(()=>{b.unlockScrollBody()}),(s,o)=>(a.openBlock(),a.createElementBlock("div",null,[a.createVNode(z,{id:d.value,label:s.label,required:s.required},null,8,["id","label","required"]),a.createElementVNode("div",O,[a.createElementVNode("input",{id:d.value,class:a.normalizeClass([y.value,"ds-relative ds-z-[2] ds-drop-shadow-light"]),disabled:s.disabled,placeholder:s.placeholder,value:M.value,readonly:""},null,10,A),a.createElementVNode("input",{id:`${d.value}Picker`,class:a.normalizeClass([y.value,"ds-absolute ds-top-0 ds-z-[1]"]),disabled:s.disabled,placeholder:s.placeholder,readonly:""},null,10,L),a.createElementVNode("label",{for:`${d.value}Picker`,class:"ds-absolute ds-right-3 ds-top-2 ds-z-[3]"},[a.createElementVNode("i",{class:a.normalizeClass([[t.disabled?"ds-text-black/[0.4]":"ds-text-black/[0.85]"],"fa-solid fa-calendar-lines"])},null,2)],8,U)]),s.hideDetails?a.createCommentVNode("",!0):(a.openBlock(),a.createBlock(T,{key:0,"error-message":a.unref(p).errorMessage(),class:"ds-mt-1","prepend-icon":"fa-solid fa-circle-exclamation"},null,8,["error-message"]))]))}});module.exports=G;
1
+ "use strict";const t=require("vue"),N=require("./design-system48.js"),E=require("./design-system96.js"),I=require("./design-system3.js"),R=require("./design-system5.js"),b=require("./design-system6.js"),$=require("./design-system30.js"),j=require("./design-system31.js"),T=require("./design-system47.js"),F=require("./design-system92.js"),v=require("./design-system4.js"),L=require("./design-system94.js"),c=require("./design-system100.js"),Y={class:"ds-relative"},O=["id","disabled","placeholder","value"],A=["id","disabled","placeholder"],U=["for"],G=t.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),J=[G],K=t.defineComponent({__name:"BDateRangePicker",props:{inputId:{default:""},modelValue:{},label:{default:""},validationRules:{default:void 0},placeholder:{default:""},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},disabled:{type:Boolean,default:!1},inputCssClass:{default:""},minDate:{default:""},maxDate:{default:""},view:{default:R.BDatePickerView.Days},hideDetails:{type:Boolean,default:!1},position:{default:"bottom left"}},emits:["update:modelValue"],setup(g,{emit:V}){const a=g,{t:e,locale:w}=N.useI18n(),D=`DD${v.DateDelimiter}MM${v.DateDelimiter}YYYY`;let n;const q={validateRule:s=>!!s,errorMessage:()=>a.requiredErrorMessage||e("ds.global.field_required")},u=t.ref(),d=t.computed(()=>a.inputId||`id-${L()}`),_=t.computed({get(){return a.modelValue},set(s){V("update:modelValue",s)}}),x=t.computed(()=>[{content:e("ds.components.base.date_picker.buttons.cancel"),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",onClick:s=>{s.clear(),t.nextTick(()=>{y()}),s.hide()}},{content:e("ds.components.base.date_picker.buttons.confirm"),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`,onClick:s=>{_.value=l(u.value)?u.value:[],t.nextTick(()=>{y()}),s.hide()},attrs:a.required?{disabled:""}:void 0}]),h=t.computed(()=>{const s={days:[e("ds.components.base.date_picker.days.sunday"),e("ds.components.base.date_picker.days.monday"),e("ds.components.base.date_picker.days.tuesday"),e("ds.components.base.date_picker.days.wednesday"),e("ds.components.base.date_picker.days.thursday"),e("ds.components.base.date_picker.days.friday"),e("ds.components.base.date_picker.days.saturday")],daysShort:[e("ds.components.base.date_picker.days_short.sunday"),e("ds.components.base.date_picker.days_short.monday"),e("ds.components.base.date_picker.days_short.tuesday"),e("ds.components.base.date_picker.days_short.wednesday"),e("ds.components.base.date_picker.days_short.thursday"),e("ds.components.base.date_picker.days_short.friday"),e("ds.components.base.date_picker.days_short.saturday")],daysMin:[e("ds.components.base.date_picker.days_min.sunday"),e("ds.components.base.date_picker.days_min.monday"),e("ds.components.base.date_picker.days_min.tuesday"),e("ds.components.base.date_picker.days_min.wednesday"),e("ds.components.base.date_picker.days_min.thursday"),e("ds.components.base.date_picker.days_min.friday"),e("ds.components.base.date_picker.days_min.saturday")],months:[e("ds.components.base.date_picker.months.january"),e("ds.components.base.date_picker.months.february"),e("ds.components.base.date_picker.months.march"),e("ds.components.base.date_picker.months.april"),e("ds.components.base.date_picker.months.may"),e("ds.components.base.date_picker.months.june"),e("ds.components.base.date_picker.months.july"),e("ds.components.base.date_picker.months.august"),e("ds.components.base.date_picker.months.september"),e("ds.components.base.date_picker.months.october"),e("ds.components.base.date_picker.months.november"),e("ds.components.base.date_picker.months.december")],monthsShort:[e("ds.components.base.date_picker.months_short.january"),e("ds.components.base.date_picker.months_short.february"),e("ds.components.base.date_picker.months_short.march"),e("ds.components.base.date_picker.months_short.april"),e("ds.components.base.date_picker.months_short.may"),e("ds.components.base.date_picker.months_short.june"),e("ds.components.base.date_picker.months_short.july"),e("ds.components.base.date_picker.months_short.august"),e("ds.components.base.date_picker.months_short.september"),e("ds.components.base.date_picker.months_short.october"),e("ds.components.base.date_picker.months_short.november"),e("ds.components.base.date_picker.months_short.december")],today:e("ds.components.base.date_picker.buttons.today"),clear:e("ds.components.base.date_picker.buttons.clear"),dateFormat:"dd/MM/yyyy",timeFormat:"HH:mm",firstDay:1},o=({date:r})=>{const i=l(r);u.value=i?r:[],a.required&&z(i)};return{locale:s,selectedDates:a.modelValue,onSelect:o,buttons:x.value,showOtherMonths:!1,timepicker:!1,onlyTimepicker:!1,minDate:a.minDate,maxDate:a.maxDate,view:a.view,onHide:C,onShow:S,navTitles:{days:"MMMM yyyy"},position:a.position,range:!0,multipleDatesSeparator:" - ",prevHtml:`<svg xmlns="http://www.w3.org/2000/svg"
2
+ viewBox="0 0 320 512">
3
+ <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"/>
4
+ </svg>`,nextHtml:`<svg xmlns="http://www.w3.org/2000/svg"
5
+ viewBox="0 0 320 512">
6
+ <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"/>
7
+ </svg>`}}),B=t.computed(()=>{let s=[];return a.required&&s.push(q),a.validationRules&&(s=s.concat(a.validationRules)),s.length?s:void 0}),k=t.computed(()=>["ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",{"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]":a.disabled,"ds-text-black/[0.85]":!a.disabled,"ds-border-error focus:ds-ring-1 focus:ds-ring-error":!p.value.valid,"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":p.value.valid,"!ds-border-focus ds-ring-1 ds-ring-focus":m.value},a.inputCssClass]),m=t.ref(!1),M=t.computed(()=>a.modelValue.map(s=>H(s)).join(" - ")),{validate:y,validationResult:p}=I.useValidationField(d.value,_,B.value);t.watch(()=>a.modelValue,()=>{P(n.selectedDates)&&(l(a.modelValue)?n.selectDate(a.modelValue):n.clear())},{deep:!0}),t.watch([w,()=>a.position,()=>a.minDate,()=>a.maxDate,()=>a.view],()=>{n.update(h.value)});const l=s=>(s==null?void 0:s.length)===2,H=s=>T.checkIfISOFormat(s)?F(s).format(D):s,C=()=>{m.value=!1,b.unlockScrollBody()},S=()=>{m.value=!0,l(a.modelValue)?n.selectDate(a.modelValue):n.clear(),b.lockScrollBody()},P=s=>[!c(a.modelValue)&&c(s),!c(s)&&c(a.modelValue),!c(a.modelValue)&&!c(s)&&a.modelValue.some((r,i)=>{var f;return(r==null?void 0:r.getTime())!==((f=s[i])==null?void 0:f.getTime())})].some(r=>r),z=s=>{const o=document.querySelector(`.${d.value}-btn-confirm`);s?o==null||o.removeAttribute("disabled"):o==null||o.setAttribute("disabled","")};return t.onMounted(()=>{n=new E(`#${d.value}Picker`,h.value)}),t.onBeforeUnmount(()=>{b.unlockScrollBody()}),(s,o)=>(t.openBlock(),t.createElementBlock("div",null,[t.createVNode(j,{id:d.value,label:s.label,required:s.required},null,8,["id","label","required"]),t.createElementVNode("div",Y,[t.createElementVNode("input",{id:d.value,class:t.normalizeClass([k.value,"ds-relative ds-z-[2] ds-drop-shadow-light"]),disabled:s.disabled,placeholder:s.placeholder,value:M.value,readonly:""},null,10,O),t.createElementVNode("input",{id:`${d.value}Picker`,class:t.normalizeClass([k.value,"ds-absolute ds-top-0 ds-z-[1]"]),disabled:s.disabled,placeholder:s.placeholder,readonly:""},null,10,A),t.createElementVNode("label",{for:`${d.value}Picker`,class:"ds-absolute ds-right-3 ds-top-3 ds-z-[3]"},[(t.openBlock(),t.createElementBlock("svg",{class:t.normalizeClass([[a.disabled?"ds-fill-black/40":"ds-text-black/[0.85]"],"ds-h-4 ds-w-4"]),viewBox:"0 0 448 512",xmlns:"http://www.w3.org/2000/svg"},J,2))],8,U)]),s.hideDetails?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock($,{key:0,"error-message":t.unref(p).errorMessage(),class:"ds-mt-1"},null,8,["error-message"]))]))}});module.exports=K;
2
8
  //# sourceMappingURL=design-system13.js.map
@@ -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, 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 { 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 } 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
+ {"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,17 +1,19 @@
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";
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
2
  import { useI18n as J } from "./design-system48.mjs";
3
- import K from "./design-system94.mjs";
3
+ import K from "./design-system96.mjs";
4
4
  import { useValidationField as Q } from "./design-system3.mjs";
5
5
  import { BDatePickerView as W } from "./design-system5.mjs";
6
- import { unlockScrollBody as x, lockScrollBody as X } from "./design-system6.mjs";
6
+ import { unlockScrollBody as M, lockScrollBody as X } from "./design-system6.mjs";
7
7
  import Z from "./design-system30.mjs";
8
8
  import ee from "./design-system31.mjs";
9
9
  import { checkIfISOFormat as se } from "./design-system47.mjs";
10
- import ae from "./design-system92.mjs";
11
- import { DateDelimiter as M } from "./design-system4.mjs";
12
- import te from "./design-system95.mjs";
13
- import i from "./design-system98.mjs";
14
- const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "value"], re = ["id", "disabled", "placeholder"], ne = ["for"], ge = /* @__PURE__ */ H({
10
+ import te from "./design-system92.mjs";
11
+ import { DateDelimiter as B } from "./design-system4.mjs";
12
+ import ae from "./design-system94.mjs";
13
+ import l from "./design-system100.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({
15
17
  __name: "BDateRangePicker",
16
18
  props: {
17
19
  inputId: { default: "" },
@@ -30,26 +32,26 @@ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "val
30
32
  position: { default: "bottom left" }
31
33
  },
32
34
  emits: ["update:modelValue"],
33
- setup(B, { emit: P }) {
34
- const a = B, { t: e, locale: q } = J(), C = `DD${M}MM${M}YYYY`;
35
+ setup(H, { emit: C }) {
36
+ const t = H, { t: e, locale: P } = J(), S = `DD${B}MM${B}YYYY`;
35
37
  let r;
36
- const S = {
38
+ const q = {
37
39
  validateRule: (s) => !!s,
38
- errorMessage: () => a.requiredErrorMessage || e("ds.global.field_required")
39
- }, p = g(), o = n(() => a.inputId || `id-${te()}`), h = n({
40
+ errorMessage: () => t.requiredErrorMessage || e("ds.global.field_required")
41
+ }, p = w(), o = n(() => t.inputId || `id-${ae()}`), _ = n({
40
42
  get() {
41
- return a.modelValue;
43
+ return t.modelValue;
42
44
  },
43
45
  set(s) {
44
- P("update:modelValue", s);
46
+ C("update:modelValue", s);
45
47
  }
46
- }), $ = n(() => [
48
+ }), z = n(() => [
47
49
  {
48
50
  content: e("ds.components.base.date_picker.buttons.cancel"),
49
51
  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",
50
52
  onClick: (s) => {
51
- s.clear(), D(() => {
52
- k();
53
+ s.clear(), V(() => {
54
+ v();
53
55
  }), s.hide();
54
56
  }
55
57
  },
@@ -57,15 +59,15 @@ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "val
57
59
  content: e("ds.components.base.date_picker.buttons.confirm"),
58
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`,
59
61
  onClick: (s) => {
60
- h.value = c(p.value) ? p.value : [], D(() => {
61
- k();
62
+ _.value = c(p.value) ? p.value : [], V(() => {
63
+ v();
62
64
  }), s.hide();
63
65
  },
64
- attrs: a.required ? {
66
+ attrs: t.required ? {
65
67
  disabled: ""
66
68
  } : void 0
67
69
  }
68
- ]), _ = n(() => {
70
+ ]), y = n(() => {
69
71
  const s = {
70
72
  days: [
71
73
  e("ds.components.base.date_picker.days.sunday"),
@@ -128,135 +130,144 @@ const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "val
128
130
  timeFormat: "HH:mm",
129
131
  firstDay: 1
130
132
  // Monday
131
- }, t = ({
133
+ }, a = ({
132
134
  date: d
133
135
  }) => {
134
136
  const m = c(d);
135
- p.value = m ? d : [], a.required && z(m);
137
+ p.value = m ? d : [], t.required && F(m);
136
138
  };
137
139
  return {
138
140
  locale: s,
139
- selectedDates: a.modelValue,
140
- onSelect: t,
141
- buttons: $.value,
141
+ selectedDates: t.modelValue,
142
+ onSelect: a,
143
+ buttons: z.value,
142
144
  showOtherMonths: !1,
143
145
  timepicker: !1,
144
146
  onlyTimepicker: !1,
145
- minDate: a.minDate,
146
- maxDate: a.maxDate,
147
- view: a.view,
148
- onHide: N,
149
- onShow: T,
147
+ minDate: t.minDate,
148
+ maxDate: t.maxDate,
149
+ view: t.view,
150
+ onHide: I,
151
+ onShow: N,
150
152
  navTitles: {
151
153
  days: "MMMM yyyy"
152
154
  },
153
- position: a.position,
155
+ position: t.position,
154
156
  range: !0,
155
- multipleDatesSeparator: " - "
157
+ multipleDatesSeparator: " - ",
158
+ prevHtml: `<svg xmlns="http://www.w3.org/2000/svg"
159
+ viewBox="0 0 320 512">
160
+ <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"/>
161
+ </svg>`,
162
+ nextHtml: `<svg xmlns="http://www.w3.org/2000/svg"
163
+ viewBox="0 0 320 512">
164
+ <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
+ </svg>`
156
166
  };
157
- }), R = n(() => {
167
+ }), $ = n(() => {
158
168
  let s = [];
159
- return a.required && s.push(S), a.validationRules && (s = s.concat(a.validationRules)), s.length ? s : void 0;
160
- }), y = n(() => [
169
+ return t.required && s.push(q), t.validationRules && (s = s.concat(t.validationRules)), s.length ? s : void 0;
170
+ }), k = n(() => [
161
171
  "ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",
162
172
  {
163
- "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": a.disabled,
164
- "ds-text-black/[0.85]": !a.disabled,
173
+ "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": t.disabled,
174
+ "ds-text-black/[0.85]": !t.disabled,
165
175
  "ds-border-error focus:ds-ring-1 focus:ds-ring-error": !b.value.valid,
166
176
  "ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus": b.value.valid,
167
177
  "!ds-border-focus ds-ring-1 ds-ring-focus": u.value
168
178
  },
169
- a.inputCssClass
170
- ]), u = g(!1), j = n(
171
- () => a.modelValue.map((s) => I(s)).join(" - ")
172
- ), { validate: k, validationResult: b } = Q(
179
+ t.inputCssClass
180
+ ]), u = w(!1), R = n(
181
+ () => t.modelValue.map((s) => j(s)).join(" - ")
182
+ ), { validate: v, validationResult: b } = Q(
173
183
  o.value,
174
- h,
175
- R.value
184
+ _,
185
+ $.value
176
186
  );
177
- V(
178
- () => a.modelValue,
187
+ D(
188
+ () => t.modelValue,
179
189
  () => {
180
- F(r.selectedDates) && (c(a.modelValue) ? r.selectDate(a.modelValue) : r.clear());
190
+ T(r.selectedDates) && (c(t.modelValue) ? r.selectDate(t.modelValue) : r.clear());
181
191
  },
182
192
  { deep: !0 }
183
- ), V(
193
+ ), D(
184
194
  [
185
- q,
186
- () => a.position,
187
- () => a.minDate,
188
- () => a.maxDate,
189
- () => a.view
195
+ P,
196
+ () => t.position,
197
+ () => t.minDate,
198
+ () => t.maxDate,
199
+ () => t.view
190
200
  ],
191
201
  () => {
192
- r.update(_.value);
202
+ r.update(y.value);
193
203
  }
194
204
  );
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());
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());
205
215
  })
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", "");
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", "");
209
219
  };
210
- return Y(() => {
220
+ return A(() => {
211
221
  r = new K(
212
222
  `#${o.value}Picker`,
213
- _.value
223
+ y.value
214
224
  );
215
- }), A(() => {
216
- x();
217
- }), (s, t) => (w(), O("div", null, [
218
- E(ee, {
225
+ }), L(() => {
226
+ M();
227
+ }), (s, a) => (h(), x("div", null, [
228
+ O(ee, {
219
229
  id: o.value,
220
230
  label: s.label,
221
231
  required: s.required
222
232
  }, null, 8, ["id", "label", "required"]),
223
- l("div", oe, [
224
- l("input", {
233
+ i("div", oe, [
234
+ i("input", {
225
235
  id: o.value,
226
- class: f([y.value, "ds-relative ds-z-[2] ds-drop-shadow-light"]),
236
+ class: f([k.value, "ds-relative ds-z-[2] ds-drop-shadow-light"]),
227
237
  disabled: s.disabled,
228
238
  placeholder: s.placeholder,
229
- value: j.value,
239
+ value: R.value,
230
240
  readonly: ""
231
241
  }, null, 10, de),
232
- l("input", {
242
+ i("input", {
233
243
  id: `${o.value}Picker`,
234
- class: f([y.value, "ds-absolute ds-top-0 ds-z-[1]"]),
244
+ class: f([k.value, "ds-absolute ds-top-0 ds-z-[1]"]),
235
245
  disabled: s.disabled,
236
246
  placeholder: s.placeholder,
237
247
  readonly: ""
238
248
  }, null, 10, re),
239
- l("label", {
249
+ i("label", {
240
250
  for: `${o.value}Picker`,
241
- class: "ds-absolute ds-right-3 ds-top-2 ds-z-[3]"
251
+ class: "ds-absolute ds-right-3 ds-top-3 ds-z-[3]"
242
252
  }, [
243
- l("i", {
253
+ (h(), x("svg", {
244
254
  class: f([[
245
- a.disabled ? "ds-text-black/[0.4]" : "ds-text-black/[0.85]"
246
- ], "fa-solid fa-calendar-lines"])
247
- }, null, 2)
255
+ t.disabled ? "ds-fill-black/40" : "ds-text-black/[0.85]"
256
+ ], "ds-h-4 ds-w-4"]),
257
+ viewBox: "0 0 448 512",
258
+ xmlns: "http://www.w3.org/2000/svg"
259
+ }, ie, 2))
248
260
  ], 8, ne)
249
261
  ]),
250
- s.hideDetails ? G("", !0) : (w(), L(Z, {
262
+ s.hideDetails ? G("", !0) : (h(), E(Z, {
251
263
  key: 0,
252
264
  "error-message": U(b).errorMessage(),
253
- class: "ds-mt-1",
254
- "prepend-icon": "fa-solid fa-circle-exclamation"
265
+ class: "ds-mt-1"
255
266
  }, null, 8, ["error-message"]))
256
267
  ]));
257
268
  }
258
269
  });
259
270
  export {
260
- ge as default
271
+ Ve as default
261
272
  };
262
273
  //# sourceMappingURL=design-system13.mjs.map