@kyndryl-design-system/shidoka-applications 2.8.1 → 2.9.0

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 (25) hide show
  1. package/common/helpers/flatpickr.d.ts +5 -3
  2. package/common/helpers/flatpickr.d.ts.map +1 -1
  3. package/common/helpers/flatpickr.js +1 -1
  4. package/common/helpers/flatpickr.js.map +1 -1
  5. package/common/scss/shidoka-flatpickr-theme.scss +41 -48
  6. package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
  7. package/components/reusable/datePicker/datepicker.js +2 -2
  8. package/components/reusable/datePicker/datepicker.js.map +1 -1
  9. package/components/reusable/datePicker/index.js +1 -1
  10. package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
  11. package/components/reusable/daterangepicker/daterangepicker.js +7 -7
  12. package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
  13. package/components/reusable/daterangepicker/index.js +1 -1
  14. package/components/reusable/pagetitle/pageTitle.d.ts +2 -0
  15. package/components/reusable/pagetitle/pageTitle.d.ts.map +1 -1
  16. package/components/reusable/pagetitle/pageTitle.js +43 -2
  17. package/components/reusable/pagetitle/pageTitle.js.map +1 -1
  18. package/components/reusable/timepicker/index.js +1 -1
  19. package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
  20. package/components/reusable/timepicker/timepicker.js +2 -2
  21. package/components/reusable/timepicker/timepicker.js.map +1 -1
  22. package/index.js +1 -1
  23. package/package.json +1 -1
  24. package/{shidoka-flatpickr-theme-42d7c67e.js → shidoka-flatpickr-theme-0e8883f1.js} +17 -18
  25. package/{shidoka-flatpickr-theme-42d7c67e.js.map → shidoka-flatpickr-theme-0e8883f1.js.map} +1 -1
@@ -6,7 +6,6 @@ interface BaseFlatpickrContext {
6
6
  getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;
7
7
  setCalendarAttributes: (instance: Instance) => void;
8
8
  setInitialDates?: (instance: Instance) => void;
9
- appendToBody?: boolean;
10
9
  }
