@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.
- package/README.md +6 -6
- package/dist/design-system100.js +1 -1
- package/dist/design-system100.js.map +1 -1
- package/dist/design-system100.mjs +24 -17
- package/dist/design-system100.mjs.map +1 -1
- package/dist/design-system101.js +1 -5
- package/dist/design-system101.js.map +1 -1
- package/dist/design-system101.mjs +18 -10
- package/dist/design-system101.mjs.map +1 -1
- package/dist/design-system105.js +1 -1
- package/dist/design-system105.js.map +1 -1
- package/dist/design-system105.mjs +4 -2
- package/dist/design-system105.mjs.map +1 -1
- package/dist/design-system106.js +1 -1
- package/dist/design-system106.js.map +1 -1
- package/dist/design-system106.mjs +8 -2
- package/dist/design-system106.mjs.map +1 -1
- package/dist/design-system107.js +1 -1
- package/dist/design-system107.js.map +1 -1
- package/dist/design-system107.mjs +7 -4
- package/dist/design-system107.mjs.map +1 -1
- package/dist/design-system108.js +1 -1
- package/dist/design-system108.js.map +1 -1
- package/dist/design-system108.mjs +2 -8
- package/dist/design-system108.mjs.map +1 -1
- package/dist/design-system109.js +1 -1
- package/dist/design-system109.js.map +1 -1
- package/dist/design-system109.mjs +2 -7
- package/dist/design-system109.mjs.map +1 -1
- package/dist/design-system11.js +1 -1
- package/dist/design-system11.js.map +1 -1
- package/dist/design-system11.mjs +41 -47
- package/dist/design-system11.mjs.map +1 -1
- package/dist/design-system110.js +1 -1
- package/dist/design-system110.mjs +1 -1
- package/dist/design-system112.js +1 -1
- package/dist/design-system112.mjs +1 -1
- package/dist/design-system12.js +7 -1
- package/dist/design-system12.js.map +1 -1
- package/dist/design-system12.mjs +83 -72
- package/dist/design-system12.mjs.map +1 -1
- package/dist/design-system13.js +7 -1
- package/dist/design-system13.js.map +1 -1
- package/dist/design-system13.mjs +101 -90
- package/dist/design-system13.mjs.map +1 -1
- package/dist/design-system14.js +1 -1
- package/dist/design-system14.js.map +1 -1
- package/dist/design-system14.mjs +46 -42
- package/dist/design-system14.mjs.map +1 -1
- package/dist/design-system142.js +1 -1
- package/dist/design-system142.js.map +1 -1
- package/dist/design-system142.mjs +7 -11
- package/dist/design-system142.mjs.map +1 -1
- package/dist/design-system143.js +1 -1
- package/dist/design-system143.js.map +1 -1
- package/dist/design-system143.mjs +9 -7
- package/dist/design-system143.mjs.map +1 -1
- package/dist/design-system144.js +1 -1
- package/dist/design-system144.js.map +1 -1
- package/dist/design-system144.mjs +11 -9
- package/dist/design-system144.mjs.map +1 -1
- package/dist/design-system148.js +1 -1
- package/dist/design-system148.mjs +1 -1
- package/dist/design-system149.js +1 -1
- package/dist/design-system149.mjs +1 -1
- package/dist/design-system152.js +1 -1
- package/dist/design-system152.mjs +1 -1
- package/dist/design-system153.js +1 -1
- package/dist/design-system153.mjs +1 -1
- package/dist/design-system17.js +1 -1
- package/dist/design-system17.js.map +1 -1
- package/dist/design-system17.mjs +117 -106
- package/dist/design-system17.mjs.map +1 -1
- package/dist/design-system18.js +1 -1
- package/dist/design-system18.js.map +1 -1
- package/dist/design-system18.mjs +3 -3
- package/dist/design-system18.mjs.map +1 -1
- package/dist/design-system19.js +2 -2
- package/dist/design-system19.js.map +1 -1
- package/dist/design-system19.mjs +76 -64
- package/dist/design-system19.mjs.map +1 -1
- package/dist/design-system20.js +1 -1
- package/dist/design-system20.mjs +1 -1
- package/dist/design-system21.js +1 -1
- package/dist/design-system21.js.map +1 -1
- package/dist/design-system21.mjs +107 -94
- package/dist/design-system21.mjs.map +1 -1
- package/dist/design-system22.js +1 -1
- package/dist/design-system22.mjs +1 -1
- package/dist/design-system24.js +1 -1
- package/dist/design-system24.mjs +2 -2
- package/dist/design-system25.js +1 -1
- package/dist/design-system25.mjs +1 -1
- package/dist/design-system40.js +1 -1
- package/dist/design-system40.js.map +1 -1
- package/dist/design-system40.mjs +79 -75
- package/dist/design-system40.mjs.map +1 -1
- package/dist/design-system41.js +1 -1
- package/dist/design-system41.js.map +1 -1
- package/dist/design-system41.mjs +53 -34
- package/dist/design-system41.mjs.map +1 -1
- package/dist/design-system46.js +1 -1
- package/dist/design-system46.mjs +1 -1
- package/dist/design-system50.js +1 -1
- package/dist/design-system50.js.map +1 -1
- package/dist/design-system50.mjs +83 -67
- package/dist/design-system50.mjs.map +1 -1
- package/dist/design-system55.js +1 -1
- package/dist/design-system55.mjs +1 -1
- package/dist/design-system77.js +1 -1
- package/dist/design-system77.mjs +1 -1
- package/dist/design-system85.js +1 -1
- package/dist/design-system85.js.map +1 -1
- package/dist/design-system85.mjs +3 -3
- package/dist/design-system90.js +1 -1
- package/dist/design-system90.js.map +1 -1
- package/dist/design-system90.mjs +1 -1
- package/dist/design-system93.js +5 -1
- package/dist/design-system93.js.map +1 -1
- package/dist/design-system93.mjs +10 -2172
- package/dist/design-system93.mjs.map +1 -1
- package/dist/design-system94.js +1 -1
- package/dist/design-system94.js.map +1 -1
- package/dist/design-system94.mjs +17 -1103
- package/dist/design-system94.mjs.map +1 -1
- package/dist/design-system95.js +1 -1
- package/dist/design-system95.js.map +1 -1
- package/dist/design-system95.mjs +2172 -17
- package/dist/design-system95.mjs.map +1 -1
- package/dist/design-system96.js +1 -1
- package/dist/design-system96.js.map +1 -1
- package/dist/design-system96.mjs +1103 -68
- package/dist/design-system96.mjs.map +1 -1
- package/dist/design-system97.js +1 -1
- package/dist/design-system97.js.map +1 -1
- package/dist/design-system97.mjs +68 -6
- package/dist/design-system97.mjs.map +1 -1
- package/dist/design-system98.js +1 -1
- package/dist/design-system98.js.map +1 -1
- package/dist/design-system98.mjs +5 -24
- package/dist/design-system98.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/dist/types/components/BButton.vue.d.ts +2 -28
- package/dist/types/components/BTextField.vue.d.ts +10 -2
- package/dist/types/components/BToast/BToastItem.vue.d.ts +9 -12
- 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":"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"}
|
|
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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"}
|
package/dist/design-system13.js
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
|
-
"use strict";const
|
|
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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"}
|
package/dist/design-system13.mjs
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
import { defineComponent as
|
|
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-
|
|
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
|
|
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
|
|
11
|
-
import { DateDelimiter as
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
const oe = { class: "ds-relative" }, de = ["id", "disabled", "placeholder", "value"], re = ["id", "disabled", "placeholder"], ne = ["for"],
|
|
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(
|
|
34
|
-
const
|
|
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
|
|
38
|
+
const q = {
|
|
37
39
|
validateRule: (s) => !!s,
|
|
38
|
-
errorMessage: () =>
|
|
39
|
-
}, p =
|
|
40
|
+
errorMessage: () => t.requiredErrorMessage || e("ds.global.field_required")
|
|
41
|
+
}, p = w(), o = n(() => t.inputId || `id-${ae()}`), _ = n({
|
|
40
42
|
get() {
|
|
41
|
-
return
|
|
43
|
+
return t.modelValue;
|
|
42
44
|
},
|
|
43
45
|
set(s) {
|
|
44
|
-
|
|
46
|
+
C("update:modelValue", s);
|
|
45
47
|
}
|
|
46
|
-
}),
|
|
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(),
|
|
52
|
-
|
|
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
|
-
|
|
61
|
-
|
|
62
|
+
_.value = c(p.value) ? p.value : [], V(() => {
|
|
63
|
+
v();
|
|
62
64
|
}), s.hide();
|
|
63
65
|
},
|
|
64
|
-
attrs:
|
|
66
|
+
attrs: t.required ? {
|
|
65
67
|
disabled: ""
|
|
66
68
|
} : void 0
|
|
67
69
|
}
|
|
68
|
-
]),
|
|
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
|
-
},
|
|
133
|
+
}, a = ({
|
|
132
134
|
date: d
|
|
133
135
|
}) => {
|
|
134
136
|
const m = c(d);
|
|
135
|
-
p.value = m ? d : [],
|
|
137
|
+
p.value = m ? d : [], t.required && F(m);
|
|
136
138
|
};
|
|
137
139
|
return {
|
|
138
140
|
locale: s,
|
|
139
|
-
selectedDates:
|
|
140
|
-
onSelect:
|
|
141
|
-
buttons:
|
|
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:
|
|
146
|
-
maxDate:
|
|
147
|
-
view:
|
|
148
|
-
onHide:
|
|
149
|
-
onShow:
|
|
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:
|
|
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
|
-
}),
|
|
167
|
+
}), $ = n(() => {
|
|
158
168
|
let s = [];
|
|
159
|
-
return
|
|
160
|
-
}),
|
|
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]":
|
|
164
|
-
"ds-text-black/[0.85]": !
|
|
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
|
-
|
|
170
|
-
]), u =
|
|
171
|
-
() =>
|
|
172
|
-
), { validate:
|
|
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
|
-
|
|
175
|
-
|
|
184
|
+
_,
|
|
185
|
+
$.value
|
|
176
186
|
);
|
|
177
|
-
|
|
178
|
-
() =>
|
|
187
|
+
D(
|
|
188
|
+
() => t.modelValue,
|
|
179
189
|
() => {
|
|
180
|
-
|
|
190
|
+
T(r.selectedDates) && (c(t.modelValue) ? r.selectDate(t.modelValue) : r.clear());
|
|
181
191
|
},
|
|
182
192
|
{ deep: !0 }
|
|
183
|
-
),
|
|
193
|
+
), D(
|
|
184
194
|
[
|
|
185
|
-
|
|
186
|
-
() =>
|
|
187
|
-
() =>
|
|
188
|
-
() =>
|
|
189
|
-
() =>
|
|
195
|
+
P,
|
|
196
|
+
() => t.position,
|
|
197
|
+
() => t.minDate,
|
|
198
|
+
() => t.maxDate,
|
|
199
|
+
() => t.view
|
|
190
200
|
],
|
|
191
201
|
() => {
|
|
192
|
-
r.update(
|
|
202
|
+
r.update(y.value);
|
|
193
203
|
}
|
|
194
204
|
);
|
|
195
|
-
const c = (s) => (s == null ? void 0 : s.length) === 2,
|
|
196
|
-
u.value = !1,
|
|
197
|
-
},
|
|
198
|
-
u.value = !0, c(
|
|
199
|
-
},
|
|
200
|
-
!
|
|
201
|
-
!
|
|
202
|
-
!
|
|
203
|
-
var
|
|
204
|
-
return (d == null ? void 0 : d.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),
|
|
207
|
-
const
|
|
208
|
-
s ?
|
|
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
|
|
220
|
+
return A(() => {
|
|
211
221
|
r = new K(
|
|
212
222
|
`#${o.value}Picker`,
|
|
213
|
-
|
|
223
|
+
y.value
|
|
214
224
|
);
|
|
215
|
-
}),
|
|
216
|
-
|
|
217
|
-
}), (s,
|
|
218
|
-
|
|
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
|
-
|
|
224
|
-
|
|
233
|
+
i("div", oe, [
|
|
234
|
+
i("input", {
|
|
225
235
|
id: o.value,
|
|
226
|
-
class: f([
|
|
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:
|
|
239
|
+
value: R.value,
|
|
230
240
|
readonly: ""
|
|
231
241
|
}, null, 10, de),
|
|
232
|
-
|
|
242
|
+
i("input", {
|
|
233
243
|
id: `${o.value}Picker`,
|
|
234
|
-
class: f([
|
|
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
|
-
|
|
249
|
+
i("label", {
|
|
240
250
|
for: `${o.value}Picker`,
|
|
241
|
-
class: "ds-absolute ds-right-3 ds-top-
|
|
251
|
+
class: "ds-absolute ds-right-3 ds-top-3 ds-z-[3]"
|
|
242
252
|
}, [
|
|
243
|
-
|
|
253
|
+
(h(), x("svg", {
|
|
244
254
|
class: f([[
|
|
245
|
-
|
|
246
|
-
], "
|
|
247
|
-
|
|
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) : (
|
|
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
|
-
|
|
271
|
+
Ve as default
|
|
261
272
|
};
|
|
262
273
|
//# sourceMappingURL=design-system13.mjs.map
|