@kyndryl-design-system/shidoka-applications 2.69.3 → 2.69.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"flatpickrLangs.js","sources":["../../src/common/flatpickrLangs.ts"],"sourcesContent":["import { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/l10n/default.js';\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] as const;\n\nexport type SupportedLocale = (typeof langsArray)[number];\n\nconst localeCache: Record<string, Partial<Locale>> = {};\n\nconst loaderMap: Record<SupportedLocale, () => Promise<any>> = {\n ar: () => import('flatpickr/dist/l10n/ar.js'),\n at: () => import('flatpickr/dist/l10n/at.js'),\n az: () => import('flatpickr/dist/l10n/az.js'),\n be: () => import('flatpickr/dist/l10n/be.js'),\n bg: () => import('flatpickr/dist/l10n/bg.js'),\n bn: () => import('flatpickr/dist/l10n/bn.js'),\n bs: () => import('flatpickr/dist/l10n/bs.js'),\n cat: () => import('flatpickr/dist/l10n/cat.js'),\n cs: () => import('flatpickr/dist/l10n/cs.js'),\n cy: () => import('flatpickr/dist/l10n/cy.js'),\n da: () => import('flatpickr/dist/l10n/da.js'),\n de: () => import('flatpickr/dist/l10n/de.js'),\n eo: () => import('flatpickr/dist/l10n/eo.js'),\n es: () => import('flatpickr/dist/l10n/es.js'),\n et: () => import('flatpickr/dist/l10n/et.js'),\n fa: () => import('flatpickr/dist/l10n/fa.js'),\n fi: () => import('flatpickr/dist/l10n/fi.js'),\n fo: () => import('flatpickr/dist/l10n/fo.js'),\n fr: () => import('flatpickr/dist/l10n/fr.js'),\n ga: () => import('flatpickr/dist/l10n/ga.js'),\n gr: () => import('flatpickr/dist/l10n/gr.js'),\n he: () => import('flatpickr/dist/l10n/he.js'),\n hi: () => import('flatpickr/dist/l10n/hi.js'),\n hr: () => import('flatpickr/dist/l10n/hr.js'),\n hu: () => import('flatpickr/dist/l10n/hu.js'),\n id: () => import('flatpickr/dist/l10n/id.js'),\n is: () => import('flatpickr/dist/l10n/is.js'),\n it: () => import('flatpickr/dist/l10n/it.js'),\n ja: () => import('flatpickr/dist/l10n/ja.js'),\n ka: () => import('flatpickr/dist/l10n/ka.js'),\n km: () => import('flatpickr/dist/l10n/km.js'),\n ko: () => import('flatpickr/dist/l10n/ko.js'),\n kz: () => import('flatpickr/dist/l10n/kz.js'),\n lt: () => import('flatpickr/dist/l10n/lt.js'),\n lv: () => import('flatpickr/dist/l10n/lv.js'),\n mk: () => import('flatpickr/dist/l10n/mk.js'),\n mn: () => import('flatpickr/dist/l10n/mn.js'),\n ms: () => import('flatpickr/dist/l10n/ms.js'),\n my: () => import('flatpickr/dist/l10n/my.js'),\n nl: () => import('flatpickr/dist/l10n/nl.js'),\n no: () => import('flatpickr/dist/l10n/no.js'),\n pa: () => import('flatpickr/dist/l10n/pa.js'),\n pl: () => import('flatpickr/dist/l10n/pl.js'),\n pt: () => import('flatpickr/dist/l10n/pt.js'),\n ro: () => import('flatpickr/dist/l10n/ro.js'),\n ru: () => import('flatpickr/dist/l10n/ru.js'),\n si: () => import('flatpickr/dist/l10n/si.js'),\n sk: () => import('flatpickr/dist/l10n/sk.js'),\n sl: () => import('flatpickr/dist/l10n/sl.js'),\n sq: () => import('flatpickr/dist/l10n/sq.js'),\n sr: () => import('flatpickr/dist/l10n/sr.js'),\n sv: () => import('flatpickr/dist/l10n/sv.js'),\n th: () => import('flatpickr/dist/l10n/th.js'),\n tr: () => import('flatpickr/dist/l10n/tr.js'),\n uk: () => import('flatpickr/dist/l10n/uk.js'),\n uz: () => import('flatpickr/dist/l10n/uz.js'),\n uz_latn: () => import('flatpickr/dist/l10n/uz_latn.js'),\n vn: () => import('flatpickr/dist/l10n/vn.js'),\n zh_tw: () => import('flatpickr/dist/l10n/zh-tw.js'),\n zh: () => import('flatpickr/dist/l10n/zh.js'),\n en: () => Promise.resolve({} as Partial<Locale>),\n};\n\nexport function isSupportedLocale(locale: string): boolean {\n const base = locale.split('-')[0].toLowerCase() as SupportedLocale;\n return langsArray.includes(base);\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n if (localeCache[locale]) return localeCache[locale];\n\n const base = locale.split('-')[0].toLowerCase() as SupportedLocale;\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale \"${locale}\". Falling back to English.`);\n return English;\n }\n\n const importer = loaderMap[base];\n try {\n const module = await importer();\n const config =\n (module as any)[base] ??\n (module.default && (module.default as any)[base]) ??\n module.default;\n\n if (!config) {\n console.warn(\n `Locale data missing for \"${locale}\". Falling back to English.`\n );\n return English;\n }\n\n localeCache[locale] = config;\n return config;\n } catch (error) {\n console.error(`Error loading locale \"${locale}\":`, error);\n return English;\n }\n}\n"],"names":["langsArray","localeCache","loaderMap","ar","import","at","az","be","bg","bn","bs","cat","cs","cy","da","de","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","en","Promise","resolve","isSupportedLocale","locale","base","split","toLowerCase","includes","async","loadLocale","English","console","warn","importer","module","config","_b","_a","default","error"],"mappings":"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"}
1
+ {"version":3,"file":"flatpickrLangs.js","sources":["../../src/common/flatpickrLangs.ts"],"sourcesContent":["import { Locale } from 'flatpickr/dist/types/locale';\nimport English from 'flatpickr/dist/l10n/default.js';\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] as const;\n\nexport type SupportedLocale = (typeof langsArray)[number];\n\nconst localeCache: Record<string, Partial<Locale>> = {};\n\nconst loaderMap: Record<SupportedLocale, () => Promise<any>> = {\n ar: () => import('flatpickr/dist/l10n/ar.js'),\n at: () => import('flatpickr/dist/l10n/at.js'),\n az: () => import('flatpickr/dist/l10n/az.js'),\n be: () => import('flatpickr/dist/l10n/be.js'),\n bg: () => import('flatpickr/dist/l10n/bg.js'),\n bn: () => import('flatpickr/dist/l10n/bn.js'),\n bs: () => import('flatpickr/dist/l10n/bs.js'),\n cat: () => import('flatpickr/dist/l10n/cat.js'),\n cs: () => import('flatpickr/dist/l10n/cs.js'),\n cy: () => import('flatpickr/dist/l10n/cy.js'),\n da: () => import('flatpickr/dist/l10n/da.js'),\n de: () => import('flatpickr/dist/l10n/de.js'),\n eo: () => import('flatpickr/dist/l10n/eo.js'),\n es: () => import('flatpickr/dist/l10n/es.js'),\n et: () => import('flatpickr/dist/l10n/et.js'),\n fa: () => import('flatpickr/dist/l10n/fa.js'),\n fi: () => import('flatpickr/dist/l10n/fi.js'),\n fo: () => import('flatpickr/dist/l10n/fo.js'),\n fr: () => import('flatpickr/dist/l10n/fr.js'),\n ga: () => import('flatpickr/dist/l10n/ga.js'),\n gr: () => import('flatpickr/dist/l10n/gr.js'),\n he: () => import('flatpickr/dist/l10n/he.js'),\n hi: () => import('flatpickr/dist/l10n/hi.js'),\n hr: () => import('flatpickr/dist/l10n/hr.js'),\n hu: () => import('flatpickr/dist/l10n/hu.js'),\n id: () => import('flatpickr/dist/l10n/id.js'),\n is: () => import('flatpickr/dist/l10n/is.js'),\n it: () => import('flatpickr/dist/l10n/it.js'),\n ja: () => import('flatpickr/dist/l10n/ja.js'),\n ka: () => import('flatpickr/dist/l10n/ka.js'),\n km: () => import('flatpickr/dist/l10n/km.js'),\n ko: () => import('flatpickr/dist/l10n/ko.js'),\n kz: () => import('flatpickr/dist/l10n/kz.js'),\n lt: () => import('flatpickr/dist/l10n/lt.js'),\n lv: () => import('flatpickr/dist/l10n/lv.js'),\n mk: () => import('flatpickr/dist/l10n/mk.js'),\n mn: () => import('flatpickr/dist/l10n/mn.js'),\n ms: () => import('flatpickr/dist/l10n/ms.js'),\n my: () => import('flatpickr/dist/l10n/my.js'),\n nl: () => import('flatpickr/dist/l10n/nl.js'),\n no: () => import('flatpickr/dist/l10n/no.js'),\n pa: () => import('flatpickr/dist/l10n/pa.js'),\n pl: () => import('flatpickr/dist/l10n/pl.js'),\n pt: () => import('flatpickr/dist/l10n/pt.js'),\n ro: () => import('flatpickr/dist/l10n/ro.js'),\n ru: () => import('flatpickr/dist/l10n/ru.js'),\n si: () => import('flatpickr/dist/l10n/si.js'),\n sk: () => import('flatpickr/dist/l10n/sk.js'),\n sl: () => import('flatpickr/dist/l10n/sl.js'),\n sq: () => import('flatpickr/dist/l10n/sq.js'),\n sr: () => import('flatpickr/dist/l10n/sr.js'),\n sv: () => import('flatpickr/dist/l10n/sv.js'),\n th: () => import('flatpickr/dist/l10n/th.js'),\n tr: () => import('flatpickr/dist/l10n/tr.js'),\n uk: () => import('flatpickr/dist/l10n/uk.js'),\n uz: () => import('flatpickr/dist/l10n/uz.js'),\n uz_latn: () => import('flatpickr/dist/l10n/uz_latn.js'),\n vn: () => import('flatpickr/dist/l10n/vn.js'),\n zh_tw: () => import('flatpickr/dist/l10n/zh-tw.js'),\n zh: () => import('flatpickr/dist/l10n/zh.js'),\n en: () => Promise.resolve({} as Partial<Locale>),\n};\n\nexport function isSupportedLocale(locale: string): boolean {\n const base = locale.split('-')[0].toLowerCase() as SupportedLocale;\n return langsArray.includes(base);\n}\n\nexport async function loadLocale(locale: string): Promise<Partial<Locale>> {\n if (locale === 'en') return English;\n if (localeCache[locale]) return localeCache[locale];\n\n const base = locale.split('-')[0].toLowerCase() as SupportedLocale;\n if (!isSupportedLocale(locale)) {\n console.warn(`Unsupported locale \"${locale}\". Falling back to English.`);\n return English;\n }\n\n const importer = loaderMap[base];\n try {\n const module = await importer();\n const config =\n (module as any)[base] ??\n (module.default && (module.default as any)[base]) ??\n module.default;\n\n if (!config) {\n console.warn(\n `Locale data missing for \"${locale}\". Falling back to English.`\n );\n return English;\n }\n\n localeCache[locale] = config;\n return config;\n } catch (error) {\n console.error(`Error loading locale \"${locale}\":`, error);\n return English;\n }\n}\n"],"names":["langsArray","localeCache","loaderMap","ar","import","at","az","be","bg","bn","bs","cat","cs","cy","da","de","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","en","Promise","resolve","isSupportedLocale","locale","base","split","toLowerCase","includes","async","loadLocale","English","console","warn","importer","module","config","_b","_a","default","error"],"mappings":"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"}
@@ -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';\nimport { loadLocale as loadLocaleFromLangs } from '../flatpickrLangs';\n\nimport { fixedOverlayPositionPlugin } from '../helpers/flatpickrOverlayPosition';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d h:i K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'Y-m-d H:i:S': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'm-d-Y H:i:S': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n 'd-m-Y H:i:S': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\n }\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n prevBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n });\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n nextBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n });\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n yearInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n });\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n hourInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n });\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n minuteInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n });\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n ampmToggle.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n });\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\n }\n }\n });\n}\n\nexport function 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\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","message","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","push","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","updateNow","value","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","removeEventListener","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","stepUp","stepDown","minuteInput","ampmToggle","hideEmptyYear","wrapper","disabled","hasAttribute","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"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"}
1
+ {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.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 English from 'flatpickr/dist/l10n/default.js';\nimport { loadLocale as loadLocaleFromLangs } from '../flatpickrLangs';\n\nimport { fixedOverlayPositionPlugin } from '../helpers/flatpickrOverlayPosition';\n\nlet flatpickrStylesInjected = false;\n\nexport const _defaultCalendarTooltipStrings = {\n lockedStartDate: 'Start date is locked',\n lockedEndDate: 'End date is locked',\n dateLocked: 'Date is locked',\n dateNotAvailable: 'Date is not available',\n dateInSelectedRange: 'Date is in selected range',\n};\n\nexport type FlatpickrTextStrings = Partial<\n typeof _defaultCalendarTooltipStrings\n>;\n\nlet currentTooltipStrings = { ..._defaultCalendarTooltipStrings };\n\nexport function setTooltipStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): void {\n currentTooltipStrings = {\n ..._defaultCalendarTooltipStrings,\n ...customTextStrings,\n };\n}\n\nexport function getTextStrings(\n customTextStrings: FlatpickrTextStrings = {}\n): typeof _defaultCalendarTooltipStrings {\n return { ...currentTooltipStrings, ...customTextStrings };\n}\n\ninterface BaseFlatpickrContext {\n getFlatpickrOptions: () => Promise<Partial<BaseOptions>>;\n setCalendarAttributes: (instance: Instance) => void;\n setInitialDates?: (instance: Instance) => void;\n}\n\ninterface SingleFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n}\n\ninterface RangeFlatpickrContext extends BaseFlatpickrContext {\n inputEl: HTMLElement;\n endinputEl?: HTMLElement;\n}\n\nconst DATE_FORMAT_OPTIONS = {\n 'Y-m-d': 'yyyy-mm-dd',\n 'm-d-Y': 'mm-dd-yyyy',\n 'd-m-Y': 'dd-mm-yyyy',\n 'Y-m-d H:i': 'yyyy-mm-dd —— : ——',\n 'Y-m-d h:i K': 'yyyy-mm-dd —— : ——',\n 'm-d-Y H:i': 'mm-dd-yyyy —— : ——',\n 'm-d-Y h:i K': 'mm-dd-yyyy —— : ——',\n 'd-m-Y H:i': 'dd-mm-yyyy —— : ——',\n 'd-m-Y h:i K': 'dd-mm-yyyy —— : ——',\n 'Y-m-d H:i:s': 'yyyy-mm-dd —— : —— ——',\n 'Y-m-d H:i:S': 'yyyy-mm-dd —— : —— ——',\n 'm-d-Y H:i:s': 'mm-dd-yyyy —— : —— ——',\n 'm-d-Y H:i:S': 'mm-dd-yyyy —— : —— ——',\n 'd-m-Y H:i:s': 'dd-mm-yyyy —— : —— ——',\n 'd-m-Y H:i:S': 'dd-mm-yyyy —— : —— ——',\n} as const;\n\ntype DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;\n\ninterface FlatpickrOptionsContext {\n locale: string;\n dateFormat?: string;\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n endinputEl.addEventListener('click', () => {\n flatpickrInstance.open();\n });\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n if (!(inputEl instanceof HTMLInputElement)) {\n inputEl.addEventListener('click', () => flatpickrInstance.open());\n }\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.message);\n }\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n prevBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(-1);\n }\n });\n\n const nextBtn = container.querySelector<HTMLElement>(\n '.flatpickr-next-month'\n );\n nextBtn?.setAttribute('tabindex', '0');\n nextBtn?.setAttribute('role', 'button');\n nextBtn?.setAttribute('aria-label', 'Next month');\n nextBtn?.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n instance.changeMonth(1);\n }\n });\n\n const firstMonth = container.querySelector<HTMLElement>('.flatpickr-month');\n const yearInput = firstMonth?.querySelector<HTMLInputElement>(\n 'input.numInput.cur-year'\n );\n if (yearInput) {\n yearInput.tabIndex = 0;\n yearInput.setAttribute('role', 'spinbutton');\n yearInput.setAttribute('aria-label', 'Year');\n if (instance.config.minDate) {\n yearInput.setAttribute(\n 'aria-valuemin',\n String(new Date(instance.config.minDate!).getFullYear())\n );\n }\n if (instance.config.maxDate) {\n yearInput.setAttribute(\n 'aria-valuemax',\n String(new Date(instance.config.maxDate!).getFullYear())\n );\n }\n const updateNow = () =>\n yearInput.setAttribute('aria-valuenow', yearInput.value);\n yearInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n instance.changeYear(1);\n setTimeout(updateNow, 0);\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n instance.changeYear(-1);\n setTimeout(updateNow, 0);\n }\n });\n setTimeout(updateNow, 0);\n }\n\n const daysGrid = container.querySelector<HTMLElement>('.flatpickr-days');\n daysGrid?.removeAttribute('tabindex');\n daysGrid?.setAttribute('role', 'grid');\n daysGrid?.setAttribute(\n 'aria-multiselectable',\n mode === 'multiple' ? 'true' : 'false'\n );\n\n const enabledDays = Array.from(\n container.querySelectorAll<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n )\n );\n enabledDays.forEach((day) => {\n day.tabIndex = 0;\n day.setAttribute('role', mode === 'range' ? 'gridcell' : 'button');\n });\n\n const oldNav = (container as any)._keyboardNav as EventListener | undefined;\n if (oldNav) container.removeEventListener('keydown', oldNav);\n\n const keyboardNav = (e: KeyboardEvent) => {\n const targetDay = (e.target as HTMLElement).closest<HTMLElement>(\n '.flatpickr-day:not(.flatpickr-disabled)'\n );\n if (!targetDay) return;\n\n switch (e.key) {\n case 'Enter':\n case ' ':\n e.preventDefault();\n targetDay.click();\n return;\n case 'ArrowRight':\n case 'ArrowLeft':\n case 'ArrowDown':\n case 'ArrowUp': {\n e.preventDefault();\n const idx = enabledDays.indexOf(targetDay);\n let nextIdx: number;\n switch (e.key) {\n case 'ArrowRight':\n nextIdx = idx + 1;\n break;\n case 'ArrowLeft':\n nextIdx = idx - 1;\n break;\n case 'ArrowDown':\n nextIdx = idx + 7;\n break;\n case 'ArrowUp':\n nextIdx = idx - 7;\n break;\n default:\n return;\n }\n const next = enabledDays[nextIdx];\n if (next) next.focus();\n return;\n }\n }\n };\n container.addEventListener('keydown', keyboardNav);\n (container as any)._keyboardNav = keyboardNav;\n\n const hourInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-hour'\n );\n if (hourInput) {\n hourInput.tabIndex = 0;\n hourInput.setAttribute('role', 'spinbutton');\n hourInput.setAttribute('aria-label', 'Hour');\n hourInput.setAttribute('aria-valuemin', hourInput.min);\n hourInput.setAttribute('aria-valuemax', hourInput.max);\n hourInput.setAttribute('aria-valuenow', hourInput.value);\n hourInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n hourInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n hourInput.stepDown();\n }\n setTimeout(\n () => hourInput.setAttribute('aria-valuenow', hourInput.value),\n 0\n );\n });\n }\n\n const minuteInput = container.querySelector<HTMLInputElement>(\n 'input.flatpickr-minute'\n );\n if (minuteInput) {\n minuteInput.tabIndex = 0;\n minuteInput.setAttribute('role', 'spinbutton');\n minuteInput.setAttribute('aria-label', 'Minute');\n minuteInput.setAttribute('aria-valuemin', minuteInput.min);\n minuteInput.setAttribute('aria-valuemax', minuteInput.max);\n minuteInput.setAttribute('aria-valuenow', minuteInput.value);\n minuteInput.addEventListener('keydown', (e) => {\n if (e.key === 'ArrowUp') {\n e.preventDefault();\n minuteInput.stepUp();\n }\n if (e.key === 'ArrowDown') {\n e.preventDefault();\n minuteInput.stepDown();\n }\n setTimeout(\n () => minuteInput.setAttribute('aria-valuenow', minuteInput.value),\n 0\n );\n });\n }\n\n const ampmToggle = container.querySelector<HTMLElement>('.flatpickr-am-pm');\n if (ampmToggle) {\n ampmToggle.tabIndex = 0;\n ampmToggle.setAttribute('role', 'button');\n ampmToggle.setAttribute('aria-label', 'Toggle AM/PM');\n ampmToggle.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n ampmToggle.click();\n }\n });\n }\n });\n}\n\nexport function hideEmptyYear(): void {\n // force year input to always be visible - don't hide it even when min === max\n document.querySelectorAll('.numInputWrapper').forEach((wrapper) => {\n const yearInput = wrapper.querySelector(\n '.numInput.cur-year'\n ) as HTMLInputElement;\n if (yearInput) {\n (wrapper as HTMLElement).style.display = '';\n\n yearInput.style.display = '';\n yearInput.disabled = false;\n\n if (!yearInput.hasAttribute('tabindex')) {\n yearInput.tabIndex = 0;\n }\n }\n });\n}\n\nexport function 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\nexport async function clearFlatpickrInput(\n flatpickrInstance: Instance | undefined,\n inputEl: HTMLInputElement | undefined,\n updateCallback?: () => void\n): Promise<void> {\n if (flatpickrInstance) {\n flatpickrInstance.clear();\n }\n\n if (inputEl) {\n inputEl.value = '';\n }\n\n if (updateCallback) {\n await updateCallback();\n }\n}\n\nexport enum DateRangeEditableMode {\n BOTH = 'both',\n START = 'start',\n END = 'end',\n NONE = 'none',\n}\n\nexport function createDateRangeDayLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null]\n): (\n dObj: Date,\n dStr: string,\n fp: Instance,\n dayElem: HTMLElement & { dateObj: Date }\n) => void {\n return (_dObj, _dStr, _fp, dayElem: HTMLElement & { dateObj: Date }) => {\n const currentDate = dayElem.dateObj;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n if (currentDate.getTime() <= currentValue[0].getTime()) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().lockedStartDate);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() >= currentValue[1].getTime()) {\n if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().lockedEndDate);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n } else if (\n editableMode === DateRangeEditableMode.NONE &&\n currentValue[0] !== null &&\n currentValue[1] !== null\n ) {\n if (currentDate.getTime() === currentValue[0].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'start');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (currentDate.getTime() === currentValue[1].getTime()) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateLocked);\n dayElem.setAttribute('locked', 'end');\n dayElem.setAttribute('aria-disabled', 'true');\n } else if (\n currentDate.getTime() > currentValue[0].getTime() &&\n currentDate.getTime() < currentValue[1].getTime()\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n dayElem.setAttribute('title', getTextStrings().dateInSelectedRange);\n } else {\n dayElem.classList.add('flatpickr-locked-date', 'flatpickr-disabled');\n dayElem.setAttribute('title', getTextStrings().dateNotAvailable);\n }\n }\n\n if (\n dayElem.classList.contains('flatpickr-disabled') &&\n !dayElem.classList.contains('flatpickr-locked-date')\n ) {\n dayElem.classList.add('flatpickr-locked-date');\n }\n };\n}\n\nexport function createDateRangeChangeLockHandler(\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n originalOnChange: Hook | Hook[]\n): (selectedDates: Date[], dateStr: string, instance: Instance) => void {\n return (selectedDates, dateStr, instance) => {\n let lockedStartDate: Date | null = null;\n let lockedEndDate: Date | null = null;\n\n if (\n editableMode === DateRangeEditableMode.END &&\n currentValue[0] !== null\n ) {\n lockedStartDate = currentValue[0];\n }\n if (\n editableMode === DateRangeEditableMode.START &&\n currentValue[1] !== null\n ) {\n lockedEndDate = currentValue[1];\n }\n\n if (editableMode === DateRangeEditableMode.NONE) {\n if (currentValue[0] !== null && currentValue[1] !== null) {\n instance.setDate([currentValue[0], currentValue[1]], false);\n return;\n }\n }\n\n if (currentValue[0] === null && currentValue[1] === null) {\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n return;\n }\n\n if (\n editableMode === DateRangeEditableMode.END &&\n lockedStartDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[0].getTime() !== lockedStartDate.getTime()\n ) {\n newDates[0] = lockedStartDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.splice(0, 0, lockedStartDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n if (\n editableMode === DateRangeEditableMode.START &&\n lockedEndDate !== null\n ) {\n let modified = false;\n const newDates = [...selectedDates];\n\n if (\n selectedDates.length === 2 &&\n selectedDates[1].getTime() !== lockedEndDate.getTime()\n ) {\n newDates[1] = lockedEndDate;\n modified = true;\n } else if (selectedDates.length === 1) {\n newDates.push(lockedEndDate);\n modified = true;\n }\n\n if (modified) {\n instance.setDate(newDates, false);\n callOriginalOnChange(\n originalOnChange,\n newDates,\n instance.input.value,\n instance\n );\n return;\n }\n }\n\n callOriginalOnChange(originalOnChange, selectedDates, dateStr, instance);\n };\n}\n\nfunction callOriginalOnChange(\n originalOnChange: Hook | Hook[],\n selectedDates: Date[],\n dateStr: string,\n instance: Instance\n): void {\n try {\n if (typeof originalOnChange === 'function') {\n originalOnChange(selectedDates, dateStr, instance);\n } else if (Array.isArray(originalOnChange)) {\n originalOnChange.forEach((hook) => {\n if (typeof hook === 'function') {\n try {\n hook(selectedDates, dateStr, instance);\n } catch (e) {\n console.warn('Error in onChange hook:', e);\n }\n }\n });\n }\n } catch (e) {\n console.warn('Error calling original onChange handler:', e);\n }\n}\n\nexport function applyDateRangeEditingRestrictions(\n options: Partial<BaseOptions>,\n editableMode: DateRangeEditableMode,\n currentValue: [Date | null, Date | null],\n tooltipStrings?: FlatpickrTextStrings\n): Partial<BaseOptions> {\n if (tooltipStrings) {\n setTooltipStrings(tooltipStrings);\n }\n const newOptions = { ...options };\n\n if (editableMode === DateRangeEditableMode.BOTH) {\n return newOptions;\n }\n\n const originalOnChange = newOptions.onChange;\n\n newOptions.clickOpens = true;\n\n try {\n newOptions.onDayCreate = createDateRangeDayLockHandler(\n editableMode,\n currentValue\n ) as any;\n\n newOptions.onChange = createDateRangeChangeLockHandler(\n editableMode,\n currentValue,\n originalOnChange || (() => {})\n );\n } catch (e) {\n console.warn('Error setting up date range editing restrictions:', e);\n }\n\n return newOptions;\n}\n"],"names":["flatpickrStylesInjected","_defaultCalendarTooltipStrings","lockedStartDate","lockedEndDate","dateLocked","dateNotAvailable","dateInSelectedRange","currentTooltipStrings","setTooltipStrings","customTextStrings","getTextStrings","DATE_FORMAT_OPTIONS","preventFlatpickrOpen","event","setShouldFlatpickrOpen","preventDefault","stopPropagation","stopImmediatePropagation","handleInputClick","handleInputFocus","shouldFlatpickrOpen","closeFlatpickr","modifyWeekdayShorthands","localeOptions","weekdays","_a","shorthand","map","day","charAt","injectFlatpickrStyles","customStyle","styleElement","document","createElement","id","textContent","head","appendChild","async","initializeMultiAnchorFlatpickr","context","inputEl","endinputEl","getFlatpickrOptions","setCalendarAttributes","setInitialDates","options","getInputElement","el","HTMLInputElement","input","querySelector","type","style","display","isConnected","Error","error","console","inputElement","endInputElement","plugins","rangePlugin","flatpickrInstance","flatpickr","setTimeout","addEventListener","open","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","message","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","push","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","e","key","changeMonth","nextBtn","firstMonth","yearInput","tabIndex","String","updateNow","value","changeYear","daysGrid","removeAttribute","enabledDays","from","querySelectorAll","forEach","oldNav","_keyboardNav","removeEventListener","keyboardNav","targetDay","target","closest","click","idx","indexOf","nextIdx","next","focus","hourInput","min","max","stepUp","stepDown","minuteInput","ampmToggle","hideEmptyYear","wrapper","disabled","hasAttribute","validate","required","invalidText","defaultErrorMessage","hasInteracted","internals","isValid","validationMessage","isEmpty","trim","isRequired","validity","valueMissing","customError","setValidity","emitValue","eventName","detail","dispatchEvent","CustomEvent","bubbles","composed","clearFlatpickrInput","updateCallback","clear","DateRangeEditableMode","createDateRangeDayLockHandler","editableMode","currentValue","_dObj","_dStr","_fp","dayElem","currentDate","dateObj","END","getTime","START","NONE","contains","createDateRangeChangeLockHandler","originalOnChange","modified","newDates","splice","setDate","callOriginalOnChange","hook","applyDateRangeEditingRestrictions","tooltipStrings","newOptions","BOTH","onDayCreate"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kyndryl-design-system/shidoka-applications",
3
- "version": "2.69.3",
3
+ "version": "2.69.4",
4
4
  "description": "Shidoka Web Components for Applications",
5
5
  "license": "MIT",
6
6
  "main": "index.js",