11
10
  interface SingleFlatpickrContext extends BaseFlatpickrContext {
12
11
  inputEl: HTMLElement;
@@ -50,6 +49,7 @@ interface FlatpickrOptionsContext {
50
49
  closeOnSelect?: boolean;
51
50
  wrap?: boolean;
52
51
  noCalendar?: boolean;
52
+ appendTo?: HTMLElement;
53
53
  }
54
54
  export declare function isSupportedLocale(locale: string): boolean;
55
55
  export declare function preventFlatpickrOpen(event: Event, setShouldFlatpickrOpen: (value: boolean) => void): void;
@@ -58,12 +58,14 @@ export declare function handleInputFocus(shouldFlatpickrOpen: boolean, closeFlat
58
58
  export declare function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void;
59
59
  export declare function injectFlatpickrStyles(customStyle: string): void;
60
60
  export declare function initializeMultiAnchorFlatpickr(context: RangeFlatpickrContext): Promise<Instance | undefined>;
61
- export declare function initializeSingleAnchorFlatpickr(context: SingleFlatpickrContext): Promise<Instance | undefined>;
61
+ export declare function initializeSingleAnchorFlatpickr(context: SingleFlatpickrContext & {
62
+ appendTo?: HTMLElement;
63
+ }): Promise<Instance | undefined>;
62
64
  export declare function isValidDateFormat(format: string): format is DateFormatOption;
63
65
  export declare function getPlaceholder(dateFormat: string, isDateRange?: boolean): string;
64
66
  export declare function getFlatpickrOptions(context: FlatpickrOptionsContext): Promise<Partial<BaseOptions>>;
65
67
  export declare function updateEnableTime(dateFormat: string): boolean;
66
- export declare function setCalendarAttributes(instance: Instance): void;
68
+ export declare function setCalendarAttributes(instance: Instance, modalDetected?: boolean): void;
67
69
  export declare function loadLocale(locale: string): Promise<Partial<Locale>>;
68
70
  export declare function hideEmptyYear(): void;
69
71
  export declare function validate(inputEl: HTMLInputElement, required: boolean, invalidText: string, defaultErrorMessage: string, hasInteracted: boolean, internals: ElementInternals): {
@@ -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,appendToBody: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?document.body.appendChild(r):n.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 y(e){return e in o}function f(e,t){let n;return y(e)?(n=t?`${o[e]} to ${o[e]}`:o[e],n):"Select date"}async function h(e){const{locale:t,dateFormat:n,enableTime:a,twentyFourHourFormat:i,inputEl:o,allowInput:l,minDate:r,maxDate:s,minTime:c,maxTime:u,defaultDate:m,defaultHour:p,defaultMinute:y,enable:f,disable:h,mode:g="single",closeOnSelect:k,wrap:E=!1,noCalendar:b=!1,onChange:v,onClose:w,onOpen:C,loadLocale:F}=e;t||console.warn("Locale not provided. Falling back to default."),n||console.warn("Date format not provided. Using default format.");const L=await F(t);d(L);const T=["en","en-US","en-GB","es-MX"].includes(t),H=window.innerWidth>=767,I={dateFormat:n||("time"===g?"H:i":"Y-m-d"),mode:"time"===g?"single":g,enableTime:"time"===g||a,noCalendar:"time"===g||b,allowInput:l||!1,clickOpens:!0,time_24hr:"boolean"==typeof i?i:!T,weekNumbers:!1,wrap:E,showMonths:"range"===g&&H?2:1,monthSelectorType:"static",locale:L,closeOnSelect:null!=k?k:!("multiple"===g||a),onChange:(e,t,n)=>{v&&v(e,t,n)},onClose:(e,t,n)=>{if("range"===g){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"))}w&&w(e,t,n)},onOpen:(e,t,n)=>{C&&C(e,t,n)}};return"range"===g&&(I.onReady=(e,t,n)=>{const a=n.calendarContainer.querySelector(".flatpickr-time");null==a||a.classList.add("default-time-select")}),o instanceof HTMLInputElement||(I.positionElement=o),r&&(I.minDate=r),s&&(I.maxDate=s),c&&(I.minTime=c),u&&(I.maxTime=u),m&&((!Array.isArray(m)||"range"!==g&&"multiple"!==g)&&Array.isArray(m)||(I.defaultDate=m)),void 0!==p&&(I.defaultHour=p),void 0!==y&&(I.defaultMinute=y),f&&f.length>0&&(I.enable=f),h&&h.length>0&&(I.disable=h),I}function g(e){return e.includes("H:")||e.includes("h:")}function k(e){e&&e.calendarContainer?(e.calendarContainer.setAttribute("role","application"),e.calendarContainer.setAttribute("aria-label","Calendar")):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 b(){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 v(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 w(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:n,bubbles:!0,composed:!0}))}export{w as emitValue,h as getFlatpickrOptions,f as getPlaceholder,s as handleInputClick,c as handleInputFocus,b as hideEmptyYear,m as initializeMultiAnchorFlatpickr,p as initializeSingleAnchorFlatpickr,u as injectFlatpickrStyles,l as isSupportedLocale,y as isValidDateFormat,i as langsArray,E as loadLocale,d as modifyWeekdayShorthands,r as preventFlatpickrOpen,k as setCalendarAttributes,g as updateEnableTime,v as validate};
1
+ import{r as e,f as n,E as t}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,n){e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),n(!1)}function s(e){e(!0)}function c(e,n,t){e||(n(),t(!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 n=document.createElement("style");n.id="flatpickr-custom-styles",n.textContent=e,document.head.appendChild(n),a=!0}}async function m(t){const{inputEl:a,endinputEl:i,getFlatpickrOptions:o,setCalendarAttributes:l,setInitialDates:r}=t;if(a)try{const t=await o(),s=e=>{if(e instanceof HTMLInputElement)return e;{let n=e.querySelector("input");return n||(n=document.createElement("input"),n.type="text",n.style.display="none",e.appendChild(n)),n}},c=s(a);if(i){const n=s(i);t.plugins=[...t.plugins||[],e({input:n})]}const d=n(c,t);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:t,getFlatpickrOptions:a,setCalendarAttributes:i,setInitialDates:o,appendTo:l}=e;if(t)try{const e=await a();let r;e.dateFormat=e.dateFormat||"Y-m-d",t instanceof HTMLInputElement?(r=t,e.clickOpens=!0):(r=document.createElement("input"),r.type="text",r.style.display="none",l?l.appendChild(r):t instanceof HTMLElement&&!(t instanceof HTMLInputElement)?t.appendChild(r):document.body.appendChild(r),e.clickOpens=!1,e.positionElement=t);const s=n(r,e);return s?(setTimeout((()=>{i&&i(s)}),0),o&&o(s),t instanceof HTMLInputElement||t.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,n){let t;return f(e)?(t=n?`${o[e]} to ${o[e]}`:o[e],t):"Select date"}async function h(e){const{locale:n,dateFormat:t,enableTime:a,twentyFourHourFormat:i,inputEl:o,allowInput:l,minDate:r,maxDate:s,minTime:c,maxTime:u,defaultDate:m,defaultHour:p,defaultMinute:f,enable:y,disable:h,mode:g="single",closeOnSelect:k,wrap:E=!1,noCalendar:b=!1,onChange:v,onClose:C,onOpen:w,loadLocale:F,appendTo:L}=e;n||console.warn("Locale not provided. Falling back to default."),t||console.warn("Date format not provided. Using default format.");const T=await F(n);d(T);const H=["en","en-US","en-GB","es-MX"].includes(n),M=window.innerWidth>=767,I={dateFormat:t||("time"===g?"H:i":"Y-m-d"),mode:"time"===g?"single":g,enableTime:"time"===g||a,noCalendar:"time"===g||b,allowInput:l||!1,clickOpens:!0,time_24hr:"boolean"==typeof i?i:!H,weekNumbers:!1,wrap:E,showMonths:"range"===g&&M?2:1,monthSelectorType:"static",locale:T,closeOnSelect:null!=k?k:!("multiple"===g||a),onChange:(e,n,t)=>{v&&v(e,n,t)},onClose:(e,n,t)=>{if("range"===g){const n=t.calendarContainer.querySelector(".flatpickr-time");0===e.length&&(null==n||n.classList.add("default-time-select"),null==n||n.classList.remove("start-date","end-date"))}C&&C(e,n,t)},onOpen:(e,n,t)=>{w&&w(e,n,t)}};return"range"===g&&(I.onReady=(e,n,t)=>{const a=t.calendarContainer.querySelector(".flatpickr-time");null==a||a.classList.add("default-time-select")}),o instanceof HTMLInputElement||(I.positionElement=o),r&&(I.minDate=r),s&&(I.maxDate=s),c&&(I.minTime=c),u&&(I.maxTime=u),m&&((!Array.isArray(m)||"range"!==g&&"multiple"!==g)&&Array.isArray(m)||(I.defaultDate=m)),void 0!==p&&(I.defaultHour=p),void 0!==f&&(I.defaultMinute=f),y&&y.length>0&&(I.enable=y),h&&h.length>0&&(I.disable=h),L&&(I.appendTo=L),I}function g(e){return e.includes("H:")||e.includes("h:")}function k(e,n){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 t=n?"container-modal":"container-default";e.calendarContainer.classList.add(t)}else console.warn("Calendar container not available...")}async function E(e){if("en"===e)return t;if(!l(e))return console.warn(`Unsupported locale: ${e}. Falling back to English.`),t;try{const n=await import(`flatpickr/dist/l10n/${e}.js`),a=n[e]||n.default[e]||n.default;return a||(console.warn(`Locale configuration not found for ${e}. Falling back to English.`),t)}catch(n){return console.error(`Failed to load locale ${e}. Falling back to English.`,n),n instanceof Error&&console.error("Error details:",n.message),t}}function b(){document.querySelectorAll(".numInputWrapper").forEach((e=>{const n=e.querySelector(".numInput.cur-year"),t=document.querySelector(".flatpickr-current-month span.cur-month");n&&n.min&&n.max&&n.min===n.max&&(e.style.display="none",t&&(t.style.marginLeft="auto"))}))}function v(e,n,t,a,i,o){if(!e)return console.warn("Input element is undefined..."),{isValid:!0,validationMessage:""};const l=!e.value.trim(),r=n;let s=e.validity,c=e.validationMessage;r&&l&&(s={...s,valueMissing:!0},c=a),t&&(s={...s,customError:!0},c=t),o.setValidity(s,c,e);return{isValid:!t&&(!i||!l||l&&!r),validationMessage:c}}function C(e,n,t){e.dispatchEvent(new CustomEvent(n,{detail:t,bubbles:!0,composed:!0}))}export{C as emitValue,h as getFlatpickrOptions,y as getPlaceholder,s as handleInputClick,c as handleInputFocus,b 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,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 appendToBody?: boolean;\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}\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\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendToBody,\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 options.dateFormat = options.dateFormat || 'Y-m-d';\n\n let inputElement: HTMLInputElement;\n\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 (appendToBody) {\n document.body.appendChild(inputElement);\n } else {\n inputEl.appendChild(inputElement);\n }\n\n options.clickOpens = false;\n options.positionElement = inputEl;\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 if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.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 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 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 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\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n return dateFormat.includes('H:') || dateFormat.includes('h:');\n}\n\nexport function setCalendarAttributes(instance: Instance): void {\n if (instance && instance.calendarContainer) {\n instance.calendarContainer.setAttribute('role', 'application');\n instance.calendarContainer.setAttribute('aria-label', 'Calendar');\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","appendToBody","dateFormat","clickOpens","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","showMonths","monthSelectorType","selectedDates","dateStr","instance","timeContainer","calendarContainer","length","classList","add","remove","onReady","_","__","Array","isArray","undefined","updateEnableTime","setAttribute","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":"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"}
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}\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 onChange,\n onClose,\n onOpen,\n loadLocale,\n appendTo,\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 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 } 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","showMonths","monthSelectorType","selectedDates","dateStr","instance","timeContainer","calendarContainer","length","classList","add","remove","onReady","_","__","Array","isArray","undefined","updateEnableTime","modalDetected","setAttribute","containerClass","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":"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"}
@@ -20,10 +20,10 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
20
20
  font-size: 14px;
21
21
  line-height: 24px;
22
22
  border-radius: 4px;
23
- position: absolute;
24
23
  width: 323.875px;
25
24
  border: none;
26
25
  box-sizing: border-box;
26
+ position: absolute;
27
27
  opacity: 0;
28
28
  padding: 8px;
29
29
  left: 20px;
@@ -40,6 +40,10 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
40
40
  -ms-touch-action: manipulation;
41
41
  touch-action: manipulation;
42
42
 
43
+ &.container-modal {
44
+ position: fixed;
45
+ }
46
+
43
47
  .flatpickr-innerContainer {
44
48
  display: flex;
45
49
  justify-content: center;
@@ -186,6 +190,11 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
186
190
  .flatpickr-calendar.open {
187
191
  display: inline-block;
188
192
  z-index: 99999;
193
+
194
+ &.static {
195
+ z-index: 99999;
196
+ display: block;
197
+ }
189
198
  }
190
199
 
191
200
  .flatpickr-calendar.animate.open {
@@ -204,11 +213,6 @@ $calendar-box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.08),
204
213
  top: calc(100% + 2px);
205
214
  }
206
215
 
207
- .flatpickr-calendar.static.open {
208
- z-index: 999;
209
- display: block;
210
- }
211
-
212
216
  .flatpickr-calendar.multiMonth
213
217
  .flatpickr-days
214
218
  .dayContainer:nth-child(n + 1)
@@ -1127,55 +1131,44 @@ span.flatpickr-weekday {
1127
1131
  }
1128
1132
  }
1129
1133
 
1134
+ @mixin vertical-divider {
1135
+ content: '';
1136
+ position: absolute;
1137
+ top: 0;
1138
+ bottom: 0;
1139
+ left: 50.25%;
1140
+ width: 1px;
1141
+ background-color: var(--kd-color-border-variants-light);
1142
+ }
1143
+
1130
1144
  @media (min-width: 767px) {
1131
- .flatpickr-calendar {
1132
- &.rangeMode {
1133
- width: 638px;
1134
- padding: 4px;
1135
- box-sizing: border-box;
1145
+ .flatpickr-calendar.rangeMode {
1146
+ width: 625px !important;
1147
+ padding: 4px;
1148
+ box-sizing: border-box;
1136
1149
 
1137
- .flatpickr-days {
1138
- width: 615px;
1139
- }
1150
+ .flatpickr-days {
1151
+ width: 100% !important;
1152
+ margin: 0 auto;
1153
+ }
1140
1154
 
1141
- .dayContainer {
1142
- width: 50%;
1143
- min-width: auto;
1144
- max-width: none;
1145
- }
1155
+ .dayContainer {
1156
+ width: 50.25%;
1157
+ min-width: auto;
1158
+ max-width: none;
1159
+ }
1146
1160
 
1147
- .flatpickr-innerContainer {
1148
- display: flex;
1149
- justify-content: space-between;
1150
- }
1151
- .flatpickr-months {
1152
- &::after {
1153
- content: '';
1154
- position: absolute;
1155
- top: 0;
1156
- bottom: 0;
1157
- left: 50%;
1158
- width: 1px;
1159
- background-color: var(--kd-color-border-variants-light);
1160
- }
1161
- }
1161
+ .flatpickr-innerContainer {
1162
+ display: flex;
1163
+ justify-content: space-between;
1162
1164
 
1163
- &.flatpickr-days {
1164
- width: 615px;
1165
- margin: 0 auto;
1165
+ &::after {
1166
+ @include vertical-divider;
1166
1167
  }
1168
+ }
1167
1169
 
1168
- .flatpickr-innerContainer {
1169
- &::after {
1170
- content: '';
1171
- position: absolute;
1172
- top: 0;
1173
- bottom: 0;
1174
- left: 50%;
1175
- width: 1px;
1176
- background-color: var(--kd-color-border-variants-light);
1177
- }
1178
- }
1170
+ .flatpickr-months::after {
1171
+ @include vertical-divider;
1179
1172
  }
1180
1173
  }
1181
1174
  }
@@ -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-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.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-42d7c67e.js";import{j as z,H as $,I as F}from"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var I=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 l}from"../../../vendor/lit-6e2a7867.js";import{i as n,x as o,s}from"../../../vendor/lit-element-3185f710.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-0e8883f1.js";import{j as z,H as $,I as F}from"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var I=n`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -547,5 +547,5 @@ input {
547
547
  @click=${this.preventFlatpickrOpen}
548
548
  >
549
549
  ${this.warnText}
550
- </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.bind(this),setCalendarAttributes:t=>{t&&t.calendarContainer?(v(t),t.calendarContainer.setAttribute("aria-label","Date picker")):console.warn("Calendar container not available...")},setInitialDates:this.setInitialDates.bind(this),appendToBody:!1}),k(),this._validate(!1,!1))}async updateFlatpickrOptions(){if(!this.flatpickrInstance)return;const t=await this.getComponentFlatpickrOptions();Object.keys(t).forEach((e=>{e in this.flatpickrInstance.config&&this.flatpickrInstance.set(e,t[e])})),this.flatpickrInstance.redraw(),k(),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;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)})}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.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;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)}};E.styles=[I,_],t([i({type:String})],E.prototype,"label",void 0),t([i({type:String})],E.prototype,"locale",void 0),t([i({type:String})],E.prototype,"dateFormat",void 0),t([i({type:Array})],E.prototype,"defaultDate",void 0),t([i({type:String})],E.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],E.prototype,"required",void 0),t([i({type:String})],E.prototype,"size",void 0),t([i({type:Array})],E.prototype,"value",void 0),t([i({type:String})],E.prototype,"warnText",void 0),t([i({type:Array})],E.prototype,"disable",void 0),t([i({type:Array})],E.prototype,"enable",void 0),t([i({type:String})],E.prototype,"mode",void 0),t([i({type:String})],E.prototype,"caption",void 0),t([i({type:Boolean})],E.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],E.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],E.prototype,"minDate",void 0),t([i({type:String})],E.prototype,"maxDate",void 0),t([i({type:String})],E.prototype,"errorAriaLabel",void 0),t([i({type:String})],E.prototype,"errorTitle",void 0),t([i({type:String})],E.prototype,"warningAriaLabel",void 0),t([i({type:String})],E.prototype,"warningTitle",void 0),t([a()],E.prototype,"_enableTime",void 0),t([a()],E.prototype,"_hasInteracted",void 0),t([a()],E.prototype,"flatpickrInstance",void 0),t([r("input")],E.prototype,"_inputEl",void 0),t([i({type:Object})],E.prototype,"textStrings",void 0),t([a()],E.prototype,"_textStrings",void 0),t([a()],E.prototype,"_shouldFlatpickrOpen",void 0),E=t([l("kyn-date-picker")],E);export{E as DatePicker};
550
+ </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})}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.invalidText&&(r={...r,customError:!0},l=this.invalidText);const n=!r.valueMissing&&!r.customError;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)}};E.styles=[I,_],t([i({type:String})],E.prototype,"label",void 0),t([i({type:String})],E.prototype,"locale",void 0),t([i({type:String})],E.prototype,"dateFormat",void 0),t([i({type:Array})],E.prototype,"defaultDate",void 0),t([i({type:String})],E.prototype,"defaultErrorMessage",void 0),t([i({type:Boolean})],E.prototype,"required",void 0),t([i({type:String})],E.prototype,"size",void 0),t([i({type:Array})],E.prototype,"value",void 0),t([i({type:String})],E.prototype,"warnText",void 0),t([i({type:Array})],E.prototype,"disable",void 0),t([i({type:Array})],E.prototype,"enable",void 0),t([i({type:String})],E.prototype,"mode",void 0),t([i({type:String})],E.prototype,"caption",void 0),t([i({type:Boolean})],E.prototype,"datePickerDisabled",void 0),t([i({type:Boolean})],E.prototype,"twentyFourHourFormat",void 0),t([i({type:String})],E.prototype,"minDate",void 0),t([i({type:String})],E.prototype,"maxDate",void 0),t([i({type:String})],E.prototype,"errorAriaLabel",void 0),t([i({type:String})],E.prototype,"errorTitle",void 0),t([i({type:String})],E.prototype,"warningAriaLabel",void 0),t([i({type:String})],E.prototype,"warningTitle",void 0),t([a()],E.prototype,"_enableTime",void 0),t([a()],E.prototype,"_hasInteracted",void 0),t([a()],E.prototype,"flatpickrInstance",void 0),t([r("input")],E.prototype,"_inputEl",void 0),t([i({type:Object})],E.prototype,"textStrings",void 0),t([a()],E.prototype,"_textStrings",void 0),t([a()],E.prototype,"_shouldFlatpickrOpen",void 0),E=t([l("kyn-date-picker")],E);export{E as DatePicker};
551
551
  //# sourceMappingURL=datepicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: this.getComponentFlatpickrOptions.bind(this),\n setCalendarAttributes: (instance) => {\n if (instance && instance.calendarContainer) {\n setCalendarAttributes(instance);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n } else {\n console.warn('Calendar container not available...');\n }\n },\n setInitialDates: this.setInitialDates.bind(this),\n appendToBody: false,\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n\n const newOptions = await this.getComponentFlatpickrOptions();\n Object.keys(newOptions).forEach((key) => {\n if (key in this.flatpickrInstance!.config) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n\n this.flatpickrInstance.redraw();\n\n hideEmptyYear();\n\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = this.defaultErrorMessage;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","bind","setCalendarAttributes","instance","calendarContainer","setAttribute","console","warn","setInitialDates","appendToBody","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCA,MAAMA,EAAsB,CAC1BC,aAAc,WACdC,SAAU,SASC,IAAAC,EAAN,cAAyBC,EAAUC,IAAnC,WAAAC,uBAKLC,KAAKC,MAAG,GAIRD,KAAME,OAAoB,KAI1BF,KAAUG,WAAG,QAIbH,KAAWI,YAA6B,KAIxCJ,KAAmBK,oBAAG,GAItBL,KAAQM,UAAG,EAIXN,KAAIO,KAAG,KAIEP,KAAKQ,MAAyB,KAIvCR,KAAQS,SAAG,GAIXT,KAAOU,QAA+B,GAItCV,KAAMW,OAA+B,GAIrCX,KAAIY,KAA0B,SAI9BZ,KAAOa,QAAG,GAIVb,KAAkBc,oBAAG,EAMrBd,KAAoBe,qBAAmB,KAIvCf,KAAOgB,QAA2B,GAIlChB,KAAOiB,QAA2B,GAIlCjB,KAAckB,eAAG,GAIjBlB,KAAUmB,WAAG,GAIbnB,KAAgBoB,iBAAG,GAInBpB,KAAYqB,aAAG,GAMPrB,KAAWsB,aAAG,EAOdtB,KAAcuB,gBAAG,EAiBzBvB,KAAWwB,YAAG/B,EAMdO,KAAYyB,aAAGhC,EAMPO,KAAoB0B,sBAAG,EAkJvB1B,KAAY2B,cAAG,CAyTxB,CAzcU,iBAAAC,GACPC,MAAMD,oBACN5B,KAAK8B,iBAAiB,SAAU9B,KAAK+B,WACrC/B,KAAK8B,iBAAiB,QAAS9B,KAAKgC,iBACrC,CAEQ,MAAAC,eACP,MAAMC,EAAU,GAAGlC,KAAKmC,qBAClBC,EAAY,GAAGpC,KAAKmC,uBACpBE,EAAWrC,KAAKmC,KAClB,GAAGnC,KAAKmC,QAAQG,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,MACpD,eAAeH,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,MACjDC,EAAyB,QAATC,EAAA3C,KAAKmC,YAAI,IAAAQ,EAAAA,EAAI,GAC7BC,EAAcC,EAAe7C,KAAKG,YAExC,OAAO2C,CAAI;mBACIC,EAAS/C,KAAKgD;;;uBAGVhD,KAAKiD;mBACTjD,KAAKiD;sBACFjD,KAAKc;eACZ,SAASuB;;YAEZrC,KAAKM,SACHwC,CAAI;;wBAEuB,QAAjBI,EAAAlD,KAAKyB,oBAAY,IAAAyB,OAAA,EAAAA,EAAExD;;6BAEG,QAAjByD,EAAAnD,KAAKyB,oBAAY,IAAA0B,OAAA,EAAAA,EAAEzD;;iBAGlC;YACFM,KAAKC;;;;;;qBAMI8C,EAAS,CAChB,CAAC,SAAS/C,KAAKO,SAAS,EACxB,gBAAgB;;iBAGb8B;mBACErC,KAAKmC;0BACES;wBACF5C,KAAKc;wBACLd,KAAKM;uBACNN,KAAKoD;2BACDpD,KAAKoD,WAAa,OAAS;8BACxB,SAASf;qBAClBrC,KAAKqD;qBACLrD,KAAKsD;;qBAEdC,EAAAvD,KAAKwD,+BAAUhD,QAChBR,KAAKQ,OACJiD,MAAMC,QAAQ1D,KAAKQ,QACnBR,KAAKQ,MAAMmD,OAAS,IACnB3D,KAAKQ,MAAMoD,OAAOC,GAAkB,OAATA,KAC7B7D,KAAKI,aACJqD,MAAMC,QAAQ1D,KAAKI,cACnBJ,KAAKI,YAAYuD,OAAS,IACzB3D,KAAKI,YAAYwD,OAAOC,GAAkB,OAATA,GAA0B,KAATA,IACjDf,CAAI;;8BAEY9C,KAAKc;;;;gCAIHd,KAAKyB,aAAa9B;2BACvBK,KAAK8D;;;uBAGTC,EAAUC;;;gBAInBlB,CAAI,4BAA4BiB,EAAUE;;;UAG9CjE,KAAKa,QACHiC,CAAI;mBACGJ;;8BAEW1C,KAAKc;2BACRd,KAAKiD;uBACTjD,KAAKiD;;gBAEZjD,KAAKa;oBAET;UACFb,KAAKkE,wBAAwBhC,EAASE;;KAG7C,CAEO,uBAAA8B,CAAwBhC,EAAiBE,GAC/C,OAAIpC,KAAKmE,aAAgBnE,KAAKoD,YAAcpD,KAAKuB,eACxCuB,CAAI;aACJZ;;;gBAGGlC,KAAKmB,YAAc;qBACdnB,KAAKiD;iBACTjD,KAAKiD;;;;uBAIC,GAAGjD,KAAKkB,kBAAoB;;aAEtC6C,EAAUK;WACZpE,KAAKmE,aACRnE,KAAKqE,wBACLrE,KAAKK;cAILL,KAAKS,SACAqC,CAAI;aACJV;;;qBAGQpC,KAAKoB,kBAAoB;gBAC9BpB,KAAKqB,cAAgB;qBAChBrB,KAAKiD;iBACTjD,KAAKiD;;UAEZjD,KAAKS;cAIJ,IACR,CAED,oBAAAuC,GACE,MAAO,CACL,eAAe,EACf,2BAA4BhD,KAAKsB,YACjC,+BAA8C,aAAdtB,KAAKY,KACrC,wBAAyBZ,KAAKc,mBAEjC,CAIQ,kBAAMwD,CAAaC,GAC1B1C,MAAMyC,aAAaC,GACdvE,KAAK2B,eACR6C,EAAsBC,EAAsBjC,YAC5CxC,KAAK2B,cAAe,QACd3B,KAAK0E,eACX1E,KAAK2E,cAER,CAEQ,OAAAC,CAAQL,GACf1C,MAAM+C,QAAQL,IAEZA,EAAkBM,IAAI,eACtBN,EAAkBM,IAAI,gBACtBN,EAAkBM,IAAI,YACtBN,EAAkBM,IAAI,YACtBN,EAAkBM,IAAI,WACtBN,EAAkBM,IAAI,2BAEtB7E,KAAKsB,YAAcwD,EAAiB9E,KAAKG,YACrCH,KAAK+E,mBAAqB/E,KAAK2B,cACjC3B,KAAKgF,0BAKPT,EAAkBM,IAAI,uBACtB7E,KAAKc,oBACLd,KAAK+E,mBAEL/E,KAAK+E,kBAAkBE,OAE1B,CAEO,2BAAMC,GACRlF,KAAK2B,cAAgB3B,KAAK+E,oBAC5B/E,KAAK+E,kBAAkBI,gBACjBnF,KAAKoF,sBAEd,CAEO,iBAAMT,GACR3E,KAAKwD,gBACDxD,KAAKoF,qBAEd,CAEO,YAAAtB,CAAauB,GACnBA,EAAMC,iBACND,EAAME,kBAENvF,KAAKQ,MAAsB,aAAdR,KAAKY,KAAsB,GAAK,KAC7CZ,KAAKI,YAA4B,aAAdJ,KAAKY,KAAsB,GAAK,KAE/CZ,KAAK+E,mBACP/E,KAAK+E,kBAAkBS,QAErBxF,KAAKwD,WACPxD,KAAKwD,SAAShD,MAAQ,IAGxBR,KAAKkF,wBAELlF,KAAKyF,WAAU,GAAM,GACrBzF,KAAK0F,eACN,CAED,yBAAMN,GACCpF,KAAKwD,WACNxD,KAAK+E,mBAAmB/E,KAAK+E,kBAAkBI,UAEnDnF,KAAK+E,wBAA0BY,EAAgC,CAC7DC,QAAS5F,KAAKwD,SACdqC,oBAAqB7F,KAAK8F,6BAA6BC,KAAK/F,MAC5DgG,sBAAwBC,IAClBA,GAAYA,EAASC,mBACvBF,EAAsBC,GACtBA,EAASC,kBAAkBC,aAAa,aAAc,gBAEtDC,QAAQC,KAAK,sCACd,EAEHC,gBAAiBtG,KAAKsG,gBAAgBP,KAAK/F,MAC3CuG,cAAc,IAGhBC,IACAxG,KAAKyF,WAAU,GAAO,GACvB,CAED,4BAAMT,GACJ,IAAKhF,KAAK+E,kBAAmB,OAE7B,MAAM0B,QAAmBzG,KAAK8F,+BAC9BY,OAAOC,KAAKF,GAAYG,SAASC,IAC3BA,KAAO7G,KAAK+E,kBAAmB+B,QACjC9G,KAAK+E,kBAAmBgC,IACtBF,EACAJ,EAAWI,GAEd,IAGH7G,KAAK+E,kBAAkBiC,SAEvBR,IAEAS,YAAW,KACLjH,KAAK+E,mBAAqB/E,KAAK+E,kBAAkBmB,mBACnDF,EAAsBhG,KAAK+E,mBAC3B/E,KAAK+E,kBAAkBmB,kBAAkBC,aACvC,aACA,gBAGFC,QAAQC,KAAK,sCACd,GACA,EACJ,CAED,eAAAC,GACE,GAAKtG,KAAK+E,kBAEV,IACE,GAAI/E,KAAKI,YACP,GAAIqD,MAAMC,QAAQ1D,KAAKI,aAAc,CACnC,MAAM8G,EAAalH,KAAKI,YACrB+G,QAAQtD,GAASA,GAAiB,KAATA,IACzBuD,KAAKvD,IACJ,MAAMwD,EAAS,IAAIC,KAAKzD,GACxB,OAAO0D,MAAMF,EAAOG,WAAa,KAAOH,CAAM,IAE/CF,QAAQtD,GAAgC,OAATA,IAE9BqD,EAAWvD,OAAS,IACtB3D,KAAKQ,MAAsB,aAAdR,KAAKY,KAAsBsG,EAAaA,EAAW,GAChElH,KAAK+E,kBAAkB0C,QAAQP,GAAY,GAE9C,KAAM,CACL,MAAMG,EAAS,IAAIC,KAAKtH,KAAKI,aACxBmH,MAAMF,EAAOG,aAChBxH,KAAKQ,MAAQ6G,EACbrH,KAAK+E,kBAAkB0C,QAAQ,CAACJ,IAAS,GAE5C,MACI,GAAIrH,KAAKQ,MAAO,CACrB,MACM0G,GADQzD,MAAMC,QAAQ1D,KAAKQ,OAASR,KAAKQ,MAAQ,CAACR,KAAKQ,QACpC2G,QACtBtD,GAAuBA,aAAgByD,OAASC,MAAM1D,EAAK2D,aAG1DN,EAAWvD,OAAS,GACtB3D,KAAK+E,kBAAkB0C,QAAQP,GAAY,EAE9C,CACF,CAAC,MAAOQ,GACPtB,QAAQC,KAAK,+BAAgCqB,EAC9C,CACF,CAED,kCAAM5B,WACJ,OAAOD,EAAoB,CACzB3F,OAAQF,KAAKE,OACbC,WAAYH,KAAKG,WACjBC,oBAAauC,EAAA3C,KAAKI,gCAAeuH,EACjCC,WAAY5H,KAAKsB,YACjBP,6BAAsBmC,EAAAlD,KAAKe,yCAAwB4G,EACnD/B,QAAS5F,KAAKwD,SACdxC,QAAShB,KAAKgB,QACdC,QAASjB,KAAKiB,QACdN,OAAQX,KAAKW,OACbD,QAASV,KAAKU,QACdE,KAAMZ,KAAKY,KACXiH,gBAA+B,aAAd7H,KAAKY,MAAuBZ,KAAKsB,aAClDwG,aACAC,OAAQ/H,KAAKgI,WAAWjC,KAAK/F,MAC7BiI,QAASjI,KAAKkI,YAAYnC,KAAK/F,MAC/BmI,SAAUnI,KAAKoI,iBAAiBrC,KAAK/F,OAExC,CAED,UAAAgI,SACOhI,KAAK0B,uBACgB,QAAxBiB,EAAA3C,KAAK+E,yBAAmB,IAAApC,GAAAA,EAAAsC,QACxBjF,KAAK0B,sBAAuB,EAE/B,CAED,iBAAMwG,GACJlI,KAAKuB,gBAAiB,EACtBvB,KAAKyF,WAAU,GAAM,SACfzF,KAAK0E,cACZ,CAED,sBAAM0D,CACJC,EACAC,SAUA,IAAIC,EARJvI,KAAKuB,gBAAiB,EAEJ,aAAdvB,KAAKY,KACPZ,KAAKQ,MAAQ6H,EAAc1E,OAAS,EAAI,IAAI0E,GAAiB,KAE7DrI,KAAKQ,MAAQ6H,EAAc1E,OAAS,EAAI0E,EAAc,GAAK,KAK3DE,EADE9E,MAAMC,QAAQ1D,KAAKQ,OACJR,KAAKQ,MAAM4G,KAAKvD,GAASA,EAAK2E,gBACtCxI,KAAKQ,iBAAiB8G,KACdtH,KAAKQ,MAAMgI,cAEX,KAGnBC,EAAUzI,KAAM,YAAa,CAC3B0I,MAAOH,EACPI,YAA+C,QAAlChG,EAAA3C,KAAKwD,gBAA6B,IAAAb,OAAA,EAAAA,EAAEnC,QAAS8H,IAG5DtI,KAAKyF,WAAU,GAAM,SACfzF,KAAK0E,cACZ,CAEO,sBAAAkE,CAAuBpI,GAC7BR,KAAK0B,qBAAuBlB,CAC7B,CAEO,cAAAqI,SACkB,QAAxBlG,EAAA3C,KAAK+E,yBAAmB,IAAApC,GAAAA,EAAAsC,OACzB,CAEO,oBAAAhC,CAAqBoC,GAC3BpC,EAAqBoC,EAAOrF,KAAK4I,uBAAuB7C,KAAK/F,MAC9D,CAEO,qBAAAqD,GACNyF,EAAiB9I,KAAK4I,uBAAuB7C,KAAK/F,MACnD,CAEO,qBAAAsD,GACNyF,EACE/I,KAAK0B,qBACL1B,KAAK6I,eAAe9C,KAAK/F,MACzBA,KAAK4I,uBAAuB7C,KAAK/F,MAEpC,CAEO,SAAAyF,CAAUuD,EAAqBC,GACrC,KAAKjJ,KAAKwD,UAAcxD,KAAKwD,oBAAoB0F,kBAC/C,OAGEF,IACFhJ,KAAKuB,gBAAiB,GAGxB,MAAM4H,GAAWnJ,KAAKwD,SAAShD,MAAM4I,OAC/BC,EAAarJ,KAAKM,SAExB,IAAIgJ,EAAWtJ,KAAKwD,SAAS8F,SACzBC,EAAoBvJ,KAAKwD,SAAS+F,kBAElCF,GAAcF,IAChBG,EAAW,IAAKA,EAAUE,cAAc,GACxCD,EAAoBvJ,KAAKK,qBAGvBL,KAAKmE,cACPmF,EAAW,IAAKA,EAAUG,aAAa,GACvCF,EAAoBvJ,KAAKmE,aAG3B,MAAMuF,GAAWJ,EAASE,eAAiBF,EAASG,YAEpDzJ,KAAK2J,WAAWC,YAAYN,EAAUC,EAAmBvJ,KAAKwD,UAC9DxD,KAAKoD,YACFsG,IAAY1J,KAAKuB,gBAAuC,KAArBvB,KAAKmE,aAC3CnE,KAAKqE,uBAAyBkF,EAE1BN,GACFjJ,KAAK2J,WAAWE,iBAGlB7J,KAAK0F,eACN,CAEO,SAAA3D,GACN/B,KAAKyF,WAAU,GAAM,EACtB,CAEO,gBAAAzD,GACNhC,KAAKQ,MAAQ,KACTR,KAAK+E,mBACP/E,KAAK+E,kBAAkBS,QAEzBxF,KAAKuB,gBAAiB,EACtBvB,KAAKyF,WAAU,GAAO,EACvB,CAEQ,oBAAAqE,GACPjI,MAAMiI,uBACN9J,KAAK+J,oBAAoB,SAAU/J,KAAK+B,WACxC/B,KAAK+J,oBAAoB,QAAS/J,KAAKgC,kBAEnChC,KAAK+E,oBACP/E,KAAK+E,kBAAkBI,UACvBnF,KAAK+E,uBAAoB4C,EAE5B,GA1kBe/H,EAAAoK,OAAS,CAACC,EAAkBxF,GAI5CyF,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACPzK,EAAA0K,UAAA,aAAA,GAIXJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACazK,EAAA0K,UAAA,cAAA,GAI/BJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACGzK,EAAA0K,UAAA,kBAAA,GAIrBJ,EAAA,CADCC,EAAS,CAAEC,KAAM3G,SAC2B7D,EAAA0K,UAAA,mBAAA,GAI7CJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACOzK,EAAA0K,UAAA,2BAAA,GAIzBJ,EAAA,CADCC,EAAS,CAAEC,KAAMG,WACD3K,EAAA0K,UAAA,gBAAA,GAIjBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACNzK,EAAA0K,UAAA,YAAA,GAIZJ,EAAA,CADCC,EAAS,CAAEC,KAAM3G,SAC0B7D,EAAA0K,UAAA,aAAA,GAI5CJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACJzK,EAAA0K,UAAA,gBAAA,GAIdJ,EAAA,CADCC,EAAS,CAAEC,KAAM3G,SACuB7D,EAAA0K,UAAA,eAAA,GAIzCJ,EAAA,CADCC,EAAS,CAAEC,KAAM3G,SACsB7D,EAAA0K,UAAA,cAAA,GAIxCJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACqBzK,EAAA0K,UAAA,YAAA,GAIvCJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACLzK,EAAA0K,UAAA,eAAA,GAIbJ,EAAA,CADCC,EAAS,CAAEC,KAAMG,WACS3K,EAAA0K,UAAA,0BAAA,GAM3BJ,EAAA,CADCC,EAAS,CAAEC,KAAMG,WAC0B3K,EAAA0K,UAAA,4BAAA,GAI5CJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACmBzK,EAAA0K,UAAA,eAAA,GAIrCJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACmBzK,EAAA0K,UAAA,eAAA,GAIrCJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACEzK,EAAA0K,UAAA,sBAAA,GAIpBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACFzK,EAAA0K,UAAA,kBAAA,GAIhBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACIzK,EAAA0K,UAAA,wBAAA,GAItBJ,EAAA,CADCC,EAAS,CAAEC,KAAMC,UACAzK,EAAA0K,UAAA,oBAAA,GAMlBJ,EAAA,CADCM,KAC2B5K,EAAA0K,UAAA,mBAAA,GAO5BJ,EAAA,CADCM,KAC8B5K,EAAA0K,UAAA,sBAAA,GAM/BJ,EAAA,CADCM,KAC8C5K,EAAA0K,UAAA,yBAAA,GAO/CJ,EAAA,CADCO,EAAM,UAC6B7K,EAAA0K,UAAA,gBAAA,GAIpCJ,EAAA,CADCC,EAAS,CAAEC,KAAM1D,UACgB9G,EAAA0K,UAAA,mBAAA,GAMlCJ,EAAA,CADCM,KACkC5K,EAAA0K,UAAA,oBAAA,GAMnCJ,EAAA,CADCM,KACoC5K,EAAA0K,UAAA,4BAAA,GAjI1B1K,EAAUsK,EAAA,CADtBQ,EAAc,oBACF9K"}
