@7pmlabs/design-system 0.2.1 → 0.2.2

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 (67) hide show
  1. package/dist/design-system100.js +1 -1
  2. package/dist/design-system100.mjs +2 -2
  3. package/dist/design-system101.js +1 -1
  4. package/dist/design-system101.mjs +1 -1
  5. package/dist/design-system11.js +1 -1
  6. package/dist/design-system11.js.map +1 -1
  7. package/dist/design-system11.mjs +22 -22
  8. package/dist/design-system11.mjs.map +1 -1
  9. package/dist/design-system14.js +1 -1
  10. package/dist/design-system14.mjs +1 -1
  11. package/dist/design-system16.js +1 -1
  12. package/dist/design-system16.mjs +2 -2
  13. package/dist/design-system81.js +1 -1
  14. package/dist/design-system81.mjs +1 -1
  15. package/dist/design-system83.js +1 -1
  16. package/dist/design-system83.mjs +3 -3
  17. package/dist/design-system85.js +1 -1
  18. package/dist/design-system85.js.map +1 -1
  19. package/dist/design-system85.mjs +2 -2
  20. package/dist/design-system86.js +1 -1
  21. package/dist/design-system86.mjs +3 -3
  22. package/dist/design-system87.js +1 -1
  23. package/dist/design-system87.js.map +1 -1
  24. package/dist/design-system87.mjs +70 -62
  25. package/dist/design-system87.mjs.map +1 -1
  26. package/dist/design-system88.js +1 -1
  27. package/dist/design-system88.js.map +1 -1
  28. package/dist/design-system88.mjs +6 -75
  29. package/dist/design-system88.mjs.map +1 -1
  30. package/dist/design-system89.js +1 -1
  31. package/dist/design-system89.js.map +1 -1
  32. package/dist/design-system89.mjs +67 -6
  33. package/dist/design-system89.mjs.map +1 -1
  34. package/dist/design-system91.js +5 -1
  35. package/dist/design-system91.js.map +1 -1
  36. package/dist/design-system91.mjs +10 -2
  37. package/dist/design-system91.mjs.map +1 -1
  38. package/dist/design-system92.js +1 -5
  39. package/dist/design-system92.js.map +1 -1
  40. package/dist/design-system92.mjs +6 -10
  41. package/dist/design-system92.mjs.map +1 -1
  42. package/dist/design-system93.js +1 -1
  43. package/dist/design-system93.mjs +3 -5
  44. package/dist/design-system93.mjs.map +1 -1
  45. package/dist/design-system94.js +1 -1
  46. package/dist/design-system94.mjs +2 -4
  47. package/dist/design-system94.mjs.map +1 -1
  48. package/dist/design-system95.js +1 -1
  49. package/dist/design-system95.mjs +2 -2
  50. package/dist/design-system96.js +1 -1
  51. package/dist/design-system96.js.map +1 -1
  52. package/dist/design-system96.mjs +4 -2
  53. package/dist/design-system96.mjs.map +1 -1
  54. package/dist/design-system97.js +1 -1
  55. package/dist/design-system97.js.map +1 -1
  56. package/dist/design-system97.mjs +8 -4
  57. package/dist/design-system97.mjs.map +1 -1
  58. package/dist/design-system98.js +1 -1
  59. package/dist/design-system98.js.map +1 -1
  60. package/dist/design-system98.mjs +6 -7
  61. package/dist/design-system98.mjs.map +1 -1
  62. package/dist/design-system99.js +1 -1
  63. package/dist/design-system99.js.map +1 -1
  64. package/dist/design-system99.mjs +2 -7
  65. package/dist/design-system99.mjs.map +1 -1
  66. package/dist/style.css +1 -1
  67. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var e={exports:{}};exports.__module=e;
1
+ "use strict";const e=require("./design-system89.js");module.exports=e;
2
2
  //# sourceMappingURL=design-system100.js.map
@@ -1,5 +1,5 @@
1
- var e = { exports: {} };
1
+ import f from "./design-system89.mjs";
2
2
  export {
3
- e as __module
3
+ f as default
4
4
  };
5
5
  //# sourceMappingURL=design-system100.mjs.map
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("./design-system88.js");module.exports=e;
1
+ "use strict";const e=require("./design-system87.js");module.exports=e;
2
2
  //# sourceMappingURL=design-system101.js.map
@@ -1,4 +1,4 @@
1
- import f from "./design-system88.mjs";
1
+ import f from "./design-system87.mjs";
2
2
  export {
3
3
  f as default
4
4
  };
