@kyndryl-design-system/shidoka-applications 2.71.1 → 2.71.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -92,17 +92,14 @@ Here is some additional information about why SSR does not work for web componen
92
92
 
93
93
  #### The Problem
94
94
 
95
- This is a common bundling issue that can appear when you incorporate a component that has already bundled Shidoka components. Typically this would be caused by having a middle layer, for example a Common UI layer that has a cross-platform Header component built using Shidoka components.
95
+ This is a common bundling issue that can appear when you incorporate a component that has already bundled Shidoka components. Typically this would be caused by having a middle layer served via CDN, for example a Common UI layer that has a cross-platform Header component built using Shidoka components.
96
96
 
97
97
  #### Avoiding This
98
98
 
99
- You can get around this in by not declaring Shidoka components as dependencies, and instead declaring them as external or peer dependencies in the middle/common layer.
100
-
101
- For example, from the shidoka-applications rollup.js config using [the external option](https://rollupjs.org/configuration-options/#external): `external: [/shidoka-foundation\/components/]`. Since shidoka-foundation components are used within shidoka-applications components, this prevents the foundation components from being bundled, meaning it leaves the import statements unaltered (ex: `import '@kyndryl-design-system/...'`). This way, the application bundler can handle it instead.
102
-
103
- This works with bundling from node_modules, but not with CDN hosted files since the deployed application won't know how to resolve aliased node_modules imports ex: `import '@kyndryl-design-system/...'`. In this case, you probably need a workaround.
99
+ The best solution is to always include external dependencies as npm packages so the application can dedupe the dependencies. This diagram illustrates the problem and solution:
100
+ <img width="2249" height="2040" alt="shidoka-dependencies" src="https://github.com/user-attachments/assets/a0153a42-84e8-4444-88fb-481a27ad5c33" />
104
101
 
105
102
  #### Workaround
106
103
 
107
- If for some reason the above suggestion does not help, there is a library containing a script/polyfill that can be used which allows custom elements to be redefined:
108
- https://github.com/caridy/redefine-custom-elements. We've found that this script works best when served from the app's `<head>` tag.
104
+ If the npm package solution is no go, there is a library containing a script/polyfill that can be used which allows custom elements to be redefined:
105
+ https://github.com/caridy/redefine-custom-elements. We've found that this script works best when served from the app's `<head>` tag. Beware this creates a race condition and can cause serious version conflicts if not carefully maintained.
@@ -44,6 +44,7 @@ type DateFormatOption = keyof typeof DATE_FORMAT_OPTIONS;
44
44
  interface FlatpickrOptionsContext {
45
45
  locale: string;
46
46
  dateFormat?: string;
47
+ /** @deprecated Prefer passing pre-normalized `value` and using setInitialDates in the component. */
47
48
  defaultDate?: string | Date | string[] | Date[];
48
49
  defaultHour?: number;
49
50
  defaultMinute?: number;
@@ -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 +1 @@
1
- {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/esm/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/esm/l10n/default.js';\nimport { loadLocale as loadLocaleFromLangs } from '../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 onReady?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n const __anchorClickHandlers: { el: HTMLElement; fn: EventListener }[] =\n [];\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n inputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: inputEl, fn: handler });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n endinputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: endinputEl, fn: handler });\n }\n\n (flatpickrInstance as any).__anchorClickHandlers = __anchorClickHandlers;\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => flatpickrInstance.open();\n inputEl.addEventListener('click', handler);\n (flatpickrInstance as any).__anchorClickHandlers = [\n { el: inputEl, fn: handler },\n ];\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n 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","__anchorClickHandlers","handler","open","addEventListener","push","fn","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","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":"8PAUA,IAAIA,GAA0B,EAEvB,MAAMC,EAAiC,CAC5CC,gBAAiB,uBACjBC,cAAe,qBACfC,WAAY,iBACZC,iBAAkB,wBAClBC,oBAAqB,6BAOvB,IAAIC,EAAwB,IAAKN,GAE3B,SAAUO,EACdC,EAA0C,IAE1CF,EAAwB,IACnBN,KACAQ,EAEP,CAEM,SAAUC,EACdD,EAA0C,IAE1C,MAAO,IAAKF,KAA0BE,EACxC,CAiBA,MAAME,EAAsB,CAC1B,QAAS,aACT,QAAS,aACT,QAAS,aACT,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,YAAa,qBACb,cAAe,qBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,wBACf,cAAe,yBAmCX,SAAUC,EACdC,EACAC,GAEAD,EAAME,iBACNF,EAAMG,kBACNH,EAAMI,2BACNH,GAAuB,EACzB,CAEM,SAAUI,EACdJ,GAEAA,GAAuB,EACzB,UAEgBK,EACdC,EACAC,EACAP,GAEKM,IACHC,IACAP,GAAuB,GAE3B,CAEM,SAAUQ,EAAwBC,UACZ,UAAtBA,EAAcC,gBAAQ,IAAAC,OAAA,EAAAA,EAAEC,aAC1BH,EAAcC,SAASE,UAAYH,EAAcC,SAASE,UAAUC,KACjEC,GAAQA,EAAIC,OAAO,KAG1B,CAEM,SAAUC,EAAsBC,GACpC,IAAK/B,EAAyB,CAC5B,MAAMgC,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,GAAK,0BAClBH,EAAaI,YAAcL,EAC3BE,SAASI,KAAKC,YAAYN,GAC1BhC,GAA0B,EAE9B,CAEOuC,eAAeC,EACpBC,GAEA,MAAMC,QACJA,EAAOC,WACPA,EAAUC,oBACVA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,GACEL,EAEJ,GAAKC,EAKL,IACE,MAAMK,QAAgBH,IAEhBI,EAAmBC,IACvB,GAAIA,aAAcC,iBAChB,OAAOD,EAEP,IACE,IAAIE,EAAQF,EAAGG,cAAc,SAC7B,IAAKD,EAAO,CAIV,GAHAA,EAAQlB,SAASC,cAAc,SAC/BiB,EAAME,KAAO,OACbF,EAAMG,MAAMC,QAAU,QACjBN,EAAGO,YACN,MAAM,IAAIC,MAAM,uCAElBR,EAAGX,YAAYa,GAEjB,OAAOA,EACP,MAAOO,GAEP,MADAC,QAAQD,MAAM,6CAA8CA,GACtDA,IAKNE,EAAeZ,EAAgBN,GACrC,GAAIC,EAAY,CACd,MAAMkB,EAAkBb,EAAgBL,GACxCI,EAAQe,QAAU,IACZf,EAAQe,SAAW,GACvBC,EAAY,CAAEZ,MAAOU,KAIzB,MAAMG,EAAoBC,EAAUL,EAAcb,GAElD,GAAIiB,EAAmB,CACrBE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GAEClB,GACFA,EAAgBkB,GAGlB,MAAMG,EACJ,GAEF,KAAMzB,aAAmBQ,kBAAmB,CAC1C,MAAMkB,EAAU,KACdJ,EAAkBK,MAAM,EAE1B3B,EAAQ4B,iBAAiB,QAASF,GAClCD,EAAsBI,KAAK,CAAEtB,GAAIP,EAAS8B,GAAIJ,IAGhD,GAAIzB,KAAgBA,aAAsBO,kBAAmB,CAC3D,MAAMkB,EAAU,KACdJ,EAAkBK,MAAM,EAE1B1B,EAAW2B,iBAAiB,QAASF,GACrCD,EAAsBI,KAAK,CAAEtB,GAAIN,EAAY6B,GAAIJ,IAKnD,OAFCJ,EAA0BG,sBAAwBA,EAE5CH,EAGP,YADAL,QAAQD,MAAM,kCAGhB,MAAOA,GAEP,YADAC,QAAQD,MAAM,gCAAiCA,QA/E/CC,QAAQD,MAAM,oDAkFlB,CAEOnB,eAAekC,EACpBhC,GAEA,MAAMC,QACJA,EAAOE,oBACPA,EAAmBC,sBACnBA,EAAqBC,gBACrBA,EAAe4B,SACfA,GACEjC,EACJ,GAAKC,EAIL,IACE,MAAMK,QAAgBH,IAChB+B,EACJ5B,EAAQ6B,aAAgC,SAAjB7B,EAAQ8B,KAAkB,MAAQ,SAG3D,IAAIjB,EACJ,GAHAb,EAAQ6B,WAAaD,EAGjBjC,aAAmBQ,iBACrBU,EAAelB,EACfK,EAAQ+B,YAAa,OAErB,IACElB,EAAe3B,SAASC,cAAc,SACtC0B,EAAaP,KAAO,OACpBO,EAAaN,MAAMC,QAAU,OAE7B,MAAMwB,EAAgBL,GAAYhC,EAClC,IAAKqC,EACH,MAAM,IAAItB,MAAM,uCAGlBsB,EAAczC,YAAYsB,GAC1Bb,EAAQ+B,YAAa,EACrB/B,EAAQiC,gBAAkBtC,EAC1B,MAAOgB,GAEP,MADAC,QAAQD,MAAM,gCAAiCA,GACzCA,EAGV,MAAMM,EAAoBC,EAAUL,EAAcb,GAClD,GAAIiB,EAAmB,CAUrB,GATAE,YAAW,KACLrB,GACFA,EAAsBmB,KAEvB,GACClB,GACFA,EAAgBkB,KAGZtB,aAAmBQ,kBAAmB,CAC1C,MAAMkB,EAAU,IAAMJ,EAAkBK,OACxC3B,EAAQ4B,iBAAiB,QAASF,GACjCJ,EAA0BG,sBAAwB,CACjD,CAAElB,GAAIP,EAAS8B,GAAIJ,IAIvB,OAAOJ,EAGP,YADAL,QAAQD,MAAM,kCAGhB,MAAOA,GAEP,YADAC,QAAQD,MAAM,gCAAiCA,QAzD/CC,QAAQD,MAAM,oDA4DlB,CAEM,SAAUuB,EAAkBC,GAChC,OAAOA,KAAUvE,CACnB,CAEM,SAAUwE,EACdP,EACAQ,GAEA,IAAKR,EACH,OAAOQ,EAAc,2BAA6B,aAGpD,GAAIH,EAAkBL,GAAa,CAIjC,OAHoBQ,EAChB,GAAGzE,EAAoBiE,SAAkBjE,EAAoBiE,KAC7DjE,EAAoBiE,GAG1B,MAAO,aACT,CAEM,SAAUS,EAAWC,GACzB,OAAOC,EAAoBD,EAC7B,CAEM,SAAUE,EAAkBC,GAChC,IAAIC,EAAoBD,EAExB,KAAOC,GACL,GAAIA,aAAgBC,WAClBD,EAAOA,EAAKE,SADd,CAKA,KAAIF,aAAgBG,SASpB,MATA,CACE,MAAMC,EAAMJ,EAAKK,QAAQC,cACzB,GAAY,cAARF,GAA+B,oBAARA,EACzB,OAAOJ,EAETA,EAAOA,EAAKO,YAOhB,OAAOhE,SAASiE,IAClB,CAEO3D,eAAeK,EACpBH,SAEA,IAAKA,EAEH,OADAkB,QAAQD,MAAM,+CACP,CAAA,EAGT,MAAM4B,OACJA,EAAMV,WACNA,EAAUuB,WACVA,EAAUC,qBACVA,EAAoB1D,QACpBA,EAAO2D,WACPA,EAAUC,QACVA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,QACPA,EAAOC,YACPA,EAAWC,YACXA,EAAWC,cACXA,EAAaC,OACbA,EAAMC,QACNA,EAAOjC,KACPA,EAAO,SAAQkC,cACfA,EAAaC,KACbA,GAAO,EAAKC,WACZA,GAAa,EAAKvC,SAClBA,EAAQwC,SACRA,EAAQC,QACRA,EAAOC,OACPA,EAAM/B,WACNA,GACE5C,EAUJ,IAAIlB,EARC+D,GACH3B,QAAQ0D,KAAK,iDAGVzC,GACHjB,QAAQ0D,KAAK,mDAIf,IACE9F,QAAsB8D,EAAWC,GACjChE,EAAwBC,GACxB,MAAOmC,GACPC,QAAQ0D,KAAK,iDAAkD3D,GAC/DnC,EAAgB+F,EAGlB,MAAMC,EAAajC,EAAOkC,MAAM,KAAK,GAAGxB,cAClCyB,EAA0B,CAAC,KAAM,MAAMC,SAASH,GAEhDI,EACc,oBAAXC,QAA0BA,OAAOC,YAAc,IAElDlD,EACJC,IACU,SAATC,EAAmBuB,EAAuB,MAAQ,QAAW,SAE1D0B,EAAiBtC,EAAkB/C,EAAQC,SAC3CqF,EAAYD,IAAmB7F,SAASiE,KAExCnD,EAAgC,CACpC6B,WAAYD,EACZE,KAAe,SAATA,EAAkB,SAAWA,EACnCsB,WAAqB,SAATtB,GAAyBsB,EACrCc,WAAqB,SAATpC,GAAyBoC,EACrCP,YAAaA,EACbsB,cAAerD,EAAoBqB,cAAc0B,SAAS,MAC1DrB,WAAYA,IAAc,EAC1BvB,YAAY,EACZmD,UACkC,kBAAzB7B,EACHA,GACCqB,EACPS,aAAa,EACbC,eAAQ1G,EAAAgB,EAAQ0F,uBAChBnB,OACAoB,WAAqB,UAATvD,GAAoB8C,EAAe,EAAI,EACnDU,kBAAmB,SACnB/C,OAAQ/D,EACRwF,cAAeA,QAAAA,IAA4B,aAATlC,GAAuBsB,GACzDe,SAAU,CAACoB,EAAeC,EAASC,KACjCtB,GAAYA,EAASoB,EAAeC,EAASC,EAAS,EAExDrB,QAAS,CAACmB,EAAeC,EAASC,KAChC,GAAa,UAAT3D,GAAoB2D,EAASC,kBAAmB,CAClD,MAAMC,EACJF,EAASC,kBAAkBrF,cAAc,mBACd,IAAzBkF,EAAcK,SAChBD,SAAAA,EAAeE,UAAUC,IAAI,uBAC7BH,SAAAA,EAAeE,UAAUE,OAAO,aAAc,aAGlD3B,GAAWA,EAAQmB,EAAeC,EAASC,EAAS,EAEtDpB,OAAQ,CAACkB,EAAeC,EAASC,KAC/BpB,GAAUA,EAAOkB,EAAeC,EAASC,EAAS,GAmCtD,GA/BIT,IACFhF,EAAQ2B,SAAWoD,EACnB/E,EAAQoF,QAAS,GAChBpF,EAAQe,UAARf,EAAQe,QAAY,KAAIS,KACvBwE,EAA2B,CACzBC,OAAQ,EACRC,kBAAmB,EACnBC,WAAW,MAKJ,UAATrE,IACF9B,EAAQoG,QAAU,CAACC,EAAGC,EAAIb,KACxB,GAAIA,EAASC,kBAAmB,CAC9B,MAAMC,EACJF,EAASC,kBAAkBrF,cAAc,mBAC3CsF,SAAAA,EAAeE,UAAUC,IAAI,0BAK7BnG,aAAmBQ,mBACvBH,EAAQiC,gBAAkBtC,GAGxB4D,IAASvD,EAAQuD,QAAUA,GAC3BC,IAASxD,EAAQwD,QAAUA,GAC3BC,IAASzD,EAAQyD,QAAUA,GAC3BC,IAAS1D,EAAQ0D,QAAUA,GAE3BC,EACF,IACE4C,MAAMC,QAAQ7C,IACJ,UAAT7B,GAA6B,aAATA,GAGhB,IAAKyE,MAAMC,QAAQ7C,IACG,iBAAhBA,EAA0B,CACnC,IAAI8C,EAA0B,KAC9B,OAAQ7E,GACN,IAAK,QAAS,CACZ,MAAO8E,EAAMC,EAAO9H,GAAO8E,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMH,IAAUG,MAAMF,IAAWE,MAAMhI,GAEpC,KADA,IAAIiI,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAOA,EAAK8H,EAAOD,GAAQ/C,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMhI,IAASgI,MAAMF,IAAWE,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,IAAK,QAAS,CACZ,MAAO8H,EAAO9H,EAAK6H,GAAQ/C,EAAYc,MAAM,KAAK7F,IAAIgI,QACtDH,EACGI,MAAMF,IAAWE,MAAMhI,IAASgI,MAAMH,GAEnC,KADA,IAAII,KAAKJ,EAAMC,EAAQ,EAAG9H,EAAK,IAErC,MAEF,QACE4H,EAAa,IAAIK,KAAKnD,GAG1B3D,EAAQ2D,YAAc8C,GAAc9C,QAjCtC3D,EAAQ2D,YAAcA,EAuD1B,OAlBIC,UACF5D,EAAQ4D,YAAcA,GACpBC,UACF7D,EAAQ6D,cAAgBA,GACtBC,GAAUA,EAAO8B,OAAS,IAAG5F,EAAQ8D,OAASA,GAC9CC,GAAWA,EAAQ6B,OAAS,IAC9B5F,EAAQ+D,QAAUA,EAAQnF,KAAKmI,IAC7B,GAAIA,aAAgBD,KAAM,OAAOC,EACjC,GAAoB,iBAATA,EAAmB,OAAO,IAAID,KAAKC,GAC9C,GAAoB,iBAATA,EAAmB,CAE5B,OADe7F,EAAU8F,UAAUD,EAAMnF,IACxBmF,EAEnB,OAAOA,CAAI,KAGXpF,IAAU3B,EAAQ2B,SAAWA,GAE1B3B,CACT,CAEM,SAAUiH,EAAiBpF,GAC/B,MAAMqF,EAAKrF,GAAc,GACzB,OACEqF,EAAGvC,SAAS,OAASuC,EAAGvC,SAAS,OAASuC,EAAGjE,cAAc0B,SAAS,KAExE,UAEgB7E,EACd2F,EACA0B,GAAgB,GAEhB,IAAK1B,IAAaA,EAAS2B,OACzB,OAGF,MAAMC,EAAY5B,EAASC,kBAC3B,IAAK2B,EAAW,OAEhB,MAAM9D,QAAEA,EAAOC,QAAEA,GAAYiC,EAAS2B,OACtC,GAAI7D,GAAWC,EAAS,CACT,IAAIsD,KAAKvD,GAAS+D,gBAClB,IAAIR,KAAKtD,GAAS8D,cAE7BD,EAAUxB,UAAUC,IAAI,eAExBuB,EAAUxB,UAAUE,OAAO,eAI/BwB,uBAAsB,KACpB,IAAK9B,IAAaA,EAAS2B,OACzB,OAGF,MAAMtF,EAAO2D,EAAS2B,OAAOtF,KAM7BuF,EAAUG,aAAa,OAAQ,eAC/BH,EAAUG,aAAa,aAAc,YACrCH,EAAUxB,UAAUE,OAClB,kBACA,iBACA,qBAEFsB,EAAUxB,UAAUC,IAClBqB,EAAgB,kBAAoB,qBAGtC,MAAMM,EAAWJ,EAAUhH,cAA2B,qBACtDoH,SAAAA,EAAUD,aAAa,WAAY,KACnCC,SAAAA,EAAUD,aAAa,OAAQ,SAC/BC,SAAAA,EAAUD,aAAa,aAAc,6BAErC,MAAME,EAAUL,EAAUhH,cACxB,yBAEFqH,SAAAA,EAASF,aAAa,WAAY,KAClCE,SAAAA,EAASF,aAAa,OAAQ,UAC9BE,SAAAA,EAASF,aAAa,aAAc,kBACpCE,SAAAA,EAASnG,iBAAiB,WAAYoG,IACtB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE3J,iBACFyH,EAASoC,oBAIb,MAAMC,EAAUT,EAAUhH,cACxB,yBAEFyH,SAAAA,EAASN,aAAa,WAAY,KAClCM,SAAAA,EAASN,aAAa,OAAQ,UAC9BM,SAAAA,EAASN,aAAa,aAAc,cACpCM,SAAAA,EAASvG,iBAAiB,WAAYoG,IACtB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE3J,iBACFyH,EAASoC,YAAY,OAIzB,MAAME,EAAaV,EAAUhH,cAA2B,oBAClD2H,EAAYD,aAAU,EAAVA,EAAY1H,cAC5B,2BAEF,GAAI2H,EAAW,CACbA,EAAUC,SAAW,EACrBD,EAAUR,aAAa,OAAQ,cAC/BQ,EAAUR,aAAa,aAAc,QACjC/B,EAAS2B,OAAO7D,SAClByE,EAAUR,aACR,gBACAU,OAAO,IAAIpB,KAAKrB,EAAS2B,OAAO7D,SAAU+D,gBAG1C7B,EAAS2B,OAAO5D,SAClBwE,EAAUR,aACR,gBACAU,OAAO,IAAIpB,KAAKrB,EAAS2B,OAAO5D,SAAU8D,gBAG9C,MAAMa,EAAY,IAChBH,EAAUR,aAAa,gBAAiBQ,EAAUI,OACpDJ,EAAUzG,iBAAiB,WAAYoG,IACvB,YAAVA,EAAEC,MACJD,EAAE3J,iBACFyH,EAAS4C,WAAW,GACpBlH,WAAWgH,EAAW,IAEV,cAAVR,EAAEC,MACJD,EAAE3J,iBACFyH,EAAS4C,eACTlH,WAAWgH,EAAW,OAG1BhH,WAAWgH,EAAW,GAGxB,MAAMG,EAAWjB,EAAUhH,cAA2B,mBACtDiI,SAAAA,EAAUC,gBAAgB,YAC1BD,SAAAA,EAAUd,aAAa,OAAQ,QAC/Bc,SAAAA,EAAUd,aACR,uBACS,aAAT1F,EAAsB,OAAS,SAGjC,MAAM0G,EAAcjC,MAAMkC,KACxBpB,EAAUqB,iBACR,4CAGJF,EAAYG,SAAS9J,IACnBA,EAAIoJ,SAAW,EACfpJ,EAAI2I,aAAa,OAAiB,UAAT1F,EAAmB,WAAa,SAAS,IAGpE,MAAM8G,EAAUvB,EAAkBwB,aAC9BD,GAAQvB,EAAUyB,oBAAoB,UAAWF,GAErD,MAAMG,EAAepB,IACnB,MAAMqB,EAAarB,EAAEsB,OAAuBC,QAC1C,2CAEF,GAAKF,EAEL,OAAQrB,EAAEC,KACR,IAAK,QACL,IAAK,IAGH,OAFAD,EAAE3J,sBACFgL,EAAUG,QAEZ,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,UAAW,CACdxB,EAAE3J,iBACF,MAAMoL,EAAMZ,EAAYa,QAAQL,GAChC,IAAIM,EACJ,OAAQ3B,EAAEC,KACR,IAAK,aACH0B,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,YACHE,EAAUF,EAAM,EAChB,MACF,IAAK,UACHE,EAAUF,EAAM,EAChB,MACF,QACE,OAEJ,MAAMG,EAAOf,EAAYc,GAEzB,YADIC,GAAMA,EAAKC,YAKrBnC,EAAU9F,iBAAiB,UAAWwH,GACrC1B,EAAkBwB,aAAeE,EAElC,MAAMU,EAAYpC,EAAUhH,cAC1B,wBAEEoJ,IACFA,EAAUxB,SAAW,EACrBwB,EAAUjC,aAAa,OAAQ,cAC/BiC,EAAUjC,aAAa,aAAc,QACrCiC,EAAUjC,aAAa,gBAAiBiC,EAAUC,KAClDD,EAAUjC,aAAa,gBAAiBiC,EAAUE,KAClDF,EAAUjC,aAAa,gBAAiBiC,EAAUrB,OAClDqB,EAAUlI,iBAAiB,WAAYoG,IACvB,YAAVA,EAAEC,MACJD,EAAE3J,iBACFyL,EAAUG,UAEE,cAAVjC,EAAEC,MACJD,EAAE3J,iBACFyL,EAAUI,YAEZ1I,YACE,IAAMsI,EAAUjC,aAAa,gBAAiBiC,EAAUrB,QACxD,EACD,KAIL,MAAM0B,EAAczC,EAAUhH,cAC5B,0BAEEyJ,IACFA,EAAY7B,SAAW,EACvB6B,EAAYtC,aAAa,OAAQ,cACjCsC,EAAYtC,aAAa,aAAc,UACvCsC,EAAYtC,aAAa,gBAAiBsC,EAAYJ,KACtDI,EAAYtC,aAAa,gBAAiBsC,EAAYH,KACtDG,EAAYtC,aAAa,gBAAiBsC,EAAY1B,OACtD0B,EAAYvI,iBAAiB,WAAYoG,IACzB,YAAVA,EAAEC,MACJD,EAAE3J,iBACF8L,EAAYF,UAEA,cAAVjC,EAAEC,MACJD,EAAE3J,iBACF8L,EAAYD,YAEd1I,YACE,IAAM2I,EAAYtC,aAAa,gBAAiBsC,EAAY1B,QAC5D,EACD,KAIL,MAAM2B,EAAa1C,EAAUhH,cAA2B,oBACpD0J,IACFA,EAAW9B,SAAW,EACtB8B,EAAWvC,aAAa,OAAQ,UAChCuC,EAAWvC,aAAa,aAAc,gBACtCuC,EAAWxI,iBAAiB,WAAYoG,IACxB,UAAVA,EAAEC,KAA6B,MAAVD,EAAEC,MACzBD,EAAE3J,iBACF+L,EAAWZ,eAKrB,UAEgBa,IAEd9K,SAASwJ,iBAAiB,oBAAoBC,SAASsB,IACrD,MAAMjC,EAAYiC,EAAQ5J,cACxB,sBAEE2H,IACDiC,EAAwB1J,MAAMC,QAAU,GAEzCwH,EAAUzH,MAAMC,QAAU,GAC1BwH,EAAUkC,UAAW,EAEhBlC,EAAUmC,aAAa,cAC1BnC,EAAUC,SAAW,MAI7B,CAEM,SAAUmC,EACdzK,EACA0K,EACAC,EACAC,EACAC,EACAC,GAEA,IAAK9K,EAEH,OADAiB,QAAQ0D,KAAK,iCACN,CAAEoG,SAAS,EAAMC,kBAAmB,IAG7C,MAAMC,GAAWjL,EAAQyI,MAAMyC,OACzBC,EAAaT,EAEnB,IAAIU,EAAWpL,EAAQoL,SACnBJ,EAAoBhL,EAAQgL,kBAE5BG,GAAcF,IAChBG,EAAW,IAAKA,EAAUC,cAAc,GACxCL,EAAoBJ,GAGlBD,IACFS,EAAW,IAAKA,EAAUE,aAAa,GACvCN,EAAoBL,GAGtBG,EAAUS,YAAYH,EAAUJ,EAAmBhL,GAKnD,MAAO,CAAE+K,SAFNJ,KAAiBE,IAAkBI,GAAYA,IAAYE,GAE5CH,oBACpB,UAEgBQ,EACdzI,EACA0I,EACAC,GAEA3I,EAAQ4I,cACN,IAAIC,YAAYH,EAAW,CACzBC,SACAG,SAAS,EACTC,UAAU,IAGhB,CAEOjM,eAAekM,EACpBzK,EACAtB,EACAgM,GAEI1K,GACFA,EAAkB2K,QAGhBjM,IACFA,EAAQyI,MAAQ,IAGduD,SACIA,GAEV,KAEYE,EAON,SAAUC,EACdC,EACAC,GAOA,MAAO,CAACC,EAAOC,EAAOC,EAAKC,KACzB,MAAMC,EAAcD,EAAQE,QAG1BP,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvG,UAAUC,IAAI,yBACtBsG,EAAQ5E,aAAa,QAAS7J,IAAiBL,kBAC/C8O,EAAQ5E,aAAa,SAAU,SAC/B4E,EAAQ5E,aAAa,gBAAiB,UAEtC4E,EAAQvG,UAAUC,IAAI,wBAAyB,sBAC/CsG,EAAQ5E,aAAa,QAAS7J,IAAiBR,mBAInD4O,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,GAETK,EAAYG,WAAaR,EAAa,GAAGQ,YACvCH,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvG,UAAUC,IAAI,yBACtBsG,EAAQ5E,aAAa,QAAS7J,IAAiBP,eAC/CgP,EAAQ5E,aAAa,SAAU,OAC/B4E,EAAQ5E,aAAa,gBAAiB,UAEtC4E,EAAQvG,UAAUC,IAAI,wBAAyB,sBAC/CsG,EAAQ5E,aAAa,QAAS7J,IAAiBL,oBAInDyO,IAAiBF,EAAsBa,MACnB,OAApBV,EAAa,IACO,OAApBA,EAAa,KAETK,EAAYG,YAAcR,EAAa,GAAGQ,WAC5CJ,EAAQvG,UAAUC,IAAI,yBACtBsG,EAAQ5E,aAAa,QAAS7J,IAAiBN,YAC/C+O,EAAQ5E,aAAa,SAAU,SAC/B4E,EAAQ5E,aAAa,gBAAiB,SAC7B6E,EAAYG,YAAcR,EAAa,GAAGQ,WACnDJ,EAAQvG,UAAUC,IAAI,yBACtBsG,EAAQ5E,aAAa,QAAS7J,IAAiBN,YAC/C+O,EAAQ5E,aAAa,SAAU,OAC/B4E,EAAQ5E,aAAa,gBAAiB,SAEtC6E,EAAYG,UAAYR,EAAa,GAAGQ,WACxCH,EAAYG,UAAYR,EAAa,GAAGQ,WAExCJ,EAAQvG,UAAUC,IAAI,yBACtBsG,EAAQ5E,aAAa,QAAS7J,IAAiBJ,uBAE/C6O,EAAQvG,UAAUC,IAAI,wBAAyB,sBAC/CsG,EAAQ5E,aAAa,QAAS7J,IAAiBL,oBAKjD8O,EAAQvG,UAAU8G,SAAS,wBAC1BP,EAAQvG,UAAU8G,SAAS,0BAE5BP,EAAQvG,UAAUC,IAAI,yBAG5B,UAEgB8G,EACdb,EACAC,EACAa,GAEA,MAAO,CAACtH,EAAeC,EAASC,KAC9B,IAAItI,EAA+B,KAC/BC,EAA6B,KAejC,GAZE2O,IAAiBF,EAAsBU,KACnB,OAApBP,EAAa,KAEb7O,EAAkB6O,EAAa,IAG/BD,IAAiBF,EAAsBY,OACnB,OAApBT,EAAa,KAEb5O,EAAgB4O,EAAa,IAG3BD,IAAiBF,EAAsBa,MACjB,OAApBV,EAAa,IAAmC,OAApBA,EAAa,GAM/C,GAAwB,OAApBA,EAAa,IAAmC,OAApBA,EAAa,GAA7C,CAKA,GACED,IAAiBF,EAAsBU,KACnB,OAApBpP,EACA,CACA,IAAI2P,GAAW,EACf,MAAMC,EAAW,IAAIxH,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAGiH,YAAcrP,EAAgBqP,WAE/CO,EAAS,GAAK5P,EACd2P,GAAW,GACuB,IAAzBvH,EAAcK,SACvBmH,EAASC,OAAO,EAAG,EAAG7P,GACtB2P,GAAW,GAGTA,EAQF,OAPArH,EAASwH,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAtH,EAASrF,MAAMgI,MACf3C,GAMN,GACEsG,IAAiBF,EAAsBY,OACrB,OAAlBrP,EACA,CACA,IAAI0P,GAAW,EACf,MAAMC,EAAW,IAAIxH,GAarB,GAV2B,IAAzBA,EAAcK,QACdL,EAAc,GAAGiH,YAAcpP,EAAcoP,WAE7CO,EAAS,GAAK3P,EACd0P,GAAW,GACuB,IAAzBvH,EAAcK,SACvBmH,EAASvL,KAAKpE,GACd0P,GAAW,GAGTA,EAQF,OAPArH,EAASwH,QAAQF,GAAU,QAC3BG,EACEL,EACAE,EACAtH,EAASrF,MAAMgI,MACf3C,GAMNyH,EAAqBL,EAAkBtH,EAAeC,EAASC,QAhE7DyH,EAAqBL,EAAkBtH,EAAeC,EAASC,QAN7DA,EAASwH,QAAQ,CAACjB,EAAa,GAAIA,EAAa,KAAK,EAsEe,CAE5E,CAEA,SAASkB,EACPL,EACAtH,EACAC,EACAC,GAEA,IACkC,mBAArBoH,EACTA,EAAiBtH,EAAeC,EAASC,GAChCc,MAAMC,QAAQqG,IACvBA,EAAiBlE,SAASwE,IACxB,GAAoB,mBAATA,EACT,IACEA,EAAK5H,EAAeC,EAASC,GAC7B,MAAOkC,GACP/G,QAAQ0D,KAAK,0BAA2BqD,OAKhD,MAAOA,GACP/G,QAAQ0D,KAAK,2CAA4CqD,GAE7D,CAEM,SAAUyF,EACdpN,EACA+L,EACAC,EACAqB,GAEIA,GACF5P,EAAkB4P,GAEpB,MAAMC,EAAa,IAAKtN,GAExB,GAAI+L,IAAiBF,EAAsB0B,KACzC,OAAOD,EAGT,MAAMT,EAAmBS,EAAWnJ,SAEpCmJ,EAAWvL,YAAa,EAExB,IACEuL,EAAWE,YAAc1B,EACvBC,EACAC,GAGFsB,EAAWnJ,SAAWyI,EACpBb,EACAC,EACAa,GAAgB,MAAa,IAE/B,MAAOlF,GACP/G,QAAQ0D,KAAK,oDAAqDqD,GAGpE,OAAO2F,CACT,EAnPA,SAAYzB,GACVA,EAAA,KAAA,OACAA,EAAA,MAAA,QACAA,EAAA,IAAA,MACAA,EAAA,KAAA,MACD,CALD,CAAYA,IAAAA,EAAqB,CAAA"}
1
+ {"version":3,"file":"flatpickr.js","sources":["../../../src/common/helpers/flatpickr.ts"],"sourcesContent":["import flatpickr from 'flatpickr';\nimport rangePlugin from 'flatpickr/dist/esm/plugins/rangePlugin';\nimport { Instance } from 'flatpickr/dist/types/instance';\nimport { BaseOptions, Hook } from 'flatpickr/dist/types/options';\nimport { Locale } from 'flatpickr/dist/types/locale';\nimport { default as English } from 'flatpickr/dist/esm/l10n/default.js';\nimport { loadLocale as loadLocaleFromLangs } from '../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 /** @deprecated Prefer passing pre-normalized `value` and using setInitialDates in the component. */\n defaultDate?: string | Date | string[] | Date[];\n defaultHour?: number;\n defaultMinute?: number;\n enableTime: boolean;\n twentyFourHourFormat?: boolean;\n endinputEl?: HTMLElement;\n inputEl: HTMLElement;\n allowInput?: boolean;\n minDate?: string | number | Date;\n maxDate?: string | number | Date;\n minTime?: string | number | Date;\n maxTime?: string | number | Date;\n enable?: (string | number | Date)[];\n disable?: (string | number | Date)[];\n onChange?: Hook;\n onClose?: Hook;\n onOpen?: Hook;\n onReady?: Hook;\n loadLocale: (locale: string) => Promise<Partial<Locale>>;\n mode?: 'single' | 'multiple' | 'range' | 'time';\n closeOnSelect?: boolean;\n wrap?: boolean;\n noCalendar?: boolean;\n appendTo?: HTMLElement;\n static?: boolean;\n}\n\nexport function preventFlatpickrOpen(\n event: Event,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n setShouldFlatpickrOpen(false);\n}\n\nexport function handleInputClick(\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n setShouldFlatpickrOpen(true);\n}\n\nexport function handleInputFocus(\n shouldFlatpickrOpen: boolean,\n closeFlatpickr: () => void,\n setShouldFlatpickrOpen: (value: boolean) => void\n): void {\n if (!shouldFlatpickrOpen) {\n closeFlatpickr();\n setShouldFlatpickrOpen(true);\n }\n}\n\nexport function modifyWeekdayShorthands(localeOptions: Partial<Locale>): void {\n if (localeOptions.weekdays?.shorthand) {\n localeOptions.weekdays.shorthand = localeOptions.weekdays.shorthand.map(\n (day) => day.charAt(0)\n ) as [string, string, string, string, string, string, string];\n }\n}\n\nexport function injectFlatpickrStyles(customStyle: string): void {\n if (!flatpickrStylesInjected) {\n const styleElement = document.createElement('style');\n styleElement.id = 'flatpickr-custom-styles';\n styleElement.textContent = customStyle;\n document.head.appendChild(styleElement);\n flatpickrStylesInjected = true;\n }\n}\n\nexport async function initializeMultiAnchorFlatpickr(\n context: RangeFlatpickrContext\n): Promise<Instance | undefined> {\n const {\n inputEl,\n endinputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n } = context;\n\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n\n try {\n const options = await getFlatpickrOptions();\n\n const getInputElement = (el: HTMLElement): HTMLInputElement => {\n if (el instanceof HTMLInputElement) {\n return el;\n } else {\n try {\n let input = el.querySelector('input') as HTMLInputElement | null;\n if (!input) {\n input = document.createElement('input');\n input.type = 'text';\n input.style.display = 'none';\n if (!el.isConnected) {\n throw new Error('Element is not connected to the DOM');\n }\n el.appendChild(input);\n }\n return input;\n } catch (error) {\n console.error('Error creating or appending input element:', error);\n throw error;\n }\n }\n };\n\n const inputElement = getInputElement(inputEl);\n if (endinputEl) {\n const endInputElement = getInputElement(endinputEl);\n options.plugins = [\n ...(options.plugins || []),\n rangePlugin({ input: endInputElement }),\n ];\n }\n\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n const __anchorClickHandlers: { el: HTMLElement; fn: EventListener }[] =\n [];\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n inputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: inputEl, fn: handler });\n }\n\n if (endinputEl && !(endinputEl instanceof HTMLInputElement)) {\n const handler = () => {\n flatpickrInstance.open();\n };\n endinputEl.addEventListener('click', handler);\n __anchorClickHandlers.push({ el: endinputEl, fn: handler });\n }\n\n (flatpickrInstance as any).__anchorClickHandlers = __anchorClickHandlers;\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport async function initializeSingleAnchorFlatpickr(\n context: SingleFlatpickrContext & { appendTo?: HTMLElement }\n): Promise<Instance | undefined> {\n const {\n inputEl,\n getFlatpickrOptions,\n setCalendarAttributes,\n setInitialDates,\n appendTo,\n } = context;\n if (!inputEl) {\n console.error('Cannot initialize Flatpickr: inputEl is undefined');\n return undefined;\n }\n try {\n const options = await getFlatpickrOptions();\n const effectiveDateFormat =\n options.dateFormat || (options.mode === 'time' ? 'H:i' : 'Y-m-d');\n options.dateFormat = effectiveDateFormat;\n\n let inputElement: HTMLInputElement;\n if (inputEl instanceof HTMLInputElement) {\n inputElement = inputEl;\n options.clickOpens = true;\n } else {\n try {\n inputElement = document.createElement('input');\n inputElement.type = 'text';\n inputElement.style.display = 'none';\n\n const targetElement = appendTo || inputEl;\n if (!targetElement) {\n throw new Error('No valid element to append input to');\n }\n\n targetElement.appendChild(inputElement);\n options.clickOpens = false;\n options.positionElement = inputEl;\n } catch (error) {\n console.error('Error creating input element:', error);\n throw error;\n }\n }\n const flatpickrInstance = flatpickr(inputElement, options) as Instance;\n if (flatpickrInstance) {\n setTimeout(() => {\n if (setCalendarAttributes) {\n setCalendarAttributes(flatpickrInstance);\n }\n }, 0);\n if (setInitialDates) {\n setInitialDates(flatpickrInstance);\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n const handler = () => flatpickrInstance.open();\n inputEl.addEventListener('click', handler);\n (flatpickrInstance as any).__anchorClickHandlers = [\n { el: inputEl, fn: handler },\n ];\n }\n\n return flatpickrInstance;\n } else {\n console.error('Failed to initialize Flatpickr');\n return undefined;\n }\n } catch (error) {\n console.error('Error initializing Flatpickr:', error);\n return undefined;\n }\n}\n\nexport function isValidDateFormat(format: string): format is DateFormatOption {\n return format in DATE_FORMAT_OPTIONS;\n}\n\nexport function getPlaceholder(\n dateFormat: string,\n isDateRange?: boolean\n): string {\n if (!dateFormat) {\n return isDateRange ? 'yyyy-mm-dd to yyyy-mm-dd' : 'yyyy-mm-dd';\n }\n\n if (isValidDateFormat(dateFormat)) {\n const placeholder = isDateRange\n ? `${DATE_FORMAT_OPTIONS[dateFormat]} to ${DATE_FORMAT_OPTIONS[dateFormat]}`\n : DATE_FORMAT_OPTIONS[dateFormat];\n return placeholder;\n }\n return 'Select date';\n}\n\nexport function loadLocale(locale: string): Promise<Partial<Locale>> {\n return loadLocaleFromLangs(locale);\n}\n\nexport function getModalContainer(element: HTMLElement): HTMLElement {\n let node: Node | null = element;\n\n while (node) {\n if (node instanceof ShadowRoot) {\n node = node.host;\n continue;\n }\n\n if (node instanceof Element) {\n const tag = node.tagName.toLowerCase();\n if (tag === 'kyn-modal' || tag === 'kyn-side-drawer') {\n return node as HTMLElement;\n }\n node = node.parentNode;\n continue;\n }\n\n break;\n }\n\n return document.body;\n}\n\nexport async function getFlatpickrOptions(\n context: FlatpickrOptionsContext\n): Promise<Partial<BaseOptions>> {\n if (!context) {\n console.error('Context is required for getFlatpickrOptions');\n return {};\n }\n\n const {\n locale,\n dateFormat,\n enableTime,\n twentyFourHourFormat,\n inputEl,\n allowInput,\n minDate,\n maxDate,\n minTime,\n maxTime,\n defaultDate,\n defaultHour,\n defaultMinute,\n enable,\n disable,\n mode = 'single',\n closeOnSelect,\n wrap = false,\n noCalendar = false,\n appendTo,\n onChange,\n onClose,\n onOpen,\n loadLocale,\n } = context;\n\n if (!locale) {\n console.warn('Locale not provided. Falling back to default.');\n }\n\n if (!dateFormat) {\n console.warn('Date format not provided. Using default format.');\n }\n\n let localeOptions;\n try {\n localeOptions = await loadLocale(locale);\n modifyWeekdayShorthands(localeOptions);\n } catch (error) {\n console.warn('Error loading locale, falling back to default:', error);\n localeOptions = English;\n }\n\n const baseLocale = locale.split('-')[0].toLowerCase();\n const isEnglishOr12HourLocale = ['en', 'es'].includes(baseLocale);\n\n const isWideScreen =\n typeof window !== 'undefined' && window.innerWidth >= 767;\n\n const effectiveDateFormat =\n dateFormat ||\n (mode === 'time' ? (twentyFourHourFormat ? 'H:i' : 'h:i K') : 'Y-m-d');\n\n const modalContainer = getModalContainer(context.inputEl);\n const inOverlay = modalContainer !== document.body;\n\n const options: Partial<BaseOptions> = {\n dateFormat: effectiveDateFormat,\n mode: mode === 'time' ? 'single' : mode,\n enableTime: mode === 'time' ? true : enableTime,\n noCalendar: mode === 'time' ? true : noCalendar,\n defaultDate: defaultDate,\n enableSeconds: effectiveDateFormat.toLowerCase().includes(':s'),\n allowInput: allowInput || false,\n clickOpens: true,\n time_24hr:\n typeof twentyFourHourFormat === 'boolean'\n ? twentyFourHourFormat\n : !isEnglishOr12HourLocale,\n weekNumbers: false,\n static: context.static ?? false,\n wrap,\n showMonths: mode === 'range' && isWideScreen ? 2 : 1,\n monthSelectorType: 'static',\n locale: localeOptions,\n closeOnSelect: closeOnSelect ?? !(mode === 'multiple' || enableTime),\n onChange: (selectedDates, dateStr, instance) => {\n onChange && onChange(selectedDates, dateStr, instance);\n },\n onClose: (selectedDates, dateStr, instance) => {\n if (mode === 'range' && instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n if (selectedDates.length === 0) {\n timeContainer?.classList.add('default-time-select');\n timeContainer?.classList.remove('start-date', 'end-date');\n }\n }\n onClose && onClose(selectedDates, dateStr, instance);\n },\n onOpen: (selectedDates, dateStr, instance) => {\n onOpen && onOpen(selectedDates, dateStr, instance);\n },\n };\n\n if (inOverlay) {\n options.appendTo = modalContainer;\n options.static = false;\n (options.plugins ||= []).push(\n fixedOverlayPositionPlugin({\n offset: 6,\n minViewportMargin: 8,\n preferTop: false,\n }) as any\n );\n }\n\n if (mode === 'range') {\n options.onReady = (_, __, instance) => {\n if (instance.calendarContainer) {\n const timeContainer =\n instance.calendarContainer.querySelector('.flatpickr-time');\n timeContainer?.classList.add('default-time-select');\n }\n };\n }\n\n if (!(inputEl instanceof HTMLInputElement)) {\n options.positionElement = inputEl;\n }\n\n if (minDate) options.minDate = minDate;\n if (maxDate) options.maxDate = maxDate;\n if (minTime) options.minTime = minTime;\n if (maxTime) options.maxTime = maxTime;\n\n if (defaultDate) {\n if (\n Array.isArray(defaultDate) &&\n (mode === 'range' || mode === 'multiple')\n ) {\n options.defaultDate = defaultDate;\n } else if (!Array.isArray(defaultDate)) {\n if (typeof defaultDate === 'string') {\n let parsedDate: Date | null = null;\n switch (effectiveDateFormat) {\n case 'Y-m-d': {\n const [year, month, day] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(year) && !isNaN(month) && !isNaN(day)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'd-m-Y': {\n const [day, month, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(day) && !isNaN(month) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n case 'm-d-Y': {\n const [month, day, year] = defaultDate.split('-').map(Number);\n parsedDate =\n !isNaN(month) && !isNaN(day) && !isNaN(year)\n ? new Date(year, month - 1, day, 12)\n : null;\n break;\n }\n default:\n parsedDate = new Date(defaultDate);\n break;\n }\n options.defaultDate = parsedDate || defaultDate;\n }\n }\n }\n if (defaultHour !== undefined && defaultHour !== null)\n options.defaultHour = defaultHour;\n if (defaultMinute !== undefined && defaultMinute !== null)\n options.defaultMinute = defaultMinute;\n if (enable && enable.length > 0) options.enable = enable;\n if (disable && disable.length > 0) {\n options.disable = disable.map((date) => {\n if (date instanceof Date) return date;\n if (typeof date === 'number') return new Date(date);\n if (typeof date === 'string') {\n const parsed = flatpickr.parseDate(date, effectiveDateFormat);\n return parsed || date;\n }\n return date;\n });\n }\n if (appendTo) options.appendTo = appendTo;\n\n return options;\n}\n\nexport function updateEnableTime(dateFormat: string): boolean {\n const df = dateFormat || '';\n return (\n df.includes('H:') || df.includes('h:') || df.toLowerCase().includes(':s')\n );\n}\n\nexport function setCalendarAttributes(\n instance: Instance,\n modalDetected = false\n): void {\n if (!instance || !instance.config) {\n return;\n }\n\n const container = instance.calendarContainer;\n if (!container) return;\n\n const { minDate, maxDate } = instance.config;\n if (minDate && maxDate) {\n const minY = new Date(minDate).getFullYear();\n const maxY = new Date(maxDate).getFullYear();\n if (minY === maxY) {\n container.classList.add('single-year');\n } else {\n container.classList.remove('single-year');\n }\n }\n\n requestAnimationFrame(() => {\n if (!instance || !instance.config) {\n return;\n }\n\n const mode = instance.config.mode as\n | 'single'\n | 'multiple'\n | 'range'\n | 'time';\n\n container.setAttribute('role', 'application');\n container.setAttribute('aria-label', 'Calendar');\n container.classList.remove(\n 'container-modal',\n 'container-body',\n 'container-default'\n );\n container.classList.add(\n modalDetected ? 'container-modal' : 'container-default'\n );\n\n const monthsEl = container.querySelector<HTMLElement>('.flatpickr-months');\n monthsEl?.setAttribute('tabindex', '0');\n monthsEl?.setAttribute('role', 'group');\n monthsEl?.setAttribute('aria-label', 'Month and year navigation');\n\n const prevBtn = container.querySelector<HTMLElement>(\n '.flatpickr-prev-month'\n );\n prevBtn?.setAttribute('tabindex', '0');\n prevBtn?.setAttribute('role', 'button');\n prevBtn?.setAttribute('aria-label', 'Previous month');\n 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","__anchorClickHandlers","handler","open","addEventListener","push","fn","initializeSingleAnchorFlatpickr","appendTo","effectiveDateFormat","dateFormat","mode","clickOpens","targetElement","positionElement","isValidDateFormat","format","getPlaceholder","isDateRange","loadLocale","locale","loadLocaleFromLangs","getModalContainer","element","node","ShadowRoot","host","Element","tag","tagName","toLowerCase","parentNode","body","enableTime","twentyFourHourFormat","allowInput","minDate","maxDate","minTime","maxTime","defaultDate","defaultHour","defaultMinute","enable","disable","closeOnSelect","wrap","noCalendar","onChange","onClose","onOpen","warn","English","baseLocale","split","isEnglishOr12HourLocale","includes","isWideScreen","window","innerWidth","modalContainer","inOverlay","enableSeconds","time_24hr","weekNumbers","static","showMonths","monthSelectorType","selectedDates","dateStr","instance","calendarContainer","timeContainer","length","classList","add","remove","fixedOverlayPositionPlugin","offset","minViewportMargin","preferTop","onReady","_","__","Array","isArray","parsedDate","year","month","Number","isNaN","Date","date","parseDate","updateEnableTime","df","modalDetected","config","container","getFullYear","requestAnimationFrame","setAttribute","monthsEl","prevBtn","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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"}
@@ -15,6 +15,7 @@ declare const DatePicker_base: (new (...args: any[]) => import("../../../common/
15
15
  * @slot tooltip - Slot for tooltip.
16
16
  * @attr {string} [name=''] - The name of the input, used for form submission.
17
17
  * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.
18
+ * @attr {Date | Date[] | string | string[] } [value=''] - The value of the input.
18
19
  */
19
20
  export declare class DatePicker extends DatePicker_base {
20
21
  static styles: import("lit").CSSResult[];
@@ -23,7 +24,15 @@ export declare class DatePicker extends DatePicker_base {
23
24
  accessor locale: SupportedLocale | string;
24
25
  /** Sets flatpickr value to define how the date will be displayed in the input box (ex: `Y-m-d H:i`). */
25
26
  accessor dateFormat: string;
26
- /** Sets the initial selected date(s). For multiple mode, provide an array of date strings matching dateFormat. */
27
+ /**
28
+ * Sets the initial selected date(s).
29
+ *
30
+ * @deprecated Soft-deprecated. Prefer setting `value`.
31
+ *
32
+ * Backward compatibility notes:
33
+ * - still supports property assignment (`defaultDate = '2025-01-01'` or string[]).
34
+ * - empty attribute values are treated as `null`.
35
+ */
27
36
  accessor defaultDate: string | string[] | null;
28
37
  /** Sets default error message. */
29
38
  accessor defaultErrorMessage: string;
@@ -34,15 +43,20 @@ export declare class DatePicker extends DatePicker_base {
34
43
  /**
35
44
  * Current date value for the component.
36
45
  *
46
+ * - Controlled: set from the host (recommended).
37
47
  * - Uncontrolled: populated from `defaultDate` and user selections.
38
- * - Controlled: can be set from the host (e.g. Vue `:value`) as `Date` or `Date[]`.
48
+ *
49
+ * Note: for backward compatibility, `value` may arrive as strings from some
50
+ * host frameworks; this component will attempt to parse/normalize those.
39
51
  */
40
- value: Date | Date[] | null;
52
+ value: Date | Date[] | string | string[] | null;
41
53
  /** Sets validation warning messaging. */
42
54
  accessor warnText: string;
43
55
  /** Sets flatpickr options setting to disable specific dates. Accepts array of dates in Y-m-d format, timestamps, or Date objects. */
44
56
  accessor disable: (string | number | Date)[];
45
- /** Internal storage for processed disable dates */
57
+ /** Internal storage for processed disable dates.
58
+ * @internal
59
+ */
46
60
  private accessor _processedDisableDates;
47
61
  /** Sets flatpickr options setting to enable specific dates. */
48
62
  accessor enable: (string | number | Date)[];
@@ -96,6 +110,9 @@ export declare class DatePicker extends DatePicker_base {
96
110
  * @internal
97
111
  */
98
112
  private accessor _isClearing;
113
+ /** Internal ID used to associate the input with its calendar container.
114
+ * @internal
115
+ */
99
116
  private _anchorId;
100
117
  /** Customizable text strings. */
101
118
  accessor textStrings: {
@@ -133,7 +150,9 @@ export declare class DatePicker extends DatePicker_base {
133
150
  * @internal
134
151
  */
135
152
  private accessor _shouldFlatpickrOpen;
136
- /** Track if we initially had a defaultDate when the component was first connected */
153
+ /** Track if we initially had a defaultDate when the component was first connected.
154
+ * @internal
155
+ */
137
156
  private accessor _hasInitialDefaultDate;
138
157
  /** Track initialization state
139
158
  * @internal
@@ -148,8 +167,16 @@ export declare class DatePicker extends DatePicker_base {
148
167
  */
149
168
  private _submitListener;
150
169
  private debounce;
170
+ /** Helper to determine if value is empty.
171
+ * @internal
172
+ */
173
+ private isEmptyValue;
174
+ /** Debounced re-initialization helper used when configuration changes.
175
+ * @internal
176
+ */
151
177
  private debouncedUpdate;
152
178
  private generateRandomId;
179
+ private applyLegacyDefaultDate;
153
180
  connectedCallback(): void;
154
181
  disconnectedCallback(): void;
155
182
  private hasValue;
@@ -171,8 +198,15 @@ export declare class DatePicker extends DatePicker_base {
171
198
  initializeFlatpickr(): Promise<void>;
172
199
  updateFlatpickrOptions(): Promise<void>;
173
200
  private parseDateString;
201
+ private normalizeToDate;
202
+ private isDateInRange;
174
203
  private resolveYearFromConfig;
175
204
  setInitialDates(): void;
205
+ private normalizeValueInput;
206
+ /**
207
+ * Validate pre-filled `value`.
208
+ */
209
+ private validateAndNormalizeHostValue;
176
210
  getComponentFlatpickrOptions(): Promise<Partial<BaseOptions>>;
177
211
  handleOpen(): Promise<void>;
178
212
  handleClose(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datepicker.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/datePicker/datepicker.ts"],"names":[],"mappings":"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"}