1
+ {"version":3,"file":"datepicker.js","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"sourcesContent":["import { html, LitElement, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport {\n injectFlatpickrStyles,\n langsArray,\n initializeSingleAnchorFlatpickr,\n getFlatpickrOptions,\n getPlaceholder,\n preventFlatpickrOpen,\n handleInputClick,\n handleInputFocus,\n updateEnableTime,\n setCalendarAttributes,\n loadLocale,\n emitValue,\n hideEmptyYear,\n} from '../../../common/helpers/flatpickr';\nimport '../../reusable/button';\n\nimport flatpickr from 'flatpickr';\nimport { BaseOptions } from 'flatpickr/dist/types/options';\n\nimport DatePickerStyles from './datepicker.scss';\nimport ShidokaFlatpickrTheme from '../../../common/scss/shidoka-flatpickr-theme.scss';\n\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-filled.svg';\nimport calendarIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/24/calendar.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/20/close-simple.svg';\n\ntype SupportedLocale = (typeof langsArray)[number];\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n clearAll: 'Clear',\n};\n\n/**\n * Datepicker: uses Flatpickr's datetime picker library -- `https://flatpickr.js.org`\n * @fires on-change - Captures the input event and emits the selected value and original event details.\n * @slot tooltip - Slot for tooltip.\n */\n@customElement('kyn-date-picker')\nexport class DatePicker extends FormMixin(LitElement) {\n static override styles = [DatePickerStyles, ShidokaFlatpickrTheme];\n\n /** Label text. */\n @property({ type: String })\n label = '';\n\n /* Sets desired locale and, if supported, dynamically loads language lib */\n @property({ type: String })\n locale: SupportedLocale = 'en';\n\n /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */\n @property({ type: String })\n dateFormat = 'Y-m-d';\n\n /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */\n @property({ type: Array })\n defaultDate: string | string[] | null = null;\n\n /** Sets default error message. */\n @property({ type: String })\n defaultErrorMessage = '';\n\n /** Sets datepicker form input value to required/required. */\n @property({ type: Boolean })\n required = false;\n\n /** Input size. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n size = 'md';\n\n /** Sets pre-selected date/time value. */\n @property({ type: Array })\n override value: Date | Date[] | null = null;\n\n /** Sets validation warning messaging. */\n @property({ type: String })\n warnText = '';\n\n /** Sets flatpickr options setting to disable specific dates. */\n @property({ type: Array })\n disable: (string | number | Date)[] = [];\n\n /** Sets flatpickr options setting to enable specific dates. */\n @property({ type: Array })\n enable: (string | number | Date)[] = [];\n\n /** Sets flatpickr mode to select single (default), multiple dates. */\n @property({ type: String })\n mode: 'single' | 'multiple' = 'single';\n\n /** Sets caption to be displayed under primary date picker elements. */\n @property({ type: String })\n caption = '';\n\n /** Sets entire datepicker form element to enabled/disabled. */\n @property({ type: Boolean })\n datePickerDisabled = false;\n\n /** Sets 24 hour formatting true/false.\n * Defaults to 12H for all `en-*` locales and 24H for all other locales.\n */\n @property({ type: Boolean })\n twentyFourHourFormat: boolean | null = null;\n\n /** Sets lower boundary of datepicker date selection. */\n @property({ type: String })\n minDate: string | number | Date = '';\n\n /** Sets upper boundary of datepicker date selection. */\n @property({ type: String })\n maxDate: string | number | Date = '';\n\n /** Sets aria label attribute for error message. */\n @property({ type: String })\n errorAriaLabel = '';\n\n /** Sets title attribute for error message. */\n @property({ type: String })\n errorTitle = '';\n\n /** Sets aria label attribute for warning message. */\n @property({ type: String })\n warningAriaLabel = '';\n\n /** Sets title attribute for warning message. */\n @property({ type: String })\n warningTitle = '';\n\n /** Sets flatpickr enableTime value based on detected dateFormat.\n * @internal\n */\n @state()\n private _enableTime = false;\n\n /**\n * Sets whether user has interacted with datepicker for error handling.\n * @internal\n */\n @state()\n private _hasInteracted = false;\n\n /** Flatpickr instantiation.\n * @internal\n */\n @state()\n private flatpickrInstance?: flatpickr.Instance;\n\n /**\n * Queries the anchor DOM element.\n * @internal\n */\n @query('input')\n private _inputEl?: HTMLInputElement;\n\n /** Customizable text strings. */\n @property({ type: Object })\n textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n _textStrings = _defaultTextStrings;\n\n /** Control flag to prevent Flatpickr from opening when clicking caption, error, label, or warning elements.\n * @internal\n */\n @state()\n private _shouldFlatpickrOpen = false;\n\n override connectedCallback() {\n super.connectedCallback();\n this.addEventListener('change', this._onChange);\n this.addEventListener('reset', this._handleFormReset);\n }\n\n override render() {\n const errorId = `${this.name}-error-message`;\n const warningId = `${this.name}-warning-message`;\n const anchorId = this.name\n ? `${this.name}-${Math.random().toString(36).slice(2, 11)}`\n : `date-picker-${Math.random().toString(36).slice(2, 11)}`;\n const descriptionId = this.name ?? '';\n const placeholder = getPlaceholder(this.dateFormat);\n\n return html`\n <div class=${classMap(this.getDatepickerClasses())}>\n <div\n class=\"label-text\"\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n ?disabled=${this.datePickerDisabled}\n id=${`label-${anchorId}`}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings?.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </div>\n\n <div class=\"input-wrapper\">\n <input\n class=\"${classMap({\n [`size--${this.size}`]: true,\n 'input-custom': true,\n })}\"\n type=\"text\"\n id=${anchorId}\n name=${this.name}\n placeholder=${placeholder}\n ?disabled=${this.datePickerDisabled}\n ?required=${this.required}\n ?invalid=${this._isInvalid}\n aria-invalid=${this._isInvalid ? 'true' : 'false'}\n aria-labelledby=${`label-${anchorId}`}\n @click=${this.handleInputClickEvent}\n @focus=${this.handleInputFocusEvent}\n />\n ${this._inputEl?.value ||\n (this.value &&\n Array.isArray(this.value) &&\n this.value.length > 0 &&\n !this.value.every((date) => date === null)) ||\n (this.defaultDate &&\n Array.isArray(this.defaultDate) &&\n this.defaultDate.length > 0 &&\n !this.defaultDate.every((date) => date === null || date === ''))\n ? html`\n <kyn-button\n ?disabled=${this.datePickerDisabled}\n class=\"clear-button\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${this._handleClear}\n >\n <span style=\"display:flex;\" slot=\"icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </kyn-button>\n `\n : html`<span class=\"input-icon\">${unsafeSVG(calendarIcon)}</span>`}\n </div>\n\n ${this.caption\n ? html`<div\n id=${descriptionId}\n class=\"caption\"\n aria-disabled=${this.datePickerDisabled}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.caption}\n </div>`\n : ''}\n ${this.renderValidationMessage(errorId, warningId)}\n </div>\n `;\n }\n\n private renderValidationMessage(errorId: string, warningId: string) {\n if (this.invalidText || (this._isInvalid && this._hasInteracted)) {\n return html`<div\n id=${errorId}\n class=\"error error-text\"\n role=\"alert\"\n title=${this.errorTitle || 'Error'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n <span\n class=\"error-icon\"\n aria-label=${`${this.errorAriaLabel}` || 'Error message icon'}\n role=\"button\"\n >${unsafeSVG(errorIcon)}</span\n >${this.invalidText ||\n this._internalValidationMsg ||\n this.defaultErrorMessage}\n </div>`;\n }\n\n if (this.warnText) {\n return html`<div\n id=${warningId}\n class=\"warn warn-text\"\n role=\"alert\"\n aria-label=${this.warningAriaLabel || 'Warning message'}\n title=${this.warningTitle || 'Warning'}\n @mousedown=${this.preventFlatpickrOpen}\n @click=${this.preventFlatpickrOpen}\n >\n ${this.warnText}\n </div>`;\n }\n\n return null;\n }\n\n getDatepickerClasses() {\n return {\n 'date-picker': true,\n 'date-picker__enable-time': this._enableTime,\n 'date-picker__multiple-select': this.mode === 'multiple',\n 'date-picker__disabled': this.datePickerDisabled,\n };\n }\n\n private _initialized = false;\n\n override async firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n if (!this._initialized) {\n injectFlatpickrStyles(ShidokaFlatpickrTheme.toString());\n this._initialized = true;\n await this.updateComplete;\n this.setupAnchor();\n }\n }\n\n override updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (\n changedProperties.has('dateFormat') ||\n changedProperties.has('defaultDate') ||\n changedProperties.has('minDate') ||\n changedProperties.has('maxDate') ||\n changedProperties.has('locale') ||\n changedProperties.has('twentyFourHourFormat')\n ) {\n this._enableTime = updateEnableTime(this.dateFormat);\n if (this.flatpickrInstance && this._initialized) {\n this.updateFlatpickrOptions();\n }\n }\n\n if (\n changedProperties.has('datePickerDisabled') &&\n this.datePickerDisabled &&\n this.flatpickrInstance\n ) {\n this.flatpickrInstance.close();\n }\n }\n\n private async reinitializeFlatpickr() {\n if (this._initialized && this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n await this.initializeFlatpickr();\n }\n }\n\n private async setupAnchor() {\n if (this._inputEl) {\n await this.initializeFlatpickr();\n }\n }\n\n private _handleClear(event: Event) {\n event.preventDefault();\n event.stopPropagation();\n\n this.value = this.mode === 'multiple' ? [] : null;\n this.defaultDate = this.mode === 'multiple' ? [] : null;\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n if (this._inputEl) {\n this._inputEl.value = '';\n }\n\n this.reinitializeFlatpickr();\n\n this._validate(true, false);\n this.requestUpdate();\n }\n\n async initializeFlatpickr(): Promise<void> {\n if (!this._inputEl) return;\n if (this.flatpickrInstance) this.flatpickrInstance.destroy();\n\n this.flatpickrInstance = await initializeSingleAnchorFlatpickr({\n inputEl: this._inputEl,\n getFlatpickrOptions: () => this.getComponentFlatpickrOptions(),\n setCalendarAttributes: (instance) => {\n const modalDetected = !!this.closest('kyn-modal');\n setCalendarAttributes(instance, modalDetected);\n instance.calendarContainer.setAttribute('aria-label', 'Date picker');\n },\n setInitialDates: this.setInitialDates.bind(this),\n });\n\n hideEmptyYear();\n this._validate(false, false);\n }\n\n async updateFlatpickrOptions(): Promise<void> {\n if (!this.flatpickrInstance) return;\n const newOptions = (await this.getComponentFlatpickrOptions()) || {};\n Object.keys(newOptions).forEach((key) => {\n if (\n this.flatpickrInstance!.config &&\n key in this.flatpickrInstance!.config\n ) {\n this.flatpickrInstance!.set(\n key as keyof BaseOptions,\n newOptions[key as keyof BaseOptions]\n );\n }\n });\n this.flatpickrInstance.redraw();\n setTimeout(() => {\n if (this.flatpickrInstance && this.flatpickrInstance.calendarContainer) {\n setCalendarAttributes(this.flatpickrInstance);\n this.flatpickrInstance.calendarContainer.setAttribute(\n 'aria-label',\n 'Date picker'\n );\n } else {\n console.warn('Calendar container not available...');\n }\n }, 0);\n }\n\n setInitialDates(): void {\n if (!this.flatpickrInstance) return;\n\n try {\n if (this.defaultDate) {\n if (Array.isArray(this.defaultDate)) {\n const validDates = this.defaultDate\n .filter((date) => date && date !== '')\n .map((date) => {\n const parsed = new Date(date);\n return isNaN(parsed.getTime()) ? null : parsed;\n })\n .filter((date): date is Date => date !== null);\n\n if (validDates.length > 0) {\n this.value = this.mode === 'multiple' ? validDates : validDates[0];\n this.flatpickrInstance.setDate(validDates, false);\n }\n } else {\n const parsed = new Date(this.defaultDate);\n if (!isNaN(parsed.getTime())) {\n this.value = parsed;\n this.flatpickrInstance.setDate([parsed], false);\n }\n }\n } else if (this.value) {\n const dates = Array.isArray(this.value) ? this.value : [this.value];\n const validDates = dates.filter(\n (date): date is Date => date instanceof Date && !isNaN(date.getTime())\n );\n\n if (validDates.length > 0) {\n this.flatpickrInstance.setDate(validDates, false);\n }\n }\n } catch (error) {\n console.warn('Error setting initial dates:', error);\n }\n }\n\n async getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>> {\n const modal = this.closest('kyn-modal');\n const container = modal ? modal : document.body;\n\n return getFlatpickrOptions({\n locale: this.locale,\n dateFormat: this.dateFormat,\n defaultDate: this.defaultDate ?? undefined,\n enableTime: this._enableTime,\n twentyFourHourFormat: this.twentyFourHourFormat ?? undefined,\n inputEl: this._inputEl!,\n minDate: this.minDate,\n maxDate: this.maxDate,\n enable: this.enable,\n disable: this.disable,\n mode: this.mode,\n closeOnSelect: !(this.mode === 'multiple' || this._enableTime),\n loadLocale,\n onOpen: this.handleOpen.bind(this),\n onClose: this.handleClose.bind(this),\n onChange: this.handleDateChange.bind(this),\n appendTo: container,\n });\n }\n\n handleOpen(): void {\n if (!this._shouldFlatpickrOpen) {\n this.flatpickrInstance?.close();\n this._shouldFlatpickrOpen = true;\n }\n }\n\n async handleClose(): Promise<void> {\n this._hasInteracted = true;\n this._validate(true, false);\n await this.updateComplete;\n }\n\n async handleDateChange(\n selectedDates: Date[],\n dateStr: string\n ): Promise<void> {\n this._hasInteracted = true;\n\n if (this.mode === 'multiple') {\n this.value = selectedDates.length > 0 ? [...selectedDates] : null;\n } else {\n this.value = selectedDates.length > 0 ? selectedDates[0] : null;\n }\n\n let formattedDates;\n if (Array.isArray(this.value)) {\n formattedDates = this.value.map((date) => date.toISOString());\n } else if (this.value instanceof Date) {\n formattedDates = this.value.toISOString();\n } else {\n formattedDates = null;\n }\n\n emitValue(this, 'on-change', {\n dates: formattedDates,\n dateString: (this._inputEl as HTMLInputElement)?.value || dateStr,\n });\n\n this._validate(true, false);\n await this.updateComplete;\n }\n\n private setShouldFlatpickrOpen(value: boolean): void {\n this._shouldFlatpickrOpen = value;\n }\n\n private closeFlatpickr(): void {\n this.flatpickrInstance?.close();\n }\n\n private preventFlatpickrOpen(event: Event): void {\n preventFlatpickrOpen(event, this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputClickEvent(): void {\n handleInputClick(this.setShouldFlatpickrOpen.bind(this));\n }\n\n private handleInputFocusEvent(): void {\n handleInputFocus(\n this._shouldFlatpickrOpen,\n this.closeFlatpickr.bind(this),\n this.setShouldFlatpickrOpen.bind(this)\n );\n }\n\n private _validate(interacted: boolean, report: boolean): void {\n if (!this._inputEl || !(this._inputEl instanceof HTMLInputElement)) {\n return;\n }\n\n if (interacted) {\n this._hasInteracted = true;\n }\n\n const isEmpty = !this._inputEl.value.trim();\n const isRequired = this.required;\n\n let validity = this._inputEl.validity;\n let validationMessage = this._inputEl.validationMessage;\n\n if (isRequired && isEmpty) {\n validity = { ...validity, valueMissing: true };\n validationMessage = this.defaultErrorMessage;\n }\n\n if (this.invalidText) {\n validity = { ...validity, customError: true };\n validationMessage = this.invalidText;\n }\n\n const isValid = !validity.valueMissing && !validity.customError;\n\n this._internals.setValidity(validity, validationMessage, this._inputEl);\n this._isInvalid =\n !isValid && (this._hasInteracted || this.invalidText !== '');\n this._internalValidationMsg = validationMessage;\n\n if (report) {\n this._internals.reportValidity();\n }\n\n this.requestUpdate();\n }\n\n private _onChange() {\n this._validate(true, false);\n }\n\n private _handleFormReset() {\n this.value = null;\n if (this.flatpickrInstance) {\n this.flatpickrInstance.clear();\n }\n this._hasInteracted = false;\n this._validate(false, false);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeEventListener('change', this._onChange);\n this.removeEventListener('reset', this._handleFormReset);\n\n if (this.flatpickrInstance) {\n this.flatpickrInstance.destroy();\n this.flatpickrInstance = undefined;\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-date-picker': DatePicker;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","clearAll","DatePicker","FormMixin","LitElement","constructor","this","label","locale","dateFormat","defaultDate","defaultErrorMessage","required","size","value","warnText","disable","enable","mode","caption","datePickerDisabled","twentyFourHourFormat","minDate","maxDate","errorAriaLabel","errorTitle","warningAriaLabel","warningTitle","_enableTime","_hasInteracted","textStrings","_textStrings","_shouldFlatpickrOpen","_initialized","connectedCallback","super","addEventListener","_onChange","_handleFormReset","render","errorId","name","warningId","anchorId","Math","random","toString","slice","descriptionId","_a","placeholder","getPlaceholder","html","classMap","getDatepickerClasses","preventFlatpickrOpen","_b","_c","_isInvalid","handleInputClickEvent","handleInputFocusEvent","_d","_inputEl","Array","isArray","length","every","date","_handleClear","unsafeSVG","clearIcon","calendarIcon","renderValidationMessage","invalidText","errorIcon","_internalValidationMsg","firstUpdated","changedProperties","injectFlatpickrStyles","ShidokaFlatpickrTheme","updateComplete","setupAnchor","updated","has","updateEnableTime","flatpickrInstance","updateFlatpickrOptions","close","reinitializeFlatpickr","destroy","initializeFlatpickr","event","preventDefault","stopPropagation","clear","_validate","requestUpdate","initializeSingleAnchorFlatpickr","inputEl","getFlatpickrOptions","getComponentFlatpickrOptions","setCalendarAttributes","instance","modalDetected","closest","calendarContainer","setAttribute","setInitialDates","bind","hideEmptyYear","newOptions","Object","keys","forEach","key","config","set","redraw","setTimeout","console","warn","validDates","filter","map","parsed","Date","isNaN","getTime","setDate","error","modal","container","document","body","undefined","enableTime","closeOnSelect","loadLocale","onOpen","handleOpen","onClose","handleClose","onChange","handleDateChange","appendTo","selectedDates","dateStr","formattedDates","toISOString","emitValue","dates","dateString","setShouldFlatpickrOpen","closeFlatpickr","handleInputClick","handleInputFocus","interacted","report","HTMLInputElement","isEmpty","trim","isRequired","validity","validationMessage","valueMissing","customError","isValid","_internals","setValidity","reportValidity","disconnectedCallback","removeEventListener","styles","DatePickerStyles","__decorate","property","type","String","prototype","Boolean","state","query","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export{DatePicker}from"./datepicker.js";import"../../../vendor/tslib-53a81efe.js";import"../../../vendor/lit-6e2a7867.js";import"../../../vendor/lit-element-3185f710.js";import"../../../common/mixins/form-input.js";import"../../../vendor/lit-html-29220869.js";import"../../../common/helpers/flatpickr.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../button/button.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../../../shidoka-flatpickr-theme-42d7c67e.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";
1
+ export{DatePicker}from"./datepicker.js";import"../../../vendor/tslib-53a81efe.js";import"../../../vendor/lit-6e2a7867.js";import"../../../vendor/lit-element-3185f710.js";import"../../../common/mixins/form-input.js";import"../../../vendor/lit-html-29220869.js";import"../../../common/helpers/flatpickr.js";import"../../../vendor/flatpickr-bbd13d61.js";import"../button/button.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../../../shidoka-flatpickr-theme-0e8883f1.js";import"../../../vendor/@kyndryl-design-system/shidoka-icons-e426f09b.js";
2
2
  //# sourceMappingURL=index.js.map