@kyndryl-design-system/shidoka-applications 2.14.2 → 2.14.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/common/flatpickrLangs.d.ts +3 -0
  2. package/common/flatpickrLangs.d.ts.map +1 -0
  3. package/common/flatpickrLangs.js +2 -0
  4. package/common/flatpickrLangs.js.map +1 -0
  5. package/common/helpers/flatpickr.d.ts +7 -2
  6. package/common/helpers/flatpickr.d.ts.map +1 -1
  7. package/common/helpers/flatpickr.js +1 -1
  8. package/common/helpers/flatpickr.js.map +1 -1
  9. package/common/scss/shidoka-flatpickr-theme.scss +11 -6
  10. package/components/reusable/datePicker/datepicker.d.ts +22 -5
  11. package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
  12. package/components/reusable/datePicker/datepicker.js +13 -13
  13. package/components/reusable/datePicker/datepicker.js.map +1 -1
  14. package/components/reusable/datePicker/index.js +1 -1
  15. package/components/reusable/daterangepicker/daterangepicker.d.ts +23 -7
  16. package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
  17. package/components/reusable/daterangepicker/daterangepicker.js +14 -14
  18. package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
  19. package/components/reusable/daterangepicker/index.js +1 -1
  20. package/components/reusable/timepicker/index.js +1 -1
  21. package/components/reusable/timepicker/timepicker.d.ts +19 -4
  22. package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
  23. package/components/reusable/timepicker/timepicker.js +15 -17
  24. package/components/reusable/timepicker/timepicker.js.map +1 -1
  25. package/index.js +1 -1
  26. package/package.json +1 -1
  27. package/{shidoka-flatpickr-theme-d7d388aa.js → shidoka-flatpickr-theme-3d6e1af1.js} +12 -7
  28. package/{shidoka-flatpickr-theme-d7d388aa.js.map → shidoka-flatpickr-theme-3d6e1af1.js.map} +1 -1
@@ -0,0 +1,3 @@
1
+ export declare const langsArray: readonly ["ar", "at", "az", "be", "bg", "bn", "bs", "cat", "cs", "cy", "da", "de", "en", "eo", "es", "et", "fa", "fi", "fo", "fr", "ga", "gr", "he", "hi", "hr", "hu", "id", "is", "it", "ja", "ka", "km", "ko", "kz", "lt", "lv", "mk", "mn", "ms", "my", "nl", "no", "pa", "pl", "pt", "ro", "ru", "si", "sk", "sl", "sq", "sr", "sv", "th", "tr", "uk", "uz", "uz_latn", "vn", "zh_tw", "zh"];
2
+ export type SupportedLocale = (typeof langsArray)[number];
3
+ //# sourceMappingURL=flatpickrLangs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatpickrLangs.d.ts","sourceRoot":"","sources":["../../src/common/flatpickrLangs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,kYA8Db,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ const s=["ar","at","az","be","bg","bn","bs","cat","cs","cy","da","de","en","eo","es","et","fa","fi","fo","fr","ga","gr","he","hi","hr","hu","id","is","it","ja","ka","km","ko","kz","lt","lv","mk","mn","ms","my","nl","no","pa","pl","pt","ro","ru","si","sk","sl","sq","sr","sv","th","tr","uk","uz","uz_latn","vn","zh_tw","zh"];export{s as langsArray};
2
+ //# sourceMappingURL=flatpickrLangs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatpickrLangs.js","sources":["../../src/common/flatpickrLangs.ts"],"sourcesContent":["export const langsArray = [\n 'ar', // Arabic\n 'at', // Austria\n 'az', // Azerbaijan\n 'be', // Belarusian\n 'bg', // Bulgarian\n 'bn', // Bangla\n 'bs', // Bosnia\n 'cat', // Catalan\n 'cs', // Czech\n 'cy', // Welsh\n 'da', // Danish\n 'de', // German\n 'en', // English\n 'eo', // Esperanto\n 'es', // Spanish\n 'et', // Estonian\n 'fa', // Persian\n 'fi', // Finnish\n 'fo', // Faroese\n 'fr', // French\n 'ga', // Gaelic\n 'gr', // Greek\n 'he', // Hebrew\n 'hi', // Hindi\n 'hr', // Croatian\n 'hu', // Hungarian\n 'id', // Indonesian\n 'is', // Icelandic\n 'it', // Italian\n 'ja', // Japanese\n 'ka', // Georgian\n 'km', // Khmer\n 'ko', // Korean\n 'kz', // Kazakh\n 'lt', // Lithuanian\n 'lv', // Latvian\n 'mk', // Macedonian\n 'mn', // Mongolian\n 'ms', // Malaysian\n 'my', // Burmese\n 'nl', // Dutch\n 'no', // Norwegian\n 'pa', // Punjabi\n 'pl', // Polish\n 'pt', // Portuguese\n 'ro', // Romanian\n 'ru', // Russian\n 'si', // Sinhala\n 'sk', // Slovak\n 'sl', // Slovenian\n 'sq', // Albanian\n 'sr', // Serbian\n 'sv', // Swedish\n 'th', // Thai\n 'tr', // Turkish\n 'uk', // Ukrainian\n 'uz', // Uzbek\n 'uz_latn', // Uzbek Latin\n 'vn', // Vietnamese\n 'zh_tw', // Mandarin Traditional\n 'zh', // Mandarin\n] as const;\n\nexport type SupportedLocale = (typeof langsArray)[number];\n"],"names":["langsArray"],"mappings":"AAAa,MAAAA,EAAa,CACxB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,UACA,KACA,QACA"}
@@ -1,7 +1,6 @@
1
1
  import { Instance } from 'flatpickr/dist/types/instance';
2
2
  import { BaseOptions, Hook } from 'flatpickr/dist/types/options';
3
3
  import { Locale } from 'flatpickr/dist/types/locale';
4
- export declare const langsArray: string[];
5
4
  interface BaseFlatpickrContext {
6
5
  getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;
7
6
  setCalendarAttributes: (instance: Instance) => void;
@@ -19,8 +18,13 @@ declare const DATE_FORMAT_OPTIONS: {
19
18
  readonly 'm-d-Y': "mm-dd-yyyy";
20
19
  readonly 'd-m-Y': "dd-mm-yyyy";
21
20
  readonly 'Y-m-d H:i': "yyyy-mm-dd —— : ——";
21
+ readonly 'Y-m-d h:i K': "yyyy-mm-dd —— : ——";
22
+ readonly 'm-d-Y H:i': "mm-dd-yyyy —— : ——";
23
+ readonly 'm-d-Y h:i K': "mm-dd-yyyy —— : ——";
24
+ readonly 'd-m-Y H:i': "dd-mm-yyyy —— : ——";
25
+ readonly 'd-m-Y h:i K': "dd-mm-yyyy —— : ——";
22
26
  readonly 'Y-m-d H:i:s': "yyyy-mm-dd —— : —— ——";
23
- readonly 'm-d-Y H:i:s': "mm-dd-yyyy —— : —— ——";
27
+ readonly 'm-d-Y H:i:s': "mm-dd-yyyy —— : —— ——";
24
28
  readonly 'd-m-Y H:i:s': "dd-mm-yyyy —— : —— ——";
25
29
  };
26
30
  type DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;
@@ -64,6 +68,7 @@ export declare function initializeSingleAnchorFlatpickr(context: SingleFlatpickr
64
68
  }): Promise<Instance | undefined>;
65
69
  export declare function isValidDateFormat(format: string): format is DateFormatOption;
66
70
  export declare function getPlaceholder(dateFormat: string, isDateRange?: boolean): string;
71
+ export declare function getModalContainer(element: HTMLElement): HTMLElement;
67
72
  export declare function getFlatpickrOptions(context: FlatpickrOptionsContext): Promise<Partial<BaseOptions>>;
68
73
  export declare function updateEnableTime(dateFormat: string): boolean;