@@ -1,2 +1,2 @@
1
- "use strict";const a=require("vue"),C=require("./design-system41.js"),P=require("./design-system85.js"),S=require("./design-system3.js"),N=require("./design-system5.js"),u=require("./design-system6.js"),R=require("./design-system27.js"),E=require("./design-system28.js"),T=require("./design-system86.js"),c=require("./design-system90.js"),j={class:"ds-relative"},$=["id","disabled","placeholder"],H=["for"],I=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:N.BDatePickerView.Days},hideDetails:{type:Boolean,default:!1},position:{default:"bottom left"}},emits:["update:modelValue"],setup(k,{emit:h}){const s=k,{t:e,locale:f}=C.useI18n();let r;const v={validateRule:t=>!!t,errorMessage:()=>s.requiredErrorMessage||e("ds.global.field_required")},m=a.ref(),n=a.computed(()=>s.inputId||`id-${T()}`),p=a.computed({get(){return s.modelValue},set(t){h("update:modelValue",t)}}),g=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:t=>{t.clear(),a.nextTick(()=>{_()}),t.hide()}},{content:e("ds.components.base.date_picker.buttons.confirm"),className:`${n.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:t=>{p.value=m.value,a.nextTick(()=>{_()}),t.hide()},attrs:s.required?{disabled:""}:void 0}]),b=a.computed(()=>{const t={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:d})=>{m.value=d,s.required&&B(!!d)};return{locale:t,selectedDates:[...s.modelValue],onSelect:o,buttons:[...g.value],showOtherMonths:!1,timepicker:!1,onlyTimepicker:!1,minDate:s.minDate,maxDate:s.maxDate,view:s.view,onHide:D,onShow:x,navTitles:{days:"MMMM yyyy"},position:s.position,range:!0,multipleDatesSeparator:" - "}}),V=a.computed(()=>{let t=[];return s.required&&t.push(v),s.validationRules&&(t=t.concat(s.validationRules)),t.length?t:void 0}),q=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]":s.disabled,"ds-text-black/[0.85]":!s.disabled,"ds-border-error focus:ds-ring-1 focus:ds-ring-error":!l.value.valid,"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":l.value.valid,"!ds-border-focus ds-ring-1 ds-ring-focus":i.value},s.inputCssClass]),i=a.ref(!1),{validate:_,validationResult:l}=S.useValidationField(n.value,p,V.value);a.watch(()=>s.modelValue,()=>{w(r.selectedDates)&&r.selectDate(s.modelValue)},{deep:!0}),a.watch([f,()=>s.position,()=>s.minDate,()=>s.maxDate,()=>s.view],()=>{r.update(b.value)}),a.onMounted(()=>{r=new P(`#${n.value}Picker`,b.value)});const D=()=>{i.value=!1,u.unlockScrollBody()},x=()=>{i.value=!0,s.modelValue?r.selectDate(s.modelValue):r.clear(),u.lockScrollBody()},w=t=>[!c(s.modelValue)&&c(t),!c(t)&&c(s.modelValue),!c(s.modelValue)&&!c(t)&&s.modelValue.some((d,M)=>{var y;return(d==null?void 0:d.getTime())!==((y=t[M])==null?void 0:y.getTime())})].some(d=>d),B=t=>{const o=document.querySelector(`.${n.value}-btn-confirm`);t?o==null||o.removeAttribute("disabled"):o==null||o.setAttribute("disabled","")};return a.onBeforeUnmount(()=>{u.unlockScrollBody()}),(t,o)=>(a.openBlock(),a.createElementBlock("div",null,[a.createVNode(E,{id:n.value,label:t.label,required:t.required},null,8,["id","label","required"]),a.createElementVNode("div",j,[a.createElementVNode("input",{id:`${n.value}Picker`,class:a.normalizeClass([q.value,"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light"]),disabled:t.disabled,placeholder:t.placeholder,readonly:""},null,10,$),a.createElementVNode("label",{for:`${n.value}Picker`,class:"ds-absolute ds-right-3 ds-top-2 ds-z-[3]"},[a.createElementVNode("i",{class:a.normalizeClass([[s.disabled?"ds-text-black/[0.4]":"ds-text-black/[0.85]"],"fa-solid fa-calendar-lines"])},null,2)],8,H)]),t.hideDetails?a.createCommentVNode("",!0):(a.openBlock(),a.createBlock(R,{key:0,"error-message":a.unref(l).errorMessage(),class:"ds-mt-1","prepend-icon":"fa-solid fa-circle-exclamation"},null,8,["error-message"]))]))}});module.exports=I;
1
+ "use strict";const a=require("vue"),C=require("./design-system41.js"),P=require("./design-system85.js"),S=require("./design-system3.js"),N=require("./design-system5.js"),u=require("./design-system6.js"),R=require("./design-system27.js"),E=require("./design-system28.js"),T=require("./design-system86.js"),c=require("./design-system90.js"),j={class:"ds-relative"},$=["id","disabled","placeholder"],H=["for"],I=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:N.BDatePickerView.Days},hideDetails:{type:Boolean,default:!1},position:{default:"bottom left"}},emits:["update:modelValue"],setup(k,{emit:h}){const s=k,{t:e,locale:f}=C.useI18n();let r;const v={validateRule:t=>!!t,errorMessage:()=>s.requiredErrorMessage||e("ds.global.field_required")},m=a.ref(),n=a.computed(()=>s.inputId||`id-${T()}`),p=a.computed({get(){return s.modelValue},set(t){h("update:modelValue",t)}}),g=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:t=>{t.clear(),a.nextTick(()=>{_()}),t.hide()}},{content:e("ds.components.base.date_picker.buttons.confirm"),className:`${n.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:t=>{p.value=m.value,a.nextTick(()=>{_()}),t.hide()},attrs:s.required?{disabled:""}:void 0}]),b=a.computed(()=>{const t={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:d})=>{m.value=d,s.required&&B(!!d)};return{locale:t,selectedDates:[...s.modelValue],onSelect:o,buttons:[...g.value],showOtherMonths:!1,timepicker:!1,onlyTimepicker:!1,minDate:s.minDate,maxDate:s.maxDate,view:s.view,onHide:D,onShow:x,navTitles:{days:"MMMM yyyy"},position:s.position,range:!0,multipleDatesSeparator:" - "}}),V=a.computed(()=>{let t=[];return s.required&&t.push(v),s.validationRules&&(t=t.concat(s.validationRules)),t.length?t:void 0}),q=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]":s.disabled,"ds-text-black/[0.85]":!s.disabled,"ds-border-error focus:ds-ring-1 focus:ds-ring-error":!l.value.valid,"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":l.value.valid,"!ds-border-focus ds-ring-1 ds-ring-focus":i.value},s.inputCssClass]),i=a.ref(!1),{validate:_,validationResult:l}=S.useValidationField(n.value,p,V.value);a.watch(()=>s.modelValue,()=>{w(r.selectedDates)&&(c(s.modelValue)?r.clear():r.selectDate(s.modelValue))},{deep:!0}),a.watch([f,()=>s.position,()=>s.minDate,()=>s.maxDate,()=>s.view],()=>{r.update(b.value)}),a.onMounted(()=>{r=new P(`#${n.value}Picker`,b.value)});const D=()=>{i.value=!1,u.unlockScrollBody()},x=()=>{i.value=!0,s.modelValue?r.selectDate(s.modelValue):r.clear(),u.lockScrollBody()},w=t=>[!c(s.modelValue)&&c(t),!c(t)&&c(s.modelValue),!c(s.modelValue)&&!c(t)&&s.modelValue.some((d,M)=>{var y;return(d==null?void 0:d.getTime())!==((y=t[M])==null?void 0:y.getTime())})].some(d=>d),B=t=>{const o=document.querySelector(`.${n.value}-btn-confirm`);t?o==null||o.removeAttribute("disabled"):o==null||o.setAttribute("disabled","")};return a.onBeforeUnmount(()=>{u.unlockScrollBody()}),(t,o)=>(a.openBlock(),a.createElementBlock("div",null,[a.createVNode(E,{id:n.value,label:t.label,required:t.required},null,8,["id","label","required"]),a.createElementVNode("div",j,[a.createElementVNode("input",{id:`${n.value}Picker`,class:a.normalizeClass([q.value,"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light"]),disabled:t.disabled,placeholder:t.placeholder,readonly:""},null,10,$),a.createElementVNode("label",{for:`${n.value}Picker`,class:"ds-absolute ds-right-3 ds-top-2 ds-z-[3]"},[a.createElementVNode("i",{class:a.normalizeClass([[s.disabled?"ds-text-black/[0.4]":"ds-text-black/[0.85]"],"fa-solid fa-calendar-lines"])},null,2)],8,H)]),t.hideDetails?a.createCommentVNode("",!0):(a.openBlock(),a.createBlock(R,{key:0,"error-message":a.unref(l).errorMessage(),class:"ds-mt-1","prepend-icon":"fa-solid fa-circle-exclamation"},null,8,["error-message"]))]))}});module.exports=I;
2
2
  //# sourceMappingURL=design-system11.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-system11.js","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n datePicker.selectDate(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\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\",\n \"prepend-icon\": \"fa-solid fa-circle-exclamation\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","isEmpty","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"design-system11.js","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (!isEmpty(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\",\n \"prepend-icon\": \"fa-solid fa-circle-exclamation\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","isEmpty","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as N, ref as y, computed as n, nextTick as k, watch as h, onMounted as T, onBeforeUnmount as H, openBlock as v, createElementBlock as I, createVNode as z, createElementVNode as c, normalizeClass as g, createBlock as A, unref as F, createCommentVNode as E } from "vue";
1
+ import { defineComponent as N, ref as y, computed as i, nextTick as k, watch as h, onMounted as T, onBeforeUnmount as H, openBlock as v, createElementBlock as I, createVNode as z, createElementVNode as c, normalizeClass as g, createBlock as A, unref as F, createCommentVNode as E } from "vue";
2
2
  import { useI18n as O } from "./design-system41.mjs";
3
3
  import L from "./design-system85.mjs";
4
4
  import { useValidationField as U } from "./design-system3.mjs";
@@ -7,7 +7,7 @@ import { unlockScrollBody as D, lockScrollBody as J } from "./design-system6.mjs
7
7
  import K from "./design-system27.mjs";
8
8
  import Q from "./design-system28.mjs";
9
9
  import W from "./design-system86.mjs";
10
- import i from "./design-system90.mjs";
10
+ import n from "./design-system90.mjs";
11
11
  const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = ["for"], le = /* @__PURE__ */ N({
12
12
  __name: "BDateRangePicker",
13
13
  props: {
@@ -29,18 +29,18 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
29
29
  emits: ["update:modelValue"],
30
30
  setup(V, { emit: x }) {
31
31
  const s = V, { t: e, locale: w } = O();
32
- let r;
32
+ let d;
33
33
  const M = {
34
34
  validateRule: (t) => !!t,
35
35
  errorMessage: () => s.requiredErrorMessage || e("ds.global.field_required")
36
- }, p = y(), d = n(() => s.inputId || `id-${W()}`), u = n({
36
+ }, p = y(), r = i(() => s.inputId || `id-${W()}`), u = i({
37
37
  get() {
38
38
  return s.modelValue;
39
39
  },
40
40
  set(t) {
41
41
  x("update:modelValue", t);
42
42
  }
43
- }), B = n(() => [
43
+ }), B = i(() => [
44
44
  {
45
45
  content: e("ds.components.base.date_picker.buttons.cancel"),
46
46
  className: "ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1",
@@ -52,7 +52,7 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
52
52
  },
53
53
  {
54
54
  content: e("ds.components.base.date_picker.buttons.confirm"),
55
- 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`,
55
+ className: `${r.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,
56
56
  onClick: (t) => {
57
57
  u.value = p.value, k(() => {
58
58
  f();
@@ -62,7 +62,7 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
62
62
  disabled: ""
63
63
  } : void 0
64
64
  }
65
- ]), b = n(() => {
65
+ ]), b = i(() => {
66
66
  const t = {
67
67
  days: [
68
68
  e("ds.components.base.date_picker.days.sunday"),
@@ -150,10 +150,10 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
150
150
  range: !0,
151
151
  multipleDatesSeparator: " - "
152
152
  };
153
- }), P = n(() => {
153
+ }), P = i(() => {
154
154
  let t = [];
155
155
  return s.required && t.push(M), s.validationRules && (t = t.concat(s.validationRules)), t.length ? t : void 0;
156
- }), q = n(() => [
156
+ }), q = i(() => [
157
157
  "ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]",
158
158
  {
159
159
  "ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]": s.disabled,
@@ -164,14 +164,14 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
164
164
  },
165
165
  s.inputCssClass
166
166
  ]), l = y(!1), { validate: f, validationResult: m } = U(
167
- d.value,
167
+ r.value,
168
168
  u,
169
169
  P.value
170
170
  );
171
171
  h(
172
172
  () => s.modelValue,
173
173
  () => {
174
- R(r.selectedDates) && r.selectDate(s.modelValue);
174
+ R(d.selectedDates) && (n(s.modelValue) ? d.clear() : d.selectDate(s.modelValue));
175
175
  },
176
176
  { deep: !0 }
177
177
  ), h(
@@ -183,47 +183,47 @@ const X = { class: "ds-relative" }, Y = ["id", "disabled", "placeholder"], Z = [
183
183
  () => s.view
184
184
  ],
185
185
  () => {
186
- r.update(b.value);
186
+ d.update(b.value);
187
187
  }
188
188
  ), T(() => {
189
- r = new L(
190
- `#${d.value}Picker`,
189
+ d = new L(
190
+ `#${r.value}Picker`,
191
191
  b.value
192
192
  );
193
193
  });
194
194
  const C = () => {
195
195
  l.value = !1, D();
196
196
  }, S = () => {
197
- l.value = !0, s.modelValue ? r.selectDate(s.modelValue) : r.clear(), J();
197
+ l.value = !0, s.modelValue ? d.selectDate(s.modelValue) : d.clear(), J();
198
198
  }, R = (t) => [
199
- !i(s.modelValue) && i(t),
200
- !i(t) && i(s.modelValue),
201
- !i(s.modelValue) && !i(t) && s.modelValue.some((o, j) => {
199
+ !n(s.modelValue) && n(t),
200
+ !n(t) && n(s.modelValue),
201
+ !n(s.modelValue) && !n(t) && s.modelValue.some((o, j) => {
202
202
  var _;
203
203
  return (o == null ? void 0 : o.getTime()) !== ((_ = t[j]) == null ? void 0 : _.getTime());
204
204
  })
205
205
  ].some((o) => o), $ = (t) => {
206
- const a = document.querySelector(`.${d.value}-btn-confirm`);
206
+ const a = document.querySelector(`.${r.value}-btn-confirm`);
207
207
  t ? a == null || a.removeAttribute("disabled") : a == null || a.setAttribute("disabled", "");
208
208
  };
209
209
  return H(() => {
210
210
  D();
211
211
  }), (t, a) => (v(), I("div", null, [
212
212
  z(Q, {
213
- id: d.value,
213
+ id: r.value,
214
214
  label: t.label,
215
215
  required: t.required
216
216
  }, null, 8, ["id", "label", "required"]),
217
217
  c("div", X, [
218
218
  c("input", {
219
- id: `${d.value}Picker`,
219
+ id: `${r.value}Picker`,
220
220
  class: g([q.value, "ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light"]),
221
221
  disabled: t.disabled,
222
222
  placeholder: t.placeholder,
223
223
  readonly: ""
224
224
  }, null, 10, Y),
225
225
  c("label", {
226
- for: `${d.value}Picker`,
226
+ for: `${r.value}Picker`,
227
227
  class: "ds-absolute ds-right-3 ds-top-2 ds-z-[3]"
228
228
  }, [
229
229
  c("i", {
@@ -1 +1 @@
1
- {"version":3,"file":"design-system11.mjs","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n datePicker.selectDate(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\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\",\n \"prepend-icon\": \"fa-solid fa-circle-exclamation\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","isEmpty","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
1
+ {"version":3,"file":"design-system11.mjs","sources":["../src/components/BDateRangePicker.vue?vue&type=script&setup=true&lang.ts"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"ds-relative\" }\nconst _hoisted_2 = [\"id\", \"disabled\", \"placeholder\"]\nconst _hoisted_3 = [\"for\"]\n\nimport {\n computed,\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n watch,\n} from 'vue';\n/**\n * https://stackoverflow.com/questions/25384360/how-to-prevent-moment-js-from-loading-locales-with-webpack\n * Due to this issue with moment (it loads a bunch of unnecessary ./locale)\n * https://github.com/ksloan/moment-mini\n */\nimport { useI18n } from 'vue-i18n';\n// https://air-datepicker.com/docs\n// DO NOT upgrade to the higher version than 3.3.0\nimport AirDatepicker, {\n type AirDatepickerButton,\n type AirDatepickerLocale,\n} from 'air-datepicker';\n\nimport {\n useValidationField,\n type ValidationRule,\n} from '@/composables/Validation';\nimport { BDatePickerView } from '@/constants/Enums';\nimport { lockScrollBody, unlockScrollBody } from '@/helpers/ComponentHelper';\nimport type { BDateRangePickerProps } from '@/types';\nimport { v4 as uuid } from 'uuid';\nimport BErrorMessage from './BErrorMessage.vue';\nimport BLabel from './BLabel.vue';\nimport { isEmpty } from 'lodash-es';\n\n/**\n * Props\n */\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BDateRangePicker',\n props: {\n inputId: { default: '' },\n modelValue: {},\n label: { default: '' },\n validationRules: { default: undefined },\n placeholder: { default: '' },\n required: { type: Boolean, default: false },\n requiredErrorMessage: { default: '' },\n disabled: { type: Boolean, default: false },\n inputCssClass: { default: '' },\n minDate: { default: '' },\n maxDate: { default: '' },\n view: { default: BDatePickerView.Days },\n hideDetails: { type: Boolean, default: false },\n position: { default: 'bottom left' }\n },\n emits: ['update:modelValue'],\n setup(__props: any, { emit }) {\n\nconst props = __props;\n\n\n\n/**\n * Events\n */\n\n\n/**\n * Data\n */\nconst { t, locale } = useI18n();\nlet datePicker: AirDatepicker<HTMLInputElement>;\nconst validateRequired: ValidationRule = {\n validateRule: (val) => !!val,\n errorMessage: () =>\n props.requiredErrorMessage || t('ds.global.field_required'),\n};\nconst selectedDate = ref();\n\n/**\n * Computed\n */\n// The \"Failed to execute 'querySelector' on Document\" error occurs when using querySelector method with an identifier that starts with a digit\nconst id = computed(() => props.inputId || `id-${uuid()}`);\nconst value = computed({\n get() {\n return props.modelValue;\n },\n set(val) {\n emit('update:modelValue', val);\n },\n});\nconst datePickerButtons = computed<AirDatepickerButton[]>(() => [\n {\n content: t('ds.components.base.date_picker.buttons.cancel'),\n className:\n 'ds-bg-transparent focus:ds-ring-1 focus:ds-ring-gray-300 ds-border-inner-primary-f !ds-text-primary-t hover:ds-bg-[#e6f0fe] ds-text-sm ds-leading-4 ds-px-4 ds-mx-1',\n onClick: (dp) => {\n dp.clear();\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n },\n {\n content: t('ds.components.base.date_picker.buttons.confirm'),\n className: `${id.value}-btn-confirm focus:ds-ring-1 focus:ds-ring-1 focus:ds-ring-blue-300 ds-bg-gradient-to-r ds-from-primary-f-stop ds-from-primary-f ds-to-primary-t !ds-text-white enabled:hover:ds-bg-[#0e4bbd] ds-text-sm ds-leading-4 ds-px-4 disabled:ds-from-[#e2e4e8] disabled:ds-to-[#e2e4e8] disabled:ds-text-black/[0.4] ds-mx-1`,\n onClick: (dp) => {\n value.value = selectedDate.value;\n nextTick(() => {\n validate();\n });\n dp.hide();\n },\n attrs: props.required\n ? {\n disabled: '',\n }\n : undefined,\n },\n]);\nconst datePickerOptions = computed(() => {\n const datePickerLocale: AirDatepickerLocale = {\n days: [\n t('ds.components.base.date_picker.days.sunday'),\n t('ds.components.base.date_picker.days.monday'),\n t('ds.components.base.date_picker.days.tuesday'),\n t('ds.components.base.date_picker.days.wednesday'),\n t('ds.components.base.date_picker.days.thursday'),\n t('ds.components.base.date_picker.days.friday'),\n t('ds.components.base.date_picker.days.saturday'),\n ],\n daysShort: [\n t('ds.components.base.date_picker.days_short.sunday'),\n t('ds.components.base.date_picker.days_short.monday'),\n t('ds.components.base.date_picker.days_short.tuesday'),\n t('ds.components.base.date_picker.days_short.wednesday'),\n t('ds.components.base.date_picker.days_short.thursday'),\n t('ds.components.base.date_picker.days_short.friday'),\n t('ds.components.base.date_picker.days_short.saturday'),\n ],\n daysMin: [\n t('ds.components.base.date_picker.days_min.sunday'),\n t('ds.components.base.date_picker.days_min.monday'),\n t('ds.components.base.date_picker.days_min.tuesday'),\n t('ds.components.base.date_picker.days_min.wednesday'),\n t('ds.components.base.date_picker.days_min.thursday'),\n t('ds.components.base.date_picker.days_min.friday'),\n t('ds.components.base.date_picker.days_min.saturday'),\n ],\n months: [\n t('ds.components.base.date_picker.months.january'),\n t('ds.components.base.date_picker.months.february'),\n t('ds.components.base.date_picker.months.march'),\n t('ds.components.base.date_picker.months.april'),\n t('ds.components.base.date_picker.months.may'),\n t('ds.components.base.date_picker.months.june'),\n t('ds.components.base.date_picker.months.july'),\n t('ds.components.base.date_picker.months.august'),\n t('ds.components.base.date_picker.months.september'),\n t('ds.components.base.date_picker.months.october'),\n t('ds.components.base.date_picker.months.november'),\n t('ds.components.base.date_picker.months.december'),\n ],\n monthsShort: [\n t('ds.components.base.date_picker.months_short.january'),\n t('ds.components.base.date_picker.months_short.february'),\n t('ds.components.base.date_picker.months_short.march'),\n t('ds.components.base.date_picker.months_short.april'),\n t('ds.components.base.date_picker.months_short.may'),\n t('ds.components.base.date_picker.months_short.june'),\n t('ds.components.base.date_picker.months_short.july'),\n t('ds.components.base.date_picker.months_short.august'),\n t('ds.components.base.date_picker.months_short.september'),\n t('ds.components.base.date_picker.months_short.october'),\n t('ds.components.base.date_picker.months_short.november'),\n t('ds.components.base.date_picker.months_short.december'),\n ],\n today: t('ds.components.base.date_picker.buttons.today'),\n clear: t('ds.components.base.date_picker.buttons.clear'),\n dateFormat: 'dd/MM/yyyy',\n timeFormat: 'HH:mm',\n firstDay: 1, // Monday\n };\n const onSelectDatePicker = ({\n date,\n }: {\n date: Date | Date[];\n formattedDate: string | string[];\n datepicker: AirDatepicker;\n }) => {\n // 'date' is undefined when clicking 'Clear' button/ deselect the date\n selectedDate.value = date;\n if (props.required) {\n toggleButtonConfirm(!!date);\n }\n };\n\n return {\n locale: datePickerLocale,\n selectedDates: [...props.modelValue],\n onSelect: onSelectDatePicker,\n buttons: [...datePickerButtons.value],\n showOtherMonths: false,\n timepicker: false,\n onlyTimepicker: false,\n minDate: props.minDate,\n maxDate: props.maxDate,\n view: props.view,\n onHide: onHidePicker,\n onShow: onShowPicker,\n navTitles: {\n days: 'MMMM yyyy',\n },\n position: props.position,\n range: true,\n multipleDatesSeparator: ' - ',\n } as any; // AirDatepickerOptions\n});\nconst vRules = computed(() => {\n let result: ValidationRule[] = [];\n\n if (props.required) {\n result.push(validateRequired);\n }\n if (props.validationRules) {\n result = result.concat(props.validationRules);\n }\n\n return result.length ? result : undefined;\n});\nconst inputCssClassValue = computed(() => [\n 'ds-border ds-rounded-lg ds-block ds-w-full ds-text-sm ds-px-3 ds-h-[40px]',\n {\n 'ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]': props.disabled,\n 'ds-text-black/[0.85]': !props.disabled,\n 'ds-border-error focus:ds-ring-1 focus:ds-ring-error':\n !validationResult.value.valid,\n 'ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus':\n validationResult.value.valid,\n '!ds-border-focus ds-ring-1 ds-ring-focus': datePickerVisible.value,\n },\n props.inputCssClass,\n]);\nconst datePickerVisible = ref(false);\n\nconst { validate, validationResult } = useValidationField(\n id.value,\n value,\n vRules.value,\n);\n\n/**\n * Watch\n */\nwatch(\n () => props.modelValue,\n () => {\n if (checkIfModelNeedToSync(datePicker.selectedDates)) {\n if (!isEmpty(props.modelValue)) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n }\n },\n { deep: true },\n);\nwatch(\n [\n locale,\n () => props.position,\n () => props.minDate,\n () => props.maxDate,\n () => props.view,\n ],\n () => {\n datePicker.update(datePickerOptions.value);\n },\n);\n\nonMounted(() => {\n datePicker = new AirDatepicker<HTMLInputElement>(\n `#${id.value}Picker`,\n datePickerOptions.value,\n );\n});\n\n/**\n * Methods\n */\nconst onHidePicker = () => {\n datePickerVisible.value = false;\n unlockScrollBody();\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst onShowPicker = () => {\n datePickerVisible.value = true;\n if (props.modelValue) {\n datePicker.selectDate(props.modelValue);\n } else {\n datePicker.clear();\n }\n lockScrollBody();\n};\nconst checkIfModelNeedToSync = (date: Date[]) => {\n const rules = [\n !isEmpty(props.modelValue) && isEmpty(date),\n !isEmpty(date) && isEmpty(props.modelValue),\n !isEmpty(props.modelValue) &&\n !isEmpty(date) &&\n props.modelValue.some((v, i) => v?.getTime() !== date[i]?.getTime()),\n ];\n\n return rules.some((r) => r);\n};\nconst toggleButtonConfirm = (enabled: boolean) => {\n const btnEl = document.querySelector(`.${id.value}-btn-confirm`);\n if (enabled) {\n btnEl?.removeAttribute('disabled');\n } else {\n btnEl?.setAttribute('disabled', '');\n }\n};\n\n/**\n * Lifecycle hooks\n */\nonBeforeUnmount(() => {\n unlockScrollBody();\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", null, [\n _createVNode(BLabel, {\n id: id.value,\n label: _ctx.label,\n required: _ctx.required\n }, null, 8, [\"id\", \"label\", \"required\"]),\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"input\", {\n id: `${id.value}Picker`,\n class: _normalizeClass([inputCssClassValue.value, \"ds-absolute ds-top-0 ds-z-[1] ds-drop-shadow-light\"]),\n disabled: _ctx.disabled,\n placeholder: _ctx.placeholder,\n readonly: \"\"\n }, null, 10, _hoisted_2),\n _createElementVNode(\"label\", {\n for: `${id.value}Picker`,\n class: \"ds-absolute ds-right-3 ds-top-2 ds-z-[3]\"\n }, [\n _createElementVNode(\"i\", {\n class: _normalizeClass([[\n props.disabled ? 'ds-text-black/[0.4]' : 'ds-text-black/[0.85]',\n ], \"fa-solid fa-calendar-lines\"])\n }, null, 2)\n ], 8, _hoisted_3)\n ]),\n (!_ctx.hideDetails)\n ? (_openBlock(), _createBlock(BErrorMessage, {\n key: 0,\n \"error-message\": _unref(validationResult).errorMessage(),\n class: \"ds-mt-1\",\n \"prepend-icon\": \"fa-solid fa-circle-exclamation\"\n }, null, 8, [\"error-message\"]))\n : _createCommentVNode(\"\", true)\n ]))\n}\n}\n\n})"],"names":["_hoisted_1","_hoisted_2","_hoisted_3","_sfc_main","_defineComponent","BDatePickerView","__props","emit","props","t","locale","useI18n","datePicker","validateRequired","val","selectedDate","ref","id","computed","uuid","value","datePickerButtons","dp","nextTick","validate","datePickerOptions","datePickerLocale","onSelectDatePicker","date","toggleButtonConfirm","onHidePicker","onShowPicker","vRules","result","inputCssClassValue","validationResult","datePickerVisible","useValidationField","watch","checkIfModelNeedToSync","isEmpty","onMounted","AirDatepicker","unlockScrollBody","lockScrollBody","v","i","_a","r","enabled","btnEl","onBeforeUnmount","_ctx","_cache","_openBlock","_createElementBlock","_createVNode","BLabel","_createElementVNode","_normalizeClass","_createCommentVNode","_createBlock","BErrorMessage","_unref"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";const e=require("vue"),u=require("./design-system5.js"),o=require("./design-system6.js"),c=require("./design-system87.js"),i={inheritAttrs:!1},d=e.defineComponent({...i,__name:"BModal",props:{modelValue:{type:Boolean},size:{default:u.BModalSize.Medium},fullscreen:{type:Boolean,default:!1},persistent:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:r}){const s=n,l=e.computed({get(){return s.modelValue},set(t){r("update:modelValue",t)}});return e.watch(l,t=>{t?o.lockScrollBody():o.unlockScrollBody()},{immediate:!0}),e.onBeforeUnmount(()=>{o.unlockScrollBody()}),(t,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"ds-transition-all ds-ease-in-out","enter-from-class":"ds-opacity-0","enter-to-class":"ds-opacity-1","leave-active-class":"ds-transition-all ds-ease-in-out","leave-from-class":"ds-opacity-1","leave-to-class":"ds-opacity-0"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(c,{key:0,class:e.normalizeClass(t.$attrs.class),fullscreen:s.fullscreen,persistent:s.persistent,size:s.size,onClose:a[0]||(a[0]=p=>l.value=!1)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["class","fullscreen","persistent","size"])):e.createCommentVNode("",!0)]),_:3})]))}});module.exports=d;
1
+ "use strict";const e=require("vue"),u=require("./design-system5.js"),o=require("./design-system6.js"),c=require("./design-system89.js"),i={inheritAttrs:!1},d=e.defineComponent({...i,__name:"BModal",props:{modelValue:{type:Boolean},size:{default:u.BModalSize.Medium},fullscreen:{type:Boolean,default:!1},persistent:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,{emit:r}){const s=n,l=e.computed({get(){return s.modelValue},set(t){r("update:modelValue",t)}});return e.watch(l,t=>{t?o.lockScrollBody():o.unlockScrollBody()},{immediate:!0}),e.onBeforeUnmount(()=>{o.unlockScrollBody()}),(t,a)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createVNode(e.Transition,{"enter-active-class":"ds-transition-all ds-ease-in-out","enter-from-class":"ds-opacity-0","enter-to-class":"ds-opacity-1","leave-active-class":"ds-transition-all ds-ease-in-out","leave-from-class":"ds-opacity-1","leave-to-class":"ds-opacity-0"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createBlock(c,{key:0,class:e.normalizeClass(t.$attrs.class),fullscreen:s.fullscreen,persistent:s.persistent,size:s.size,onClose:a[0]||(a[0]=p=>l.value=!1)},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"default")]),_:3},8,["class","fullscreen","persistent","size"])):e.createCommentVNode("",!0)]),_:3})]))}});module.exports=d;
2
2
  //# sourceMappingURL=design-system14.js.map
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as c, computed as u, watch as f, onBeforeUnmount as m, openBlock as o, createBlock as a, Teleport as p, createVNode as y, Transition as B, withCtx as r, normalizeClass as _, renderSlot as v, createCommentVNode as z } from "vue";
2
2
  import { BModalSize as V } from "./design-system5.mjs";
3
3
  import { lockScrollBody as k, unlockScrollBody as n } from "./design-system6.mjs";
4
- import C from "./design-system87.mjs";
4
+ import C from "./design-system89.mjs";
5
5
  const S = {
6
6
  // https://vuejs.org/guide/components/attrs.html#disabling-attribute-inheritance
7
7
  inheritAttrs: !1
@@ -1,2 +1,2 @@
1
- "use strict";const t=require("vue"),A=require("./design-system27.js"),K=require("./design-system3.js"),P=require("./design-system41.js"),N=require("./design-system88.js"),$=require("./design-system86.js"),L=require("./design-system89.js"),S={class:"ds-flex ds-items-center ds-justify-center ds-space-x-2"},W=t.defineComponent({__name:"BOtpField",props:{inputId:{default:""},modelValue:{default:""},numInputs:{default:6},focusIndex:{default:void 0},disabled:{type:Boolean,default:!1},inputCssClass:{default:""},validationRules:{default:void 0},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},hideDetails:{type:Boolean,default:!1}},emits:["complete","change","update:modelValue","update:focusIndex"],setup(b,{expose:k,emit:l}){const s=b,{t:B}=P.useI18n(),O={validateRule:e=>!!e,errorMessage:()=>s.requiredErrorMessage||B("ds.global.field_required")},i=t.ref(0),p=t.ref([]),f=t.ref(null),x=e=>{u.value=e},q=()=>{u.value=-1},y=t.computed(()=>s.inputId||`id-${$()}`),n=t.computed({get(){return s.modelValue.split("")},set(e){l("update:modelValue",e.join(""))}}),C=t.computed(()=>s.modelValue),u=t.computed({get(){return s.focusIndex!==void 0?s.focusIndex:i.value},set(e){s.focusIndex!==void 0?l("update:focusIndex",e):i.value=e}}),D=t.computed(()=>{let e=[];return s.required&&e.push(O),s.validationRules&&(e=e.concat(s.validationRules)),e.length?e:void 0}),V=t.computed(()=>[s.disabled?"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]":"ds-text-black/[0.85]",m.value.valid?"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":"ds-border-error focus:ds-ring-1 focus:ds-ring-error",s.inputCssClass]),{validate:v,validationResult:m}=K.useValidationField(y.value,C,D.value),R=()=>{f.value[u.value].focus()},h=()=>n.value.join("").length===s.numInputs?l("complete",n.value.join("")):"Wait until the user enters the required number of characters",c=e=>{u.value=Math.max(Math.min(s.numInputs-1,e),0)},g=()=>{c(u.value+1)},I=()=>{c(u.value-1)},d=e=>{p.value=[...n.value],n.value[u.value]=e,n.value=L(n.value);const o=p.value.join(""),r=n.value.join("");o!==r&&(l("change",r),h())},F=e=>{e.preventDefault();const o=e.clipboardData.getData("text/plain").slice(0,s.numInputs-u.value).split("");if(!o.join("").match(/^\d+$/))return"Invalid pasted data";const a=n.value.slice(0,u.value).concat(o);return a.slice(0,s.numInputs).forEach((_,w)=>{n.value[w]=_}),c(a.slice(0,s.numInputs).length),l("update:modelValue",n.value.join("")),h()},j=e=>{d(e),g()},E=e=>{switch(e.key){case"Backspace":e.preventDefault(),d(""),I();break;case"Delete":e.preventDefault(),d("");break;case"ArrowLeft":e.preventDefault(),I();break;case"ArrowRight":e.preventDefault(),g();break}},M=()=>{v()};return k({validate:v,focus:R}),(e,o)=>(t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("div",S,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.numInputs,(r,a)=>(t.openBlock(),t.createBlock(N,{key:a,ref_for:!0,ref_key:"boxRefs",ref:f,class:t.normalizeClass(V.value),focus:u.value===a,"is-disabled":e.disabled,value:n.value[a],onOnChange:j,onOnKeydown:E,onOnKeyup:M,onOnPaste:F,onOnFocus:_=>x(a),onOnBlur:q},null,8,["class","focus","is-disabled","value","onOnFocus"]))),128))]),e.hideDetails?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"error-message":t.unref(m).errorMessage(),class:"ds-mt-1"},null,8,["error-message"]))]))}});module.exports=W;
1
+ "use strict";const t=require("vue"),A=require("./design-system27.js"),K=require("./design-system3.js"),P=require("./design-system41.js"),N=require("./design-system87.js"),$=require("./design-system86.js"),L=require("./design-system88.js"),S={class:"ds-flex ds-items-center ds-justify-center ds-space-x-2"},W=t.defineComponent({__name:"BOtpField",props:{inputId:{default:""},modelValue:{default:""},numInputs:{default:6},focusIndex:{default:void 0},disabled:{type:Boolean,default:!1},inputCssClass:{default:""},validationRules:{default:void 0},required:{type:Boolean,default:!1},requiredErrorMessage:{default:""},hideDetails:{type:Boolean,default:!1}},emits:["complete","change","update:modelValue","update:focusIndex"],setup(b,{expose:k,emit:l}){const s=b,{t:B}=P.useI18n(),O={validateRule:e=>!!e,errorMessage:()=>s.requiredErrorMessage||B("ds.global.field_required")},i=t.ref(0),p=t.ref([]),f=t.ref(null),x=e=>{u.value=e},q=()=>{u.value=-1},y=t.computed(()=>s.inputId||`id-${$()}`),n=t.computed({get(){return s.modelValue.split("")},set(e){l("update:modelValue",e.join(""))}}),C=t.computed(()=>s.modelValue),u=t.computed({get(){return s.focusIndex!==void 0?s.focusIndex:i.value},set(e){s.focusIndex!==void 0?l("update:focusIndex",e):i.value=e}}),D=t.computed(()=>{let e=[];return s.required&&e.push(O),s.validationRules&&(e=e.concat(s.validationRules)),e.length?e:void 0}),V=t.computed(()=>[s.disabled?"ds-cursor-not-allowed ds-bg-[#f2f2f2] ds-text-black/[0.4]":"ds-text-black/[0.85]",m.value.valid?"ds-border-black/[0.1] focus:ds-border-focus focus:ds-ring-1 focus:ds-ring-focus":"ds-border-error focus:ds-ring-1 focus:ds-ring-error",s.inputCssClass]),{validate:v,validationResult:m}=K.useValidationField(y.value,C,D.value),R=()=>{f.value[u.value].focus()},h=()=>n.value.join("").length===s.numInputs?l("complete",n.value.join("")):"Wait until the user enters the required number of characters",c=e=>{u.value=Math.max(Math.min(s.numInputs-1,e),0)},g=()=>{c(u.value+1)},I=()=>{c(u.value-1)},d=e=>{p.value=[...n.value],n.value[u.value]=e,n.value=L(n.value);const o=p.value.join(""),r=n.value.join("");o!==r&&(l("change",r),h())},F=e=>{e.preventDefault();const o=e.clipboardData.getData("text/plain").slice(0,s.numInputs-u.value).split("");if(!o.join("").match(/^\d+$/))return"Invalid pasted data";const a=n.value.slice(0,u.value).concat(o);return a.slice(0,s.numInputs).forEach((_,w)=>{n.value[w]=_}),c(a.slice(0,s.numInputs).length),l("update:modelValue",n.value.join("")),h()},j=e=>{d(e),g()},E=e=>{switch(e.key){case"Backspace":e.preventDefault(),d(""),I();break;case"Delete":e.preventDefault(),d("");break;case"ArrowLeft":e.preventDefault(),I();break;case"ArrowRight":e.preventDefault(),g();break}},M=()=>{v()};return k({validate:v,focus:R}),(e,o)=>(t.openBlock(),t.createElementBlock("div",null,[t.createElementVNode("div",S,[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(e.numInputs,(r,a)=>(t.openBlock(),t.createBlock(N,{key:a,ref_for:!0,ref_key:"boxRefs",ref:f,class:t.normalizeClass(V.value),focus:u.value===a,"is-disabled":e.disabled,value:n.value[a],onOnChange:j,onOnKeydown:E,onOnKeyup:M,onOnPaste:F,onOnFocus:_=>x(a),onOnBlur:q},null,8,["class","focus","is-disabled","value","onOnFocus"]))),128))]),e.hideDetails?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(A,{key:0,"error-message":t.unref(m).errorMessage(),class:"ds-mt-1"},null,8,["error-message"]))]))}});module.exports=W;
2
2
  //# sourceMappingURL=design-system16.js.map
@@ -2,9 +2,9 @@ import { defineComponent as N, ref as f, computed as l, openBlock as d, createEl
2
2
  import H from "./design-system27.mjs";
3
3
  import { useValidationField as J } from "./design-system3.mjs";
4
4
  import { useI18n as Q } from "./design-system41.mjs";
5
- import T from "./design-system88.mjs";
5
+ import T from "./design-system87.mjs";
6
6
  import X from "./design-system86.mjs";
7
- import Y from "./design-system89.mjs";
7
+ import Y from "./design-system88.mjs";
8
8
  const Z = { class: "ds-flex ds-items-center ds-justify-center ds-space-x-2" }, ue = /* @__PURE__ */ N({
9
9
  __name: "BOtpField",
10
10
  props: {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./design-system80.js"),y=require("./design-system82.js"),Q=require("./design-system92.js");/*!
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./design-system80.js"),y=require("./design-system82.js"),Q=require("./design-system91.js");/*!
2
2
  * core-base v9.2.2
3
3
  * (c) 2022 kazuya kawaguchi
4
4
  * Released under the MIT License.
@@ -1,6 +1,6 @@
1
1
  import { getGlobalThis as Fe, isObject as h, isArray as $, isPlainObject as M, isString as u, isBoolean as I, assign as H, isFunction as C, isRegExp as ee, warn as j, format as me, escapeHtml as te, inBrowser as K, mark as R, measure as B, isNumber as L, isEmptyObject as z, generateCodeFrame as Me, generateFormatCacheKey as be, isDate as ve, toDisplayString as he } from "./design-system80.mjs";
2
2
  import { defaultOnError as Ie, baseCompile as Ce, createCompileError as Le, CompileErrorCodes as we } from "./design-system82.mjs";
3
- import { IntlifyDevToolsHooks as ue } from "./design-system92.mjs";
3
+ import { IntlifyDevToolsHooks as ue } from "./design-system91.mjs";
4
4
  /*!
5
5
  * core-base v9.2.2
6
6
  * (c) 2022 kazuya kawaguchi