@kyndryl-design-system/shidoka-applications 2.74.0 → 2.74.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.
- package/common/helpers/flatpickr/flatpickr.d.ts.map +1 -1
- package/common/helpers/flatpickr/flatpickr.js +1 -1
- package/common/helpers/flatpickr/flatpickr.js.map +1 -1
- package/common/helpers/flatpickr/index.d.ts +1 -1
- package/common/helpers/flatpickr/index.d.ts.map +1 -1
- package/common/helpers/flatpickr/index.js +1 -1
- package/common/helpers/flatpickr/utils.d.ts +11 -0
- package/common/helpers/flatpickr/utils.d.ts.map +1 -1
- package/common/helpers/flatpickr/utils.js +1 -1
- package/common/helpers/flatpickr/utils.js.map +1 -1
- package/common/helpers/flatpickr/utils.test.js +1 -1
- package/common/helpers/flatpickr/utils.test.js.map +1 -1
- package/components/global/header/headerCategories.js +1 -1
- package/components/global/header/headerLink.d.ts.map +1 -1
- package/components/global/header/headerLink.js +7 -7
- package/components/global/header/headerLink.js.map +1 -1
- package/components/global/header/index.js +1 -1
- package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
- package/components/reusable/datePicker/datepicker.js +6 -6
- package/components/reusable/datePicker/datepicker.js.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.js +6 -6
- package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
- package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
- package/components/reusable/timepicker/timepicker.js +6 -6
- package/components/reusable/timepicker/timepicker.js.map +1 -1
- package/index.js +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/flatpickr.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAOrD,eAAO,MAAM,8BAA8B;;;;;;CAM1C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CACxC,OAAO,8BAA8B,CACtC,CAAC;AAIF,wBAAgB,iBAAiB,CAC/B,iBAAiB,GAAE,oBAAyB,GAC3C,IAAI,CAKN;AAED,wBAAgB,cAAc,CAC5B,iBAAiB,GAAE,oBAAyB,GAC3C,OAAO,8BAA8B,CAEvC;AAED,UAAU,oBAAoB;IAC5B,mBAAmB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,qBAAqB,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;CAChD;AAED,UAAU,sBAAuB,SAAQ,oBAAoB;IAC3D,OAAO,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,qBAAsB,SAAQ,oBAAoB;IAC1D,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC1B;AAED,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;CAgBf,CAAC;AAEX,KAAK,gBAAgB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAEzD,UAAU,uBAAuB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oGAAoG;IACpG,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IACrC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAC;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAKN;AAED,wBAAgB,gBAAgB,CAC9B,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,mBAAmB,EAAE,OAAO,EAC5B,cAAc,EAAE,MAAM,IAAI,EAC1B,sBAAsB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAC/C,IAAI,CAKN;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CAM5E;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAQ/D;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CA4F/B;AAED,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,sBAAsB,GAAG;IAAE,QAAQ,CAAC,EAAE,WAAW,CAAA;CAAE,GAC3D,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAqE/B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,gBAAgB,CAE5E;AAED,wBAAgB,cAAc,CAC5B,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,OAAO,GACpB,MAAM,CAYR;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAEnE;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAsBnE;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAkM/B;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAK5D;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,aAAa,UAAQ,GACpB,IAAI,
|
|
1
|
+
{"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/flatpickr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import e from"flatpickr";import t from"flatpickr/dist/esm/plugins/rangePlugin";import n from"flatpickr/dist/esm/l10n/default.js";import{loadLocale as a}from"./langs.js";import{fixedOverlayPositionPlugin as i}from"./overlay.js";let r=!1;const o={lockedStartDate:"Start date is locked",lockedEndDate:"End date is locked",dateLocked:"Date is locked",dateNotAvailable:"Date is not available",dateInSelectedRange:"Date is in selected range"};let l={...o};function s(e={}){l={...o,...e}}function d(e={}){return{...l,...e}}const c={"Y-m-d":"yyyy-mm-dd","m-d-Y":"mm-dd-yyyy","d-m-Y":"dd-mm-yyyy","Y-m-d H:i":"yyyy-mm-dd —— : ——","Y-m-d h:i K":"yyyy-mm-dd —— : ——","m-d-Y H:i":"mm-dd-yyyy —— : ——","m-d-Y h:i K":"mm-dd-yyyy —— : ——","d-m-Y H:i":"dd-mm-yyyy —— : ——","d-m-Y h:i K":"dd-mm-yyyy —— : ——","Y-m-d H:i:s":"yyyy-mm-dd —— : —— ——","Y-m-d H:i:S":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","m-d-Y H:i:S":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——","d-m-Y H:i:S":"dd-mm-yyyy —— : —— ——"};function u(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function m(e){e(!0)}function y(e,t,n){e||(t(),n(!0))}function p(e){var t;(null===(t=e.weekdays)||void 0===t?void 0:t.shorthand)&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function f(e){if(!r){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),r=!0}}async function k(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:r,setCalendarAttributes:o,setInitialDates:l}=n;if(a)try{const n=await r(),s=e=>{if(e instanceof HTMLInputElement)return e;try{let t=e.querySelector("input");if(!t){if(t=document.createElement("input"),t.type="text",t.style.display="none",!e.isConnected)throw new Error("Element is not connected to the DOM");e.appendChild(t)}return t}catch(e){throw console.error("Error creating or appending input element:",e),e}},d=s(a);if(i){const e=s(i);n.plugins=[...n.plugins||[],t({input:e})]}const c=e(d,n);if(c){setTimeout((()=>{o&&o(c)}),0),l&&l(c);const e=[];if(!(a instanceof HTMLInputElement)){const t=()=>{c.open()};a.addEventListener("click",t),e.push({el:a,fn:t})}if(i&&!(i instanceof HTMLInputElement)){const t=()=>{c.open()};i.addEventListener("click",t),e.push({el:i,fn:t})}return c.__anchorClickHandlers=e,c}return void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function b(t){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:r,appendTo:o}=t;if(n)try{const t=await a(),l=t.dateFormat||("time"===t.mode?"H:i":"Y-m-d");let s;if(t.dateFormat=l,n instanceof HTMLInputElement)s=n,t.clickOpens=!0;else try{s=document.createElement("input"),s.type="text",s.style.display="none";const e=o||n;if(!e)throw new Error("No valid element to append input to");e.appendChild(s),t.clickOpens=!1,t.positionElement=n}catch(e){throw console.error("Error creating input element:",e),e}const d=e(s,t);if(d){if(setTimeout((()=>{i&&i(d)}),0),r&&r(d),!(n instanceof HTMLInputElement)){const e=()=>d.open();n.addEventListener("click",e),d.__anchorClickHandlers=[{el:n,fn:e}]}return d}return void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function w(e){return e in c}function g(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(w(e)){return t?`${c[e]} to ${c[e]}`:c[e]}return"Select date"}function v(e){return a(e)}function A(e){let t=e;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(!(t instanceof Element))break;{const e=t.tagName.toLowerCase();if("kyn-modal"===e||"kyn-side-drawer"===e)return t;t=t.parentNode}}return document.body}async function h(t){var a;if(!t)return console.error("Context is required for getFlatpickrOptions"),{};const{locale:r,dateFormat:o,enableTime:l,twentyFourHourFormat:s,inputEl:d,allowInput:c,minDate:u,maxDate:m,minTime:y,maxTime:f,defaultDate:k,defaultHour:b,defaultMinute:w,enable:g,disable:v,mode:h="single",closeOnSelect:E,wrap:D=!1,noCalendar:T=!1,appendTo:L,onChange:N,onClose:S,onOpen:C,loadLocale:x}=t;let Y;r||console.warn("Locale not provided. Falling back to default."),o||console.warn("Date format not provided. Using default format.");try{Y=await x(r),p(Y)}catch(e){console.warn("Error loading locale, falling back to default:",e),Y=n}const H=r.split("-")[0].toLowerCase(),_=["en","es"].includes(H),F="undefined"!=typeof window&&window.innerWidth>=767,I=o||("time"===h?s?"H:i":"h:i K":"Y-m-d"),K=A(t.inputEl),O=K!==document.body,q={dateFormat:I,mode:"time"===h?"single":h,enableTime:"time"===h||l,noCalendar:"time"===h||T,defaultDate:k,enableSeconds:I.toLowerCase().includes(":s"),allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof s?s:!_,weekNumbers:!1,static:null!==(a=t.static)&&void 0!==a&&a,wrap:D,showMonths:"range"===h&&F?2:1,monthSelectorType:"static",locale:Y,closeOnSelect:null!=E?E:!("multiple"===h||l),onChange:(e,t,n)=>{N&&N(e,t,n)},onClose:(e,t,n)=>{if("range"===h&&n.calendarContainer){const t=n.calendarContainer.querySelector(".flatpickr-time");0===e.length&&(null==t||t.classList.add("default-time-select"),null==t||t.classList.remove("start-date","end-date"))}S&&S(e,t,n)},onOpen:(e,t,n)=>{C&&C(e,t,n)}};if(O&&(q.appendTo=K,q.static=!1,(q.plugins||(q.plugins=[])).push(i({offset:6,minViewportMargin:8,preferTop:!1}))),"range"===h&&(q.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),d instanceof HTMLInputElement||(q.positionElement=d),u&&(q.minDate=u),m&&(q.maxDate=m),y&&(q.minTime=y),f&&(q.maxTime=f),k)if(!Array.isArray(k)||"range"!==h&&"multiple"!==h){if(!Array.isArray(k)&&"string"==typeof k){let e=null;switch(I){case"Y-m-d":{const[t,n,a]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(t,n-1,a,12);break}case"d-m-Y":{const[t,n,a]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,n-1,t,12);break}case"m-d-Y":{const[t,n,a]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(a,t-1,n,12);break}default:e=new Date(k)}q.defaultDate=e||k}}else q.defaultDate=k;return null!=b&&(q.defaultHour=b),null!=w&&(q.defaultMinute=w),g&&g.length>0&&(q.enable=g),v&&v.length>0&&(q.disable=v.map((t=>{if(t instanceof Date)return t;if("number"==typeof t)return new Date(t);if("string"==typeof t){return e.parseDate(t,I)||t}return t}))),L&&(q.appendTo=L),q}function E(e){const t=e||"";return t.includes("H:")||t.includes("h:")||t.toLowerCase().includes(":s")}function D(e,t=!1){if(!e||!e.config)return;const n=e.calendarContainer;if(!n)return;const{minDate:a,maxDate:i}=e.config;if(a&&i){new Date(a).getFullYear()===new Date(i).getFullYear()?n.classList.add("single-year"):n.classList.remove("single-year")}requestAnimationFrame((()=>{if(!e||!e.config)return;const a=e.config.mode;n.setAttribute("role","application"),n.setAttribute("aria-label","Calendar"),n.classList.remove("container-modal","container-body","container-default"),n.classList.add(t?"container-modal":"container-default");const i=n.querySelector(".flatpickr-months");null==i||i.setAttribute("tabindex","0"),null==i||i.setAttribute("role","group"),null==i||i.setAttribute("aria-label","Month and year navigation");const r=n.querySelector(".flatpickr-prev-month");if(null==r||r.setAttribute("tabindex","0"),null==r||r.setAttribute("role","button"),null==r||r.setAttribute("aria-label","Previous month"),r){const t=r;t._kynKeydown&&r.removeEventListener("keydown",t._kynKeydown);const n=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(-1))};r.addEventListener("keydown",n),t._kynKeydown=n}const o=n.querySelector(".flatpickr-next-month");if(null==o||o.setAttribute("tabindex","0"),null==o||o.setAttribute("role","button"),null==o||o.setAttribute("aria-label","Next month"),o){const t=o;t._kynKeydown&&o.removeEventListener("keydown",t._kynKeydown);const n=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(1))};o.addEventListener("keydown",n),t._kynKeydown=n}const l=n.querySelector(".flatpickr-month"),s=null==l?void 0:l.querySelector("input.numInput.cur-year");if(s){s.tabIndex=0,s.setAttribute("role","spinbutton"),s.setAttribute("aria-label","Year"),e.config.minDate&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),e.config.maxDate&&s.setAttribute("aria-valuemax",String(new Date(e.config.maxDate).getFullYear()));const t=()=>s.setAttribute("aria-valuenow",s.value),n=s;n._kynKeydown&&s.removeEventListener("keydown",n._kynKeydown);const a=n=>{"ArrowUp"===n.key&&(n.preventDefault(),e.changeYear(1),setTimeout(t,0)),"ArrowDown"===n.key&&(n.preventDefault(),e.changeYear(-1),setTimeout(t,0))};s.addEventListener("keydown",a),n._kynKeydown=a,setTimeout(t,0)}const d=n.querySelector(".flatpickr-days");null==d||d.removeAttribute("tabindex"),null==d||d.setAttribute("role","grid"),null==d||d.setAttribute("aria-multiselectable","multiple"===a?"true":"false");const c=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));c.forEach((e=>{e.tabIndex=0,e.setAttribute("role","range"===a?"gridcell":"button")}));const u=n._keyboardNav;u&&n.removeEventListener("keydown",u);const m=e=>{const t=e.target.closest(".flatpickr-day:not(.flatpickr-disabled)");if(t)switch(e.key){case"Enter":case" ":return e.preventDefault(),void t.click();case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{e.preventDefault();const n=c.indexOf(t);let a;switch(e.key){case"ArrowRight":a=n+1;break;case"ArrowLeft":a=n-1;break;case"ArrowDown":a=n+7;break;case"ArrowUp":a=n-7;break;default:return}const i=c[a];return void(i&&i.focus())}}};n.addEventListener("keydown",m),n._keyboardNav=m;const y=n.querySelector("input.flatpickr-hour");if(y){y.tabIndex=0,y.setAttribute("role","spinbutton"),y.setAttribute("aria-label","Hour"),y.setAttribute("aria-valuemin",y.min),y.setAttribute("aria-valuemax",y.max),y.setAttribute("aria-valuenow",y.value);const e=y;e._kynKeydown&&y.removeEventListener("keydown",e._kynKeydown);const t=e=>{"ArrowUp"===e.key&&(e.preventDefault(),y.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),y.stepDown()),setTimeout((()=>y.setAttribute("aria-valuenow",y.value)),0)};y.addEventListener("keydown",t),e._kynKeydown=t}const p=n.querySelector("input.flatpickr-minute");if(p){p.tabIndex=0,p.setAttribute("role","spinbutton"),p.setAttribute("aria-label","Minute"),p.setAttribute("aria-valuemin",p.min),p.setAttribute("aria-valuemax",p.max),p.setAttribute("aria-valuenow",p.value);const e=p;e._kynKeydown&&p.removeEventListener("keydown",e._kynKeydown);const t=e=>{"ArrowUp"===e.key&&(e.preventDefault(),p.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),p.stepDown()),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)};p.addEventListener("keydown",t),e._kynKeydown=t}const f=n.querySelector(".flatpickr-am-pm");if(f){f.tabIndex=0,f.setAttribute("role","button"),f.setAttribute("aria-label","Toggle AM/PM");const e=f;e._kynKeydown&&f.removeEventListener("keydown",e._kynKeydown);const t=e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),f.click())};f.addEventListener("keydown",t),e._kynKeydown=t}}))}function T(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year");t&&(e.style.display="",t.style.display="",t.disabled=!1,t.hasAttribute("tabindex")||(t.tabIndex=0))}))}function L(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function N(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var S;function C(e,t){return(n,a,i,r)=>{const o=r.dateObj;e===S.END&&null!==t[0]?o.getTime()<=t[0].getTime()&&(o.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().lockedStartDate))):e===S.START&&null!==t[1]?o.getTime()>=t[1].getTime()&&(o.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))):e===S.NONE&&null!==t[0]&&null!==t[1]&&(o.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):o.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateLocked),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):o.getTime()>t[0].getTime()&&o.getTime()<t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",d().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",d().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function x(e,t,n){return(a,i,r)=>{let o=null,l=null;if(e===S.END&&null!==t[0]&&(o=t[0]),e===S.START&&null!==t[1]&&(l=t[1]),e!==S.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===S.END&&null!==o){let e=!1;const t=[...a];if(2===a.length&&a[0].getTime()!==o.getTime()?(t[0]=o,e=!0):1===a.length&&(t.splice(0,0,o),e=!0),e)return r.setDate(t,!1),void Y(n,t,r.input.value,r)}if(e===S.START&&null!==l){let e=!1;const t=[...a];if(2===a.length&&a[1].getTime()!==l.getTime()?(t[1]=l,e=!0):1===a.length&&(t.push(l),e=!0),e)return r.setDate(t,!1),void Y(n,t,r.input.value,r)}Y(n,a,i,r)}else Y(n,a,i,r);else r.setDate([t[0],t[1]],!1)}}function Y(e,t,n,a){try{"function"==typeof e?e(t,n,a):Array.isArray(e)&&e.forEach((e=>{if("function"==typeof e)try{e(t,n,a)}catch(e){console.warn("Error in onChange hook:",e)}}))}catch(e){console.warn("Error calling original onChange handler:",e)}}function H(e,t,n,a){a&&s(a);const i={...e};if(t===S.BOTH)return i;const r=i.onChange;i.clickOpens=!0;try{i.onDayCreate=C(t,n),i.onChange=x(t,n,r||(()=>{}))}catch(e){console.warn("Error setting up date range editing restrictions:",e)}return i}!function(e){e.BOTH="both",e.START="start",e.END="end",e.NONE="none"}(S||(S={}));export{S as DateRangeEditableMode,o as _defaultCalendarTooltipStrings,H as applyDateRangeEditingRestrictions,N as clearFlatpickrInput,x as createDateRangeChangeLockHandler,C as createDateRangeDayLockHandler,L as emitValue,h as getFlatpickrOptions,A as getModalContainer,g as getPlaceholder,d as getTextStrings,m as handleInputClick,y as handleInputFocus,T as hideEmptyYear,k as initializeMultiAnchorFlatpickr,b as initializeSingleAnchorFlatpickr,f as injectFlatpickrStyles,w as isValidDateFormat,v as loadLocale,p as modifyWeekdayShorthands,u as preventFlatpickrOpen,D as setCalendarAttributes,s as setTooltipStrings,E as updateEnableTime};
|
|
1
|
+
import e from"flatpickr";import t from"flatpickr/dist/esm/plugins/rangePlugin";import n from"flatpickr/dist/esm/l10n/default.js";import{loadLocale as i}from"./langs.js";import{fixedOverlayPositionPlugin as a}from"./overlay.js";let r=!1;const o={lockedStartDate:"Start date is locked",lockedEndDate:"End date is locked",dateLocked:"Date is locked",dateNotAvailable:"Date is not available",dateInSelectedRange:"Date is in selected range"};let l={...o};function s(e={}){l={...o,...e}}function c(e={}){return{...l,...e}}const d={"Y-m-d":"yyyy-mm-dd","m-d-Y":"mm-dd-yyyy","d-m-Y":"dd-mm-yyyy","Y-m-d H:i":"yyyy-mm-dd —— : ——","Y-m-d h:i K":"yyyy-mm-dd —— : ——","m-d-Y H:i":"mm-dd-yyyy —— : ——","m-d-Y h:i K":"mm-dd-yyyy —— : ——","d-m-Y H:i":"dd-mm-yyyy —— : ——","d-m-Y h:i K":"dd-mm-yyyy —— : ——","Y-m-d H:i:s":"yyyy-mm-dd —— : —— ——","Y-m-d H:i:S":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","m-d-Y H:i:S":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——","d-m-Y H:i:S":"dd-mm-yyyy —— : —— ——"};function u(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function y(e){e(!0)}function m(e,t,n){e||(t(),n(!0))}function p(e){var t;(null===(t=e.weekdays)||void 0===t?void 0:t.shorthand)&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function f(e){if(!r){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),r=!0}}async function k(n){const{inputEl:i,endinputEl:a,getFlatpickrOptions:r,setCalendarAttributes:o,setInitialDates:l}=n;if(i)try{const n=await r(),s=e=>{if(e instanceof HTMLInputElement)return e;try{let t=e.querySelector("input");if(!t){if(t=document.createElement("input"),t.type="text",t.style.display="none",!e.isConnected)throw new Error("Element is not connected to the DOM");e.appendChild(t)}return t}catch(e){throw console.error("Error creating or appending input element:",e),e}},c=s(i);if(a){const e=s(a);n.plugins=[...n.plugins||[],t({input:e})]}const d=e(c,n);if(d){setTimeout((()=>{o&&o(d)}),0),l&&l(d);const e=[];if(!(i instanceof HTMLInputElement)){const t=()=>{d.open()};i.addEventListener("click",t),e.push({el:i,fn:t})}if(a&&!(a instanceof HTMLInputElement)){const t=()=>{d.open()};a.addEventListener("click",t),e.push({el:a,fn:t})}return d.__anchorClickHandlers=e,d}return void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}async function b(t){const{inputEl:n,getFlatpickrOptions:i,setCalendarAttributes:a,setInitialDates:r,appendTo:o}=t;if(n)try{const t=await i(),l=t.dateFormat||("time"===t.mode?"H:i":"Y-m-d");let s;if(t.dateFormat=l,n instanceof HTMLInputElement)s=n,t.clickOpens=!0;else try{s=document.createElement("input"),s.type="text",s.style.display="none";const e=o||n;if(!e)throw new Error("No valid element to append input to");e.appendChild(s),t.clickOpens=!1,t.positionElement=n}catch(e){throw console.error("Error creating input element:",e),e}const c=e(s,t);if(c){if(setTimeout((()=>{a&&a(c)}),0),r&&r(c),!(n instanceof HTMLInputElement)){const e=()=>c.open();n.addEventListener("click",e),c.__anchorClickHandlers=[{el:n,fn:e}]}return c}return void console.error("Failed to initialize Flatpickr")}catch(e){return void console.error("Error initializing Flatpickr:",e)}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function v(e){return e in d}function w(e,t){if(!e)return t?"yyyy-mm-dd to yyyy-mm-dd":"yyyy-mm-dd";if(v(e)){return t?`${d[e]} to ${d[e]}`:d[e]}return"Select date"}function g(e){return i(e)}function A(e){let t=e;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(!(t instanceof Element))break;{const e=t.tagName.toLowerCase();if("kyn-modal"===e||"kyn-side-drawer"===e)return t;t=t.parentNode}}return document.body}async function E(t){var i;if(!t)return console.error("Context is required for getFlatpickrOptions"),{};const{locale:r,dateFormat:o,enableTime:l,twentyFourHourFormat:s,inputEl:c,allowInput:d,minDate:u,maxDate:y,minTime:m,maxTime:f,defaultDate:k,defaultHour:b,defaultMinute:v,enable:w,disable:g,mode:E="single",closeOnSelect:h,wrap:D=!1,noCalendar:L=!1,appendTo:T,onChange:C,onClose:_,onOpen:S,loadLocale:N}=t;let x;r||console.warn("Locale not provided. Falling back to default."),o||console.warn("Date format not provided. Using default format.");try{x=await N(r),p(x)}catch(e){console.warn("Error loading locale, falling back to default:",e),x=n}const Y=r.split("-")[0].toLowerCase(),H=["en","es"].includes(Y),I="undefined"!=typeof window&&window.innerWidth>=767,K=o||("time"===E?s?"H:i":"h:i K":"Y-m-d"),q=A(t.inputEl),F=q!==document.body,O={dateFormat:K,mode:"time"===E?"single":E,enableTime:"time"===E||l,noCalendar:"time"===E||L,defaultDate:k,enableSeconds:K.toLowerCase().includes(":s"),allowInput:d||!1,clickOpens:!0,time_24hr:"boolean"==typeof s?s:!H,weekNumbers:!1,static:null!==(i=t.static)&&void 0!==i&&i,wrap:D,showMonths:"range"===E&&I?2:1,monthSelectorType:"static",locale:x,closeOnSelect:null!=h?h:!("multiple"===E||l),onChange:(e,t,n)=>{C&&C(e,t,n)},onClose:(e,t,n)=>{if("range"===E&&n.calendarContainer){const t=n.calendarContainer.querySelector(".flatpickr-time");0===e.length&&(null==t||t.classList.add("default-time-select"),null==t||t.classList.remove("start-date","end-date"))}_&&_(e,t,n)},onOpen:(e,t,n)=>{S&&S(e,t,n)}};if(F&&(O.appendTo=q,O.static=!1,(O.plugins||(O.plugins=[])).push(a({offset:6,minViewportMargin:8,preferTop:!1}))),"range"===E&&(O.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),c instanceof HTMLInputElement||(O.positionElement=c),u&&(O.minDate=u),y&&(O.maxDate=y),m&&(O.minTime=m),f&&(O.maxTime=f),k)if(!Array.isArray(k)||"range"!==E&&"multiple"!==E){if(!Array.isArray(k)&&"string"==typeof k){let e=null;switch(K){case"Y-m-d":{const[t,n,i]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(i)?null:new Date(t,n-1,i,12);break}case"d-m-Y":{const[t,n,i]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(i)?null:new Date(i,n-1,t,12);break}case"m-d-Y":{const[t,n,i]=k.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(i)?null:new Date(i,t-1,n,12);break}default:e=new Date(k)}O.defaultDate=e||k}}else O.defaultDate=k;return null!=b&&(O.defaultHour=b),null!=v&&(O.defaultMinute=v),w&&w.length>0&&(O.enable=w),g&&g.length>0&&(O.disable=g.map((t=>{if(t instanceof Date)return t;if("number"==typeof t)return new Date(t);if("string"==typeof t){return e.parseDate(t,K)||t}return t}))),T&&(O.appendTo=T),O}function h(e){const t=e||"";return t.includes("H:")||t.includes("h:")||t.toLowerCase().includes(":s")}function D(e,t=!1){if(!e||!e.config)return;const n=e.calendarContainer;if(!n)return;const{minDate:i,maxDate:a}=e.config;if(i&&a){new Date(i).getFullYear()===new Date(a).getFullYear()?n.classList.add("single-year"):n.classList.remove("single-year")}requestAnimationFrame((()=>{if(!e||!e.config)return;const i=e.config.mode;n.setAttribute("role","application"),n.setAttribute("aria-label","Calendar"),n.classList.remove("container-modal","container-body","container-default"),n.classList.add(t?"container-modal":"container-default");const a=n.querySelector(".flatpickr-months");null==a||a.setAttribute("tabindex","0"),null==a||a.setAttribute("role","group"),null==a||a.setAttribute("aria-label","Month and year navigation");const r=n.querySelector(".flatpickr-prev-month");if(null==r||r.setAttribute("tabindex","0"),null==r||r.setAttribute("role","button"),null==r||r.setAttribute("aria-label","Previous month"),r){const t=r;t._kynKeydown&&r.removeEventListener("keydown",t._kynKeydown);const n=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(-1))};r.addEventListener("keydown",n),t._kynKeydown=n}const o=n.querySelector(".flatpickr-next-month");if(null==o||o.setAttribute("tabindex","0"),null==o||o.setAttribute("role","button"),null==o||o.setAttribute("aria-label","Next month"),o){const t=o;t._kynKeydown&&o.removeEventListener("keydown",t._kynKeydown);const n=t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),e.changeMonth(1))};o.addEventListener("keydown",n),t._kynKeydown=n}const l=n.querySelector(".flatpickr-month"),s=null==l?void 0:l.querySelector("input.numInput.cur-year");if(s){s.tabIndex=0,s.setAttribute("role","spinbutton"),s.setAttribute("aria-label","Year"),e.config.minDate&&s.setAttribute("aria-valuemin",String(new Date(e.config.minDate).getFullYear())),e.config.maxDate&&s.setAttribute("aria-valuemax",String(new Date(e.config.maxDate).getFullYear()));const t=()=>s.setAttribute("aria-valuenow",s.value),n=s;n._kynKeydown&&s.removeEventListener("keydown",n._kynKeydown);const i=n=>{"ArrowUp"===n.key&&(n.preventDefault(),e.changeYear(1),setTimeout(t,0)),"ArrowDown"===n.key&&(n.preventDefault(),e.changeYear(-1),setTimeout(t,0))};s.addEventListener("keydown",i),n._kynKeydown=i,setTimeout(t,0)}const c=n.querySelector(".flatpickr-days");null==c||c.removeAttribute("tabindex"),null==c||c.setAttribute("role","grid"),null==c||c.setAttribute("aria-multiselectable","multiple"===i?"true":"false");const d=Array.from(n.querySelectorAll(".flatpickr-day:not(.flatpickr-disabled)"));d.forEach((e=>{e.tabIndex=0,e.setAttribute("role","range"===i?"gridcell":"button")}));const u=n._keyboardNav;u&&n.removeEventListener("keydown",u);const y=e=>{const t=e.target.closest(".flatpickr-day:not(.flatpickr-disabled)");if(t)switch(e.key){case"Enter":case" ":return e.preventDefault(),void t.click();case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{e.preventDefault();const n=d.indexOf(t);let i;switch(e.key){case"ArrowRight":i=n+1;break;case"ArrowLeft":i=n-1;break;case"ArrowDown":i=n+7;break;case"ArrowUp":i=n-7;break;default:return}const a=d[i];return void(a&&a.focus())}}};n.addEventListener("keydown",y),n._keyboardNav=y;const m=n.querySelector("input.flatpickr-hour");if(m){m.tabIndex=0,m.setAttribute("role","spinbutton"),m.setAttribute("aria-label","Hour"),m.setAttribute("aria-valuemin",m.min),m.setAttribute("aria-valuemax",m.max),m.setAttribute("aria-valuenow",m.value);const e=m;e._kynKeydown&&m.removeEventListener("keydown",e._kynKeydown);const t=e=>{"ArrowUp"===e.key&&(e.preventDefault(),m.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),m.stepDown()),setTimeout((()=>m.setAttribute("aria-valuenow",m.value)),0)};m.addEventListener("keydown",t),e._kynKeydown=t;const n=m.closest(".numInputWrapper");if(n){const e=n.querySelector(".arrowUp"),t=n.querySelector(".arrowDown");if(e){const t=e;t._kynClick&&e.removeEventListener("click",t._kynClick);const n=()=>{m.stepUp(),m.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>m.setAttribute("aria-valuenow",m.value)),0)};e.addEventListener("click",n),t._kynClick=n}if(t){const e=t;e._kynClick&&t.removeEventListener("click",e._kynClick);const n=()=>{m.stepDown(),m.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>m.setAttribute("aria-valuenow",m.value)),0)};t.addEventListener("click",n),e._kynClick=n}}}const p=n.querySelector("input.flatpickr-minute");if(p){p.tabIndex=0,p.setAttribute("role","spinbutton"),p.setAttribute("aria-label","Minute"),p.setAttribute("aria-valuemin",p.min),p.setAttribute("aria-valuemax",p.max),p.setAttribute("aria-valuenow",p.value);const e=p;e._kynKeydown&&p.removeEventListener("keydown",e._kynKeydown);const t=e=>{"ArrowUp"===e.key&&(e.preventDefault(),p.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),p.stepDown()),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)};p.addEventListener("keydown",t),e._kynKeydown=t;const n=p.closest(".numInputWrapper");if(n){const e=n.querySelector(".arrowUp"),t=n.querySelector(".arrowDown");if(e){const t=e;t._kynClick&&e.removeEventListener("click",t._kynClick);const n=()=>{p.stepUp(),p.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)};e.addEventListener("click",n),t._kynClick=n}if(t){const e=t;e._kynClick&&t.removeEventListener("click",e._kynClick);const n=()=>{p.stepDown(),p.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>p.setAttribute("aria-valuenow",p.value)),0)};t.addEventListener("click",n),e._kynClick=n}}}const f=n.querySelector("input.flatpickr-second");if(f){f.tabIndex=0,f.setAttribute("role","spinbutton"),f.setAttribute("aria-label","Second"),f.setAttribute("aria-valuemin",f.min),f.setAttribute("aria-valuemax",f.max),f.setAttribute("aria-valuenow",f.value);const e=f;e._kynKeydown&&f.removeEventListener("keydown",e._kynKeydown);const t=e=>{"ArrowUp"===e.key&&(e.preventDefault(),f.stepUp()),"ArrowDown"===e.key&&(e.preventDefault(),f.stepDown()),setTimeout((()=>f.setAttribute("aria-valuenow",f.value)),0)};f.addEventListener("keydown",t),e._kynKeydown=t;const n=f.closest(".numInputWrapper");if(n){const e=n.querySelector(".arrowUp"),t=n.querySelector(".arrowDown");if(e){const t=e;t._kynClick&&e.removeEventListener("click",t._kynClick);const n=()=>{f.stepUp(),f.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>f.setAttribute("aria-valuenow",f.value)),0)};e.addEventListener("click",n),t._kynClick=n}if(t){const e=t;e._kynClick&&t.removeEventListener("click",e._kynClick);const n=()=>{f.stepDown(),f.dispatchEvent(new Event("input",{bubbles:!0})),setTimeout((()=>f.setAttribute("aria-valuenow",f.value)),0)};t.addEventListener("click",n),e._kynClick=n}}}const k=n.querySelector(".flatpickr-am-pm");if(k){k.tabIndex=0,k.setAttribute("role","button"),k.setAttribute("aria-label","Toggle AM/PM");const e=k;e._kynKeydown&&k.removeEventListener("keydown",e._kynKeydown);const t=e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),k.click())};k.addEventListener("keydown",t),e._kynKeydown=t}}))}function L(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year");t&&(e.style.display="",t.style.display="",t.disabled=!1,t.hasAttribute("tabindex")||(t.tabIndex=0))}))}function T(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}async function C(e,t,n){e&&e.clear(),t&&(t.value=""),n&&await n()}var _;function S(e,t){return(n,i,a,r)=>{const o=r.dateObj;e===_.END&&null!==t[0]?o.getTime()<=t[0].getTime()&&(o.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",c().dateNotAvailable),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",c().lockedStartDate))):e===_.START&&null!==t[1]?o.getTime()>=t[1].getTime()&&(o.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",c().lockedEndDate),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",c().dateNotAvailable))):e===_.NONE&&null!==t[0]&&null!==t[1]&&(o.getTime()===t[0].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",c().dateLocked),r.setAttribute("locked","start"),r.setAttribute("aria-disabled","true")):o.getTime()===t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",c().dateLocked),r.setAttribute("locked","end"),r.setAttribute("aria-disabled","true")):o.getTime()>t[0].getTime()&&o.getTime()<t[1].getTime()?(r.classList.add("flatpickr-locked-date"),r.setAttribute("title",c().dateInSelectedRange)):(r.classList.add("flatpickr-locked-date","flatpickr-disabled"),r.setAttribute("title",c().dateNotAvailable))),r.classList.contains("flatpickr-disabled")&&!r.classList.contains("flatpickr-locked-date")&&r.classList.add("flatpickr-locked-date")}}function N(e,t,n){return(i,a,r)=>{let o=null,l=null;if(e===_.END&&null!==t[0]&&(o=t[0]),e===_.START&&null!==t[1]&&(l=t[1]),e!==_.NONE||null===t[0]||null===t[1])if(null!==t[0]||null!==t[1]){if(e===_.END&&null!==o){let e=!1;const t=[...i];if(2===i.length&&i[0].getTime()!==o.getTime()?(t[0]=o,e=!0):1===i.length&&(t.splice(0,0,o),e=!0),e)return r.setDate(t,!1),void x(n,t,r.input.value,r)}if(e===_.START&&null!==l){let e=!1;const t=[...i];if(2===i.length&&i[1].getTime()!==l.getTime()?(t[1]=l,e=!0):1===i.length&&(t.push(l),e=!0),e)return r.setDate(t,!1),void x(n,t,r.input.value,r)}x(n,i,a,r)}else x(n,i,a,r);else r.setDate([t[0],t[1]],!1)}}function x(e,t,n,i){try{"function"==typeof e?e(t,n,i):Array.isArray(e)&&e.forEach((e=>{if("function"==typeof e)try{e(t,n,i)}catch(e){console.warn("Error in onChange hook:",e)}}))}catch(e){console.warn("Error calling original onChange handler:",e)}}function Y(e,t,n,i){i&&s(i);const a={...e};if(t===_.BOTH)return a;const r=a.onChange;a.clickOpens=!0;try{a.onDayCreate=S(t,n),a.onChange=N(t,n,r||(()=>{}))}catch(e){console.warn("Error setting up date range editing restrictions:",e)}return a}!function(e){e.BOTH="both",e.START="start",e.END="end",e.NONE="none"}(_||(_={}));export{_ as DateRangeEditableMode,o as _defaultCalendarTooltipStrings,Y as applyDateRangeEditingRestrictions,C as clearFlatpickrInput,N as createDateRangeChangeLockHandler,S as createDateRangeDayLockHandler,T as emitValue,E as getFlatpickrOptions,A as getModalContainer,w as getPlaceholder,c as getTextStrings,y as handleInputClick,m as handleInputFocus,L as hideEmptyYear,k as initializeMultiAnchorFlatpickr,b as initializeSingleAnchorFlatpickr,f as injectFlatpickrStyles,v as isValidDateFormat,g as loadLocale,p as modifyWeekdayShorthands,u as preventFlatpickrOpen,D as setCalendarAttributes,s as setTooltipStrings,h as updateEnableTime};
|
|
2
2
|
//# sourceMappingURL=flatpickr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flatpickr.js","sources":["../../../../src/common/helpers/flatpickr/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/esm/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/esm/l10n/default.js';\nimport { loadLocale as loadLocaleFromLangs } from './langs';\nimport { fixedOverlayPositionPlugin } from './overlay';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d h:i K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'Y-m-d H:i:S': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'm-d-Y H:i:S': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n 'd-m-Y H:i:S': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n /** @deprecated Prefer passing pre-normalized `value` and using setInitialDates in the component. */\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n onReady?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n const __anchorClickHandlers: { el: HTMLElement; fn: EventListener }[] =\n [];\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n inputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: inputEl, fn: handler });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n endinputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: endinputEl, fn: handler });\n }\n\n (flatpickrInstance as any).__anchorClickHandlers = __anchorClickHandlers;\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => flatpickrInstance.open();\n inputEl.addEventListener('click', handler);\n (flatpickrInstance as any).__anchorClickHandlers = [\n { el: inputEl, fn: handler },\n ];\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n if (prevBtn) {\n const anyPrev = prevBtn as any;\n if (anyPrev._kynKeydown) {\n prevBtn.removeEventListener('keydown', anyPrev._kynKeydown);\n }\n const prevKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n };\n prevBtn.addEventListener('keydown', prevKeydown);\n anyPrev._kynKeydown = prevKeydown;\n }\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n if (nextBtn) {\n const anyNext = nextBtn as any;\n if (anyNext._kynKeydown) {\n nextBtn.removeEventListener('keydown', anyNext._kynKeydown);\n }\n const nextKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n };\n nextBtn.addEventListener('keydown', nextKeydown);\n anyNext._kynKeydown = nextKeydown;\n }\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n\n const anyYear = yearInput as any;\n if (anyYear._kynKeydown) {\n yearInput.removeEventListener('keydown', anyYear._kynKeydown);\n }\n\n const yearKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n };\n\n yearInput.addEventListener('keydown', yearKeydown);\n anyYear._kynKeydown = yearKeydown;\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n\n const anyHour = hourInput as any;\n if (anyHour._kynKeydown) {\n hourInput.removeEventListener('keydown', anyHour._kynKeydown);\n }\n\n const hourKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n };\n\n hourInput.addEventListener('keydown', hourKeydown);\n anyHour._kynKeydown = hourKeydown;\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n\n const anyMinute = minuteInput as any;\n if (anyMinute._kynKeydown) {\n minuteInput.removeEventListener('keydown', anyMinute._kynKeydown);\n }\n\n const minuteKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n };\n\n minuteInput.addEventListener('keydown', minuteKeydown);\n anyMinute._kynKeydown = minuteKeydown;\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n\n const anyAmPm = ampmToggle as any;\n if (anyAmPm._kynKeydown) {\n ampmToggle.removeEventListener('keydown', anyAmPm._kynKeydown);\n }\n const ampmKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n };\n ampmToggle.addEventListener('keydown', ampmKeydown);\n anyAmPm._kynKeydown = ampmKeydown;\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\n }\n }\n });\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","__anchorClickHandlers","handler","open","addEventListener","push","fn","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","anyPrev","_kynKeydown","removeEventListener","prevKeydown","e","key","changeMonth","nextBtn","anyNext","nextKeydown","firstMonth","yearInput","tabIndex","String","updateNow","value","anyYear","yearKeydown","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","anyHour","hourKeydown","stepUp","stepDown","minuteInput","anyMinute","minuteKeydown","ampmToggle","anyAmPm","ampmKeydown","hideEmptyYear","wrapper","disabled","hasAttribute","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flatpickr.js","sources":["../../../../src/common/helpers/flatpickr/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/esm/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/esm/l10n/default.js';\nimport { loadLocale as loadLocaleFromLangs } from './langs';\nimport { fixedOverlayPositionPlugin } from './overlay';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d h:i K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'Y-m-d H:i:S': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'm-d-Y H:i:S': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n 'd-m-Y H:i:S': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n /** @deprecated Prefer passing pre-normalized `value` and using setInitialDates in the component. */\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n onReady?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n const __anchorClickHandlers: { el: HTMLElement; fn: EventListener }[] =\n [];\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n inputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: inputEl, fn: handler });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n endinputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: endinputEl, fn: handler });\n }\n\n (flatpickrInstance as any).__anchorClickHandlers = __anchorClickHandlers;\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => flatpickrInstance.open();\n inputEl.addEventListener('click', handler);\n (flatpickrInstance as any).__anchorClickHandlers = [\n { el: inputEl, fn: handler },\n ];\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n if (prevBtn) {\n const anyPrev = prevBtn as any;\n if (anyPrev._kynKeydown) {\n prevBtn.removeEventListener('keydown', anyPrev._kynKeydown);\n }\n const prevKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n };\n prevBtn.addEventListener('keydown', prevKeydown);\n anyPrev._kynKeydown = prevKeydown;\n }\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n if (nextBtn) {\n const anyNext = nextBtn as any;\n if (anyNext._kynKeydown) {\n nextBtn.removeEventListener('keydown', anyNext._kynKeydown);\n }\n const nextKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n };\n nextBtn.addEventListener('keydown', nextKeydown);\n anyNext._kynKeydown = nextKeydown;\n }\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n\n const anyYear = yearInput as any;\n if (anyYear._kynKeydown) {\n yearInput.removeEventListener('keydown', anyYear._kynKeydown);\n }\n\n const yearKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n };\n\n yearInput.addEventListener('keydown', yearKeydown);\n anyYear._kynKeydown = yearKeydown;\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n\n const anyHour = hourInput as any;\n if (anyHour._kynKeydown) {\n hourInput.removeEventListener('keydown', anyHour._kynKeydown);\n }\n\n const hourKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n };\n\n hourInput.addEventListener('keydown', hourKeydown);\n anyHour._kynKeydown = hourKeydown;\n\n // add click handlers for hour arrow buttons\n const hourWrapper = hourInput.closest('.numInputWrapper');\n if (hourWrapper) {\n const hourArrowUp = hourWrapper.querySelector<HTMLElement>('.arrowUp');\n const hourArrowDown =\n hourWrapper.querySelector<HTMLElement>('.arrowDown');\n\n if (hourArrowUp) {\n const anyArrowUp = hourArrowUp as any;\n if (anyArrowUp._kynClick) {\n hourArrowUp.removeEventListener('click', anyArrowUp._kynClick);\n }\n const arrowUpClick = () => {\n hourInput.stepUp();\n hourInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n };\n hourArrowUp.addEventListener('click', arrowUpClick);\n anyArrowUp._kynClick = arrowUpClick;\n }\n\n if (hourArrowDown) {\n const anyArrowDown = hourArrowDown as any;\n if (anyArrowDown._kynClick) {\n hourArrowDown.removeEventListener('click', anyArrowDown._kynClick);\n }\n const arrowDownClick = () => {\n hourInput.stepDown();\n hourInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n };\n hourArrowDown.addEventListener('click', arrowDownClick);\n anyArrowDown._kynClick = arrowDownClick;\n }\n }\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n\n const anyMinute = minuteInput as any;\n if (anyMinute._kynKeydown) {\n minuteInput.removeEventListener('keydown', anyMinute._kynKeydown);\n }\n\n const minuteKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n };\n\n minuteInput.addEventListener('keydown', minuteKeydown);\n anyMinute._kynKeydown = minuteKeydown;\n\n // add click handlers for minute arrow buttons\n const minuteWrapper = minuteInput.closest('.numInputWrapper');\n if (minuteWrapper) {\n const minuteArrowUp =\n minuteWrapper.querySelector<HTMLElement>('.arrowUp');\n const minuteArrowDown =\n minuteWrapper.querySelector<HTMLElement>('.arrowDown');\n\n if (minuteArrowUp) {\n const anyArrowUp = minuteArrowUp as any;\n if (anyArrowUp._kynClick) {\n minuteArrowUp.removeEventListener('click', anyArrowUp._kynClick);\n }\n const arrowUpClick = () => {\n minuteInput.stepUp();\n minuteInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () =>\n minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n };\n minuteArrowUp.addEventListener('click', arrowUpClick);\n anyArrowUp._kynClick = arrowUpClick;\n }\n\n if (minuteArrowDown) {\n const anyArrowDown = minuteArrowDown as any;\n if (anyArrowDown._kynClick) {\n minuteArrowDown.removeEventListener(\n 'click',\n anyArrowDown._kynClick\n );\n }\n const arrowDownClick = () => {\n minuteInput.stepDown();\n minuteInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () =>\n minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n };\n minuteArrowDown.addEventListener('click', arrowDownClick);\n anyArrowDown._kynClick = arrowDownClick;\n }\n }\n }\n\n // add seconds input handling if present\n const secondInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-second'\n );\n if (secondInput) {\n secondInput.tabIndex = 0;\n secondInput.setAttribute('role', 'spinbutton');\n secondInput.setAttribute('aria-label', 'Second');\n secondInput.setAttribute('aria-valuemin', secondInput.min);\n secondInput.setAttribute('aria-valuemax', secondInput.max);\n secondInput.setAttribute('aria-valuenow', secondInput.value);\n\n const anySecond = secondInput as any;\n if (anySecond._kynKeydown) {\n secondInput.removeEventListener('keydown', anySecond._kynKeydown);\n }\n\n const secondKeydown = (e: KeyboardEvent) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n secondInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n secondInput.stepDown();\n }\n setTimeout(\n () => secondInput.setAttribute('aria-valuenow', secondInput.value),\n 0\n );\n };\n\n secondInput.addEventListener('keydown', secondKeydown);\n anySecond._kynKeydown = secondKeydown;\n\n // add click handlers for second arrow buttons\n const secondWrapper = secondInput.closest('.numInputWrapper');\n if (secondWrapper) {\n const secondArrowUp =\n secondWrapper.querySelector<HTMLElement>('.arrowUp');\n const secondArrowDown =\n secondWrapper.querySelector<HTMLElement>('.arrowDown');\n\n if (secondArrowUp) {\n const anyArrowUp = secondArrowUp as any;\n if (anyArrowUp._kynClick) {\n secondArrowUp.removeEventListener('click', anyArrowUp._kynClick);\n }\n const arrowUpClick = () => {\n secondInput.stepUp();\n secondInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () =>\n secondInput.setAttribute('aria-valuenow', secondInput.value),\n 0\n );\n };\n secondArrowUp.addEventListener('click', arrowUpClick);\n anyArrowUp._kynClick = arrowUpClick;\n }\n\n if (secondArrowDown) {\n const anyArrowDown = secondArrowDown as any;\n if (anyArrowDown._kynClick) {\n secondArrowDown.removeEventListener(\n 'click',\n anyArrowDown._kynClick\n );\n }\n const arrowDownClick = () => {\n secondInput.stepDown();\n secondInput.dispatchEvent(new Event('input', { bubbles: true }));\n setTimeout(\n () =>\n secondInput.setAttribute('aria-valuenow', secondInput.value),\n 0\n );\n };\n secondArrowDown.addEventListener('click', arrowDownClick);\n anyArrowDown._kynClick = arrowDownClick;\n }\n }\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n\n const anyAmPm = ampmToggle as any;\n if (anyAmPm._kynKeydown) {\n ampmToggle.removeEventListener('keydown', anyAmPm._kynKeydown);\n }\n const ampmKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n };\n ampmToggle.addEventListener('keydown', ampmKeydown);\n anyAmPm._kynKeydown = ampmKeydown;\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\n }\n }\n });\n}\n\nexport function emitValue(\n element: HTMLElement,\n eventName: string,\n detail: any\n): void {\n element.dispatchEvent(\n new CustomEvent(eventName, {\n detail,\n bubbles: true,\n composed: true,\n })\n );\n}\n\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","__anchorClickHandlers","handler","open","addEventListener","push","fn","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","anyPrev","_kynKeydown","removeEventListener","prevKeydown","e","key","changeMonth","nextBtn","anyNext","nextKeydown","firstMonth","yearInput","tabIndex","String","updateNow","value","anyYear","yearKeydown","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","anyHour","hourKeydown","stepUp","stepDown","hourWrapper","hourArrowUp","hourArrowDown","anyArrowUp","_kynClick","arrowUpClick","dispatchEvent","Event","bubbles","anyArrowDown","arrowDownClick","minuteInput","anyMinute","minuteKeydown","minuteWrapper","minuteArrowUp","minuteArrowDown","secondInput","anySecond","secondKeydown","secondWrapper","secondArrowUp","secondArrowDown","ampmToggle","anyAmPm","ampmKeydown","hideEmptyYear","wrapper","disabled","hasAttribute","emitValue","eventName","detail","CustomEvent","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"mOASA,IAAIA,GAA0B,EAEvB,MAAMC,EAAiC,CAC5CC,gBAAiB,uBACjBC,cAAe,qBACfC,WAAY,iBACZC,iBAAkB,wBAClBC,oBAAqB,6BAOvB,IAAIC,EAAwB,IAAKN,GAE3B,SAAUO,EACdC,EAA0C,IAE1CF,EAAwB,IACnBN,KACAQ,EAEP,CAEM,SAAUC,EACdD,EAA0C,IAE1C,MAAO,IAAKF,KAA0BE,EACxC,CAiBA,MAAME,EAAsB,CAC1B,QAAS,aACT,QAAS,aACT,QAAS,aACT,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,yBAoCX,SAAUC,EACdC,EACAC,GAEAD,EAAME,iBACNF,EAAMG,kBACNH,EAAMI,2BACNH,GAAuB,EACzB,CAEM,SAAUI,EACdJ,GAEAA,GAAuB,EACzB,UAEgBK,EACdC,EACAC,EACAP,GAEKM,IACHC,IACAP,GAAuB,GAE3B,CAEM,SAAUQ,EAAwBC,UACZ,UAAtBA,EAAcC,gBAAQ,IAAAC,OAAA,EAAAA,EAAEC,aAC1BH,EAAcC,SAASE,UAAYH,EAAcC,SAASE,UAAUC,KACjEC,GAAQA,EAAIC,OAAO,KAG1B,CAEM,SAAUC,EAAsBC,GACpC,IAAK/B,EAAyB,CAC5B,MAAMgC,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,GAAK,0BAClBH,EAAaI,YAAcL,EAC3BE,SAASI,KAAKC,YAAYN,GAC1BhC,GAA0B,EAE9B,CAEOuC,eAAeC,EACpBC,GAEA,MAAMC,QACJA,EAAOC,WACPA,EAAUC,oBACVA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,GACEL,EAEJ,GAAKC,EAKL,IACE,MAAMK,QAAgBH,IAEhBI,EAAmBC,IACvB,GAAIA,aAAcC,iBAChB,OAAOD,EAEP,IACE,IAAIE,EAAQF,EAAGG,cAAc,SAC7B,IAAKD,EAAO,CAIV,GAHAA,EAAQlB,SAASC,cAAc,SAC/BiB,EAAME,KAAO,OACbF,EAAMG,MAAMC,QAAU,QACjBN,EAAGO,YACN,MAAM,IAAIC,MAAM,uCAElBR,EAAGX,YAAYa,GAEjB,OAAOA,EACP,MAAOO,GAEP,MADAC,QAAQD,MAAM,6CAA8CA,GACtDA,IAKNE,EAAeZ,EAAgBN,GACrC,GAAIC,EAAY,CACd,MAAMkB,EAAkBb,EAAgBL,GACxCI,EAAQe,QAAU,IACZf,EAAQe,SAAW,GACvBC,EAAY,CAAEZ,MAAOU,KAIzB,MAAMG,EAAoBC,EAAUL,EAAcb,GAElD,GAAIiB,EAAmB,CACrBE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GAEClB,GACFA,EAAgBkB,GAGlB,MAAMG,EACJ,GAEF,KAAMzB,aAAmBQ,kBAAmB,CAC1C,MAAMkB,EAAU,KACdJ,EAAkBK,MAAM,EAE1B3B,EAAQ4B,iBAAiB,QAASF,GAClCD,EAAsBI,KAAK,CAAEtB,GAAIP,EAAS8B,GAAIJ,IAGhD,GAAIzB,KAAgBA,aAAsBO,kBAAmB,CAC3D,MAAMkB,EAAU,KACdJ,EAAkBK,MAAM,EAE1B1B,EAAW2B,iBAAiB,QAASF,GACrCD,EAAsBI,KAAK,CAAEtB,GAAIN,EAAY6B,GAAIJ,IAKnD,OAFCJ,EAA0BG,sBAAwBA,EAE5CH,EAGP,YADAL,QAAQD,MAAM,kCAGhB,MAAOA,GAEP,YADAC,QAAQD,MAAM,gCAAiCA,QA/E/CC,QAAQD,MAAM,oDAkFlB,CAEOnB,eAAekC,EACpBhC,GAEA,MAAMC,QACJA,EAAOE,oBACPA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,EAAe4B,SACfA,GACEjC,EACJ,GAAKC,EAIL,IACE,MAAMK,QAAgBH,IAChB+B,EACJ5B,EAAQ6B,aAAgC,SAAjB7B,EAAQ8B,KAAkB,MAAQ,SAG3D,IAAIjB,EACJ,GAHAb,EAAQ6B,WAAaD,EAGjBjC,aAAmBQ,iBACrBU,EAAelB,EACfK,EAAQ+B,YAAa,OAErB,IACElB,EAAe3B,SAASC,cAAc,SACtC0B,EAAaP,KAAO,OACpBO,EAAaN,MAAMC,QAAU,OAE7B,MAAMwB,EAAgBL,GAAYhC,EAClC,IAAKqC,EACH,MAAM,IAAItB,MAAM,uCAGlBsB,EAAczC,YAAYsB,GAC1Bb,EAAQ+B,YAAa,EACrB/B,EAAQiC,gBAAkBtC,EAC1B,MAAOgB,GAEP,MADAC,QAAQD,MAAM,gCAAiCA,GACzCA,EAGV,MAAMM,EAAoBC,EAAUL,EAAcb,GAClD,GAAIiB,EAAmB,CAUrB,GATAE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GACClB,GACFA,EAAgBkB,KAGZtB,aAAmBQ,kBAAmB,CAC1C,MAAMkB,EAAU,IAAMJ,EAAkBK,OACxC3B,EAAQ4B,iBAAiB,QAASF,GACjCJ,EAA0BG,sBAAwB,CACjD,CAAElB,GAAIP,EAAS8B,GAAIJ,IAIvB,OAAOJ,EAGP,YADAL,QAAQD,MAAM,kCAGhB,MAAOA,GAEP,YADAC,QAAQD,MAAM,gCAAiCA,QAzD/CC,QAAQD,MAAM,oDA4DlB,CAEM,SAAUuB,EAAkBC,GAChC,OAAOA,KAAUvE,CACnB,CAEM,SAAUwE,EACdP,EACAQ,GAEA,IAAKR,EACH,OAAOQ,EAAc,2BAA6B,aAGpD,GAAIH,EAAkBL,GAAa,CAIjC,OAHoBQ,EAChB,GAAGzE,EAAoBiE,SAAkBjE,EAAoBiE,KAC7DjE,EAAoBiE,GAG1B,MAAO,aACT,CAEM,SAAUS,EAAWC,GACzB,OAAOC,EAAoBD,EAC7B,CAEM,SAAUE,EAAkBC,GAChC,IAAIC,EAAoBD,EAExB,KAAOC,GACL,GAAIA,aAAgBC,WAClBD,EAAOA,EAAKE,SADd,CAKA,KAAIF,aAAgBG,SASpB,MATA,CACE,MAAMC,EAAMJ,EAAKK,QAAQC,cACzB,GAAY,cAARF,GAA+B,oBAARA,EACzB,OAAOJ,EAETA,EAAOA,EAAKO,YAOhB,OAAOhE,SAASiE,IAClB,CAEO3D,eAAeK,EACpBH,SAEA,IAAKA,EAEH,OADAkB,QAAQD,MAAM,+CACP,CAAA,EAGT,MAAM4B,OACJA,EAAMV,WACNA,EAAUuB,WACVA,EAAUC,qBACVA,EAAoB1D,QACpBA,EAAO2D,WACPA,EAAUC,QACVA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,YACPA,EAAWC,YACXA,EAAWC,cACXA,EAAaC,OACbA,EAAMC,QACNA,EAAOjC,KACPA,EAAO,SAAQkC,cACfA,EAAaC,KACbA,GAAO,EAAKC,WACZA,GAAa,EAAKvC,SAClBA,EAAQwC,SACRA,EAAQC,QACRA,EAAOC,OACPA,EAAM/B,WACNA,GACE5C,EAUJ,IAAIlB,EARC+D,GACH3B,QAAQ0D,KAAK,iDAGVzC,GACHjB,QAAQ0D,KAAK,mDAIf,IACE9F,QAAsB8D,EAAWC,GACjChE,EAAwBC,GACxB,MAAOmC,GACPC,QAAQ0D,KAAK,iDAAkD3D,GAC/DnC,EAAgB+F,EAGlB,MAAMC,EAAajC,EAAOkC,MAAM,KAAK,GAAGxB,cAClCyB,EAA0B,CAAC,KAAM,MAAMC,SAASH,GAEhDI,EACc,oBAAXC,QAA0BA,OAAOC,YAAc,IAElDlD,EACJC,IACU,SAATC,EAAmBuB,EAAuB,MAAQ,QAAW,SAE1D0B,EAAiBtC,EAAkB/C,EAAQC,SAC3CqF,EAAYD,IAAmB7F,SAASiE,KAExCnD,EAAgC,CACpC6B,WAAYD,EACZE,KAAe,SAATA,EAAkB,SAAWA,EACnCsB,WAAqB,SAATtB,GAAyBsB,EACrCc,WAAqB,SAATpC,GAAyBoC,EACrCP,YAAaA,EACbsB,cAAerD,EAAoBqB,cAAc0B,SAAS,MAC1DrB,WAAYA,IAAc,EAC1BvB,YAAY,EACZmD,UACkC,kBAAzB7B,EACHA,GACCqB,EACPS,aAAa,EACbC,eAAQ1G,EAAAgB,EAAQ0F,uBAChBnB,OACAoB,WAAqB,UAATvD,GAAoB8C,EAAe,EAAI,EACnDU,kBAAmB,SACnB/C,OAAQ/D,EACRwF,cAAeA,QAAAA,IAA4B,aAATlC,GAAuBsB,GACzDe,SAAU,CAACoB,EAAeC,EAASC,KACjCtB,GAAYA,EAASoB,EAAeC,EAASC,EAAS,EAExDrB,QAAS,CAACmB,EAAeC,EAASC,KAChC,GAAa,UAAT3D,GAAoB2D,EAASC,kBAAmB,CAClD,MAAMC,EACJF,EAASC,kBAAkBrF,cAAc,mBACd,IAAzBkF,EAAcK,SAChBD,SAAAA,EAAeE,UAAUC,IAAI,uBAC7BH,SAAAA,EAAeE,UAAUE,OAAO,aAAc,aAGlD3B,GAAWA,EAAQmB,EAAeC,EAASC,EAAS,EAEtDpB,OAAQ,CAACkB,EAAeC,EAASC,KAC/BpB,GAAUA,EAAOkB,EAAeC,EAASC,EAAS,GAmCtD,GA/BIT,IACFhF,EAAQ2B,SAAWoD,EACnB/E,EAAQoF,QAAS,GAChBpF,EAAQe,UAARf,EAAQe,QAAY,KAAIS,KACvBwE,EAA2B,CACzBC,OAAQ,EACRC,kBAAmB,EACnBC,WAAW,MAKJ,UAATrE,IACF9B,EAAQoG,QAAU,CAACC,EAAGC,EAAIb,KACxB,GAAIA,EAASC,kBAAmB,CAC9B,MAAMC,EACJF,EAASC,kBAAkBrF,cAAc,mBAC3CsF,SAAAA,EAAeE,UAAUC,IAAI,0BAK7BnG,aAAmBQ,mBACvBH,EAAQiC,gBAAkBtC,GAGxB4D,IAASvD,EAAQuD,QAAUA,GAC3BC,IAASxD,EAAQwD,QAAUA,GAC3BC,IAASzD,EAAQyD,QAAUA,GAC3BC,IAAS1D,EAAQ0D,QAAUA,GAE3BC,EACF,IACE4C,MAAMC,QAAQ7C,IACJ,UAAT7B,GAA6B,aAATA,GAGhB,IAAKyE,MAAMC,QAAQ7C,IACG,iBAAhBA,EAA0B,CACnC,IAAI8C,EAA0B,KAC9B,OAAQ7E,GACN,IAAK,QAAS,CACZ,MAAO8E,EAAMC,EAAO9H,GAAO8E,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMH,IAAUG,MAAMF,IAAWE,MAAMhI,GAEpC,KADA,IAAIiI,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAOA,EAAK8H,EAAOD,GAAQ/C,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMhI,IAASgI,MAAMF,IAAWE,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAO8H,EAAO9H,EAAK6H,GAAQ/C,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMF,IAAWE,MAAMhI,IAASgI,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,QACE4H,EAAa,IAAIK,KAAKnD,GAG1B3D,EAAQ2D,YAAc8C,GAAc9C,QAjCtC3D,EAAQ2D,YAAcA,EAuD1B,OAlBIC,UACF5D,EAAQ4D,YAAcA,GACpBC,UACF7D,EAAQ6D,cAAgBA,GACtBC,GAAUA,EAAO8B,OAAS,IAAG5F,EAAQ8D,OAASA,GAC9CC,GAAWA,EAAQ6B,OAAS,IAC9B5F,EAAQ+D,QAAUA,EAAQnF,KAAKmI,IAC7B,GAAIA,aAAgBD,KAAM,OAAOC,EACjC,GAAoB,iBAATA,EAAmB,OAAO,IAAID,KAAKC,GAC9C,GAAoB,iBAATA,EAAmB,CAE5B,OADe7F,EAAU8F,UAAUD,EAAMnF,IACxBmF,EAEnB,OAAOA,CAAI,KAGXpF,IAAU3B,EAAQ2B,SAAWA,GAE1B3B,CACT,CAEM,SAAUiH,EAAiBpF,GAC/B,MAAMqF,EAAKrF,GAAc,GACzB,OACEqF,EAAGvC,SAAS,OAASuC,EAAGvC,SAAS,OAASuC,EAAGjE,cAAc0B,SAAS,KAExE,UAEgB7E,EACd2F,EACA0B,GAAgB,GAEhB,IAAK1B,IAAaA,EAAS2B,OACzB,OAGF,MAAMC,EAAY5B,EAASC,kBAC3B,IAAK2B,EAAW,OAEhB,MAAM9D,QAAEA,EAAOC,QAAEA,GAAYiC,EAAS2B,OACtC,GAAI7D,GAAWC,EAAS,CACT,IAAIsD,KAAKvD,GAAS+D,gBAClB,IAAIR,KAAKtD,GAAS8D,cAE7BD,EAAUxB,UAAUC,IAAI,eAExBuB,EAAUxB,UAAUE,OAAO,eAI/BwB,uBAAsB,KACpB,IAAK9B,IAAaA,EAAS2B,OACzB,OAGF,MAAMtF,EAAO2D,EAAS2B,OAAOtF,KAM7BuF,EAAUG,aAAa,OAAQ,eAC/BH,EAAUG,aAAa,aAAc,YACrCH,EAAUxB,UAAUE,OAClB,kBACA,iBACA,qBAEFsB,EAAUxB,UAAUC,IAClBqB,EAAgB,kBAAoB,qBAGtC,MAAMM,EAAWJ,EAAUhH,cAA2B,qBACtDoH,SAAAA,EAAUD,aAAa,WAAY,KACnCC,SAAAA,EAAUD,aAAa,OAAQ,SAC/BC,SAAAA,EAAUD,aAAa,aAAc,6BAErC,MAAME,EAAUL,EAAUhH,cACxB,yBAKF,GAHAqH,SAAAA,EAASF,aAAa,WAAY,KAClCE,SAAAA,EAASF,aAAa,OAAQ,UAC9BE,SAAAA,EAASF,aAAa,aAAc,kBAChCE,EAAS,CACX,MAAMC,EAAUD,EACZC,EAAQC,aACVF,EAAQG,oBAAoB,UAAWF,EAAQC,aAEjD,MAAME,EAAeC,IACL,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE/J,iBACFyH,EAASwC,kBAGbP,EAAQnG,iBAAiB,UAAWuG,GACpCH,EAAQC,YAAcE,EAGxB,MAAMI,EAAUb,EAAUhH,cACxB,yBAKF,GAHA6H,SAAAA,EAASV,aAAa,WAAY,KAClCU,SAAAA,EAASV,aAAa,OAAQ,UAC9BU,SAAAA,EAASV,aAAa,aAAc,cAChCU,EAAS,CACX,MAAMC,EAAUD,EACZC,EAAQP,aACVM,EAAQL,oBAAoB,UAAWM,EAAQP,aAEjD,MAAMQ,EAAeL,IACL,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE/J,iBACFyH,EAASwC,YAAY,KAGzBC,EAAQ3G,iBAAiB,UAAW6G,GACpCD,EAAQP,YAAcQ,EAGxB,MAAMC,EAAahB,EAAUhH,cAA2B,oBAClDiI,EAAYD,aAAU,EAAVA,EAAYhI,cAC5B,2BAEF,GAAIiI,EAAW,CACbA,EAAUC,SAAW,EACrBD,EAAUd,aAAa,OAAQ,cAC/Bc,EAAUd,aAAa,aAAc,QACjC/B,EAAS2B,OAAO7D,SAClB+E,EAAUd,aACR,gBACAgB,OAAO,IAAI1B,KAAKrB,EAAS2B,OAAO7D,SAAU+D,gBAG1C7B,EAAS2B,OAAO5D,SAClB8E,EAAUd,aACR,gBACAgB,OAAO,IAAI1B,KAAKrB,EAAS2B,OAAO5D,SAAU8D,gBAG9C,MAAMmB,EAAY,IAChBH,EAAUd,aAAa,gBAAiBc,EAAUI,OAE9CC,EAAUL,EACZK,EAAQf,aACVU,EAAUT,oBAAoB,UAAWc,EAAQf,aAGnD,MAAMgB,EAAeb,IACL,YAAVA,EAAEC,MACJD,EAAE/J,iBACFyH,EAASoD,WAAW,GACpB1H,WAAWsH,EAAW,IAEV,cAAVV,EAAEC,MACJD,EAAE/J,iBACFyH,EAASoD,eACT1H,WAAWsH,EAAW,KAI1BH,EAAU/G,iBAAiB,UAAWqH,GACtCD,EAAQf,YAAcgB,EACtBzH,WAAWsH,EAAW,GAGxB,MAAMK,EAAWzB,EAAUhH,cAA2B,mBACtDyI,SAAAA,EAAUC,gBAAgB,YAC1BD,SAAAA,EAAUtB,aAAa,OAAQ,QAC/BsB,SAAAA,EAAUtB,aACR,uBACS,aAAT1F,EAAsB,OAAS,SAGjC,MAAMkH,EAAczC,MAAM0C,KACxB5B,EAAU6B,iBACR,4CAGJF,EAAYG,SAAStK,IACnBA,EAAI0J,SAAW,EACf1J,EAAI2I,aAAa,OAAiB,UAAT1F,EAAmB,WAAa,SAAS,IAGpE,MAAMsH,EAAU/B,EAAkBgC,aAC9BD,GAAQ/B,EAAUQ,oBAAoB,UAAWuB,GAErD,MAAME,EAAevB,IACnB,MAAMwB,EAAaxB,EAAEyB,OAAuBC,QAC1C,2CAEF,GAAKF,EAEL,OAAQxB,EAAEC,KACR,IAAK,QACL,IAAK,IAGH,OAFAD,EAAE/J,sBACFuL,EAAUG,QAEZ,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,UAAW,CACd3B,EAAE/J,iBACF,MAAM2L,EAAMX,EAAYY,QAAQL,GAChC,IAAIM,EACJ,OAAQ9B,EAAEC,KACR,IAAK,aACH6B,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,UACHE,EAAUF,EAAM,EAChB,MACF,QACE,OAEJ,MAAMG,EAAOd,EAAYa,GAEzB,YADIC,GAAMA,EAAKC,YAKrB1C,EAAU9F,iBAAiB,UAAW+H,GACrCjC,EAAkBgC,aAAeC,EAElC,MAAMU,EAAY3C,EAAUhH,cAC1B,wBAEF,GAAI2J,EAAW,CACbA,EAAUzB,SAAW,EACrByB,EAAUxC,aAAa,OAAQ,cAC/BwC,EAAUxC,aAAa,aAAc,QACrCwC,EAAUxC,aAAa,gBAAiBwC,EAAUC,KAClDD,EAAUxC,aAAa,gBAAiBwC,EAAUE,KAClDF,EAAUxC,aAAa,gBAAiBwC,EAAUtB,OAElD,MAAMyB,EAAUH,EACZG,EAAQvC,aACVoC,EAAUnC,oBAAoB,UAAWsC,EAAQvC,aAGnD,MAAMwC,EAAerC,IACL,YAAVA,EAAEC,MACJD,EAAE/J,iBACFgM,EAAUK,UAEE,cAAVtC,EAAEC,MACJD,EAAE/J,iBACFgM,EAAUM,YAEZnJ,YACE,IAAM6I,EAAUxC,aAAa,gBAAiBwC,EAAUtB,QACxD,EACD,EAGHsB,EAAUzI,iBAAiB,UAAW6I,GACtCD,EAAQvC,YAAcwC,EAGtB,MAAMG,EAAcP,EAAUP,QAAQ,oBACtC,GAAIc,EAAa,CACf,MAAMC,EAAcD,EAAYlK,cAA2B,YACrDoK,EACJF,EAAYlK,cAA2B,cAEzC,GAAImK,EAAa,CACf,MAAME,EAAaF,EACfE,EAAWC,WACbH,EAAY3C,oBAAoB,QAAS6C,EAAWC,WAEtD,MAAMC,EAAe,KACnBZ,EAAUK,SACVL,EAAUa,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACtD5J,YACE,IAAM6I,EAAUxC,aAAa,gBAAiBwC,EAAUtB,QACxD,EACD,EAEH8B,EAAYjJ,iBAAiB,QAASqJ,GACtCF,EAAWC,UAAYC,EAGzB,GAAIH,EAAe,CACjB,MAAMO,EAAeP,EACjBO,EAAaL,WACfF,EAAc5C,oBAAoB,QAASmD,EAAaL,WAE1D,MAAMM,EAAiB,KACrBjB,EAAUM,WACVN,EAAUa,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACtD5J,YACE,IAAM6I,EAAUxC,aAAa,gBAAiBwC,EAAUtB,QACxD,EACD,EAEH+B,EAAclJ,iBAAiB,QAAS0J,GACxCD,EAAaL,UAAYM,IAK/B,MAAMC,EAAc7D,EAAUhH,cAC5B,0BAEF,GAAI6K,EAAa,CACfA,EAAY3C,SAAW,EACvB2C,EAAY1D,aAAa,OAAQ,cACjC0D,EAAY1D,aAAa,aAAc,UACvC0D,EAAY1D,aAAa,gBAAiB0D,EAAYjB,KACtDiB,EAAY1D,aAAa,gBAAiB0D,EAAYhB,KACtDgB,EAAY1D,aAAa,gBAAiB0D,EAAYxC,OAEtD,MAAMyC,EAAYD,EACdC,EAAUvD,aACZsD,EAAYrD,oBAAoB,UAAWsD,EAAUvD,aAGvD,MAAMwD,EAAiBrD,IACP,YAAVA,EAAEC,MACJD,EAAE/J,iBACFkN,EAAYb,UAEA,cAAVtC,EAAEC,MACJD,EAAE/J,iBACFkN,EAAYZ,YAEdnJ,YACE,IAAM+J,EAAY1D,aAAa,gBAAiB0D,EAAYxC,QAC5D,EACD,EAGHwC,EAAY3J,iBAAiB,UAAW6J,GACxCD,EAAUvD,YAAcwD,EAGxB,MAAMC,EAAgBH,EAAYzB,QAAQ,oBAC1C,GAAI4B,EAAe,CACjB,MAAMC,EACJD,EAAchL,cAA2B,YACrCkL,EACJF,EAAchL,cAA2B,cAE3C,GAAIiL,EAAe,CACjB,MAAMZ,EAAaY,EACfZ,EAAWC,WACbW,EAAczD,oBAAoB,QAAS6C,EAAWC,WAExD,MAAMC,EAAe,KACnBM,EAAYb,SACZa,EAAYL,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACxD5J,YACE,IACE+J,EAAY1D,aAAa,gBAAiB0D,EAAYxC,QACxD,EACD,EAEH4C,EAAc/J,iBAAiB,QAASqJ,GACxCF,EAAWC,UAAYC,EAGzB,GAAIW,EAAiB,CACnB,MAAMP,EAAeO,EACjBP,EAAaL,WACfY,EAAgB1D,oBACd,QACAmD,EAAaL,WAGjB,MAAMM,EAAiB,KACrBC,EAAYZ,WACZY,EAAYL,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACxD5J,YACE,IACE+J,EAAY1D,aAAa,gBAAiB0D,EAAYxC,QACxD,EACD,EAEH6C,EAAgBhK,iBAAiB,QAAS0J,GAC1CD,EAAaL,UAAYM,IAM/B,MAAMO,EAAcnE,EAAUhH,cAC5B,0BAEF,GAAImL,EAAa,CACfA,EAAYjD,SAAW,EACvBiD,EAAYhE,aAAa,OAAQ,cACjCgE,EAAYhE,aAAa,aAAc,UACvCgE,EAAYhE,aAAa,gBAAiBgE,EAAYvB,KACtDuB,EAAYhE,aAAa,gBAAiBgE,EAAYtB,KACtDsB,EAAYhE,aAAa,gBAAiBgE,EAAY9C,OAEtD,MAAM+C,EAAYD,EACdC,EAAU7D,aACZ4D,EAAY3D,oBAAoB,UAAW4D,EAAU7D,aAGvD,MAAM8D,EAAiB3D,IACP,YAAVA,EAAEC,MACJD,EAAE/J,iBACFwN,EAAYnB,UAEA,cAAVtC,EAAEC,MACJD,EAAE/J,iBACFwN,EAAYlB,YAEdnJ,YACE,IAAMqK,EAAYhE,aAAa,gBAAiBgE,EAAY9C,QAC5D,EACD,EAGH8C,EAAYjK,iBAAiB,UAAWmK,GACxCD,EAAU7D,YAAc8D,EAGxB,MAAMC,EAAgBH,EAAY/B,QAAQ,oBAC1C,GAAIkC,EAAe,CACjB,MAAMC,EACJD,EAActL,cAA2B,YACrCwL,EACJF,EAActL,cAA2B,cAE3C,GAAIuL,EAAe,CACjB,MAAMlB,EAAakB,EACflB,EAAWC,WACbiB,EAAc/D,oBAAoB,QAAS6C,EAAWC,WAExD,MAAMC,EAAe,KACnBY,EAAYnB,SACZmB,EAAYX,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACxD5J,YACE,IACEqK,EAAYhE,aAAa,gBAAiBgE,EAAY9C,QACxD,EACD,EAEHkD,EAAcrK,iBAAiB,QAASqJ,GACxCF,EAAWC,UAAYC,EAGzB,GAAIiB,EAAiB,CACnB,MAAMb,EAAea,EACjBb,EAAaL,WACfkB,EAAgBhE,oBACd,QACAmD,EAAaL,WAGjB,MAAMM,EAAiB,KACrBO,EAAYlB,WACZkB,EAAYX,cAAc,IAAIC,MAAM,QAAS,CAAEC,SAAS,KACxD5J,YACE,IACEqK,EAAYhE,aAAa,gBAAiBgE,EAAY9C,QACxD,EACD,EAEHmD,EAAgBtK,iBAAiB,QAAS0J,GAC1CD,EAAaL,UAAYM,IAK/B,MAAMa,EAAazE,EAAUhH,cAA2B,oBACxD,GAAIyL,EAAY,CACdA,EAAWvD,SAAW,EACtBuD,EAAWtE,aAAa,OAAQ,UAChCsE,EAAWtE,aAAa,aAAc,gBAEtC,MAAMuE,EAAUD,EACZC,EAAQnE,aACVkE,EAAWjE,oBAAoB,UAAWkE,EAAQnE,aAEpD,MAAMoE,EAAejE,IACL,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE/J,iBACF8N,EAAWpC,UAGfoC,EAAWvK,iBAAiB,UAAWyK,GACvCD,EAAQnE,YAAcoE,KAG5B,UAEgBC,IAEd/M,SAASgK,iBAAiB,oBAAoBC,SAAS+C,IACrD,MAAM5D,EAAY4D,EAAQ7L,cACxB,sBAEEiI,IACD4D,EAAwB3L,MAAMC,QAAU,GAEzC8H,EAAU/H,MAAMC,QAAU,GAC1B8H,EAAU6D,UAAW,EAEhB7D,EAAU8D,aAAa,cAC1B9D,EAAUC,SAAW,MAI7B,UAEgB8D,EACd3J,EACA4J,EACAC,GAEA7J,EAAQmI,cACN,IAAI2B,YAAYF,EAAW,CACzBC,SACAxB,SAAS,EACT0B,UAAU,IAGhB,CAEOjN,eAAekN,EACpBzL,EACAtB,EACAgN,GAEI1L,GACFA,EAAkB2L,QAGhBjN,IACFA,EAAQ+I,MAAQ,IAGdiE,SACIA,GAEV,KAEYE,EAON,SAAUC,EACdC,EACAC,GAOA,MAAO,CAACC,EAAOC,EAAOC,EAAKC,KACzB,MAAMC,EAAcD,EAAQE,QAG1BP,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvH,UAAUC,IAAI,yBACtBsH,EAAQ5F,aAAa,QAAS7J,IAAiBL,kBAC/C8P,EAAQ5F,aAAa,SAAU,SAC/B4F,EAAQ5F,aAAa,gBAAiB,UAEtC4F,EAAQvH,UAAUC,IAAI,wBAAyB,sBAC/CsH,EAAQ5F,aAAa,QAAS7J,IAAiBR,mBAInD4P,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvH,UAAUC,IAAI,yBACtBsH,EAAQ5F,aAAa,QAAS7J,IAAiBP,eAC/CgQ,EAAQ5F,aAAa,SAAU,OAC/B4F,EAAQ5F,aAAa,gBAAiB,UAEtC4F,EAAQvH,UAAUC,IAAI,wBAAyB,sBAC/CsH,EAAQ5F,aAAa,QAAS7J,IAAiBL,oBAInDyP,IAAiBF,EAAsBa,MACnB,OAApBV,EAAa,IACO,OAApBA,EAAa,KAETK,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvH,UAAUC,IAAI,yBACtBsH,EAAQ5F,aAAa,QAAS7J,IAAiBN,YAC/C+P,EAAQ5F,aAAa,SAAU,SAC/B4F,EAAQ5F,aAAa,gBAAiB,SAC7B6F,EAAYG,YAAcR,EAAa,GAAGQ,WACnDJ,EAAQvH,UAAUC,IAAI,yBACtBsH,EAAQ5F,aAAa,QAAS7J,IAAiBN,YAC/C+P,EAAQ5F,aAAa,SAAU,OAC/B4F,EAAQ5F,aAAa,gBAAiB,SAEtC6F,EAAYG,UAAYR,EAAa,GAAGQ,WACxCH,EAAYG,UAAYR,EAAa,GAAGQ,WAExCJ,EAAQvH,UAAUC,IAAI,yBACtBsH,EAAQ5F,aAAa,QAAS7J,IAAiBJ,uBAE/C6P,EAAQvH,UAAUC,IAAI,wBAAyB,sBAC/CsH,EAAQ5F,aAAa,QAAS7J,IAAiBL,oBAKjD8P,EAAQvH,UAAU8H,SAAS,wBAC1BP,EAAQvH,UAAU8H,SAAS,0BAE5BP,EAAQvH,UAAUC,IAAI,yBAG5B,UAEgB8H,EACdb,EACAC,EACAa,GAEA,MAAO,CAACtI,EAAeC,EAASC,KAC9B,IAAItI,EAA+B,KAC/BC,EAA6B,KAejC,GAZE2P,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,KAEb7P,EAAkB6P,EAAa,IAG/BD,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,KAEb5P,EAAgB4P,EAAa,IAG3BD,IAAiBF,EAAsBa,MACjB,OAApBV,EAAa,IAAmC,OAApBA,EAAa,GAM/C,GAAwB,OAApBA,EAAa,IAAmC,OAApBA,EAAa,GAA7C,CAKA,GACED,IAAiBF,EAAsBU,KACnB,OAApBpQ,EACA,CACA,IAAI2Q,GAAW,EACf,MAAMC,EAAW,IAAIxI,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAGiI,YAAcrQ,EAAgBqQ,WAE/CO,EAAS,GAAK5Q,EACd2Q,GAAW,GACuB,IAAzBvI,EAAcK,SACvBmI,EAASC,OAAO,EAAG,EAAG7Q,GACtB2Q,GAAW,GAGTA,EAQF,OAPArI,EAASwI,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAtI,EAASrF,MAAMsI,MACfjD,GAMN,GACEsH,IAAiBF,EAAsBY,OACrB,OAAlBrQ,EACA,CACA,IAAI0Q,GAAW,EACf,MAAMC,EAAW,IAAIxI,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAGiI,YAAcpQ,EAAcoQ,WAE7CO,EAAS,GAAK3Q,EACd0Q,GAAW,GACuB,IAAzBvI,EAAcK,SACvBmI,EAASvM,KAAKpE,GACd0Q,GAAW,GAGTA,EAQF,OAPArI,EAASwI,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAtI,EAASrF,MAAMsI,MACfjD,GAMNyI,EAAqBL,EAAkBtI,EAAeC,EAASC,QAhE7DyI,EAAqBL,EAAkBtI,EAAeC,EAASC,QAN7DA,EAASwI,QAAQ,CAACjB,EAAa,GAAIA,EAAa,KAAK,EAsEe,CAE5E,CAEA,SAASkB,EACPL,EACAtI,EACAC,EACAC,GAEA,IACkC,mBAArBoI,EACTA,EAAiBtI,EAAeC,EAASC,GAChCc,MAAMC,QAAQqH,IACvBA,EAAiB1E,SAASgF,IACxB,GAAoB,mBAATA,EACT,IACEA,EAAK5I,EAAeC,EAASC,GAC7B,MAAOsC,GACPnH,QAAQ0D,KAAK,0BAA2ByD,OAKhD,MAAOA,GACPnH,QAAQ0D,KAAK,2CAA4CyD,GAE7D,CAEM,SAAUqG,EACdpO,EACA+M,EACAC,EACAqB,GAEIA,GACF5Q,EAAkB4Q,GAEpB,MAAMC,EAAa,IAAKtO,GAExB,GAAI+M,IAAiBF,EAAsB0B,KACzC,OAAOD,EAGT,MAAMT,EAAmBS,EAAWnK,SAEpCmK,EAAWvM,YAAa,EAExB,IACEuM,EAAWE,YAAc1B,EACvBC,EACAC,GAGFsB,EAAWnK,SAAWyJ,EACpBb,EACAC,EACAa,GAAgB,MAAa,IAE/B,MAAO9F,GACPnH,QAAQ0D,KAAK,oDAAqDyD,GAGpE,OAAOuG,CACT,EAnPA,SAAYzB,GACVA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,KAAA,MACD,CALD,CAAYA,IAAAA,EAAqB,CAAA"}
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
export { _defaultCalendarTooltipStrings, type FlatpickrTextStrings, setTooltipStrings, getTextStrings, preventFlatpickrOpen, handleInputClick, handleInputFocus, modifyWeekdayShorthands, injectFlatpickrStyles, initializeMultiAnchorFlatpickr, initializeSingleAnchorFlatpickr, isValidDateFormat, getPlaceholder, loadLocale, getModalContainer, getFlatpickrOptions, updateEnableTime, setCalendarAttributes, hideEmptyYear, emitValue, clearFlatpickrInput, DateRangeEditableMode, createDateRangeDayLockHandler, createDateRangeChangeLockHandler, applyDateRangeEditingRestrictions, } from './flatpickr';
|
|
5
5
|
export { langsArray, type SupportedLocale, isSupportedLocale, loadLocale as loadLocaleFromLangs, preloadAllLocales, } from './langs';
|
|
6
6
|
export { fixedOverlayPositionPlugin } from './overlay';
|
|
7
|
-
export { debounce, generateRandomId, parseDateOnly, parseDateTime, parseTimeString, normalizeToDate, isEmptyValue, timesEqual, datesEqual, cleanupFlatpickrInstance, type AnchorClickHandler, updateFormValue, createFormSubmitListener, type ValidationResult, type ValidationOptions, validatePickerInput, mergeTextStrings, CONFIG_DEBOUNCE_DELAY, RESIZE_DEBOUNCE_DELAY, VISIBILITY_CHECK_INTERVAL, } from './utils';
|
|
7
|
+
export { debounce, generateRandomId, parseDateOnly, parseDateTime, parseTimeString, normalizeToDate, isValidDate, filterValidDates, isEmptyValue, timesEqual, datesEqual, cleanupFlatpickrInstance, type AnchorClickHandler, updateFormValue, createFormSubmitListener, type ValidationResult, type ValidationOptions, validatePickerInput, mergeTextStrings, CONFIG_DEBOUNCE_DELAY, RESIZE_DEBOUNCE_DELAY, VISIBILITY_CHECK_INTERVAL, } from './utils';
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,iBAAiB,EACjB,UAAU,IAAI,mBAAmB,EACjC,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,YAAY,EACZ,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,eAAe,EACf,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACL,8BAA8B,EAC9B,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,qBAAqB,EACrB,8BAA8B,EAC9B,+BAA+B,EAC/B,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,qBAAqB,EACrB,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,GAClC,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,iBAAiB,EACjB,UAAU,IAAI,mBAAmB,EACjC,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAGvD,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,eAAe,EACf,wBAAwB,EACxB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,SAAS,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{DateRangeEditableMode,_defaultCalendarTooltipStrings,applyDateRangeEditingRestrictions,clearFlatpickrInput,createDateRangeChangeLockHandler,createDateRangeDayLockHandler,emitValue,getFlatpickrOptions,getModalContainer,getPlaceholder,getTextStrings,handleInputClick,handleInputFocus,hideEmptyYear,initializeMultiAnchorFlatpickr,initializeSingleAnchorFlatpickr,injectFlatpickrStyles,isValidDateFormat,loadLocale,modifyWeekdayShorthands,preventFlatpickrOpen,setCalendarAttributes,setTooltipStrings,updateEnableTime}from"./flatpickr.js";export{isSupportedLocale,langsArray,loadLocale as loadLocaleFromLangs,preloadAllLocales}from"./langs.js";export{fixedOverlayPositionPlugin}from"./overlay.js";export{CONFIG_DEBOUNCE_DELAY,RESIZE_DEBOUNCE_DELAY,VISIBILITY_CHECK_INTERVAL,cleanupFlatpickrInstance,createFormSubmitListener,datesEqual,debounce,generateRandomId,isEmptyValue,mergeTextStrings,normalizeToDate,parseDateOnly,parseDateTime,parseTimeString,timesEqual,updateFormValue,validatePickerInput}from"./utils.js";import"flatpickr";import"flatpickr/dist/esm/plugins/rangePlugin";import"flatpickr/dist/esm/l10n/default.js";
|
|
1
|
+
export{DateRangeEditableMode,_defaultCalendarTooltipStrings,applyDateRangeEditingRestrictions,clearFlatpickrInput,createDateRangeChangeLockHandler,createDateRangeDayLockHandler,emitValue,getFlatpickrOptions,getModalContainer,getPlaceholder,getTextStrings,handleInputClick,handleInputFocus,hideEmptyYear,initializeMultiAnchorFlatpickr,initializeSingleAnchorFlatpickr,injectFlatpickrStyles,isValidDateFormat,loadLocale,modifyWeekdayShorthands,preventFlatpickrOpen,setCalendarAttributes,setTooltipStrings,updateEnableTime}from"./flatpickr.js";export{isSupportedLocale,langsArray,loadLocale as loadLocaleFromLangs,preloadAllLocales}from"./langs.js";export{fixedOverlayPositionPlugin}from"./overlay.js";export{CONFIG_DEBOUNCE_DELAY,RESIZE_DEBOUNCE_DELAY,VISIBILITY_CHECK_INTERVAL,cleanupFlatpickrInstance,createFormSubmitListener,datesEqual,debounce,filterValidDates,generateRandomId,isEmptyValue,isValidDate,mergeTextStrings,normalizeToDate,parseDateOnly,parseDateTime,parseTimeString,timesEqual,updateFormValue,validatePickerInput}from"./utils.js";import"flatpickr";import"flatpickr/dist/esm/plugins/rangePlugin";import"flatpickr/dist/esm/l10n/default.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -32,6 +32,17 @@ export declare function parseTimeString(time: string | number | Date): Date | nu
|
|
|
32
32
|
* Handles Date objects, timestamps, and strings.
|
|
33
33
|
*/
|
|
34
34
|
export declare function normalizeToDate(value: string | number | Date | '' | null | undefined, parseDateString?: (str: string) => Date | null): Date | null;
|
|
35
|
+
/**
|
|
36
|
+
* Type guard that checks if a value is a valid Date object.
|
|
37
|
+
* Returns true only if the value is a Date instance with a valid time value.
|
|
38
|
+
*/
|
|
39
|
+
export declare function isValidDate(value: unknown): value is Date;
|
|
40
|
+
/**
|
|
41
|
+
* Filters an array to only include valid Date objects.
|
|
42
|
+
* Useful for defensive handling of flatpickr callbacks which may occasionally
|
|
43
|
+
* pass non-Date values during certain interactions (e.g., time input changes).
|
|
44
|
+
*/
|
|
45
|
+
export declare function filterValidDates(dates: unknown[]): Date[];
|
|
35
46
|
/**
|
|
36
47
|
* Checks if a value is empty (null, undefined, empty string, or empty array).
|
|
37
48
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAM9D;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,EAChE,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,MAAM,GACX,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAYlC;AAMD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAMD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAuB1D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CA0B1D;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CA+CzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,EACrD,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,GAC7C,IAAI,GAAG,IAAI,CAiCb;AAMD;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,IAAI,GAAG,SAAS,GAAG,EAAE,GAAG,EAAE,CAgBrC;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAC1B,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GACzB,OAAO,CAQT;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAC1B,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GACzB,OAAO,CAQT;AAMD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAgB7E;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,WAAW,CAAC;IAChB,EAAE,EAAE,aAAa,CAAC;CACnB,CAAC;AAMF;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,gBAAgB,GAAG,SAAS,EACvC,OAAO,EAAE,gBAAgB,GAAG,IAAI,GAC/B,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,EAC1D,eAAe,EAAE,MAAM,OAAO,EAC9B,aAAa,EAAE,MAAM,OAAO,GAC3B,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,CAO1B;AAMD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,aAAa,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAqClB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/D,QAAQ,EAAE,CAAC,EACX,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,CAAC,CAEH;AAMD,uEAAuE;AACvE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,sEAAsE;AACtE,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAEzC,oEAAoE;AACpE,eAAO,MAAM,yBAAyB,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/common/helpers/flatpickr/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function e(e,t){let n=null;return(...r)=>{null!==n&&window.clearTimeout(n),n=window.setTimeout((()=>{e(...r),n=null}),t)}}function t(e){return`${e}-${Math.random().toString(36).slice(2,11)}`}function n(e){const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),u=Number(t[3]);if(r<1||r>12||u<1||u>31)return null;const i=new Date(n,r-1,u);return i.getFullYear()!==n||i.getMonth()!==r-1||i.getDate()!==u||isNaN(i.getTime())?null:i}function r(e){const t=/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?$/.exec(e);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),u=Number(t[3]),i=Number(t[4]),l=Number(t[5]),o=void 0!==t[6]?Number(t[6]):0;if(r<1||r>12||u<1||u>31)return null;if(i<0||i>23||l<0||l>59||o<0||o>59)return null;const s=new Date(n,r-1,u,i,l,o);return s.getFullYear()!==n||s.getMonth()!==r-1||s.getDate()!==u||isNaN(s.getTime())?null:s}function u(e){if(e instanceof Date)return e;if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}if("string"==typeof e){const t=e.trim(),n=/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*([ap]m)?$/i.exec(t);if(!n)return null;let r=Number(n[1]);const u=Number(n[2]),i=void 0!==n[3]?Number(n[3]):0,l=n[4];if(Number.isNaN(r)||Number.isNaN(u)||Number.isNaN(i))return null;if(l){const e=l.toLowerCase();"pm"===e&&r<12&&(r+=12),"am"===e&&12===r&&(r=0)}if(r<0||r>23||u<0||u>59||i<0||i>59)return null;const o=new Date;return o.setHours(r,u,i,0),o}return null}function i(e,t){if(!e)return null;if(e instanceof Date)return isNaN(e.getTime())?null:e;if("number"==typeof e){const t=new Date(e);return isNaN(t.getTime())?null:t}if("string"==typeof e){if(t)return t(e);if(e.includes("T")){const t=new Date(e);return isNaN(t.getTime())?null:t}const u=r(e);return u||n(e)}return null}function l(e){return null==e||("string"==typeof e?""===e.trim():!!Array.isArray(e)&&(0===e.length||e.every((e=>null==e||"string"==typeof e&&""===e.trim()))))}function
|
|
1
|
+
function e(e,t){let n=null;return(...r)=>{null!==n&&window.clearTimeout(n),n=window.setTimeout((()=>{e(...r),n=null}),t)}}function t(e){return`${e}-${Math.random().toString(36).slice(2,11)}`}function n(e){const t=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),u=Number(t[3]);if(r<1||r>12||u<1||u>31)return null;const i=new Date(n,r-1,u);return i.getFullYear()!==n||i.getMonth()!==r-1||i.getDate()!==u||isNaN(i.getTime())?null:i}function r(e){const t=/^(\d{4})-(\d{2})-(\d{2})[ T](\d{2}):(\d{2})(?::(\d{2}))?$/.exec(e);if(!t)return null;const n=Number(t[1]),r=Number(t[2]),u=Number(t[3]),i=Number(t[4]),l=Number(t[5]),o=void 0!==t[6]?Number(t[6]):0;if(r<1||r>12||u<1||u>31)return null;if(i<0||i>23||l<0||l>59||o<0||o>59)return null;const s=new Date(n,r-1,u,i,l,o);return s.getFullYear()!==n||s.getMonth()!==r-1||s.getDate()!==u||isNaN(s.getTime())?null:s}function u(e){if(e instanceof Date)return e;if("number"==typeof e){const t=new Date(e);return Number.isNaN(t.getTime())?null:t}if("string"==typeof e){const t=e.trim(),n=/^(\d{1,2}):(\d{2})(?::(\d{2}))?\s*([ap]m)?$/i.exec(t);if(!n)return null;let r=Number(n[1]);const u=Number(n[2]),i=void 0!==n[3]?Number(n[3]):0,l=n[4];if(Number.isNaN(r)||Number.isNaN(u)||Number.isNaN(i))return null;if(l){const e=l.toLowerCase();"pm"===e&&r<12&&(r+=12),"am"===e&&12===r&&(r=0)}if(r<0||r>23||u<0||u>59||i<0||i>59)return null;const o=new Date;return o.setHours(r,u,i,0),o}return null}function i(e,t){if(!e)return null;if(e instanceof Date)return isNaN(e.getTime())?null:e;if("number"==typeof e){const t=new Date(e);return isNaN(t.getTime())?null:t}if("string"==typeof e){if(t)return t(e);if(e.includes("T")){const t=new Date(e);return isNaN(t.getTime())?null:t}const u=r(e);return u||n(e)}return null}function l(e){return e instanceof Date&&!isNaN(e.getTime())}function o(e){return e.filter((e=>l(e)))}function s(e){return null==e||("string"==typeof e?""===e.trim():!!Array.isArray(e)&&(0===e.length||e.every((e=>null==e||"string"==typeof e&&""===e.trim()))))}function a(e,t){return!e&&!t||!(!e||!t)&&(e.getHours()===t.getHours()&&e.getMinutes()===t.getMinutes()&&e.getSeconds()===t.getSeconds())}function c(e,t){return!e&&!t||!(!e||!t)&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate())}function f(e){if(!e)return;const t=e.__anchorClickHandlers;Array.isArray(t)&&t.forEach((e=>{try{e.el.removeEventListener("click",e.fn)}catch{}})),e.destroy()}function m(e,t){e&&t&&e.setFormValue(t.value)}function g(e,t,n){return r=>{e(!0,!0),t()&&!n()||r.preventDefault()}}function N(e){const{inputEl:t,required:n,isEmpty:r,invalidText:u,defaultErrorMessage:i,customValidation:l}=e;let o=t.validity,s=t.validationMessage;if(n&&r&&(o={...o,valueMissing:!0},s=i||"This field is required"),l){const{valid:e,message:t}=l();e||(o={...o,customError:!0},t&&(s=t))}u&&(o={...o,customError:!0},s=u);return{isValid:!o.valueMissing&&!o.customError,validity:o,validationMessage:s}}function d(e,t){return{...e,...t}}const b=100,y=250,v=250;export{b as CONFIG_DEBOUNCE_DELAY,y as RESIZE_DEBOUNCE_DELAY,v as VISIBILITY_CHECK_INTERVAL,f as cleanupFlatpickrInstance,g as createFormSubmitListener,c as datesEqual,e as debounce,o as filterValidDates,t as generateRandomId,s as isEmptyValue,l as isValidDate,d as mergeTextStrings,i as normalizeToDate,n as parseDateOnly,r as parseDateTime,u as parseTimeString,a as timesEqual,m as updateFormValue,N as validatePickerInput};
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|