69
74
  export declare function setCalendarAttributes(instance: Instance, modalDetected?: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/flatpickr.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flatpickr.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/flatpickr.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as e,f as t,E as n}from"../../vendor/flatpickr-bbd13d61.js";let a=!1;const i=["ar","at","az","be","bg","bn","bs","cat","cs","cy","da","de","en","eo","es","et","fa","fi","fo","fr","ga","gr","he","hi","hr","hu","id","is","it","ja","ka","km","ko","kz","lt","lv","mk","mn","ms","my","nl","no","pa","pl","pt","ro","ru","si","sk","sl","sq","sr","sv","th","tr","uk","uz","uz_latn","vn","zh_tw","zh"],o={"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:s":"yyyy-mm-dd —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——"};function l(e){return i.includes(e)}function r(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function s(e){e(!0)}function c(e,t,n){e||(t(),n(!0))}function d(e){e.weekdays&&e.weekdays.shorthand&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function u(e){if(!a){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),a=!0}}async function m(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:o,setCalendarAttributes:l,setInitialDates:r}=n;if(a)try{const n=await o(),s=e=>{if(e instanceof HTMLInputElement)return e;{let t=e.querySelector("input");return t||(t=document.createElement("input"),t.type="text",t.style.display="none",e.appendChild(t)),t}},c=s(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const d=t(c,n);return d?(setTimeout((()=>{l&&l(d)}),0),r&&r(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):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 p(e){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:o,appendTo:l}=e;if(n)try{const e=await a();let r;e.dateFormat=e.dateFormat||"Y-m-d",n instanceof HTMLInputElement?(r=n,e.clickOpens=!0):(r=document.createElement("input"),r.type="text",r.style.display="none",l?l.appendChild(r):n instanceof HTMLElement&&!(n instanceof HTMLInputElement)?n.appendChild(r):document.body.appendChild(r),e.clickOpens=!1,e.positionElement=n);const s=t(r,e);return s?(setTimeout((()=>{i&&i(s)}),0),o&&o(s),n instanceof HTMLInputElement||n.addEventListener("click",(()=>s.open())),s):void console.error("Failed to initialize Flatpickr")}catch(e){return console.error("Error initializing Flatpickr:",e),void(e instanceof Error&&console.error("Error details:",e.message))}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function f(e){return e in o}function y(e,t){let n;return f(e)?(n=t?`${o[e]} to ${o[e]}`:o[e],n):"Select date"}async function h(e){var t;const{locale:n,dateFormat:a,enableTime:i,twentyFourHourFormat:o,inputEl:l,allowInput:r,minDate:s,maxDate:c,minTime:u,maxTime:m,defaultDate:p,defaultHour:f,defaultMinute:y,enable:h,disable:g,mode:k="single",closeOnSelect:E,wrap:v=!1,noCalendar:C=!1,appendTo:b,onChange:w,onClose:L,onOpen:F,loadLocale:T}=e;n||console.warn("Locale not provided. Falling back to default."),a||console.warn("Date format not provided. Using default format.");const H=await T(n);d(H);const M=["en","en-US","en-GB","es-MX"].includes(n),I=window.innerWidth>=767,z={dateFormat:a||("time"===k?"H:i":"Y-m-d"),mode:"time"===k?"single":k,enableTime:"time"===k||i,noCalendar:"time"===k||C,allowInput:r||!1,clickOpens:!0,time_24hr:"boolean"==typeof o?o:!M,weekNumbers:!1,static:null!==(t=e.static)&&void 0!==t&&t,wrap:v,showMonths:"range"===k&&I?2:1,monthSelectorType:"static",locale:H,closeOnSelect:null!=E?E:!("multiple"===k||i),onChange:(e,t,n)=>{w&&w(e,t,n)},onClose:(e,t,n)=>{if("range"===k){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"))}L&&L(e,t,n)},onOpen:(e,t,n)=>{F&&F(e,t,n)}};return"range"===k&&(z.onReady=(e,t,n)=>{const a=n.calendarContainer.querySelector(".flatpickr-time");null==a||a.classList.add("default-time-select")}),l instanceof HTMLInputElement||(z.positionElement=l),s&&(z.minDate=s),c&&(z.maxDate=c),u&&(z.minTime=u),m&&(z.maxTime=m),p&&((!Array.isArray(p)||"range"!==k&&"multiple"!==k)&&Array.isArray(p)||(z.defaultDate=p)),void 0!==f&&(z.defaultHour=f),void 0!==y&&(z.defaultMinute=y),h&&h.length>0&&(z.enable=h),g&&g.length>0&&(z.disable=g),b&&(z.appendTo=b),z}function g(e){return e.includes("H:")||e.includes("h:")}function k(e,t){if(e&&e.calendarContainer){e.calendarContainer.setAttribute("role","application"),e.calendarContainer.setAttribute("aria-label","Calendar"),e.calendarContainer.classList.remove("container-modal","container-body"),e.calendarContainer.classList.remove("container-modal","container-body");const n=t?"container-modal":"container-default";e.calendarContainer.classList.add(n),e.calendarContainer.classList.remove("static-position-true","static-position-false"),e.calendarContainer.classList.add(`static-position-${e.config.static}`)}else console.warn("Calendar container not available...")}async function E(e){if("en"===e)return n;if(!l(e))return console.warn(`Unsupported locale: ${e}. Falling back to English.`),n;try{const t=await import(`flatpickr/dist/l10n/${e}.js`),a=t[e]||t.default[e]||t.default;return a||(console.warn(`Locale configuration not found for ${e}. Falling back to English.`),n)}catch(t){return console.error(`Failed to load locale ${e}. Falling back to English.`,t),t instanceof Error&&console.error("Error details:",t.message),n}}function v(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const t=e.querySelector(".numInput.cur-year"),n=document.querySelector(".flatpickr-current-month span.cur-month");t&&t.min&&t.max&&t.min===t.max&&(e.style.display="none",n&&(n.style.marginLeft="auto"))}))}function C(e,t,n,a,i,o){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),r=t;let s=e.validity,c=e.validationMessage;r&&l&&(s={...s,valueMissing:!0},c=a),n&&(s={...s,customError:!0},c=n),o.setValidity(s,c,e);return{isValid:!n&&(!i||!l||l&&!r),validationMessage:c}}function b(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}export{b as emitValue,h as getFlatpickrOptions,y as getPlaceholder,s as handleInputClick,c as handleInputFocus,v as hideEmptyYear,m as initializeMultiAnchorFlatpickr,p as initializeSingleAnchorFlatpickr,u as injectFlatpickrStyles,l as isSupportedLocale,f as isValidDateFormat,i as langsArray,E as loadLocale,d as modifyWeekdayShorthands,r as preventFlatpickrOpen,k as setCalendarAttributes,g as updateEnableTime,C as validate};
1
+ import{r as e,f as t,E as n}from"../../vendor/flatpickr-bbd13d61.js";import{langsArray as a}from"../flatpickrLangs.js";let i=!1;const o={"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 —— : —— ——","m-d-Y H:i:s":"mm-dd-yyyy —— : —— ——","d-m-Y H:i:s":"dd-mm-yyyy —— : —— ——"};function r(e){return a.includes(e)}function l(e,t){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),t(!1)}function s(e){e(!0)}function c(e,t,n){e||(t(),n(!0))}function d(e){e.weekdays&&e.weekdays.shorthand&&(e.weekdays.shorthand=e.weekdays.shorthand.map((e=>e.charAt(0))))}function u(e){if(!i){const t=document.createElement("style");t.id="flatpickr-custom-styles",t.textContent=e,document.head.appendChild(t),i=!0}}async function m(n){const{inputEl:a,endinputEl:i,getFlatpickrOptions:o,setCalendarAttributes:r,setInitialDates:l}=n;if(a)try{const n=await o(),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(a);if(i){const t=s(i);n.plugins=[...n.plugins||[],e({input:t})]}const d=t(c,n);return d?(setTimeout((()=>{r&&r(d)}),0),l&&l(d),a instanceof HTMLInputElement||a.addEventListener("click",(()=>{d.open()})),!i||i instanceof HTMLInputElement||i.addEventListener("click",(()=>{d.open()})),d):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 p(e){const{inputEl:n,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:o,appendTo:r}=e;if(n)try{const e=await a(),l=e.dateFormat||("time"===e.mode?"H:i":"Y-m-d");let s;if(e.dateFormat=l,n instanceof HTMLInputElement)s=n,e.clickOpens=!0;else try{s=document.createElement("input"),s.type="text",s.style.display="none";const t=r||n;if(!t)throw new Error("No valid element to append input to");t.appendChild(s),e.clickOpens=!1,e.positionElement=n}catch(e){throw console.error("Error creating input element:",e),e}const c=t(s,e);return c?(setTimeout((()=>{i&&i(c)}),0),o&&o(c),n instanceof HTMLInputElement||n.addEventListener("click",(()=>c.open())),c):void console.error("Failed to initialize Flatpickr")}catch(e){return console.error("Error initializing Flatpickr:",e),void(e instanceof Error&&console.error("Error details:",e.message))}else console.error("Cannot initialize Flatpickr: inputEl is undefined")}function y(e){return e in o}function f(e,t){if(y(e)){return t?`${o[e]} to ${o[e]}`:o[e]}return"Select date"}function h(e){return["kyn-modal","kyn-side-drawer"].map((t=>e.closest(t))).find((e=>null!==e))||document.body}async function g(e){var a;if(!e)return console.error("Context is required for getFlatpickrOptions"),{};const{locale:i,dateFormat:o,enableTime:r,twentyFourHourFormat:l,inputEl:s,allowInput:c,minDate:u,maxDate:m,minTime:p,maxTime:y,defaultDate:f,defaultHour:h,defaultMinute:g,enable:w,disable:E,mode:k="single",closeOnSelect:b,wrap:v=!1,noCalendar:C=!1,appendTo:D,onChange:F,onClose:N,onOpen:L,loadLocale:T}=e;let H;i||console.warn("Locale not provided. Falling back to default."),o||console.warn("Date format not provided. Using default format.");try{H=await T(i),d(H)}catch(e){console.warn("Error loading locale, falling back to default:",e),H=n}const Y=["en","en-US","en-GB","es-MX"].includes(i),M=window.innerWidth>=767,I=o||("time"===k?l?"H:i":"h:i K":"Y-m-d"),S={dateFormat:I,mode:"time"===k?"single":k,enableTime:"time"===k||r,noCalendar:"time"===k||C,defaultDate:f,enableSeconds:!1,allowInput:c||!1,clickOpens:!0,time_24hr:"boolean"==typeof l?l:!Y,weekNumbers:!1,static:null!==(a=e.static)&&void 0!==a&&a,wrap:v,showMonths:"range"===k&&M?2:1,monthSelectorType:"static",locale:H,closeOnSelect:null!=b?b:!("multiple"===k||r),onChange:(e,t,n)=>{F&&F(e,t,n)},onClose:(e,t,n)=>{if("range"===k&&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"))}N&&N(e,t,n)},onOpen:(e,t,n)=>{L&&L(e,t,n)}};if("range"===k&&(S.onReady=(e,t,n)=>{if(n.calendarContainer){const e=n.calendarContainer.querySelector(".flatpickr-time");null==e||e.classList.add("default-time-select")}}),s instanceof HTMLInputElement||(S.positionElement=s),u&&(S.minDate=u),m&&(S.maxDate=m),p&&(S.minTime=p),y&&(S.maxTime=y),f)if(!Array.isArray(f)||"range"!==k&&"multiple"!==k){if(!Array.isArray(f)&&"string"==typeof f){let e=null;switch(I){case"Y-m-d":{const[t,n,a]=f.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(Date.UTC(t,n-1,a,12));break}case"d-m-Y":{const[t,n,a]=f.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(Date.UTC(a,n-1,t,12));break}case"m-d-Y":{const[t,n,a]=f.split("-").map(Number);e=isNaN(t)||isNaN(n)||isNaN(a)?null:new Date(Date.UTC(a,t-1,n,12));break}default:e=new Date(f)}S.defaultDate=e||f}}else S.defaultDate=f;return null!=h&&(S.defaultHour=h),null!=g&&(S.defaultMinute=g),w&&w.length>0&&(S.enable=w),E&&E.length>0&&(S.disable=E.map((e=>{if(e instanceof Date)return e;if("number"==typeof e)return new Date(e);if("string"==typeof e){return t.parseDate(e,I)||e}return e}))),D&&(S.appendTo=D),S}function w(e){return e.includes("H:")||e.includes("h:")}function E(e,t){(null==e?void 0:e.calendarContainer)?requestAnimationFrame((()=>{try{const{calendarContainer:n,config:a}=e;n.setAttribute("role","application"),n.setAttribute("aria-label","Calendar"),n.classList.remove("container-modal","container-body");const i=t?"container-modal":"container-default";n.classList.add(i),a&&void 0!==a.static&&(n.classList.remove("static-position-true","static-position-false"),n.classList.add(`static-position-${a.static}`))}catch(e){console.warn("Error setting calendar attributes:",e)}})):console.warn("Calendar container not available...")}async function k(e){var t,a,i;if("en"===e)return n;if(!r(e))return console.warn(`Unsupported locale "${e}". Falling back to English.`),n;try{const o=await import(`flatpickr/dist/l10n/${e}.js`),r=null!==(i=null!==(t=o[e])&&void 0!==t?t:null===(a=o.default)||void 0===a?void 0:a[e])&&void 0!==i?i:o.default;return r||(console.warn(`Locale configuration not found for "${e}". Falling back to English.`),n)}catch(t){return console.error(`Failed to load locale "${e}". Falling back to English.`,t),n}}function b(){const e=document.querySelector(".flatpickr-current-month span.cur-month");document.querySelectorAll(".numInputWrapper").forEach((t=>{const n=t.querySelector(".numInput.cur-year");n&&n.min&&n.max&&n.min===n.max&&(t.style.display="none",e&&(e.style.marginLeft="auto"))}))}function v(e,t,n,a,i,o){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const r=!e.value.trim(),l=t;let s=e.validity,c=e.validationMessage;l&&r&&(s={...s,valueMissing:!0},c=a),n&&(s={...s,customError:!0},c=n),o.setValidity(s,c,e);return{isValid:!n&&(!i||!r||r&&!l),validationMessage:c}}function C(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}export{C as emitValue,g as getFlatpickrOptions,h as getModalContainer,f as getPlaceholder,s as handleInputClick,c as handleInputFocus,b as hideEmptyYear,m as initializeMultiAnchorFlatpickr,p as initializeSingleAnchorFlatpickr,u as injectFlatpickrStyles,r as isSupportedLocale,y as isValidDateFormat,k as loadLocale,d as modifyWeekdayShorthands,l as preventFlatpickrOpen,E as setCalendarAttributes,w as updateEnableTime,v as validate};
2
2
  //# sourceMappingURL=flatpickr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/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/l10n/default.js';\n\nlet flatpickrStylesInjected = false;\n\nexport const langsArray = [\n 'ar', // Arabic\n 'at', // Austria\n 'az', // Azerbaijan\n 'be', // Belarusian\n 'bg', // Bulgarian\n 'bn', // Bangla\n 'bs', // Bosnia\n 'cat', // Catalan\n 'cs', // Czech\n 'cy', // Welsh\n 'da', // Danish\n 'de', // German\n 'en', // English\n 'eo', // Esperanto\n 'es', // Spanish\n 'et', // Estonian\n 'fa', // Persian\n 'fi', // Finnish\n 'fo', // Faroese\n 'fr', // French\n 'ga', // Gaelic\n 'gr', // Greek\n 'he', // Hebrew\n 'hi', // Hindi\n 'hr', // Croatian\n 'hu', // Hungarian\n 'id', // Indonesian\n 'is', // Icelandic\n 'it', // Italian\n 'ja', // Japanese\n 'ka', // Georgian\n 'km', // Khmer\n 'ko', // Korean\n 'kz', // Kazakh\n 'lt', // Lithuanian\n 'lv', // Latvian\n 'mk', // Macedonian\n 'mn', // Mongolian\n 'ms', // Malaysian\n 'my', // Burmese\n 'nl', // Dutch\n 'no', // Norwegian\n 'pa', // Punjabi\n 'pl', // Polish\n 'pt', // Portuguese\n 'ro', // Romanian\n 'ru', // Russian\n 'si', // Sinhala\n 'sk', // Slovak\n 'sl', // Slovenian\n 'sq', // Albanian\n 'sr', // Serbian\n 'sv', // Swedish\n 'th', // Thai\n 'tr', // Turkish\n 'uk', // Ukrainian\n 'uz', // Uzbek\n 'uz_latn', // Uzbek Latin\n 'vn', // Vietnamese\n 'zh_tw', // Mandarin Traditional\n 'zh', // Mandarin\n];\n\ntype SupportedLocale = (typeof langsArray)[number];\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:s': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-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 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 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 isSupportedLocale(locale: string): boolean {\n return langsArray.includes(locale as SupportedLocale);\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 && 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 = (inputEl: HTMLElement): HTMLInputElement => {\n if (inputEl instanceof HTMLInputElement) {\n return inputEl;\n } else {\n let input = inputEl.querySelector('input');\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n inputEl.appendChild(input);\n }\n return input as HTMLInputElement;\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 if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\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 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 options.dateFormat = options.dateFormat || 'Y-m-d';\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n if (appendTo) {\n appendTo.appendChild(inputElement);\n } else if (\n inputEl instanceof HTMLElement &&\n !(inputEl instanceof HTMLInputElement)\n ) {\n inputEl.appendChild(inputElement);\n } else {\n document.body.appendChild(inputElement);\n }\n\n options.clickOpens = false;\n options.positionElement = inputEl;\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 if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\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 if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\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 let placeholderFormat;\n\n if (isValidDateFormat(dateFormat)) {\n if (isDateRange) {\n placeholderFormat = `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`;\n } else {\n placeholderFormat = DATE_FORMAT_OPTIONS[dateFormat];\n }\n return placeholderFormat;\n }\n return 'Select date';\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\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 const localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n\n const isEnglishOr12HourLocale = ['en', 'en-US', 'en-GB', 'es-MX'].includes(\n locale\n );\n\n const isWideScreen = window.innerWidth >= 767;\n const options: Partial<BaseOptions> = {\n dateFormat: dateFormat || (mode === 'time' ? 'H:i' : 'Y-m-d'),\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\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 if (onChange) {\n onChange(selectedDates, dateStr, instance);\n }\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range') {\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 if (onClose) {\n onClose(selectedDates, dateStr, instance);\n }\n },\n onOpen: (selectedDates, dateStr, instance) => {\n if (onOpen) {\n onOpen(selectedDates, dateStr, instance);\n }\n },\n };\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\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 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 options.defaultDate = defaultDate;\n }\n }\n if (defaultHour !== undefined) options.defaultHour = defaultHour;\n if (defaultMinute !== undefined) options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) options.disable = disable;\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n return dateFormat.includes('H:') || dateFormat.includes('h:');\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected?: boolean\n): void {\n if (instance && instance.calendarContainer) {\n instance.calendarContainer.setAttribute('role', 'application');\n instance.calendarContainer.setAttribute('aria-label', 'Calendar');\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n instance.calendarContainer.classList.remove(\n 'container-modal',\n 'container-body'\n );\n\n const containerClass = modalDetected\n ? 'container-modal'\n : 'container-default';\n instance.calendarContainer.classList.add(containerClass);\n\n // Add static position class based on the static option\n instance.calendarContainer.classList.remove(\n 'static-position-true',\n 'static-position-false'\n );\n instance.calendarContainer.classList.add(\n `static-position-${instance.config.static}`\n );\n } else {\n console.warn('Calendar container not available...');\n }\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale: ${locale}. Falling back to English.`);\n return English;\n }\n\n try {\n const module = await import(`flatpickr/dist/l10n/${locale}.js`);\n const localeConfig =\n module[locale] || module.default[locale] || module.default;\n if (!localeConfig) {\n console.warn(\n `Locale configuration not found for ${locale}. Falling back to English.`\n );\n return English;\n }\n return localeConfig;\n } catch (error) {\n console.error(\n `Failed to load locale ${locale}. Falling back to English.`,\n error\n );\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return English;\n }\n}\n\nexport function hideEmptyYear(): void {\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n\n const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\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"],"names":["flatpickrStylesInjected","langsArray","DATE_FORMAT_OPTIONS","isSupportedLocale","locale","includes","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","HTMLInputElement","input","querySelector","type","style","display","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","console","error","initializeSingleAnchorFlatpickr","appendTo","dateFormat","clickOpens","HTMLElement","body","positionElement","Error","message","isValidDateFormat","format","getPlaceholder","isDateRange","placeholderFormat","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","mode","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","loadLocale","warn","isEnglishOr12HourLocale","isWideScreen","window","innerWidth","time_24hr","weekNumbers","static","_a","showMonths","monthSelectorType","selectedDates","dateStr","instance","timeContainer","calendarContainer","length","classList","add","remove","onReady","_","__","Array","isArray","undefined","updateEnableTime","modalDetected","setAttribute","containerClass","config","English","module","import","localeConfig","default","hideEmptyYear","querySelectorAll","forEach","wrapper","yearInput","currentMonth","min","max","marginLeft","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","value","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","element","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed"],"mappings":"qEAOA,IAAIA,GAA0B,EAEjB,MAAAC,EAAa,CACxB,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,UACA,KACA,QACA,MAoBIC,EAAsB,CAC1B,QAAS,aACT,QAAS,aACT,QAAS,aACT,YAAa,qBACb,cAAe,wBACf,cAAe,yBACf,cAAe,yBAkCX,SAAUC,EAAkBC,GAChC,OAAOH,EAAWI,SAASD,EAC7B,CAEgB,SAAAE,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,GAClCA,EAAcC,UAAYD,EAAcC,SAASC,YACnDF,EAAcC,SAASC,UAAYF,EAAcC,SAASC,UAAUC,KACjEC,GAAQA,EAAIC,OAAO,KAG1B,CAEM,SAAUC,EAAsBC,GACpC,IAAKxB,EAAyB,CAC5B,MAAMyB,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,GAAK,0BAClBH,EAAaI,YAAcL,EAC3BE,SAASI,KAAKC,YAAYN,GAC1BzB,GAA0B,CAC3B,CACH,CAEOgC,eAAeC,EACpBC,GAEA,MAAMC,QACJA,EAAOC,WACPA,EAAUC,oBACVA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,GACEL,EAEJ,GAAKC,EAKL,IACE,MAAMK,QAAgBH,IAEhBI,EAAmBN,IACvB,GAAIA,aAAmBO,iBACrB,OAAOP,EACF,CACL,IAAIQ,EAAQR,EAAQS,cAAc,SAOlC,OANKD,IACHA,EAAQjB,SAASC,cAAc,SAC/BgB,EAAME,KAAO,OACbF,EAAMG,MAAMC,QAAU,OACtBZ,EAAQJ,YAAYY,IAEfA,CACR,GAGGK,EAAeP,EAAgBN,GACrC,GAAIC,EAAY,CACd,MAAMa,EAAkBR,EAAgBL,GACxCI,EAAQU,QAAU,IACZV,EAAQU,SAAW,GACvBC,EAAY,CAAER,MAAOM,IAExB,CAED,MAAMG,EAAoBC,EAAUL,EAAcR,GAElD,OAAIY,GACFE,YAAW,KACLhB,GACFA,EAAsBc,EACvB,GACA,GAECb,GACFA,EAAgBa,GAGZjB,aAAmBO,kBACvBP,EAAQoB,iBAAiB,SAAS,KAChCH,EAAkBI,MAAM,KAIxBpB,GAAgBA,aAAsBM,kBACxCN,EAAWmB,iBAAiB,SAAS,KACnCH,EAAkBI,MAAM,IAIrBJ,QAEPK,QAAQC,MAAM,iCAGjB,CAAC,MAAOA,GAEP,YADAD,QAAQC,MAAM,gCAAiCA,EAEhD,MAhECD,QAAQC,MAAM,oDAiElB,CAEO1B,eAAe2B,EACpBzB,GAEA,MAAMC,QACJA,EAAOE,oBACPA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,EAAeqB,SACfA,GACE1B,EACJ,GAAKC,EAIL,IACE,MAAMK,QAAgBH,IAEtB,IAAIW,EADJR,EAAQqB,WAAarB,EAAQqB,YAAc,QAEvC1B,aAAmBO,kBACrBM,EAAeb,EACfK,EAAQsB,YAAa,IAErBd,EAAetB,SAASC,cAAc,SACtCqB,EAAaH,KAAO,OACpBG,EAAaF,MAAMC,QAAU,OAEzBa,EACFA,EAAS7B,YAAYiB,GAErBb,aAAmB4B,eACjB5B,aAAmBO,kBAErBP,EAAQJ,YAAYiB,GAEpBtB,SAASsC,KAAKjC,YAAYiB,GAG5BR,EAAQsB,YAAa,EACrBtB,EAAQyB,gBAAkB9B,GAE5B,MAAMiB,EAAoBC,EAAUL,EAAcR,GAClD,OAAIY,GACFE,YAAW,KACLhB,GACFA,EAAsBc,EACvB,GACA,GACCb,GACFA,EAAgBa,GAEZjB,aAAmBO,kBACvBP,EAAQoB,iBAAiB,SAAS,IAAMH,EAAkBI,SAErDJ,QAEPK,QAAQC,MAAM,iCAGjB,CAAC,MAAOA,GAKP,OAJAD,QAAQC,MAAM,gCAAiCA,QAC3CA,aAAiBQ,OACnBT,QAAQC,MAAM,iBAAkBA,EAAMS,SAGzC,MArDCV,QAAQC,MAAM,oDAsDlB,CAEM,SAAUU,EAAkBC,GAChC,OAAOA,KAAUnE,CACnB,CAEgB,SAAAoE,EACdT,EACAU,GAEA,IAAIC,EAEJ,OAAIJ,EAAkBP,IAElBW,EADED,EACkB,GAAGrE,EAAoB2D,SAAkB3D,EAAoB2D,KAE7D3D,EAAoB2D,GAEnCW,GAEF,aACT,CAEOxC,eAAeK,EACpBH,SAEA,MAAM9B,OACJA,EAAMyD,WACNA,EAAUY,WACVA,EAAUC,qBACVA,EAAoBvC,QACpBA,EAAOwC,WACPA,EAAUC,QACVA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,YACPA,EAAWC,YACXA,EAAWC,cACXA,EAAaC,OACbA,EAAMC,QACNA,EAAOC,KACPA,EAAO,SAAQC,cACfA,EAAaC,KACbA,GAAO,EAAKC,WACZA,GAAa,EAAK5B,SAClBA,EAAQ6B,SACRA,EAAQC,QACRA,EAAOC,OACPA,EAAMC,WACNA,GACE1D,EAEC9B,GACHqD,QAAQoC,KAAK,iDAGVhC,GACHJ,QAAQoC,KAAK,mDAGf,MAAM5E,QAAsB2E,EAAWxF,GACvCY,EAAwBC,GAExB,MAAM6E,EAA0B,CAAC,KAAM,QAAS,QAAS,SAASzF,SAChED,GAGI2F,EAAeC,OAAOC,YAAc,IACpCzD,EAAgC,CACpCqB,WAAYA,IAAwB,SAATwB,EAAkB,MAAQ,SACrDA,KAAe,SAATA,EAAkB,SAAWA,EACnCZ,WAAqB,SAATY,GAAyBZ,EACrCe,WAAqB,SAATH,GAAyBG,EACrCb,WAAYA,IAAc,EAC1Bb,YAAY,EACZoC,UACkC,kBAAzBxB,EACHA,GACCoB,EACPK,aAAa,EACbC,eAAQC,EAAAnE,EAAQkE,uBAChBb,OACAe,WAAqB,UAATjB,GAAoBU,EAAe,EAAI,EACnDQ,kBAAmB,SACnBnG,OAAQa,EACRqE,cAAeA,QAAAA,IAA4B,aAATD,GAAuBZ,GACzDgB,SAAU,CAACe,EAAeC,EAASC,KAC7BjB,GACFA,EAASe,EAAeC,EAASC,EAClC,EAEHhB,QAAS,CAACc,EAAeC,EAASC,KAChC,GAAa,UAATrB,EAAkB,CACpB,MAAMsB,EACJD,EAASE,kBAAkBhE,cAAc,mBACd,IAAzB4D,EAAcK,SAChBF,SAAAA,EAAeG,UAAUC,IAAI,uBAC7BJ,SAAAA,EAAeG,UAAUE,OAAO,aAAc,YAEjD,CACGtB,GACFA,EAAQc,EAAeC,EAASC,EACjC,EAEHf,OAAQ,CAACa,EAAeC,EAASC,KAC3Bf,GACFA,EAAOa,EAAeC,EAASC,EAChC,GAoCL,MAhCa,UAATrB,IACF7C,EAAQyE,QAAU,CAACC,EAAGC,EAAIT,KACxB,MAAMC,EACJD,EAASE,kBAAkBhE,cAAc,mBAC3C+D,SAAAA,EAAeG,UAAUC,IAAI,sBAAsB,GAIjD5E,aAAmBO,mBACvBF,EAAQyB,gBAAkB9B,GAGxByC,IAASpC,EAAQoC,QAAUA,GAC3BC,IAASrC,EAAQqC,QAAUA,GAC3BC,IAAStC,EAAQsC,QAAUA,GAC3BC,IAASvC,EAAQuC,QAAUA,GAC3BC,MAEAoC,MAAMC,QAAQrC,IACJ,UAATK,GAA6B,aAATA,IAGX+B,MAAMC,QAAQrC,KADxBxC,EAAQwC,YAAcA,SAKNsC,IAAhBrC,IAA2BzC,EAAQyC,YAAcA,QAC/BqC,IAAlBpC,IAA6B1C,EAAQ0C,cAAgBA,GACrDC,GAAUA,EAAO0B,OAAS,IAAGrE,EAAQ2C,OAASA,GAC9CC,GAAWA,EAAQyB,OAAS,IAAGrE,EAAQ4C,QAAUA,GACjDxB,IAAUpB,EAAQoB,SAAWA,GAE1BpB,CACT,CAEM,SAAU+E,EAAiB1D,GAC/B,OAAOA,EAAWxD,SAAS,OAASwD,EAAWxD,SAAS,KAC1D,CAEgB,SAAAiC,EACdoE,EACAc,GAEA,GAAId,GAAYA,EAASE,kBAAmB,CAC1CF,EAASE,kBAAkBa,aAAa,OAAQ,eAChDf,EAASE,kBAAkBa,aAAa,aAAc,YAEtDf,EAASE,kBAAkBE,UAAUE,OACnC,kBACA,kBAGFN,EAASE,kBAAkBE,UAAUE,OACnC,kBACA,kBAGF,MAAMU,EAAiBF,EACnB,kBACA,oBACJd,EAASE,kBAAkBE,UAAUC,IAAIW,GAGzChB,EAASE,kBAAkBE,UAAUE,OACnC,uBACA,yBAEFN,EAASE,kBAAkBE,UAAUC,IACnC,mBAAmBL,EAASiB,OAAOvB,SAEtC,MACC3C,QAAQoC,KAAK,sCAEjB,CAEO7D,eAAe4D,EAAWxF,GAC/B,GAAe,OAAXA,EAAiB,OAAOwH,EAC5B,IAAKzH,EAAkBC,GAErB,OADAqD,QAAQoC,KAAK,uBAAuBzF,+BAC7BwH,EAGT,IACE,MAAMC,QAAeC,OAAO,uBAAuB1H,QAC7C2H,EACJF,EAAOzH,IAAWyH,EAAOG,QAAQ5H,IAAWyH,EAAOG,QACrD,OAAKD,IACHtE,QAAQoC,KACN,sCAAsCzF,+BAEjCwH,EAGV,CAAC,MAAOlE,GAQP,OAPAD,QAAQC,MACN,yBAAyBtD,8BACzBsD,GAEEA,aAAiBQ,OACnBT,QAAQC,MAAM,iBAAkBA,EAAMS,SAEjCyD,CACR,CACH,UAEgBK,IACdvG,SAASwG,iBAAiB,oBAAoBC,SAASC,IACrD,MAAMC,EAAYD,EAAQxF,cACxB,sBAGI0F,EAAe5G,SAASkB,cAC5B,2CAIAyF,GACAA,EAAUE,KACVF,EAAUG,KACVH,EAAUE,MAAQF,EAAUG,MAE3BJ,EAAwBtF,MAAMC,QAAU,OAErCuF,IACFA,EAAaxF,MAAM2F,WAAa,QAEnC,GAEL,CAEgB,SAAAC,EACdvG,EACAwG,EACAC,EACAC,EACAC,EACAC,GAEA,IAAK5G,EAEH,OADAsB,QAAQoC,KAAK,iCACN,CAAEmD,SAAS,EAAMC,kBAAmB,IAG7C,MAAMC,GAAW/G,EAAQgH,MAAMC,OACzBC,EAAaV,EAEnB,IAAIW,EAAWnH,EAAQmH,SACnBL,EAAoB9G,EAAQ8G,kBAE5BI,GAAcH,IAChBI,EAAW,IAAKA,EAAUC,cAAc,GACxCN,EAAoBJ,GAGlBD,IACFU,EAAW,IAAKA,EAAUE,aAAa,GACvCP,EAAoBL,GAGtBG,EAAUU,YAAYH,EAAUL,EAAmB9G,GAKnD,MAAO,CAAE6G,SAFNJ,KAAiBE,IAAkBI,GAAYA,IAAYG,GAE5CJ,oBACpB,UAEgBS,EACdC,EACAC,EACAC,GAEAF,EAAQG,cACN,IAAIC,YAAYH,EAAW,CACzBC,SACAG,SAAS,EACTC,UAAU,IAGhB"}
1
+ {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/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/l10n/default.js';\nimport { langsArray, SupportedLocale } from '../flatpickrLangs';\n\nlet flatpickrStylesInjected = false;\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 'm-d-Y H:i:s': 'mm-dd-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 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 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 isSupportedLocale(locale: string): boolean {\n return langsArray.includes(locale as SupportedLocale);\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 && 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 if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\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 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 if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\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 if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\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 (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 getModalContainer(element: HTMLElement): HTMLElement {\n return (\n ['kyn-modal', 'kyn-side-drawer']\n .map((selector) => element.closest(selector))\n .find((el): el is HTMLElement => el !== null) || document.body\n );\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 isEnglishOr12HourLocale = ['en', 'en-US', 'en-GB', 'es-MX'].includes(\n locale\n );\n\n const isWideScreen = window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\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: false,\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 (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(Date.UTC(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(Date.UTC(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(Date.UTC(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 return dateFormat.includes('H:') || dateFormat.includes('h:');\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected?: boolean\n): void {\n if (instance?.calendarContainer) {\n requestAnimationFrame(() => {\n try {\n const { calendarContainer, config } = instance;\n calendarContainer.setAttribute('role', 'application');\n calendarContainer.setAttribute('aria-label', 'Calendar');\n\n calendarContainer.classList.remove('container-modal', 'container-body');\n const containerClass = modalDetected\n ? 'container-modal'\n : 'container-default';\n calendarContainer.classList.add(containerClass);\n\n if (config && typeof config.static !== 'undefined') {\n calendarContainer.classList.remove(\n 'static-position-true',\n 'static-position-false'\n );\n calendarContainer.classList.add(`static-position-${config.static}`);\n }\n } catch (error) {\n console.warn('Error setting calendar attributes:', error);\n }\n });\n } else {\n console.warn('Calendar container not available...');\n }\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale \"${locale}\". Falling back to English.`);\n return English;\n }\n\n try {\n const module = await import(`flatpickr/dist/l10n/${locale}.js`);\n const localeConfig =\n module[locale] ?? module.default?.[locale] ?? module.default;\n\n if (!localeConfig) {\n console.warn(\n `Locale configuration not found for \"${locale}\". Falling back to English.`\n );\n return English;\n }\n\n return localeConfig;\n } catch (error) {\n console.error(\n `Failed to load locale \"${locale}\". Falling back to English.`,\n error\n );\n return English;\n }\n}\n\nexport function hideEmptyYear(): void {\n const currentMonth = document.querySelector(\n '.flatpickr-current-month span.cur-month'\n ) as HTMLElement;\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (\n yearInput &&\n yearInput.min &&\n yearInput.max &&\n yearInput.min === yearInput.max\n ) {\n (wrapper as HTMLElement).style.display = 'none';\n\n if (currentMonth) {\n currentMonth.style.marginLeft = 'auto';\n }\n }\n });\n}\n\nexport function validate(\n inputEl: HTMLInputElement,\n required: boolean,\n invalidText: string,\n defaultErrorMessage: string,\n hasInteracted: boolean,\n internals: ElementInternals\n): { isValid: boolean; validationMessage: string } {\n if (!inputEl) {\n console.warn('Input element is undefined...');\n return { isValid: true, validationMessage: '' };\n }\n\n const isEmpty = !inputEl.value.trim();\n const isRequired = required;\n\n let validity = inputEl.validity;\n let validationMessage = inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = defaultErrorMessage;\n }\n\n if (invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = invalidText;\n }\n\n internals.setValidity(validity, validationMessage, inputEl);\n\n const isValid =\n !invalidText && (!hasInteracted || !isEmpty || (isEmpty && !isRequired));\n\n return { isValid, validationMessage };\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"],"names":["flatpickrStylesInjected","DATE_FORMAT_OPTIONS","isSupportedLocale","locale","langsArray","includes","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","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","addEventListener","open","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","message","isValidDateFormat","format","getPlaceholder","isDateRange","getModalContainer","element","selector","closest","find","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","loadLocale","warn","English","isEnglishOr12HourLocale","isWideScreen","window","innerWidth","enableSeconds","time_24hr","weekNumbers","static","_a","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","onReady","_","__","Array","isArray","parsedDate","year","month","split","Number","isNaN","Date","UTC","date","parseDate","updateEnableTime","modalDetected","requestAnimationFrame","config","setAttribute","containerClass","module","import","localeConfig","_c","_b","default","hideEmptyYear","currentMonth","querySelectorAll","forEach","wrapper","yearInput","min","max","marginLeft","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","value","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed"],"mappings":"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"}
@@ -191,10 +191,10 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
191
191
 
192
192
  .flatpickr-calendar.open {
193
193
  display: inline-block;
194
- z-index: 99999;
194
+ z-index: 999;
195
195
 
196
196
  &.static {
197
- z-index: 99999;
197
+ z-index: 999;
198
198
  display: block;
199
199
  }
200
200
  }
@@ -862,14 +862,20 @@ span.flatpickr-weekday {
862
862
  border-radius: 50px;
863
863
  }
864
864
 
865
+ .flatpickr-day.prevMonthDay,
866
+ .flatpickr-day.nextMonthDay {
867
+ color: var(--kd-color-date-and-time-picker-text-secondary);
868
+ background: transparent;
869
+ border-color: transparent;
870
+ cursor: default;
871
+ }
872
+
865
873
  .flatpickr-day.flatpickr-disabled,
866
874
  .flatpickr-day.flatpickr-disabled:hover,
867
- .flatpickr-day.prevMonthDay,
868
- .flatpickr-day.nextMonthDay,
869
875
  .flatpickr-day.notAllowed,
870
876
  .flatpickr-day.notAllowed.prevMonthDay,
871
877
  .flatpickr-day.notAllowed.nextMonthDay {
872
- color: var(--kd-color-date-and-time-picker-text-secondary);
878
+ color: var(--kd-color-text-level-disabled);
873
879
  background: transparent;
874
880
  border-color: transparent;
875
881
  cursor: default;
@@ -878,7 +884,6 @@ span.flatpickr-weekday {
878
884
  .flatpickr-day.flatpickr-disabled,
879
885
  .flatpickr-day.flatpickr-disabled:hover {
880
886
  cursor: not-allowed;
881
- color: rgba(72, 72, 72, 0.1);
882
887
  }
883
888
 
884
889
  .flatpickr-day.week.selected {
@@ -1,5 +1,5 @@
1
1
  import { LitElement, PropertyValues } from 'lit';
2
- import { langsArray } from '../../../common/helpers/flatpickr';
2
+ import { langsArray } from '../../../common/flatpickrLangs';
3
3
  import '../../reusable/button';
4
4
  import { BaseOptions } from 'flatpickr/dist/types/options';
5
5
  type SupportedLocale = (typeof langsArray)[number];
@@ -13,7 +13,7 @@ export declare class DatePicker extends DatePicker_base {
13
13
  static styles: any[];
14
14
  /** Label text. */
15
15
  label: string;
16
- locale: SupportedLocale;
16
+ locale: SupportedLocale | string;
17
17
  /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */
18
18
  dateFormat: string;
19
19
  /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */
@@ -28,8 +28,10 @@ export declare class DatePicker extends DatePicker_base {
28
28
  value: Date | Date[] | null;
29
29
  /** Sets validation warning messaging. */
30
30
  warnText: string;
31
- /** Sets flatpickr options setting to disable specific dates. */
31
+ /** Sets flatpickr options setting to disable specific dates. Accepts array of dates in Y-m-d format, timestamps, or Date objects. */
32
32
  disable: (string | number | Date)[];
33
+ /** Internal storage for processed disable dates */
34
+ private _processedDisableDates;
33
35
  /** Sets flatpickr options setting to enable specific dates. */
34
36
  enable: (string | number | Date)[];
35
37
  /** Sets flatpickr mode to select single (default), multiple dates. */
@@ -74,11 +76,16 @@ export declare class DatePicker extends DatePicker_base {
74
76
  * @internal
75
77
  */
76
78
  private _inputEl?;
79
+ /** Tracks if we're in a clear operation to prevent duplicate events
80
+ * @internal
81
+ */
82
+ private _isClearing;
77
83
  /** Customizable text strings. */
78
84
  textStrings: {
79
85
  requiredText: string;
80
86
  clearAll: string;
81
87
  pleaseSelectDate: string;
88
+ noDateSelected: string;
82
89
  pleaseSelectValidDate: string;
83
90
  };
84
91
  /** Internal text strings.
@@ -88,13 +95,25 @@ export declare class DatePicker extends DatePicker_base {
88
95
  requiredText: string;
89
96
  clearAll: string;
90
97
  pleaseSelectDate: string;
98
+ noDateSelected: string;
91
99
  pleaseSelectValidDate: string;
92
100
  };
93
101
  /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.
94
102
  * @internal
95
103
  */
96
104
  private _shouldFlatpickrOpen;
105
+ /** Track initialization state
106
+ * @internal
107
+ */
108
+ private _initialized;
109
+ /** Track destroyed state
110
+ * @internal
111
+ */
112
+ private _isDestroyed;
113
+ private debounce;
114
+ private debouncedUpdate;
97
115
  connectedCallback(): void;
116
+ private hasValue;
98
117
  render(): import("lit").TemplateResult<1>;
99
118
  private renderValidationMessage;
100
119
  getDatepickerClasses(): {
@@ -103,10 +122,8 @@ export declare class DatePicker extends DatePicker_base {
103
122
  'date-picker__multiple-select': boolean;
104
123
  'date-picker__disabled': boolean;
105
124
  };
106
- private _initialized;
107
125
  firstUpdated(changedProperties: PropertyValues): Promise<void>;
108
126
  updated(changedProperties: PropertyValues): void;
109
- private reinitializeFlatpickr;
110
127
  private setupAnchor;
111
128
  private _handleClear;
112
129
  initializeFlatpickr(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as l}from"../../../vendor/lit-7b0f5ebf.js";import{i as n,x as o,s}from"../../../vendor/lit-element-c6c02f24.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,initializeSingleAnchorFlatpickr as m,setCalendarAttributes as v,hideEmptyYear as k,getFlatpickrOptions as g,loadLocale as f,emitValue as b,preventFlatpickrOpen as y,handleInputClick as x,handleInputFocus as w}from"../../../common/helpers/flatpickr.js";import"../button/button.js";import{c as _}from"../../../shidoka-flatpickr-theme-d7d388aa.js";import{j as z,H as $,I as D}from"../../../vendor/@kyndryl-design-system/shidoka-icons-726d44b0.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var F=n`*,
1
+ import{_ as t}from"../../../vendor/tslib-53a81efe.js";import{o as e,n as i,t as a,i as r,e as n}from"../../../vendor/lit-7b0f5ebf.js";import{i as l,x as o,s}from"../../../vendor/lit-element-c6c02f24.js";import{FormMixin as d}from"../../../common/mixins/form-input.js";import{o as p}from"../../../vendor/lit-html-29220869.js";import{getPlaceholder as c,injectFlatpickrStyles as h,updateEnableTime as u,emitValue as m,initializeSingleAnchorFlatpickr as v,getModalContainer as k,setCalendarAttributes as g,hideEmptyYear as b,getFlatpickrOptions as f,loadLocale as y,preventFlatpickrOpen as x,handleInputClick as w,handleInputFocus as _}from"../../../common/helpers/flatpickr.js";import"../button/button.js";import{c as z}from"../../../shidoka-flatpickr-theme-3d6e1af1.js";import{j as D,H as F,I as $}from"../../../vendor/@kyndryl-design-system/shidoka-icons-726d44b0.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/flatpickrLangs.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var E=l`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -491,14 +491,14 @@ input {
491
491
  }
492
492
  .date-picker__disabled .label-text .required {
493
493
  color: var(--kd-color-text-level-disabled);
494
- }`;const I={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",pleaseSelectValidDate:"Please select a valid date"};let S=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.required=!1,this.size="md",this.value=null,this.warnText="",this.disable=[],this.enable=[],this.mode="single",this.caption="",this.datePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this.staticPosition=!1,this._enableTime=!1,this._hasInteracted=!1,this.textStrings=I,this._textStrings=I,this._shouldFlatpickrOpen=!1,this._initialized=!1}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset)}render(){var t,i,a,r;const l=`${this.name}-error-message`,n=`${this.name}-warning-message`,s=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-picker-${Math.random().toString(36).slice(2,11)}`,d=null!==(t=this.name)&&void 0!==t?t:"",h=c(this.dateFormat);return o`
494
+ }`;const I={requiredText:"Required",clearAll:"Clear",pleaseSelectDate:"Please select a date",noDateSelected:"No date selected",pleaseSelectValidDate:"Please select a valid date"};let C=class extends(d(s)){constructor(){super(...arguments),this.label="",this.locale="en",this.dateFormat="Y-m-d",this.defaultDate=null,this.defaultErrorMessage="",this.required=!1,this.size="md",this.value=null,this.warnText="",this.disable=[],this._processedDisableDates=[],this.enable=[],this.mode="single",this.caption="",this.datePickerDisabled=!1,this.twentyFourHourFormat=null,this.minDate="",this.maxDate="",this.errorAriaLabel="",this.errorTitle="",this.warningAriaLabel="",this.warningTitle="",this.staticPosition=!1,this._enableTime=!1,this._hasInteracted=!1,this._isClearing=!1,this.textStrings=I,this._textStrings=I,this._shouldFlatpickrOpen=!1,this._initialized=!1,this._isDestroyed=!1,this.debouncedUpdate=this.debounce((async()=>{if(this.flatpickrInstance)try{await this.initializeFlatpickr()}catch(t){console.error("Error in debounced update:",t)}}),100)}debounce(t,e){let i=null;return(...a)=>{null!==i&&window.clearTimeout(i),i=window.setTimeout((()=>{t.apply(this,a),i=null}),e)}}connectedCallback(){super.connectedCallback(),this.addEventListener("change",this._onChange),this.addEventListener("reset",this._handleFormReset)}hasValue(){var t;return!!(null===(t=this._inputEl)||void 0===t?void 0:t.value)||(this.value?!Array.isArray(this.value)||this.value.length>0&&!this.value.every((t=>null===t)):!!this.defaultDate&&(Array.isArray(this.defaultDate)?this.defaultDate.length>0&&!this.defaultDate.every((t=>!t||""===t)):!!this.defaultDate))}render(){var t,i,a;const r=`${this.name}-error-message`,n=`${this.name}-warning-message`,l=this.name?`${this.name}-${Math.random().toString(36).slice(2,11)}`:`date-picker-${Math.random().toString(36).slice(2,11)}`,s=null!==(t=this.name)&&void 0!==t?t:"",d=c(this.dateFormat);return o`
495
495
  <div class=${e(this.getDatepickerClasses())}>
496
496
  <div
497
497
  class="label-text"
498
498
  @mousedown=${this.preventFlatpickrOpen}
499
499
  @click=${this.preventFlatpickrOpen}
500
500
  ?disabled=${this.datePickerDisabled}
501
- id=${`label-${s}`}
501
+ id=${`label-${l}`}
502
502
  >
503
503
  ${this.required?o`<abbr
504
504
  class="required"
@@ -515,18 +515,18 @@ input {
515
515
  <input
516
516
  class="${e({[`size--${this.size}`]:!0,"input-custom":!0})}"
517
517
  type="text"
518
- id=${s}
518
+ id=${l}
519
519
  name=${this.name}
520
- placeholder=${h}
520
+ placeholder=${d}
521
521
  ?disabled=${this.datePickerDisabled}
522
522
  ?required=${this.required}
523
523
  ?invalid=${this._isInvalid}
524
524
  aria-invalid=${this._isInvalid?"true":"false"}
525
- aria-labelledby=${`label-${s}`}
525
+ aria-labelledby=${`label-${l}`}
526
526
  @click=${this.handleInputClickEvent}
527
527
  @focus=${this.handleInputFocusEvent}
528
528
  />
529
- ${(null===(r=this._inputEl)||void 0===r?void 0:r.value)||this.value&&Array.isArray(this.value)&&this.value.length>0&&!this.value.every((t=>null===t))||this.defaultDate&&Array.isArray(this.defaultDate)&&this.defaultDate.length>0&&!this.defaultDate.every((t=>null===t||""===t))?o`
529
+ ${this.hasValue()?o`
530
530
  <kyn-button
531
531
  ?disabled=${this.datePickerDisabled}
532
532
  class="clear-button"
@@ -536,14 +536,14 @@ input {
536
536
  @click=${this._handleClear}
537
537
  >
538
538
  <span style="display:flex;" slot="icon"
539
- >${p(z)}</span
539
+ >${p(D)}</span
540
540
  >
541
541
  </kyn-button>
542
- `:o`<span class="input-icon">${p($)}</span>`}
542
+ `:o`<span class="input-icon">${p(F)}</span>`}
543
543
  </div>
544
544
 
545
545
  ${this.caption?o`<div
546
- id=${d}
546
+ id=${s}
547
547
  class="caption"
548
548
  aria-disabled=${this.datePickerDisabled}
549
549
  @mousedown=${this.preventFlatpickrOpen}
@@ -551,7 +551,7 @@ input {
551
551
  >
552
552
  ${this.caption}
553
553
  </div>`:""}
554
- ${this.renderValidationMessage(l,n)}
554
+ ${this.renderValidationMessage(r,n)}
555
555
  </div>
556
556
  `}renderValidationMessage(t,e){return this.invalidText||this._isInvalid&&this._hasInteracted?o`<div
557
557
  id=${t}
@@ -565,7 +565,7 @@ input {
565
565
  class="error-icon"
566
566
  aria-label=${`${this.errorAriaLabel}`||"Error message icon"}
567
567
  role="button"
568
- >${p(D)}</span
568
+ >${p($)}</span
569
569
  >${this.invalidText||this._internalValidationMsg||this.defaultErrorMessage}
570
570
  </div>`:this.warnText?o`<div
571
571
  id=${e}
@@ -577,5 +577,5 @@ input {
577
577
  @click=${this.preventFlatpickrOpen}
578
578
  >
579
579
  ${this.warnText}
580
- </div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(_.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){super.updated(t),(t.has("dateFormat")||t.has("defaultDate")||t.has("minDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&this.updateFlatpickrOptions()),t.has("datePickerDisabled")&&this.datePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async reinitializeFlatpickr(){this._initialized&&this.flatpickrInstance&&(this.flatpickrInstance.destroy(),await this.initializeFlatpickr())}async setupAnchor(){this._inputEl&&await this.initializeFlatpickr()}_handleClear(t){t.preventDefault(),t.stopPropagation(),this.value="multiple"===this.mode?[]:null,this.defaultDate="multiple"===this.mode?[]:null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value=""),this.reinitializeFlatpickr(),this._validate(!0,!1),this.requestUpdate()}async initializeFlatpickr(){this._inputEl&&(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await m({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{const e=!!this.closest("kyn-modal");v(t,e),t.calendarContainer.setAttribute("aria-label","Date picker")},setInitialDates:this.setInitialDates.bind(this)}),k(),this._validate(!1,!1))}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=await this.getComponentFlatpickrOptions()||{};Object.keys(t).forEach((e=>{this.flatpickrInstance.config&&e in this.flatpickrInstance.config&&this.flatpickrInstance.set(e,t[e])})),this.flatpickrInstance.redraw(),setTimeout((()=>{this.flatpickrInstance&&this.flatpickrInstance.calendarContainer?(v(this.flatpickrInstance),this.flatpickrInstance.calendarContainer.setAttribute("aria-label","Date picker")):console.warn("Calendar container not available...")}),0)}setInitialDates(){if(this.flatpickrInstance)try{if(this.defaultDate)if(Array.isArray(this.defaultDate)){const t=this.defaultDate.filter((t=>t&&""!==t)).map((t=>{const e=new Date(t);return isNaN(e.getTime())?null:e})).filter((t=>null!==t));t.length>0&&(this.value="multiple"===this.mode?t:t[0],this.flatpickrInstance.setDate(t,!1))}else{const t=new Date(this.defaultDate);isNaN(t.getTime())||(this.value=t,this.flatpickrInstance.setDate([t],!1))}else if(this.value){const t=(Array.isArray(this.value)?this.value:[this.value]).filter((t=>t instanceof Date&&!isNaN(t.getTime())));t.length>0&&this.flatpickrInstance.setDate(t,!1)}}catch(t){console.warn("Error setting initial dates:",t)}}async getComponentFlatpickrOptions(){var t,e;const i=this.closest("kyn-modal"),a=i||document.body;return g({locale:this.locale,dateFormat:this.dateFormat,defaultDate:null!==(t=this.defaultDate)&&void 0!==t?t:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(e=this.twentyFourHourFormat)&&void 0!==e?e:void 0,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this.disable,mode:this.mode,closeOnSelect:!("multiple"===this.mode||this._enableTime),loadLocale:f,onOpen:this.handleOpen.bind(this),onClose:this.handleClose.bind(this),onChange:this.handleDateChange.bind(this),appendTo:a,static:this.staticPosition})}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleClose(){this._hasInteracted=!0,this._validate(!0,!1),await this.updateComplete}async handleDateChange(t,e){var i;let a;this._hasInteracted=!0,"multiple"===this.mode?this.value=t.length>0?[...t]:null:this.value=t.length>0?t[0]:null,a=Array.isArray(this.value)?this.value.map((t=>t.toISOString())):this.value instanceof Date?this.value.toISOString():null,b(this,"on-change",{dates:a,dateString:(null===(i=this._inputEl)||void 0===i?void 0:i.value)||e}),this._validate(!0,!1),await this.updateComplete}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){y(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){x(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){w(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim(),a=this.required;let r=this._inputEl.validity,l=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},l=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;n||l||(l=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,l,this._inputEl),this._isInvalid=!n&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=l,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),this.flatpickrInstance&&(this.flatpickrInstance.destroy(),this.flatpickrInstance=void 0)}};S.styles=[F,_],t([i({type:String})],S.prototype,"label",void 0),t([i({type:String})],S.prototype,"locale",void 0),t([i({type:String})],S.prototype,"dateFormat",void 0),t([i({type:Array})],S.prototype,"defaultDate",void 0),t([i({type:String})],S.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],S.prototype,"required",void 0),t([i({type:String})],S.prototype,"size",void 0),t([i({type:Array})],S.prototype,"value",void 0),t([i({type:String})],S.prototype,"warnText",void 0),t([i({type:Array})],S.prototype,"disable",void 0),t([i({type:Array})],S.prototype,"enable",void 0),t([i({type:String})],S.prototype,"mode",void 0),t([i({type:String})],S.prototype,"caption",void 0),t([i({type:Boolean})],S.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],S.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],S.prototype,"minDate",void 0),t([i({type:String})],S.prototype,"maxDate",void 0),t([i({type:String})],S.prototype,"errorAriaLabel",void 0),t([i({type:String})],S.prototype,"errorTitle",void 0),t([i({type:String})],S.prototype,"warningAriaLabel",void 0),t([i({type:String})],S.prototype,"warningTitle",void 0),t([i({type:Boolean})],S.prototype,"staticPosition",void 0),t([a()],S.prototype,"_enableTime",void 0),t([a()],S.prototype,"_hasInteracted",void 0),t([a()],S.prototype,"flatpickrInstance",void 0),t([r("input")],S.prototype,"_inputEl",void 0),t([i({type:Object})],S.prototype,"textStrings",void 0),t([a()],S.prototype,"_textStrings",void 0),t([a()],S.prototype,"_shouldFlatpickrOpen",void 0),S=t([l("kyn-date-picker")],S);export{S as DatePicker};
580
+ </div>`:null}getDatepickerClasses(){return{"date-picker":!0,"date-picker__enable-time":this._enableTime,"date-picker__multiple-select":"multiple"===this.mode,"date-picker__disabled":this.datePickerDisabled}}async firstUpdated(t){super.firstUpdated(t),this._initialized||(h(z.toString()),this._initialized=!0,await this.updateComplete,this.setupAnchor())}updated(t){if(super.updated(t),t.has("value")&&!this._isClearing){const t=this.value;if((null===t||Array.isArray(t)&&0===t.length)&&this.flatpickrInstance){this._isClearing=!0;try{this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value="")}finally{this._isClearing=!1}}this.requestUpdate()}t.has("defaultDate")&&this.flatpickrInstance&&!this._isClearing&&this.debouncedUpdate(),t.has("disable")&&(Array.isArray(this.disable)?this._processedDisableDates=this.disable.map((t=>{if(t instanceof Date)return t;if("number"==typeof t)return new Date(t);if("string"==typeof t){const[e,i,a]=t.split("-").map(Number);if(!isNaN(e)&&!isNaN(i)&&!isNaN(a))return new Date(e,i-1,a)}return t})):(this._processedDisableDates=[],console.warn("Disable prop must be an array")),this.flatpickrInstance&&this.debouncedUpdate()),(t.has("dateFormat")||t.has("minDate")||t.has("maxDate")||t.has("locale")||t.has("twentyFourHourFormat"))&&(this._enableTime=u(this.dateFormat),this.flatpickrInstance&&this._initialized&&!this._isClearing&&(t.has("dateFormat"),this.debouncedUpdate())),t.has("datePickerDisabled")&&this.datePickerDisabled&&this.flatpickrInstance&&this.flatpickrInstance.close()}async setupAnchor(){if(this._inputEl)try{await this.initializeFlatpickr()}catch(t){console.error("Error setting up flatpickr:",t)}else console.warn("Input element not found during setup")}async _handleClear(t){if(t.preventDefault(),t.stopPropagation(),this.flatpickrInstance){this._isClearing=!0;try{this.value="multiple"===this.mode?[]:null,this.defaultDate=null,this.flatpickrInstance.clear(),this._inputEl&&(this._inputEl.value="",this._inputEl.setAttribute("aria-label",this._textStrings.noDateSelected)),m(this,"on-change",{dates:null,dateString:"",source:"clear"}),this._validate(!0,!1),await this.updateComplete,await this.initializeFlatpickr(),this.requestUpdate()}catch(t){console.error("Error clearing datepicker:",t)}finally{this._isClearing=!1}}else console.warn("Cannot clear: Flatpickr instance not available")}async initializeFlatpickr(){if(!this._isDestroyed)if(this._inputEl&&this._inputEl.isConnected)try{if(this.flatpickrInstance&&this.flatpickrInstance.destroy(),this.flatpickrInstance=await v({inputEl:this._inputEl,getFlatpickrOptions:()=>this.getComponentFlatpickrOptions(),setCalendarAttributes:t=>{try{const e=k(this);g(t,e!==document.body),t.calendarContainer&&t.calendarContainer.setAttribute("aria-label","Date picker")}catch(t){console.warn("Error setting calendar attributes:",t)}},setInitialDates:this.setInitialDates.bind(this)}),!this.flatpickrInstance)throw new Error("Failed to initialize Flatpickr instance");b(),this._validate(!1,!1)}catch(t){console.error("Error initializing Flatpickr:",t),t instanceof Error&&console.error("Error details:",t.message)}else console.warn("Cannot initialize Flatpickr: input element not available or not connected to DOM")}async updateFlatpickrOptions(){this.flatpickrInstance?await this.debouncedUpdate():console.warn("Cannot update options: Flatpickr instance not available")}setInitialDates(){if(this.flatpickrInstance)try{const t=this.defaultDate||this.value;if(!t)return;if(Array.isArray(t)){const e=t.filter((t=>!!t&&!("string"==typeof t&&!t.trim())));e.length>0&&this.flatpickrInstance.setDate(e,!0)}else("string"==typeof t&&t.trim()||t instanceof Date)&&this.flatpickrInstance.setDate(t,!0)}catch(t){console.warn("Error setting initial dates:",t),t instanceof Error&&console.warn("Error details:",t.message)}else console.warn("Cannot set initial dates: Flatpickr instance not available")}async getComponentFlatpickrOptions(){var t;const e=k(this);return await f({locale:this.locale,dateFormat:this.dateFormat,defaultDate:this.defaultDate?this.defaultDate:void 0,enableTime:this._enableTime,twentyFourHourFormat:null!==(t=this.twentyFourHourFormat)&&void 0!==t?t:void 0,inputEl:this._inputEl,minDate:this.minDate,maxDate:this.maxDate,enable:this.enable,disable:this._processedDisableDates,mode:this.mode,closeOnSelect:!("multiple"===this.mode||this._enableTime),loadLocale:y,onOpen:this.handleOpen.bind(this),onClose:this.handleClose.bind(this),onChange:this.handleDateChange.bind(this),appendTo:e,noCalendar:!1,static:this.staticPosition})}handleOpen(){var t;this._shouldFlatpickrOpen||(null===(t=this.flatpickrInstance)||void 0===t||t.close(),this._shouldFlatpickrOpen=!0)}async handleClose(){this._hasInteracted=!0,this._validate(!0,!1),await this.updateComplete}async handleDateChange(t,e){var i;if(!this._isClearing){this._hasInteracted=!0;try{let a;"multiple"===this.mode?this.value=t.length>0?[...t]:null:this.value=t.length>0?t[0]:null,a=Array.isArray(this.value)?this.value.map((t=>t.toISOString())):this.value instanceof Date?this.value.toISOString():null,m(this,"on-change",{dates:a,dateString:(null===(i=this._inputEl)||void 0===i?void 0:i.value)||e,source:0===t.length?"clear":void 0}),this._validate(!0,!1),await this.updateComplete,this.requestUpdate()}catch(t){console.warn("Error handling date change:",t)}}}setShouldFlatpickrOpen(t){this._shouldFlatpickrOpen=t}closeFlatpickr(){var t;null===(t=this.flatpickrInstance)||void 0===t||t.close()}preventFlatpickrOpen(t){x(t,this.setShouldFlatpickrOpen.bind(this))}handleInputClickEvent(){w(this.setShouldFlatpickrOpen.bind(this))}handleInputFocusEvent(){_(this._shouldFlatpickrOpen,this.closeFlatpickr.bind(this),this.setShouldFlatpickrOpen.bind(this))}_validate(t,e){if(!(this._inputEl&&this._inputEl instanceof HTMLInputElement))return;t&&(this._hasInteracted=!0);const i=!this._inputEl.value.trim(),a=this.required;let r=this._inputEl.validity,n=this._inputEl.validationMessage;a&&i&&(r={...r,valueMissing:!0},n=this.defaultErrorMessage||this._textStrings.pleaseSelectDate),this.invalidText&&(r={...r,customError:!0},n=this.invalidText);const l=!r.valueMissing&&!r.customError;l||n||(n=this._textStrings.pleaseSelectValidDate),this._internals.setValidity(r,n,this._inputEl),this._isInvalid=!l&&(this._hasInteracted||""!==this.invalidText),this._internalValidationMsg=n,e&&this._internals.reportValidity(),this.requestUpdate()}_onChange(){this._validate(!0,!1)}_handleFormReset(){this.value=null,this.flatpickrInstance&&this.flatpickrInstance.clear(),this._hasInteracted=!1,this._validate(!1,!1)}disconnectedCallback(){this._isDestroyed=!0,super.disconnectedCallback(),this.removeEventListener("change",this._onChange),this.removeEventListener("reset",this._handleFormReset),this.flatpickrInstance&&(this.flatpickrInstance.destroy(),this.flatpickrInstance=void 0)}};C.styles=[E,z],t([i({type:String})],C.prototype,"label",void 0),t([i({type:String})],C.prototype,"locale",void 0),t([i({type:String})],C.prototype,"dateFormat",void 0),t([i({type:Array})],C.prototype,"defaultDate",void 0),t([i({type:String})],C.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],C.prototype,"required",void 0),t([i({type:String})],C.prototype,"size",void 0),t([i({type:Array})],C.prototype,"value",void 0),t([i({type:String})],C.prototype,"warnText",void 0),t([i({type:Array})],C.prototype,"disable",void 0),t([a()],C.prototype,"_processedDisableDates",void 0),t([i({type:Array})],C.prototype,"enable",void 0),t([i({type:String})],C.prototype,"mode",void 0),t([i({type:String})],C.prototype,"caption",void 0),t([i({type:Boolean})],C.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],C.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],C.prototype,"minDate",void 0),t([i({type:String})],C.prototype,"maxDate",void 0),t([i({type:String})],C.prototype,"errorAriaLabel",void 0),t([i({type:String})],C.prototype,"errorTitle",void 0),t([i({type:String})],C.prototype,"warningAriaLabel",void 0),t([i({type:String})],C.prototype,"warningTitle",void 0),t([i({type:Boolean})],C.prototype,"staticPosition",void 0),t([a()],C.prototype,"_enableTime",void 0),t([a()],C.prototype,"_hasInteracted",void 0),t([a()],C.prototype,"flatpickrInstance",void 0),t([r("input")],C.prototype,"_inputEl",void 0),t([a()],C.prototype,"_isClearing",void 0),t([i({type:Object})],C.prototype,"textStrings",void 0),t([a()],C.prototype,"_textStrings",void 0),t([a()],C.prototype,"_shouldFlatpickrOpen",void 0),C=t([n("kyn-date-picker")],C);export{C as DatePicker};
581
581
  //# sourceMappingURL=datepicker.js.map