@tylertech/forge 2.20.1 → 2.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/custom-elements.json +51 -17
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/calendar/index.js +1 -1
  6. package/dist/esm/chunks/{chunk.K55FBLTW.js → chunk.2GDEYC4V.js} +2 -2
  7. package/dist/esm/chunks/{chunk.HGGP6G7L.js → chunk.43RHBWGI.js} +2 -2
  8. package/dist/esm/chunks/{chunk.ZWL2Q7E6.js → chunk.45KYMP5J.js} +2 -2
  9. package/dist/esm/chunks/{chunk.KNVCEYY2.js → chunk.5E2BG6O3.js} +2 -2
  10. package/dist/esm/chunks/{chunk.2VWASAUU.js → chunk.AIUIUCZH.js} +2 -2
  11. package/dist/esm/chunks/{chunk.AD4NVLFA.js → chunk.COS4RDZB.js} +2 -2
  12. package/dist/esm/chunks/chunk.DPZU5F27.js +7 -0
  13. package/dist/esm/chunks/chunk.DPZU5F27.js.map +7 -0
  14. package/dist/esm/chunks/chunk.F5LXG5X7.js +7 -0
  15. package/dist/esm/chunks/chunk.F5LXG5X7.js.map +7 -0
  16. package/dist/esm/chunks/chunk.PWHMNJ5Y.js +7 -0
  17. package/dist/esm/chunks/{chunk.WPJEXVHM.js.map → chunk.PWHMNJ5Y.js.map} +2 -2
  18. package/dist/esm/chunks/chunk.Q7HX26UO.js +7 -0
  19. package/dist/esm/chunks/chunk.Q7HX26UO.js.map +7 -0
  20. package/dist/esm/chunks/{chunk.O7IKUHRR.js → chunk.RD7SYOAI.js} +2 -2
  21. package/dist/esm/chunks/{chunk.4E4ZOFQI.js → chunk.TBSCULSM.js} +2 -2
  22. package/dist/esm/chunks/{chunk.4E4ZOFQI.js.map → chunk.TBSCULSM.js.map} +1 -1
  23. package/dist/esm/chunks/{chunk.4HWB754J.js → chunk.UQTJSPU4.js} +2 -2
  24. package/dist/esm/chunks/chunk.Y7YPNMPI.js +7 -0
  25. package/dist/esm/chunks/chunk.Y7YPNMPI.js.map +7 -0
  26. package/dist/esm/date-picker/index.js +1 -1
  27. package/dist/esm/date-range-picker/index.js +1 -1
  28. package/dist/esm/expansion-panel/index.js +1 -1
  29. package/dist/esm/index.js +1 -1
  30. package/dist/esm/menu/index.js +1 -1
  31. package/dist/esm/paginator/index.js +1 -1
  32. package/dist/esm/split-view/index.js +1 -1
  33. package/dist/esm/split-view/split-view/index.js +1 -1
  34. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  35. package/dist/esm/stepper/index.js +1 -1
  36. package/dist/esm/stepper/step/index.js +1 -1
  37. package/dist/esm/stepper/stepper/index.js +1 -1
  38. package/dist/esm/table/index.js +1 -1
  39. package/esm/calendar/calendar-foundation.js +2 -1
  40. package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
  41. package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
  42. package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
  43. package/esm/menu/menu-adapter.d.ts +3 -3
  44. package/esm/menu/menu-constants.d.ts +1 -1
  45. package/esm/menu/menu-foundation.d.ts +1 -0
  46. package/esm/menu/menu-foundation.js +11 -4
  47. package/esm/paginator/paginator-constants.d.ts +9 -0
  48. package/esm/paginator/paginator-foundation.d.ts +5 -2
  49. package/esm/paginator/paginator-foundation.js +29 -8
  50. package/esm/paginator/paginator.d.ts +3 -1
  51. package/esm/paginator/paginator.js +3 -0
  52. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  53. package/package.json +1 -1
  54. package/dist/esm/chunks/chunk.JOLJ7WVN.js +0 -7
  55. package/dist/esm/chunks/chunk.JOLJ7WVN.js.map +0 -7
  56. package/dist/esm/chunks/chunk.RH4E52PS.js +0 -7
  57. package/dist/esm/chunks/chunk.RH4E52PS.js.map +0 -7
  58. package/dist/esm/chunks/chunk.SZNMBPMR.js +0 -7
  59. package/dist/esm/chunks/chunk.SZNMBPMR.js.map +0 -7
  60. package/dist/esm/chunks/chunk.WPJEXVHM.js +0 -7
  61. package/dist/esm/chunks/chunk.XY3WCDVX.js +0 -7
  62. package/dist/esm/chunks/chunk.XY3WCDVX.js.map +0 -7
  63. /package/dist/esm/chunks/{chunk.K55FBLTW.js.map → chunk.2GDEYC4V.js.map} +0 -0
  64. /package/dist/esm/chunks/{chunk.HGGP6G7L.js.map → chunk.43RHBWGI.js.map} +0 -0
  65. /package/dist/esm/chunks/{chunk.ZWL2Q7E6.js.map → chunk.45KYMP5J.js.map} +0 -0
  66. /package/dist/esm/chunks/{chunk.KNVCEYY2.js.map → chunk.5E2BG6O3.js.map} +0 -0
  67. /package/dist/esm/chunks/{chunk.2VWASAUU.js.map → chunk.AIUIUCZH.js.map} +0 -0
  68. /package/dist/esm/chunks/{chunk.AD4NVLFA.js.map → chunk.COS4RDZB.js.map} +0 -0
  69. /package/dist/esm/chunks/{chunk.O7IKUHRR.js.map → chunk.RD7SYOAI.js.map} +0 -0
  70. /package/dist/esm/chunks/{chunk.4HWB754J.js.map → chunk.UQTJSPU4.js.map} +0 -0
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/menu/menu-constants.ts", "../../src/menu/menu-adapter.ts", "../../src/menu/menu-foundation.ts", "../../src/menu/menu.ts", "../../src/menu/index.ts"],
4
- "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { IListDropdownOption, IListDropdownOptionGroup } from '../list-dropdown';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}menu`;\n\nconst classes = {\n POPUP: 'forge-menu__popup',\n MENU: 'mdc-menu'\n};\n\nconst selectors = {\n TOGGLE: `.${elementName}__toggle,[${elementName}-toggle],button,[type=button],[role=button],a,[tabindex]:not([tabindex^=\"-\"])`,\n MENU_LIST: 'forge-list'\n};\n\nconst attributes = {\n OPEN: 'open',\n PLACEMENT: 'placement',\n SELECTED_INDEX: 'selected-index',\n SELECTED_VALUE: 'selected-value',\n DENSE: 'dense',\n ICON_CLASS: 'icon-class',\n PERSIST_SELECTION: 'persist-selection',\n MODE: 'mode',\n SYNC_POPUP_WIDTH: 'sync-popup-width',\n POPUP_CLASSES: 'popup-classes',\n OPTION_LIMIT: 'option-limit',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SELECT: `${elementName}-select`,\n OPEN: `${elementName}-open`,\n CLOSE: `${elementName}-close`,\n ACTIVE_CHANGE: `${elementName}-active-change`\n};\n\nconst numbers = {\n CHILD_MOUSE_LEAVE_TIMEOUT: 300,\n POPUP_MOUSE_LEAVE_TIMEOUT: 500\n};\n\nexport const MENU_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events,\n numbers\n};\n\nexport interface IMenuSelectEventData<T = any, K = any> {\n index: number;\n value?: T;\n parentValue?: K;\n}\n\nexport interface IMenuActiveChangeEventData {\n id: string;\n}\n\nexport interface IMenuOption<T = any> extends IListDropdownOption<T> {\n icon?: string;\n selected?: boolean;\n}\n\nexport interface IMenuOptionGroup extends IListDropdownOptionGroup {}\n\nexport type MenuOptionBuilder = (option: IMenuOption, parentElement: HTMLElement) => HTMLElement | string | void;\nexport type MenuOptionFactory = (() => IMenuOption[]) | (() => Promise<IMenuOption[]>);\nexport type MenuMode = 'click' | 'cascade';\n", "import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';\nimport { IMenuOption } from './index';\nimport { IMenuComponent } from './menu';\nimport { MENU_CONSTANTS, IMenuSelectEventData } from './menu-constants';\nimport { IListDropdownConfig, IListDropdown, ListDropdown } from '../list-dropdown';\nimport { IListComponent, IListItemComponent, LIST_CONSTANTS, LIST_ITEM_CONSTANTS } from '../list';\n\nexport interface IMenuAdapter extends IBaseAdapter {\n getDropdownElement(): HTMLElement | null;\n initializeTarget(): void;\n initializeAccessibility(id: string): void;\n hasTargetElement(): boolean;\n addTargetListener(event: string, callback: (event: Event) => void, bubbles?: boolean): void;\n removeTargetListener(event: string, callback: (event: Event) => void): void;\n attachMenu(config: IListDropdownConfig): void;\n detachMenu(): void;\n setOptions(options: IMenuOption[]): void;\n getActiveOptionIndex(): number;\n setActiveOption(index: number): void;\n activateFirstOption(): void;\n setCascadeTargetInactive(): void;\n propagateKey(key: string): void;\n proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void;\n toggleChildMenu(index: number, open?: boolean): void;\n focusTarget(): void;\n isTargetFocused(): boolean;\n updateActiveDescendant(id: string): void;\n isOwnElement(element: Element): boolean;\n addDropdownListener(type: string, listener: (evt: any) => void): void;\n createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent;\n closeOtherChildMenus(excludeIndex?: number): void;\n setSelectedValues(values: any[]): void;\n}\n\nexport class MenuAdapter extends BaseAdapter<IMenuComponent> implements IMenuAdapter {\n private _targetElement: HTMLElement | null;\n private _listDropdown?: IListDropdown;\n private _childMenus = new Map<number, IMenuComponent>();\n\n constructor(component: IMenuComponent) {\n super(component);\n }\n\n public getDropdownElement(): HTMLElement | null {\n return this._listDropdown?.dropdownElement ?? null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public initializeTarget(): void {\n this._targetElement = this._component.querySelector(MENU_CONSTANTS.selectors.TOGGLE);\n if (!this._targetElement) {\n this._targetElement = this._component.firstElementChild as HTMLElement;\n }\n }\n\n public initializeAccessibility(id: string): void {\n if (!this._targetElement) {\n return;\n }\n\n this._targetElement.setAttribute('aria-atomic', 'true');\n this._targetElement.setAttribute('aria-live', 'assertive');\n this._targetElement.setAttribute('aria-haspopup', 'true');\n this._targetElement.setAttribute('aria-expanded', 'false');\n\n if (!this._targetElement.hasAttribute('aria-label')) {\n this._targetElement.setAttribute('aria-label', this._targetElement.textContent || '');\n }\n }\n\n public addTargetListener(event: string, callback: (event: Event) => void, bubbles = false): void {\n if (this._targetElement) {\n this._targetElement.addEventListener(event, callback, bubbles);\n }\n }\n\n public removeTargetListener(event: string, callback: (event: Event) => void): void {\n if (this._targetElement) {\n this._targetElement.removeEventListener(event, callback);\n }\n }\n\n public attachMenu(config: IListDropdownConfig): void {\n if (this._listDropdown || !this._targetElement) {\n return;\n }\n this._listDropdown = new ListDropdown(this._targetElement as HTMLElement, config);\n this._listDropdown.open();\n this._targetElement.setAttribute('aria-expanded', 'true');\n this._targetElement.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n }\n\n public setOptions(options: IMenuOption[]): void {\n if (this._listDropdown) {\n this._listDropdown.setOptions(options);\n }\n }\n\n public detachMenu(): void {\n if (this._targetElement) {\n this._targetElement.removeAttribute('aria-activedescendant');\n this._targetElement.removeAttribute('aria-expanded');\n this._targetElement.removeAttribute('aria-controls');\n }\n\n if (this._listDropdown) {\n this._listDropdown.close();\n this._listDropdown.destroy();\n this._listDropdown = undefined;\n }\n }\n\n public setActiveOption(index: number): void {\n this._listDropdown?.activateOption(index);\n }\n\n public activateFirstOption(): void {\n this._listDropdown?.activateFirstOption();\n }\n\n public setCascadeTargetInactive(): void {\n const listItem = this._targetElement as IListItemComponent;\n if (listItem?.active) {\n listItem.active = false;\n }\n }\n\n public getActiveOptionIndex(): number {\n return this._listDropdown?.getActiveOptionIndex() ?? -1;\n }\n\n public focusTarget(): void {\n if (this._targetElement) {\n this._targetElement.focus();\n }\n }\n\n public isTargetFocused(): boolean {\n return document.activeElement === this._targetElement;\n }\n\n public updateActiveDescendant(id: string): void {\n if (!this._targetElement) {\n return;\n }\n if (id) {\n this._targetElement.setAttribute('aria-activedescendant', id);\n } else {\n this._targetElement.removeAttribute('aria-activedescendant');\n }\n }\n\n public addDropdownListener(type: string, listener: (evt: any) => void): void {\n if (!this._listDropdown || !this._listDropdown.dropdownElement) {\n return;\n }\n this._listDropdown.dropdownElement.addEventListener(type, listener);\n }\n\n public isOwnElement(el: Element): boolean {\n if (!this._targetElement || !this._listDropdown || !this._listDropdown.dropdownElement) {\n return false;\n }\n return this._targetElement.contains(el) || !!this._listDropdown.dropdownElement.contains(el);\n }\n\n public propagateKey(key: string): void {\n this._listDropdown?.handleKey(key);\n }\n\n public proxyKeyboardEventToChild(evt: KeyboardEvent, id: string): void {\n if (!this.getDropdownElement()) {\n return;\n }\n const openMenu = this._getOpenChildMenu(id);\n if (openMenu) {\n openMenu.propagateKeyEvent(evt);\n }\n }\n\n public toggleChildMenu(index: number, open?: boolean): void {\n const listItems = this._getListItems();\n const listItem = listItems[index];\n const childMenu = listItem.parentElement as IMenuComponent;\n if (childMenu && childMenu.tagName.toLowerCase() === MENU_CONSTANTS.elementName) {\n if (open === undefined) {\n childMenu.open = !childMenu.open;\n } else {\n childMenu.open = open;\n }\n childMenu.activateFirstOption();\n }\n }\n\n public createChildMenu(index: number, parentValue: any, openCb: (index: number) => void, closeCb: (index: number) => void, selectCb: (data: IMenuSelectEventData) => void): IMenuComponent {\n const menu = document.createElement('forge-menu');\n menu.style.display = 'block';\n\n // Set listeners to notify the parent menu when anything important happens within a child menu that needs to be propagated to the root menu\n menu.addEventListener(MENU_CONSTANTS.events.OPEN, () => {\n this._childMenus.set(index, menu);\n openCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.CLOSE, () => {\n this._childMenus.delete(index);\n closeCb(index);\n });\n menu.addEventListener(MENU_CONSTANTS.events.SELECT, (evt: CustomEvent<IMenuSelectEventData>) => {\n evt.stopPropagation();\n selectCb({ ...evt.detail, parentValue });\n });\n\n return menu;\n }\n\n public closeOtherChildMenus(excludeIndex?: number): void {\n const menusToRemove: number[] = [];\n this._childMenus.forEach((menu, index) => {\n if (index !== excludeIndex) {\n menu.open = false;\n menusToRemove.push(index);\n }\n });\n menusToRemove.forEach(index => this._childMenus.delete(index));\n }\n\n public setSelectedValues(values: any[]): void {\n this._listDropdown?.setSelectedValues(values);\n }\n\n private _getOpenChildMenu(id: string): IMenuComponent | null {\n if (!this.getDropdownElement()) {\n return null;\n }\n const list = this._getOwnList(id);\n return list ? list.querySelector(`${MENU_CONSTANTS.elementName}[${MENU_CONSTANTS.attributes.OPEN}]`) : null;\n }\n\n private _getOwnList(id: string): IListComponent | null {\n const popup = this.getDropdownElement();\n if (!popup) {\n return null;\n }\n return popup.querySelector(`${LIST_CONSTANTS.elementName}[id=\"list-dropdown-list-${id}\"]`);\n }\n\n private _getListItems(): IListItemComponent[] {\n const popup = this.getDropdownElement();\n if (!popup) {\n return [];\n }\n const listElement = popup.querySelector(LIST_CONSTANTS.elementName);\n if (listElement) {\n return Array.from(listElement.querySelectorAll(LIST_ITEM_CONSTANTS.elementName)) as IListItemComponent[];\n }\n return [];\n }\n}\n", "import { ICustomElementFoundation, isArray, randomChars } from '@tylertech/forge-core';\nimport { ICON_CLASS_NAME } from '../constants';\nimport { CascadingListDropdownAwareFoundation, IListDropdownCascadingElementFactoryConfig, IListDropdownConfig, ListDropdownAsyncStyle, ListDropdownType } from '../list-dropdown';\nimport { isListDropdownOptionType, ListDropdownOptionType } from '../list-dropdown/list-dropdown-utils';\nimport { IPopupPosition, PopupPlacement } from '../popup';\nimport { IMenuOption } from './index';\nimport { IMenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\n\nexport interface IMenuFoundation extends ICustomElementFoundation {\n initialize(): void;\n disconnect(): void;\n onKeydown(evt: KeyboardEvent): void;\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup>;\n optionsFactory: MenuOptionFactory | undefined;\n selectedIndex: number;\n selectedValue: any;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n activateFirstOption(): void;\n}\n\nexport class MenuFoundation extends CascadingListDropdownAwareFoundation<IMenuOption | IMenuOptionGroup> implements IMenuFoundation {\n private _optionsFactory: MenuOptionFactory | undefined;\n private _placement: PopupPlacement = 'bottom-start';\n private _fallbackPlacements: PopupPlacement[] = [];\n private _dense = false;\n private _selectedValue: any;\n private _iconClass = ICON_CLASS_NAME;\n private _persistSelection = false;\n private _mode: MenuMode = 'click';\n private _popupOffset: IPopupPosition;\n private _optionBuilder: MenuOptionBuilder | undefined;\n private _identifier: string;\n private _clickListener: (evt: MouseEvent) => void;\n private _blurListener: (evt: MouseEvent) => void;\n private _selectListener: (value: any) => void;\n private _keydownListener: (evt: KeyboardEvent) => void;\n private _activeChangeListener: (id: string) => void;\n \n constructor(private _adapter: IMenuAdapter) {\n super({\n popupTimeout: MENU_CONSTANTS.numbers.POPUP_MOUSE_LEAVE_TIMEOUT,\n targetTimeout: MENU_CONSTANTS.numbers.CHILD_MOUSE_LEAVE_TIMEOUT\n });\n this._identifier = randomChars();\n this._clickListener = evt => this._onTargetClick(evt);\n this._blurListener = evt => this._onTargetBlur(evt);\n this._selectListener = value => this._handleSelectEvent(value);\n this._keydownListener = evt => this.onKeydown(evt);\n this._activeChangeListener = id => this._onActiveOptionChanged(id);\n }\n\n public initialize(): void {\n this._adapter.initializeTarget();\n this._adapter.initializeAccessibility(this._identifier);\n this._initializeInteractionListeners();\n }\n\n public disconnect(): void {\n if (this._open) {\n this._closeDropdown();\n }\n this._destroyInteractionListeners();\n }\n\n public activateFirstOption(): void {\n this._adapter.activateFirstOption();\n }\n\n private _applyMode(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n\n if (this._mode !== 'cascade') {\n this._adapter.addTargetListener('click', this._clickListener);\n } else {\n this._attachCascadingListeners();\n }\n }\n\n private _initializeInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._applyMode();\n this._adapter.addTargetListener('keydown', this._keydownListener, true);\n this._adapter.addTargetListener('focusout', this._blurListener);\n }\n\n private _destroyInteractionListeners(): void {\n if (!this._adapter.hasTargetElement()) {\n return;\n }\n this._adapter.removeTargetListener('keydown', this._clickListener);\n this._adapter.removeTargetListener('focusout', this._blurListener);\n this._adapter.removeTargetListener('click', this._clickListener);\n this._detachCascadingListeners();\n }\n\n protected _attachCascadingListeners(): void {\n this._adapter.addTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.addTargetListener('mouseleave', this._targetMouseLeaveListener);\n\n // We listen for document mousemove events only to track mouse coords for use when determining\n // if popups should open/close after specific delays\n this._adapter.addDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n protected _detachCascadingListeners(): void {\n this._adapter.removeTargetListener('mouseenter', this._targetMouseEnterListener);\n this._adapter.removeTargetListener('mouseleave', this._targetMouseLeaveListener);\n this._adapter.removeDocumentListener('mousemove', this._documentMouseMoveListener);\n }\n\n private get _nonDividerOptions(): IMenuOption[] {\n return this._flatOptions.filter(o => !o.divider);\n }\n\n private get _flatOptions(): IMenuOption[] {\n if (isListDropdownOptionType(this._options, ListDropdownOptionType.Group)) {\n return (this._options as IMenuOptionGroup[]).reduce((previousValue, currentValue) => previousValue.concat(currentValue.options), [] as IMenuOption[]) as IMenuOption[];\n }\n return this._options as IMenuOption[];\n }\n\n private _onTargetClick(evt: MouseEvent): void {\n if (this._open) {\n this._closeDropdown();\n return;\n }\n this.open = !this._open;\n if (this._open) {\n this._adapter.focusTarget();\n }\n }\n\n private _onTargetBlur(evt: Event): void {\n if (this._open) {\n this._closeDropdown();\n }\n }\n\n private _onActiveOptionChanged(id: string): void {\n // We need to dispatch an event when the active descendant changes to propagate that to the proper target element\n const data: IMenuActiveChangeEventData = { id };\n const canSetActiveDescendant = this._adapter.emitHostEvent(MENU_CONSTANTS.events.ACTIVE_CHANGE, data, true, true);\n if (this._mode !== 'cascade' && canSetActiveDescendant) {\n this._adapter.updateActiveDescendant(id);\n }\n }\n\n public onKeydown(evt: KeyboardEvent): void {\n // If we have any child menus open, we need to proxy the keyboard events to those and exit\n if (this._childOpen) {\n this._adapter.proxyKeyboardEventToChild(evt, this._identifier);\n return;\n }\n\n switch (evt.code) {\n case 'Tab':\n if (this._open) {\n this._selectActiveOption();\n }\n break;\n case 'Escape':\n if (this._open) {\n evt.preventDefault();\n evt.stopPropagation();\n this._closeDropdown();\n }\n break;\n case 'Space':\n evt.preventDefault();\n\n if (this._open) {\n this._closeDropdown();\n } else {\n this._openDropdown({ fromKeyboard: true });\n }\n break;\n case 'Home':\n case 'End':\n if (this._open) {\n evt.preventDefault();\n this._adapter.propagateKey(evt.code);\n }\n break;\n case 'Enter':\n evt.preventDefault();\n\n if (!this._open) {\n evt.preventDefault();\n this._openDropdown({ fromKeyboard: true });\n return;\n }\n\n evt.stopImmediatePropagation();\n\n this._adapter.propagateKey(evt.code);\n\n // Check if we need to toggle the child menu open state\n const activeIndex = this._adapter.getActiveOptionIndex();\n const activeOption = this._nonDividerOptions[activeIndex];\n if (activeOption && activeOption.options && activeOption.options.length) {\n this._adapter.toggleChildMenu(activeIndex);\n }\n break;\n case 'ArrowUp':\n case 'ArrowDown':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n\n evt.preventDefault();\n\n if (!this._open && evt.code === 'ArrowDown') {\n this._openDropdown({ fromKeyboard: true });\n this._adapter.activateFirstOption();\n return;\n }\n\n this._adapter.propagateKey(evt.code);\n break;\n case 'ArrowLeft':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (this._mode === 'cascade' && this._open) {\n this._closeDropdown();\n }\n break;\n case 'ArrowRight':\n if (this._open) {\n evt.stopImmediatePropagation();\n }\n if (!this._open) {\n return;\n }\n const hoveredIndex = this._adapter.getActiveOptionIndex();\n const hoveredOption = this._nonDividerOptions[hoveredIndex];\n if (hoveredOption && hoveredOption.options) {\n this._adapter.toggleChildMenu(hoveredIndex, evt.code === 'ArrowRight');\n return;\n }\n break;\n }\n }\n\n private async _openMenu({ fromKeyboard }: { fromKeyboard?: boolean } = {}): Promise<void> {\n this._open = true;\n let options: IMenuOption[] = [];\n\n if (typeof this._optionsFactory === 'function') {\n this._loadOptionsAsync();\n this._options = [];\n } else {\n if (!this._options || !this._options.length) {\n return;\n }\n options = this._options as IMenuOption[];\n }\n\n if (!this._persistSelection) {\n options.forEach(o => o.selected = false);\n }\n\n this._mapIconToLeadingIcon();\n\n const selectedValues = this._persistSelection ? this._getSelectedValues() : [];\n\n const config: IListDropdownConfig = {\n id: this._identifier,\n type: ListDropdownType.Menu,\n options: this._options,\n selectedValues,\n iconClass: this._iconClass,\n dense: this._dense,\n multiple: false,\n popupStatic: true,\n allowBusy: true,\n asyncStyle: ListDropdownAsyncStyle.Spinner,\n optionBuilder: this._optionBuilder,\n optionLimit: this._optionLimit,\n headerBuilder: this._popupHeaderBuilder,\n footerBuilder: this._popupFooterBuilder,\n observeScroll: this._observeScroll,\n observeScrollThreshold: this._observeScrollThreshold,\n popupPlacement: this._placement,\n popupFallbackPlacements: this._fallbackPlacements,\n activeStartIndex: fromKeyboard ? 0 : undefined,\n popupClasses: [\n MENU_CONSTANTS.classes.POPUP,\n MENU_CONSTANTS.classes.MENU,\n ...this._popupClasses as string[]\n ],\n syncWidth: this._syncPopupWidth,\n activeChangeCallback: this._activeChangeListener,\n selectCallback: this._selectListener,\n popupOffset: this._popupOffset,\n cascadingElementFactory: params => this._createCascadingElement(params)\n };\n\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.OPEN, '');\n this._adapter.attachMenu(config);\n\n // If this menu is in a hover mode, we need to listen for mouse enter/leave events to know when the user is hovering over the popup\n if (this._mode === 'cascade') {\n this._adapter.addDropdownListener('mouseenter', this._childPopupMouseEnterListener);\n this._adapter.addDropdownListener('mouseleave', this._childPopupMouseLeaveListener);\n }\n \n this._adapter.addDropdownListener(MENU_CONSTANTS.events.ACTIVE_CHANGE, (evt: CustomEvent<IMenuActiveChangeEventData>) => {\n this._onActiveOptionChanged(evt.detail.id);\n });\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.OPEN);\n }\n\n private _closeMenu(): void {\n this._open = false;\n this._childOpen = false;\n this._adapter.detachMenu();\n\n if (this._activeMouseLeaveTimeout !== undefined) {\n window.clearTimeout(this._activeMouseLeaveTimeout);\n }\n\n this._adapter.removeHostAttribute(MENU_CONSTANTS.attributes.OPEN);\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.CLOSE);\n }\n\n private _loadOptionsAsync(): Promise<void> {\n if (!this._optionsFactory) {\n if (this._open) {\n this._closeMenu();\n }\n return Promise.resolve();\n }\n\n return Promise.resolve(this._optionsFactory())\n .then(results => {\n if (!this._persistSelection) {\n results.forEach(o => o.selected = false);\n }\n\n if (this._open) {\n if (results && isArray(results) && results.length) {\n this._options = results;\n this._adapter.setOptions(results);\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n } else if (this._open) {\n this._closeDropdown();\n }\n }\n })\n .catch(e => {\n console.error('An unexpected error ocurred while opening the menu:', e);\n if (this._open) {\n this._closeDropdown();\n }\n });\n }\n\n private _handleSelectEvent(value: any): void {\n const index = this._nonDividerOptions.findIndex(o => o.value === value);\n if (index < 0) {\n return;\n }\n this._selectOptionByIndex(index);\n }\n\n private _selectActiveOption(): void {\n const index = this._adapter.getActiveOptionIndex();\n if (index >= 0 && this._nonDividerOptions[index]) {\n this._selectOptionByIndex(index);\n }\n }\n\n private _selectOptionByIndex(index: number): void {\n const { options, value } = this._nonDividerOptions[index];\n\n // We ignore selections if the option has child options\n if (options) {\n this._adapter.setActiveOption(index);\n return;\n }\n\n this._closeDropdown();\n \n const data: IMenuSelectEventData = { index, value };\n const isCancelled = !this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data, true, true);\n if (!isCancelled) {\n this._selectedValue = this._persistSelection ? value : undefined;\n }\n }\n\n private _getSelectedValues(): any[] {\n const values = this._flatOptions.filter(o => o.selected).map(o => o.value);\n if (this._selectedValue !== undefined) {\n values.push(this._selectedValue);\n }\n return values;\n }\n\n /** Called when a child menu option is selected. */\n protected _onCascadingOptionSelected(data: IMenuSelectEventData): void {\n if (this._persistSelection) {\n this._selectedValue = data.value;\n }\n this._adapter.emitHostEvent(MENU_CONSTANTS.events.SELECT, data);\n this._closeDropdown();\n }\n\n /** Called when a child menu is opened off of one of our menu options. */\n protected _onCascadingChildOpen(index: number): void {\n super._clearMouseLeaveTimeout();\n this._adapter.closeOtherChildMenus(index);\n this._childOpen = true;\n this._adapter.setActiveOption(index);\n }\n\n /** Called when a child menu is closed off of one of our menu options. */\n protected _onCascadingChildClose(index: number): void {\n this._childOpen = false;\n }\n\n protected _closeDropdown(): void {\n this._closeMenu();\n }\n\n protected _openDropdown({ fromKeyboard }: { fromKeyboard?: boolean } = {}): void {\n this._openMenu({ fromKeyboard });\n }\n\n protected _setCascadeTargetInactive(): void {\n this._adapter.setCascadeTargetInactive();\n }\n\n protected _isOwnElement(element: Element): boolean {\n return this._adapter.isOwnElement(element);\n }\n\n private _createCascadingElement({ index, options, parentValue }: IListDropdownCascadingElementFactoryConfig): HTMLElement {\n const menu = this._adapter.createChildMenu(\n index,\n parentValue,\n this._onCascadingChildOpen.bind(this),\n this._onCascadingChildClose.bind(this),\n this._onCascadingOptionSelected.bind(this)\n );\n menu.mode = 'cascade';\n menu.popupOffset = { x: 0, y: -8 };\n menu.dense = this._dense;\n menu.placement = 'right-start';\n menu.fallbackPlacements = ['left-start', 'right-start']; // Cascading menus should only fallback to left or right placement if needed\n menu.persistSelection = this._persistSelection;\n if (this._persistSelection) {\n menu.selectedValue = this._selectedValue;\n }\n menu.options = options;\n menu.optionBuilder = this._optionBuilder;\n menu.iconClass = this._iconClass;\n\n return menu;\n }\n\n private _mapIconToLeadingIcon(): void {\n // For backwards compatibility with old API, map the old \"icon\" property to the new \"leadingIcon\" property (if exists)\n this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n value = Boolean(value);\n if (this._open !== value) {\n this._open = value;\n if (value) {\n this._openDropdown();\n } else {\n this._closeDropdown();\n }\n }\n }\n\n public set options(options: IMenuOption[]) {\n if (typeof options === 'function') {\n this.optionsFactory = options;\n } else {\n this.optionsFactory = undefined;\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n this._options = options.map(o => ({ ...o }));\n \n if (this._open) {\n this._mapIconToLeadingIcon();\n this._adapter.setOptions(this._options as IMenuOption[]);\n if (this._persistSelection) {\n const selectedValues = this._getSelectedValues();\n if (selectedValues.length) {\n this._adapter.setSelectedValues(selectedValues);\n }\n }\n }\n }\n }\n public get options(): IMenuOption[] {\n if (!this._options) {\n return [];\n }\n\n // Intentional shallow copy of member properties. These member objects have properties that are references to functions.\n return this._flatOptions.map(o => ({ ...o }));\n }\n\n public set optionsFactory(factory: MenuOptionFactory | undefined) {\n this._optionsFactory = factory;\n }\n\n public set selectedIndex(value: number) {\n const option = this._nonDividerOptions[value];\n if (option && option.value !== this._selectedValue) {\n this.selectedValue = option.value;\n }\n }\n public get selectedIndex(): number {\n return this._selectedValue !== undefined ? this._nonDividerOptions.findIndex(o => o.value === this._selectedValue) : -1;\n }\n\n public set selectedValue(value: any) {\n if (this._selectedValue !== value) {\n this._selectedValue = value;\n this._adapter.setSelectedValues(this._selectedValue);\n }\n }\n public get selectedValue(): any {\n return this._selectedValue;\n }\n\n public get placement(): PopupPlacement {\n return this._placement;\n }\n public set placement(value: PopupPlacement) {\n if (this._placement !== value) {\n this._placement = value || 'bottom-start';\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.PLACEMENT, this._placement);\n }\n }\n\n public get fallbackPlacements(): PopupPlacement[] {\n return this._fallbackPlacements;\n }\n public set fallbackPlacements(value: PopupPlacement[]) {\n this._fallbackPlacements = Array.isArray(value) ? value : [];\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n this._dense = value;\n }\n\n public get iconClass(): string {\n return this._iconClass;\n }\n public set iconClass(value: string) {\n this._iconClass = value;\n }\n\n public get persistSelection(): boolean {\n return this._persistSelection;\n }\n public set persistSelection(value: boolean) {\n if (this._persistSelection === value) {\n return;\n }\n\n this._persistSelection = value;\n this._adapter.toggleHostAttribute(MENU_CONSTANTS.attributes.PERSIST_SELECTION, this._persistSelection);\n\n if (!this._persistSelection) {\n this._flatOptions.forEach(o => o.selected = false);\n this._selectedValue = undefined;\n }\n }\n\n public get mode(): MenuMode {\n return this._mode;\n }\n public set mode(value: MenuMode) {\n if (this._mode !== value) {\n this._mode = value;\n this._destroyInteractionListeners();\n this._applyMode();\n this._adapter.setHostAttribute(MENU_CONSTANTS.attributes.MODE, this._mode);\n }\n }\n\n public get popupOffset(): IPopupPosition {\n return this._popupOffset;\n }\n public set popupOffset(value: IPopupPosition) {\n this._popupOffset = value;\n }\n\n public get optionBuilder(): MenuOptionBuilder | undefined {\n return this._optionBuilder;\n }\n public set optionBuilder(cb: MenuOptionBuilder | undefined) {\n this._optionBuilder = cb;\n }\n\n public get popupElement(): HTMLElement | null {\n return this._adapter.getDropdownElement();\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, ensureChild, FoundationProperty, isDefined } from '@tylertech/forge-core';\nimport { tylIconArrowRight } from '@tylertech/tyler-icons/standard';\nimport { CircularProgressComponent } from '../circular-progress';\nimport { IconRegistry } from '../icon';\nimport { LinearProgressComponent } from '../linear-progress';\nimport { ListComponent } from '../list';\nimport { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';\nimport { IPopupPosition, PopupComponent, PopupPlacement } from '../popup';\nimport { MenuAdapter } from './menu-adapter';\nimport { IMenuActiveChangeEventData, IMenuOption, IMenuOptionGroup, IMenuSelectEventData, MenuMode, MenuOptionBuilder, MenuOptionFactory, MENU_CONSTANTS } from './menu-constants';\nimport { MenuFoundation } from './menu-foundation';\nconst template = '<template><slot></slot></template>';\nconst styles = ':host{display:inline-block}:host([hidden]){display:none}';\n\nexport interface IMenuComponent extends IListDropdownAware {\n open: boolean;\n options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n selectedIndex: number;\n selectedValue: number;\n placement: PopupPlacement;\n fallbackPlacements: PopupPlacement[];\n dense: boolean;\n iconClass: string;\n persistSelection: boolean;\n mode: MenuMode;\n popupOffset: IPopupPosition;\n optionBuilder: MenuOptionBuilder | undefined;\n popupElement: HTMLElement | undefined;\n propagateKeyEvent(evt: KeyboardEvent): void;\n activateFirstOption(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-menu': IMenuComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-menu-select': CustomEvent<IMenuSelectEventData>;\n 'forge-menu-open': CustomEvent<void>;\n 'forge-menu-close': CustomEvent<void>;\n 'forge-menu-active-change': CustomEvent<IMenuActiveChangeEventData>;\n }\n}\n\n/**\n * The web component class behind the `<forge-menu>` custom element.\n * \n * @tag forge-menu\n */\n@CustomElement({\n name: MENU_CONSTANTS.elementName,\n dependencies: [\n PopupComponent,\n ListComponent,\n CircularProgressComponent,\n LinearProgressComponent\n ]\n})\nexport class MenuComponent extends ListDropdownAware implements IMenuComponent {\n public static get observedAttributes(): string[] {\n return [\n MENU_CONSTANTS.attributes.OPEN,\n MENU_CONSTANTS.attributes.PLACEMENT,\n MENU_CONSTANTS.attributes.SELECTED_INDEX,\n MENU_CONSTANTS.attributes.SELECTED_VALUE,\n MENU_CONSTANTS.attributes.DENSE,\n MENU_CONSTANTS.attributes.ICON_CLASS,\n MENU_CONSTANTS.attributes.PERSIST_SELECTION,\n MENU_CONSTANTS.attributes.MODE,\n MENU_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n MENU_CONSTANTS.attributes.POPUP_CLASSES,\n MENU_CONSTANTS.attributes.OPTION_LIMIT,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL,\n MENU_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD\n ];\n }\n\n private _foundation: MenuFoundation;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowRight);\n this._foundation = new MenuFoundation(new MenuAdapter(this));\n attachShadowTemplate(this, template, styles);\n }\n\n public connectedCallback(): void {\n if (this.querySelector(MENU_CONSTANTS.selectors.TOGGLE)) {\n this._foundation.initialize();\n } else {\n ensureChild(this, MENU_CONSTANTS.selectors.TOGGLE).then(() => this._foundation.initialize());\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n switch (name) {\n case MENU_CONSTANTS.attributes.OPEN:\n this._foundation.open = isDefined(newValue);\n break;\n case MENU_CONSTANTS.attributes.PLACEMENT:\n this._foundation.placement = newValue as PopupPlacement;\n break;\n case MENU_CONSTANTS.attributes.SELECTED_INDEX:\n this._foundation.selectedIndex = Number(newValue);\n break;\n case MENU_CONSTANTS.attributes.SELECTED_VALUE:\n this._foundation.selectedValue = newValue;\n break;\n case MENU_CONSTANTS.attributes.DENSE:\n this._foundation.dense = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.ICON_CLASS:\n this._foundation.iconClass = newValue;\n break;\n case MENU_CONSTANTS.attributes.PERSIST_SELECTION:\n this.persistSelection = coerceBoolean(newValue);\n break;\n case MENU_CONSTANTS.attributes.MODE:\n this.mode = newValue as MenuMode;\n break;\n }\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n /** Gets/sets the open state. */\n @FoundationProperty()\n public declare open: boolean;\n\n /** Gets/sets the array of options to display in the menu. */\n @FoundationProperty()\n public declare options: Array<IMenuOption | IMenuOptionGroup> | MenuOptionFactory;\n\n /** Gets/sets the selected option to the index. Does not support cascading menus. */\n @FoundationProperty()\n public declare selectedIndex: number;\n\n /** Gets/sets the value of the option to select. */\n @FoundationProperty()\n public declare selectedValue: any;\n\n /** Gets/sets the menu placement (default is bottom-left). */\n @FoundationProperty()\n public declare placement: `${PopupPlacement}`;\n\n /** Gets/sets the fallback menu placement for overriding the default of any side. */\n @FoundationProperty()\n public declare fallbackPlacements: `${PopupPlacement}`[];\n\n /** Gets/sets dense state of the list options used in the menu popup. */\n @FoundationProperty()\n public declare dense: boolean;\n\n /** Gets/sets the class name to use for option icons. */\n @FoundationProperty()\n public declare iconClass: string;\n\n /**\n * Gets/sets whether selection of menu items is persisted.\n * @deprecated Please use `<forge-select-dropdown>` for handling selection states.\n */\n @FoundationProperty()\n public declare persistSelection: boolean;\n\n /** Gets/sets the mode that this menu is using. */\n @FoundationProperty()\n public declare mode: MenuMode;\n\n /** Sets the position adjustment on the internal popup element. */\n @FoundationProperty()\n public declare popupOffset: IPopupPosition;\n\n /** Sets the callback that will be executed for each option in the dropdown for producing custom option templates. */\n @FoundationProperty()\n public declare optionBuilder: MenuOptionBuilder;\n\n /** Gets the currently active popup element when the dropdown is open. */\n @FoundationProperty({ set: false })\n public declare popupElement: HTMLElement | undefined;\n\n /** Force propagates the key event from another element this component. */\n public propagateKeyEvent(evt: KeyboardEvent): void {\n this._foundation.onKeydown(evt);\n }\n\n public activateFirstOption(): void {\n this._foundation.activateFirstOption();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { MenuComponent } from './menu';\n\nexport * from './menu-adapter';\nexport * from './menu-constants';\nexport * from './menu-foundation';\nexport * from './menu';\n\nexport function defineMenuComponent(): void {\n defineCustomElement(MenuComponent);\n}\n"],
5
- "mappings": "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",
6
- "names": ["elementName", "COMPONENT_NAME_PREFIX", "classes", "selectors", "attributes", "events", "numbers", "MENU_CONSTANTS", "MenuAdapter", "BaseAdapter", "component", "_a", "_b", "MENU_CONSTANTS", "id", "event", "callback", "bubbles", "config", "ListDropdown", "options", "index", "listItem", "type", "listener", "el", "key", "evt", "openMenu", "open", "childMenu", "parentValue", "openCb", "closeCb", "selectCb", "menu", "__spreadProps", "__spreadValues", "excludeIndex", "menusToRemove", "values", "list", "popup", "LIST_CONSTANTS", "listElement", "LIST_ITEM_CONSTANTS", "MenuFoundation", "CascadingListDropdownAwareFoundation", "_adapter", "MENU_CONSTANTS", "ICON_CLASS_NAME", "randomChars", "evt", "value", "id", "o", "isListDropdownOptionType", "previousValue", "currentValue", "data", "canSetActiveDescendant", "activeIndex", "activeOption", "hoveredIndex", "hoveredOption", "fromKeyboard", "options", "selectedValues", "config", "params", "results", "isArray", "index", "values", "element", "parentValue", "menu", "__spreadValues", "factory", "option", "cb", "template", "styles", "MenuComponent", "ListDropdownAware", "IconRegistry", "tylIconArrowRight", "MenuFoundation", "MenuAdapter", "attachShadowTemplate", "MENU_CONSTANTS", "ensureChild", "name", "oldValue", "newValue", "isDefined", "coerceBoolean", "evt", "__decorateClass", "FoundationProperty", "CustomElement", "PopupComponent", "ListComponent", "CircularProgressComponent", "LinearProgressComponent", "defineMenuComponent", "defineCustomElement", "MenuComponent"]
7
- }
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{A as Ne,B as T,C as Ye,D as q,a as r,f as w,g as v,h as De,i as we,j as Ee,l as m,m as ke,n as xe,o as Ce,p as Me,q as Te,r as Oe,s as Se,t as Ae,u as G,v as Be,w as Ie,x as U,y as Le,z as Fe}from"./chunk.44WDRTRR.js";import{a as M,j as ye}from"./chunk.PADHAJLS.js";import{a as E}from"./chunk.YPZNIYQL.js";import{a as ae}from"./chunk.4DAIIJ37.js";import{c as ve}from"./chunk.CE6NTUWI.js";import{b as be}from"./chunk.RLWX5BFQ.js";import{a as se,c as le,r as de,s as ce,v as ue}from"./chunk.MZLPUI6R.js";import{d as me}from"./chunk.73GVVX4K.js";import{d as fe,l as ge}from"./chunk.IWICN773.js";import{e as b,f as he,g as _e}from"./chunk.U6WGJELL.js";import{a as pe}from"./chunk.BESB4RGK.js";import{a as ne}from"./chunk.5KC43VFL.js";import{a as c}from"./chunk.KTGSZEAG.js";import{a as oe}from"./chunk.QOA2O575.js";import{a as ie,e as re,g as D}from"./chunk.HOXFK44F.js";import{b as Q,d as L,u as F,v as ee,w as te}from"./chunk.4LA6HEA7.js";import{b as A,g as B,i as C,k as g,l as I}from"./chunk.J2M2MXP2.js";import{f as d}from"./chunk.MCIQXNKY.js";function V(o,e,t=0){let a=[],i=O(new Date(e,o,1),t),n=new Date(i);n.setDate(i.getDate()+r.numbers.MONTH_LENGTH);for(let s=i;s<n;s.setDate(s.getDate()+1))a.push(new Date(s));return a}function _t(o,e=0){let t=[],a=O(o,e),i=new Date(a);i.setDate(a.getDate()+7);for(let n=a;n<i;n.setDate(n.getDate()+1))t.push(new Date(n));return t}function O(o,e=0){let t=o.getDay(),a=new Date(o),i=t>=e?t-e:7+(t-e);return a.setDate(o.getDate()-i),a.setHours(0,0,0,0),a}function Re(o,e=0){let t=O(o,e);return t.setDate(t.getDate()+6),t}function ft(o,e){return new Date(e,o,1).getDay()}function N(o=0){let e=[],t=o;do e.push(t),t+=1,t%=7;while(t!==o);return e}function He(o){return b(new Date,o)}function p(o,e,t){return o.getMonth()===e&&o.getFullYear()===t}function Ze(o,e,t){return o>e&&o<t||b(o,e)||b(o,t)}function Y(o){return o.sort((e,t)=>e.getTime()-t.getTime())}function We(o){let e=[];for(let t=0;t<o.length;t+=7){let a=o.slice(t,t+7);e.push(a)}return e}function y(o){if(!o.length)return new E;if(o.length===1)return new E({from:new Date(o[0])});let e=R(o);return new E({from:e[0],to:e[e.length-1]})}function Pe(o){let e=[];return o.from&&e.push(new Date(o.from)),o.to&&e.push(new Date(o.to)),e}function R(o){if(!o.length)return[];if(o.length===1)return[new Date(o[0])];let e=Y(o.slice().map(t=>new Date(t)));return[new Date(e[0]),new Date(e[e.length-1])]}function H(o,e,t){return!e||!t?[]:o.filter(a=>Ze(a,e,t))}function K(o){let e=`${o.length} event${o.length===1?"":"s"}`,t=o.map(a=>a.label).join(", ");return t!=null&&t.length&&(e+=`: ${t}`),e}function Je(o){var a,i;let e=new Date;return((i=(a=o.match(/-?[0-9]*[a-zA-Z]/g))==null?void 0:a.map(n=>n.trim()))!=null?i:[]).forEach(n=>{let s=n.slice(-1),u=+n.slice(0,-1);switch(s){case"y":e.setFullYear(e.getFullYear()+u);break;case"m":e.setMonth(e.getMonth()+u);break;case"w":e.setDate(e.getDate()+u*7);break;case"d":e.setDate(e.getDate()+u);break}}),e.setHours(0,0,0,0),e}function ze(o){let e=o.split(":");if((e==null?void 0:e.length)<2)return{min:1970,max:1970};let t=new Date().getFullYear(),a=e.slice(0,2).map(i=>i.startsWith("-")?t-+i.substring(1):i.startsWith("+")?t+ +i.substring(1):+i);return{min:a[0],max:a[1]}}function Ge(o){var n,s,u,_,f,j,Z,J;let e=(s=(n=o.min)==null?void 0:n.getFullYear())!=null?s:0,t=(_=(u=o.max)==null?void 0:u.getFullYear())!=null?_:0,a=(j=(f=o.min)==null?void 0:f.getMonth())!=null?j:-1,i=(J=(Z=o.max)==null?void 0:Z.getMonth())!=null?J:12;return[...Array(12).keys()].map(x=>{let $e=o.min?o.selectedYear<e||o.selectedYear===e&&x<a:!1,Xe=o.max?o.selectedYear>t||o.selectedYear===t&&x>i:!1;return{value:x,label:w(x,"long",o.locale),selected:x===o.selectedMonth,disabled:$e||Xe}})}function Ue(o){let e=[],t=o.yearInView%r.numbers.YEARS_IN_VIEW,a=o.yearInView-t;for(let i=a;i<a+r.numbers.YEARS_IN_VIEW;i++)e.push({value:i,label:v(i,"numeric",o.locale),selected:i===o.selectedYear,disabled:i<o.min||i>o.max});return e}function qe(o){let e=[];for(let t=o.min;t<=o.max;t++)e.push({value:t,label:v(t,"numeric",o.locale),selected:t===o.selectedYear});return e}function k(o,e){return e.some(t=>b(t,o))}function h(o,e){return!!(e.minDate&&o<e.minDate||e.maxDate&&o>e.maxDate||e.otherMonth||e.disabledDates.some(t=>b(t,o))||e.disabledDaysOfWeek.includes(o.getDay())||e.builder&&e.builder(o))}function S(o,e){return e.findIndex(t=>b(t,o))}function W(o,e,t){let a=e.filter(i=>b(i.date,o));if(t){let i=t(o);i&&(C(i)?a.push(...i):a.push(i))}return a}function Ve(o,e){if(!o.length)return[];let t=new Date(o[0]),a=o[o.length-1],i=[];for(;t<=a;)(!e||!h(t,e))&&i.push(new Date(t)),t.setDate(t.getDate()+1);return i}function $(o){let e=null;return typeof o=="string"&&!o.length&&(o=null),o!=null&&(B(new Date(o))?e=new Date(o):o.length&&(e=Je(o)),e==null||e.setHours(0,0,0,0)),e}function X(o,e,t){return t||!ae(o).length||!!(e==="date"&&T(o))||!!(e!=="date"&&Ye(o,r.ids.MENU))}var P=class extends ne{constructor(t){super(t);this._container=D(t,r.selectors.CALENDAR),this._dateView=D(t,r.selectors.DATE_VIEW),this._dayRow=D(t,r.selectors.DAY_ROW),this._dateGrid=D(t,r.selectors.DATE_GRID),this._menu=D(t,r.selectors.MENU)}toggleContainerAttribute(t,a,i){F(this._container,t,a,i)}registerMonthButtonListener(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a==null||a.addEventListener("click",t)}unregisterMonthButtonListener(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a==null||a.removeEventListener("click",t)}registerYearButtonListener(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a==null||a.addEventListener("click",t)}unregisterYearButtonListener(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a==null||a.removeEventListener("click",t)}registerMenuListener(t){this._menu.addEventListener(M.events.SELECT,t)}unregisterMenuListener(t){this._menu.removeEventListener(M.events.SELECT,t)}registerMenuFocusChangeEventListener(t){this._menu.addEventListener(M.events.FOCUS_CHANGE,t)}unregisterMenuFocusChangeEventListener(t){this._menu.addEventListener(M.events.FOCUS_CHANGE,t)}registerNextButtonListener(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.addEventListener("click",t)}unregisterNextButtonListener(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.removeEventListener("click",t)}registerPreviousButtonListener(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.addEventListener("click",t)}unregisterPreviousButtonListener(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.removeEventListener("click",t)}registerClearButtonListener(t){let a=this._container.querySelector(r.selectors.CLEAR_BUTTON);a==null||a.addEventListener("click",t)}unregisterClearButtonListener(t){let a=this._container.querySelector(r.selectors.CLEAR_BUTTON);a==null||a.removeEventListener("click",t)}registerTodayButtonListener(t){let a=this._container.querySelector(r.selectors.TODAY_BUTTON);a==null||a.addEventListener("click",t)}unregisterTodayButtonListener(t){let a=this._container.querySelector(r.selectors.TODAY_BUTTON);a==null||a.removeEventListener("click",t)}registerDateClickListener(t){this._dateGrid.addEventListener("click",t)}unregisterDateClickListener(t){this._dateGrid.removeEventListener("click",t)}registerKeydownListener(t){this._container.addEventListener("keydown",t)}registerHoverListener(t){this._dateGrid.addEventListener("mouseover",t)}unregisterHoverListener(t){this._dateGrid.removeEventListener("mouseover",t)}registerPreventFocusListener(t){this._container.addEventListener("mousedown",t)}unregisterPreventFocusListener(t){this._container.removeEventListener("mousedown",t)}setContainerClass(t,a){this._container.classList.toggle(t,a)}setHeader(){let t=this._container.querySelector(r.selectors.ACCESSIBLE_HEADER);t==null||t.remove();let a=this._container.querySelector(r.selectors.HEADER);a?a.replaceWith(G()):this._container.prepend(G())}removeHeader(){let t=this._container.querySelector(r.selectors.HEADER);t==null||t.remove();let a=this._container.querySelector(r.selectors.ACCESSIBLE_HEADER);a?a.replaceWith(U()):this._container.prepend(U())}setNextButtonDisabled(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.toggleAttribute("disabled",t)}setPreviousButtonDisabled(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.toggleAttribute("disabled",t)}setNextButtonLabel(t){let a=this._container.querySelector(r.selectors.NEXT_BUTTON);a==null||a.setAttribute("aria-label",t);let i=this._container.querySelector(r.selectors.NEXT_BUTTON_TOOLTIP);i&&(i.innerHTML=t)}setPreviousButtonLabel(t){let a=this._container.querySelector(r.selectors.PREVIOUS_BUTTON);a==null||a.setAttribute("aria-label",t);let i=this._container.querySelector(r.selectors.PREVIOUS_BUTTON_TOOLTIP);i&&(i.innerHTML=t)}setMonthButtonPressed(t){let a=this._container.querySelector(r.selectors.MONTH_BUTTON);a&&(a.setAttribute("aria-pressed",t.toString()),this._container.classList.toggle(r.classes.MONTH_MENU_OPEN,t))}setYearButtonPressed(t){let a=this._container.querySelector(r.selectors.YEAR_BUTTON);a&&(a.setAttribute("aria-pressed",t.toString()),this._container.classList.toggle(r.classes.YEAR_MENU_OPEN,t))}setMonth(t,a){let i=this._container.querySelector(r.selectors.MONTH_BUTTON);if(i){let s=Be(t,a);i.replaceChildren(s[0],s[1]);return}let n=this._container.querySelector(r.selectors.ACCESSIBLE_MONTH);n&&(n.textContent=w(t,"long",a))}setYear(t,a){let i=this._container.querySelector(r.selectors.YEAR_BUTTON);if(i){let s=Ie(t,a);i.replaceChildren(s[0],s[1]);return}let n=this._container.querySelector(r.selectors.ACCESSIBLE_YEAR);n&&(n.textContent=v(t,"numeric",a))}setFooter(){this._container.querySelector(r.selectors.FOOTER)||this._container.appendChild(Le())}removeFooter(){var a;let t=this._container.querySelector(r.selectors.FOOTER);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setClearButton(){let t=this._container.querySelector(r.selectors.FOOTER);if(!t)return;t.querySelector(r.selectors.CLEAR_BUTTON)||t.prepend(Fe())}removeClearButton(){var a;let t=this._container.querySelector(r.selectors.CLEAR_BUTTON);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setTodayButton(){let t=this._container.querySelector(r.selectors.FOOTER);if(!t)return;t.querySelector(r.selectors.TODAY_BUTTON)||t.appendChild(Ne())}removeTodayButton(){var a;let t=this._container.querySelector(r.selectors.TODAY_BUTTON);(a=t==null?void 0:t.parentNode)==null||a.removeChild(t)}setDays(t,a){L(this._dayRow),t.forEach(i=>{let n=xe(i,a==null?void 0:a.locale);a!=null&&a.builder&&(n=a.builder(i,n)),this._dayRow.appendChild(n)})}setDates(t,a){L(this._dateGrid),We(t).forEach((i,n)=>{let s=Ce(i,n,a);this._dateGrid.appendChild(s)})}replaceDate(t,a){let i=this._dateGrid.querySelector(`#${m(t.date)}`);if(i){let n=Me(t,a==null?void 0:a.locale);a!=null&&a.builder?i.replaceWith(a.builder(t,n)):i.replaceWith(n)}}replaceDateWithSpacer(t){let a=this._dateGrid.querySelector(`#${m(t)}`);a==null||a.replaceWith(Te(t))}setDateDisabled(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`);i&&(i.toggleAttribute("disabled",a),i.setAttribute("aria-disabled",a.toString()))}setDateSelected(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`);i&&(i.classList.toggle(r.classes.DATE_SELECTED,a),i.setAttribute("aria-selected",a.toString()))}setWeekend(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`),n=i==null?void 0:i.querySelector(r.selectors.DATE_INNER);!n||ee(n,"part",r.parts.WEEKEND,a)}appendDateAttribute(t,a,i){let n=this._dateGrid.querySelector(`#${m(t)}`);n&&te(n,a,i)}setMultiple(t){this._dateView.setAttribute("aria-multiselectable",t.toString())}setDateViewHidden(t){F(this._dateView,t,"aria-hidden",t.toString()),this.setAllDatesUnfocusable()}setRange(t){this._dateGrid.querySelectorAll(r.selectors.RANGE).forEach(i=>i.classList.remove(r.classes.RANGE)),t&&t.forEach(i=>{let n=this._dateGrid.querySelector(`#${m(i)}`);n==null||n.classList.add(r.classes.RANGE)})}setRangeStart(t){let a=this._dateGrid.querySelector(r.selectors.RANGE_START);if(a==null||a.classList.remove(r.classes.RANGE_START),!t)return;let i=this._dateGrid.querySelector(`#${m(t)}`);i==null||i.classList.add(r.classes.RANGE_START)}setRangeEnd(t){let a=this._dateGrid.querySelector(r.selectors.RANGE_END);if(a==null||a.classList.remove(r.classes.RANGE_END),!t)return;let i=this._dateGrid.querySelector(`#${m(t)}`);i==null||i.classList.add(r.classes.RANGE_END)}setActiveDate(t,a,i){let n=t.toDateString();this._dateGrid.querySelectorAll(r.selectors.DATE).forEach(u=>{let _=u.getAttribute(r.attributes.DATA_DATE)===n;q(u,_?0:-1,a,i)})}setAllDatesUnfocusable(){this._dateGrid.querySelectorAll(r.selectors.DATE).forEach(a=>q(a,-1,!1,!0))}setDateDescription(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`);!i||F(i,!!a,a)}setDateTooltip(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`);if(!i)return;let n=i.querySelector(r.selectors.TOOLTIP);n?a!=null&&a.length?n.textContent=a:n.remove():a!=null&&a.length&&i.prepend(Ae(a))}setEventWrapperOnDate(t,a){let i=this._dateGrid.querySelector(`#${m(t)}`);if(!i)return;let n=i.querySelector(r.selectors.EVENT_WRAPPER);n?a?L(n):n.remove():a&&i.appendChild(Oe(t))}setEvent(t,a){let i=this._dateGrid.querySelector(`#${ke(t.date)}`);i==null||i.appendChild(Se(t,a))}openMenuAsGrid(t,a){this._menu.openAsGrid(t,a)}openMenuAsList(t,a){this._menu.openAsList(t,a)}closeMenu(){this._menu.close()}setMenuAnimation(t){this._menu.animationType=t}animateIntoSelectionMenu(t,a,i){this._menu.animateIn(t,a,i)}moveMenuFocusDown(){this._menu.moveFocusDown()}moveMenuFocusBackward(){return this._menu.moveFocusBackward()}moveMenuFocusForward(){return this._menu.moveFocusForward()}moveMenuFocusUp(){this._menu.moveFocusUp()}selectFocusedMenuItem(){this._menu.selectFocusedItem()}setPreventFocusOnMenu(t){this._menu.preventFocus=t}};var z=class{constructor(e){this._adapter=e;this._dates=[];this._month=new Date().getMonth();this._year=new Date().getFullYear();this._showToday=!0;this._showOtherMonths=!1;this._fixedHeight=!1;this._events=[];this._value=[];this._mode="single";this._readonly=!1;this._selectionFollowsMonth=!1;this._rangeSelectionState="none";this._allowSingleDateRange=!0;this._min=null;this._max=null;this._minAttribute=null;this._maxAttribute=null;this._disabledDates=[];this._disabledDaysOfWeek=[];this._constrainToEnabled=!0;this._showHeader=!0;this._clearButton=!1;this._todayButton=!1;this._view="date";this._menuAnimation="scale";this._menuYear=null;this._listYears=!0;this._menuIncludedYear=new Date().getFullYear();this._menuYearsInView=null;this._yearRange=`-${r.numbers.DEFAULT_MIN_YEAR_OFFSET}:+${r.numbers.DEFAULT_MAX_YEAR_OFFSET}`;this._weekendDays=null;this._localeFirstDayOfWeek=0;this._localeWeekendDays=[];this._rtl=!1;this._preventFocus=!1;this._isInitialized=!1;this._clearButtonListener=()=>this._onClearClicked(),this._dateClickListener=t=>this._onDateClick(t),this._keydownListener=t=>this._onKeydown(t),this._hoverListener=t=>this._onHover(t),this._menuFocusChangeListener=t=>this._onMenuFocusChange(t),this._menuListener=t=>this._onMenuSelect(t),this._monthButtonListener=()=>this._onMonthButtonClicked(),this._nextButtonListener=()=>this._onNextButtonClicked(),this._preventFocusListener=t=>t.preventDefault(),this._previousButtonListener=()=>this._onPreviousButtonClicked(),this._todayButtonListener=()=>this._onTodayClicked(),this._yearButtonListener=()=>this._onYearButtonClicked()}initialize(){this._adapter.registerMenuListener(this._menuListener),this._adapter.registerMenuFocusChangeEventListener(this._menuFocusChangeListener),this._adapter.registerKeydownListener(this._keydownListener),this._applyMin(),this._applyMax(),this._applyFixedHeight(),this._applyReadOnly(),this._applyShowToday(),this._applyPreventFocus(),this._applyShowHeader(),this._applyMonth(),this._applyYear(),this._applyListYears(),this._applyMenuAnimation(),this._applyLocale(),this._applyClearButton(),this._applyTodayButton(),this._applyFirstDayOfWeek(),this._applyShowOtherMonths(),this._createDateView(),this._applyConstrainToEnabled(),this._applyAllowSingleDateRange(),this._applyMode(),this._applyYearRange(),this._applySelectionFollowsMonth(),this._isInitialized=!0}disconnect(){this._isInitialized=!1}_onMonthButtonClicked(){this._toggleMonthMenu()}_toggleMonthMenu(e=!1){this._view!=="month"?this._openMonthMenu(e):this._closeMenu(!1,e)}_onYearButtonClicked(){this._toggleYearMenu()}_toggleYearMenu(e=!1){this._view!=="year"?this._openYearMenu(e):this._closeMenu(!1,e)}_onMenuFocusChange(e){this._emitFocusChangeEvent(e.detail)}_onMenuSelect(e){switch(this._view){case"month":this._onMonthSelected(e.detail);break;case"year":this._onYearSelected(e.detail);break}}_onNextButtonClicked(){this._view==="date"?(this._goToNextMonth(),this._setFocusInMonth(1,!1)):this._view==="month"?this._goToNextYear():this._goToNextSetOfYears()}_onPreviousButtonClicked(){this._view==="date"?(this._goToPreviousMonth(),this._setFocusInMonth(2,!1)):this._view==="month"?this._goToPreviousYear():this._goToPreviousSetOfYears()}_onHover(e){if(this._mode==="range"){let t=T(e,!1);if(!t)return;let a=new Date(Date.parse(t.getAttribute(r.attributes.DATA_DATE)));p(a,this._month,this._year)&&this._setRangePreview(a)}}_onDateClick(e){let t=T(e,!1);if(!t)return;let a=t.getAttribute(r.attributes.DATA_DATE);if(!a)return;let i=new Date(a);p(i,this._month,this._year)&&(this._focusedDate=i,this._beforeDateSelected(i)),this._resumeTabindexOnDate(!1)}_onKeydown(e){switch(e.key){case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"ArrowDown":this._handleArrowKey(e);break;case"Home":case"End":case"PageUp":case"PageDown":this._handleNavigationKey(e);break;case" ":case"Enter":this._handleEnterOrSpaceKey(e);break;case"m":case"M":e.preventDefault(),this._toggleMonthMenu(!0);break;case"y":case"Y":e.preventDefault(),this._toggleYearMenu(!0);break;case"t":case"T":case"n":case"N":e.preventDefault(),this.today();break;case"Delete":case"Backspace":e.preventDefault(),this._deselectAllDates();break;case"Escape":this._view!=="date"&&(e.preventDefault(),e.stopPropagation(),this._closeMenu(!1,!0));break}}_handleArrowKey(e){if(!X(e,this._view,this._preventFocus))return;e.preventDefault();let t;switch(e.key){case"ArrowLeft":t=this._rtl?"next":"previous";break;case"ArrowRight":t=this._rtl?"previous":"next";break;case"ArrowUp":t="up";break;case"ArrowDown":t="down";break}switch(t){case"previous":this._view==="date"?this._moveFocusToPreviousDate(!0):!this._adapter.moveMenuFocusBackward()&&this._canGoBackward()&&(this._view==="month"?this._goToPreviousYear(!0):this._goToPreviousSetOfYears(!0));break;case"next":this._view==="date"?this._moveFocusToNextDate(!0):!this._adapter.moveMenuFocusForward()&&this._canGoForward()&&(this._view==="month"?this._goToNextYear(!0):this._goToNextSetOfYears(!0));break;case"up":this._view==="date"?this._moveFocusToPreviousWeek(!0):this._adapter.moveMenuFocusUp();break;case"down":this._view==="date"?this._moveFocusToNextWeek(!0):this._adapter.moveMenuFocusDown();break}this._mode==="range"&&this._setRangePreview(this._focusedDate)}_handleNavigationKey(e){switch(e.preventDefault(),e.key){case"Home":if(this._view!=="date")break;e.shiftKey?this._moveFocusToFirstOfMonth(!0):this._moveFocusToFirstOfWeek(!0);break;case"End":if(this._view!=="date")break;e.shiftKey?this._moveFocusToLastOfMonth(!0):this._moveFocusToLastOfWeek(!0);break;case"PageUp":this._view==="date"?e.shiftKey?this._moveFocusToPreviousYear(!0):this._moveFocusToPreviousMonth(!0):this._view==="month"&&!e.shiftKey&&this._canGoBackward()?this._goToPreviousYear(!0):this._view==="year"&&!e.shiftKey&&this._canGoBackward()&&this._goToPreviousSetOfYears(!0);break;case"PageDown":this._view==="date"?e.shiftKey?this._moveFocusToNextYear(!0):this._moveFocusToNextMonth(!0):this._view==="month"&&!e.shiftKey&&this._canGoForward()?this._goToNextYear(!0):this._view==="year"&&!e.shiftKey&&this._canGoForward()&&this._goToNextSetOfYears(!0);break}}_handleEnterOrSpaceKey(e){if(!!X(e,this._view,this._preventFocus))switch(e.preventDefault(),this._view){case"date":if(this._readonly)break;this._setSelectOnFocusedDate();break;case"month":case"year":this._adapter.selectFocusedMenuItem();break}}_onMonthSelected(e){this._year!==this._menuYear&&this._menuYear!=null&&(this._year=this._menuYear,this._setYear()),this._month=e,this._setMonth(!0),this._trySetValueMonthAndYear(this._month,this._year,"month"),this._closeMenu(!0)}_onYearSelected(e){this._year=e,this._setYear(!0),this._trySetValueMonthAndYear(this._month,this._year,"year"),this._closeMenu(!0)}_onClearClicked(){this.clear()}_onTodayClicked(){this.today()}_trySetValueMonthAndYear(e,t,a="date"){var s;if(!this.selectionFollowsMonth||this._mode!=="single"||!((s=this._value)!=null&&s.length))return;let i=new Date(this._value[0]),n=_e(e,t);i.setDate(Math.min(i.getDate(),n)),i.setFullYear(t),i.setMonth(e),!h(i,this._getDisabledDateParams())&&this._beforeDateSelected(i,a)}_setInitialDateFocus(e=!1){let t=new Date;if(p(t,this._month,this._year)&&!h(t,this._getDisabledDateParams(!1))){this._setFocusedDate(t,e);return}let a=new Date(this._year,this._month,1);this._setFocusedDate(this._getNextEnabledDate(a,1,!1,!0,!0),e)}_resumeTabindexOnDate(e){return p(this._focusedDate,this._month,this._year)?(this._adapter.setActiveDate(this._focusedDate,e,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate),!0):!1}_moveFocusToNextDate(e){this._setFocusedDate(this._getNextEnabledDate(this._focusedDate),e)}_moveFocusToPreviousDate(e){this._setFocusedDate(this._getPreviousEnabledDate(this._focusedDate),e)}_moveFocusToNextWeek(e){this._setFocusedDate(this._getNextEnabledDate(this._focusedDate,7,!0),e)}_moveFocusToPreviousWeek(e){this._setFocusedDate(this._getPreviousEnabledDate(this._focusedDate,7,!0),e)}_moveFocusToFirstOfWeek(e){this._setFocusedDate(this._getFirstEnabledDayOfWeek(this._focusedDate,!0),e)}_moveFocusToLastOfWeek(e){this._setFocusedDate(this._getLastEnabledDayOfWeek(this._focusedDate,!0),e)}_moveFocusToFirstOfMonth(e){let t=new Date(this._year,this._month,1);this._setFocusedDate(this._getNextEnabledDate(t,1,!1,!0),e)}_moveFocusToLastOfMonth(e){let t=new Date(this._year,this._month+1,0);this._setFocusedDate(this._getPreviousEnabledDate(t,1,!1,!0),e)}_moveFocusToNextMonth(e){let t=S(this._focusedDate,this._dates),a=(this._month+1)%12,i=a===0?this._year+1:this._year;this._setFocusedDate(this._getDateAtIndexInMonth(t,a,i),e)}_moveFocusToPreviousMonth(e){let t=S(this._focusedDate,this._dates),a=this._month===0?11:this._month-1,i=a===11?this._year-1:this._year;this._setFocusedDate(this._getDateAtIndexInMonth(t,a,i),e)}_moveFocusToNextYear(e){let t=S(this._focusedDate,this._dates);this._setFocusedDate(this._getDateAtIndexInMonth(t,this._month,this._year+1),e)}_moveFocusToPreviousYear(e){let t=S(this._focusedDate,this._dates);this._setFocusedDate(this._getDateAtIndexInMonth(t,this._month,this._year-1),e)}_setFocusInMonth(e,t){switch(e){case 1:this._moveFocusToFirstOfMonth(t);break;case 2:this._moveFocusToLastOfMonth(t);break;default:this._resumeTabindexOnDate(t);break}}_setSelectOnFocusedDate(){p(this._focusedDate,this._month,this._year)&&!h(this._focusedDate,this._getDisabledDateParams(!1))&&this._beforeDateSelected(this._focusedDate)}_emitFocusChangeEvent(e){let t={type:this._view,value:e};switch(this._view){case"date":t.selected=k(e,this._value),t.text=e.toLocaleDateString(this.locale,{month:"long",day:"2-digit",year:"numeric"});break;case"month":t.selected=this._month===e,t.text=w(e,"long");break;case"year":t.selected=this._year===e,t.text=v(e,"numeric");break}this._adapter.emitHostEvent(r.events.FOCUS_CHANGE,t)}_getPreviousEnabledDate(e,t=1,a=!1,i=!1,n=!1){let s=this._getDisabledDateParams(),u=new Date(e);if(i&&!h(u,s))return u;let _=e.getMonth(),f=!1;do u.setDate(u.getDate()-t),a&&(t=1),(n&&u.getMonth()!==_||this._min&&u<this._min)&&(f=!0);while(!f&&h(u,s));return f?null:u}_getNextEnabledDate(e,t=1,a=!1,i=!1,n=!1){let s=this._getDisabledDateParams(),u=new Date(e);if(i&&!h(u,s))return u;let _=e.getMonth(),f=!1;do u.setDate(u.getDate()+t),a&&(t=1),(n&&u.getMonth()!==_||this._max&&u>this._max)&&(f=!0);while(!f&&h(u,s));return f?null:u}_getClosestEnabledDate(e,t=!1,a=!1){if(this._min&&e<this._min)return this._getFirstEnabledDate();if(this._max&&e>this._max)return this._getLastEnabledDate();let i=this._getDisabledDateParams();if(a&&!h(e,i))return new Date(e);let n=e.getDate(),s,u=!1,_=!1,f=1;for(;!u||!_;){if(!u){if(s=new Date(e),s.setDate(n+f),u=!p(s,e.getMonth(),e.getFullYear()),!u&&!h(s,i))return s;this._max&&s>this._max&&(u=!0)}if(!_){if(s=new Date(e),s.setDate(n-f),_=!p(s,e.getMonth(),e.getFullYear()),!_&&!h(s,i))return s;this._min&&s<this._min&&(_=!0)}f+=1}return null}_getFirstEnabledDayOfWeek(e,t=!0){let a=O(e),i=this._getDisabledDateParams(t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0),n=0;for(;n<7&&h(a,i);)a.setDate(a.getDate()+1),i.otherMonth=t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0,n+=1;return n<7?a:null}_getLastEnabledDayOfWeek(e,t=!0){let a=Re(e),i=this._getDisabledDateParams(t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0),n=0;for(;n<7&&h(a,i);)a.setDate(a.getDate()-1),i.otherMonth=t?a.getMonth()!==e.getMonth()||a.getFullYear()!==e.getFullYear():void 0,n+=1;return n<7?a:null}_getDateAtIndexInMonth(e,t,a){var n;let i=V(t,a,(n=this._firstDayOfWeek)!=null?n:this._localeFirstDayOfWeek);return this._min&&i[e]<this._min?this._getFirstEnabledDate():this._max&&i[e]>this._max?this._getLastEnabledDate():p(i[e],t,a)?this._getClosestEnabledDate(i[e],!0):e<20?this._getNextEnabledDate(i[e],7,!0):this._getPreviousEnabledDate(i[e],7,!0)}_getFirstEnabledDate(){return this._min?this._getNextEnabledDate(this._min,1,!1,!0):null}_getLastEnabledDate(){return this._max?this._getPreviousEnabledDate(this._max,1,!1,!0):null}_setFocusedDate(e,t){if(!e)return;let a=this._month!==e.getMonth(),i=this._year!==e.getFullYear();(a||i)&&(a&&(this._month=e.getMonth(),this._setMonth()),i&&(this._year=e.getFullYear(),this._setYear()),this._resetDateGrid()),this._focusedDate=e,this._adapter.setActiveDate(this._focusedDate,t,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate)}_getDisabledDateParams(e){return{builder:this._disabledDateBuilder,disabledDates:this._disabledDates,disabledDaysOfWeek:this._disabledDaysOfWeek,maxDate:this._max,minDate:this._min,otherMonth:e}}_createDateView(){this._resetDateGrid(),(!this._focusedDate||!this._resumeTabindexOnDate(!1))&&this._setInitialDateFocus()}_openMonthMenu(e=!1){this._view="month",this._menuYear==null&&(this._menuYear=this._year),this._showHeader&&(this._setNavButtonLabels(),this._adapter.setMonthButtonPressed(!0),this._adapter.setYearButtonPressed(!1)),this._adapter.openMenuAsGrid(this._getMonthsForMenu(),e),this._adapter.setDateViewHidden(!0),this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_openYearMenu(e=!1){var t;this._view="year",this._menuIncludedYear=(t=this._menuYear)!=null?t:this._year,this._showHeader&&(this._setNavButtonLabels(),this._adapter.setMonthButtonPressed(!1),this._adapter.setYearButtonPressed(!0)),this._listYears?this._adapter.openMenuAsList(this._getYearsForMenu(),e):this._adapter.openMenuAsGrid(this._getYearsForMenu(),e),this._adapter.setDateViewHidden(!0),this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_getMonthsForMenu(){var t;let e={locale:this._locale,max:this._max,min:this._min,selectedMonth:this._year===this._menuYear?this._month:-1,selectedYear:(t=this._menuYear)!=null?t:this._year};return Ge(e)}_getYearsForMenu(){let e=this._min?this._min.getFullYear():this._minYear,t=this._max?this._max.getFullYear():this._maxYear,a={locale:this._locale,max:t,min:e,selectedYear:this._year,yearInView:this._menuIncludedYear},i=this._listYears?qe(a):Ue(a);return this._menuYearsInView={min:i[0].value,max:i[i.length-1].value},i}_closeMenu(e,t=!1){this._view="date",this._menuYear=null,this._adapter.closeMenu(),this._adapter.setDateViewHidden(!1),this._adapter.setYear(this._year,this._locale),e&&this._resetDateGrid(),this._showHeader&&(this._setNavButtonLabels(),this._setNavigationButtonStates(),this._adapter.setMonthButtonPressed(!1),this._adapter.setYearButtonPressed(!1)),this._resumeTabindexOnDate(t)||this._setInitialDateFocus(t),this._adapter.emitHostEvent(r.events.VIEW_CHANGE,this._view)}_setNavButtonLabels(){switch(this._view){case"date":this._adapter.setPreviousButtonLabel("Previous month"),this._adapter.setNextButtonLabel("Next month");break;case"month":this._adapter.setPreviousButtonLabel("Previous year"),this._adapter.setNextButtonLabel("Next year");break;case"year":this._adapter.setPreviousButtonLabel("Previous years"),this._adapter.setNextButtonLabel("Next years");break}}_resetDateGrid(){var t;this._dates=V(this._month,this._year,(t=this._firstDayOfWeek)!=null?t:this._localeFirstDayOfWeek);let e=this._dates.map(a=>this._getDateConfig(a));this._adapter.setDates(e,{builder:this._dateBuilder,locale:this._locale,showOtherMonths:this._showOtherMonths}),this._setNavigationButtonStates(),this._applyWeekendDays(),this._applyEvents(),this._mode==="range"&&(this._adapter.setRangeStart(this._value[0]),this._setRangePreview())}_getDateConfig(e){let t=p(e,this._month,this._year);return{date:new Date(e),selected:k(e,this._value),today:He(e),thisMonth:t,disabled:h(e,this._getDisabledDateParams(!t))}}_getCalendarDate(e){return{date:new Date(e),selected:k(e,this._value),events:W(e,this._events,this._eventBuilder)}}_setEventsOnDate(e){var i;if(!this._showOtherMonths&&!p(e,this._month,this._year)){this._adapter.setEventWrapperOnDate(e,!1);return}let t=W(e,this._events,this._eventBuilder);this._adapter.setEventWrapperOnDate(e,!!t.length),t.forEach((n,s)=>{s>2||this._adapter.setEvent(n,s===2&&t.length>3)});let a=t.length?K(t):"";this._tooltipBuilder&&(a=(i=this._tooltipBuilder(this._getCalendarDate(e),a))!=null?i:""),this._adapter.setDateTooltip(e,a)}_beforeDateSelected(e,t="date"){this._dateSelectCallback?Promise.resolve(this._dateSelectCallback(this._getCalendarDate(e))).then(a=>{a&&this._onDateSelected(e,void 0,t)}):this._onDateSelected(e,void 0,t)}_onDateSelected(e,t,a="date"){if(this._mode==="range"&&this._emitRangeSelectionEvent(e)){this._applyRangeSelection(e),this._rangeSelectionStore=void 0;return}let i=k(e,this._value),n={date:new Date(e),selected:i,type:a};!this._adapter.emitHostEvent(r.events.DATE_SELECT,n,!0,!0)||(this._rangeSelectionStore=void 0,this._mode==="single"?i&&!t||t===!1?this._deselectDate(e):(t===void 0||t===!0)&&(this._value.length&&this._deselectDate(this._value[0]),this._selectDate(e)):i&&!t||t===!1?this._deselectDate(e):(t===void 0||t===!0)&&this._selectDate(e),Y(this._value))}_emitRangeSelectionEvent(e){let t={date:new Date(e),selected:k(e,this._value),type:"date"};switch(this._rangeSelectionState){case"none":case"to":t.range=y([e]),t.rangeSelectionState="from";break;case"from":b(e,this._value[0])?this._allowSingleDateRange?(t.range=y([this._value[0],e]),t.rangeSelectionState="to"):(t.range=y([]),t.rangeSelectionState="none"):e<this._value[0]?(t.range=y([e]),t.rangeSelectionState="from"):(t.range=y([this._value[0],e]),t.rangeSelectionState="to");break}return this._adapter.emitHostEvent(r.events.DATE_SELECT,t,!0,!0)}_applyRangeSelection(e){switch(this._rangeSelectionState){case"none":case"to":this._deselectAllDates(),this._selectDate(e),this._adapter.setRange(null),this._adapter.setRangeStart(e),this._rangeSelectionState="from";break;case"from":b(e,this._value[0])?this._allowSingleDateRange?(this._value.push(e),this._rangeSelectionState="to"):(this._deselectDate(e),this._rangeSelectionState="none"):e<this._value[0]?(this._deselectDate(this._value[0]),this._selectDate(e),this._adapter.setRangeStart(e)):(this._selectDate(e),this._setRangePreview(e),this._rangeSelectionState="to");break}}_setRangePreview(e){switch(this._rangeSelectionState){case"from":if(!e)return;e<this._value[0]?this._adapter.setRange(null):(this._adapter.setRange(H(this._dates,this._value[0],e)),this._adapter.setRangeEnd(e));break;case"to":this._adapter.setRange(H(this._dates,this._value[0],this._value[1])),this._adapter.setRangeEnd(this._value[1]);break}}_clearRangePreview(){this._adapter.setRange(null),this._adapter.setRangeStart(null),this._adapter.setRangeEnd(null)}_selectDate(e){this._value.push(e),this._focusedDate=e,this._adapter.setDateSelected(e,!0)}_deselectDate(e){let t=this._value.findIndex(a=>b(a,e));t>-1&&this._value.splice(t,1),this._adapter.setDateSelected(e,!1)}_deselectAllDates(){this._value.forEach(e=>this._adapter.setDateSelected(e,!1)),this._clearRangePreview(),this._value=[]}_goToDate(e,t){let a=e.getFullYear(),i=e.getMonth();this._focusedDate=e,this._year!==a||this._month!==i?(this._month=i,this._setMonth(),this._year=a,this._setYear(),this._view!=="date"?this._closeMenu(!1,t):this._resetDateGrid()):this._view!=="date"&&this._closeMenu(!1,t),this._adapter.setActiveDate(e,t,this._preventFocus),this._emitFocusChangeEvent(this._focusedDate)}_goToNextMonth(){this._month<11?this._month+=1:(this._month=0,this._year+=1,this._setYear()),this._setMonth(),this._resetDateGrid()}_goToPreviousMonth(){this._month>0?this._month-=1:(this._month=11,this._year-=1,this._setYear()),this._setMonth(),this._resetDateGrid()}_goToNextYear(e=!1){this._view==="month"?(this._menuYear&&(this._menuYear+=1,this._setMenuYear()),this._adapter.animateIntoSelectionMenu(this._getMonthsForMenu(),this._rtl?"left":"right",e)):(this._year+=1,this._setYear(),this._resetDateGrid())}_goToPreviousYear(e=!1){this._view==="month"?(this._menuYear&&(this._menuYear-=1,this._setMenuYear()),this._adapter.animateIntoSelectionMenu(this._getMonthsForMenu(),this._rtl?"right":"left",e)):(this._year-=1,this._setYear(),this._resetDateGrid())}_goToNextSetOfYears(e=!1){this._menuIncludedYear+=r.numbers.YEARS_IN_VIEW,this._adapter.animateIntoSelectionMenu(this._getYearsForMenu(),this._rtl?"left":"right",e),this._setNavigationButtonStates()}_goToPreviousSetOfYears(e=!1){this._menuIncludedYear-=r.numbers.YEARS_IN_VIEW,this._adapter.animateIntoSelectionMenu(this._getYearsForMenu(),this._rtl?"right":"left",e),this._setNavigationButtonStates()}_canGoBackward(e){var t;if(!e&&!this._constrainToEnabled)return!0;switch(this._view){case"date":return!this._min||this._min<new Date(this._year,this._month,1);case"month":let a=(t=this._min)==null?void 0:t.getFullYear();return this._menuYear!=null&&(a==null||a<this._menuYear);case"year":return!!this._menuYearsInView&&this._minYear<this._menuYearsInView.min;default:return!1}}_canGoForward(e){var t;if(!e&&!this._constrainToEnabled)return!0;switch(this._view){case"date":return!this._max||this._max>he(this._month,this._year);case"month":let a=(t=this._max)==null?void 0:t.getFullYear();return this._menuYear!=null&&(a==null||a>this._menuYear);case"year":return!!this._menuYearsInView&&this._maxYear>this._menuYearsInView.max;default:return!1}}_setNavigationButtonStates(){if(!!this._showHeader){if(!this._constrainToEnabled){this._adapter.setPreviousButtonDisabled(!1),this._adapter.setNextButtonDisabled(!1);return}this._adapter.setPreviousButtonDisabled(!this._canGoBackward()),this._adapter.setNextButtonDisabled(!this._canGoForward())}}_setMonth(e){this._adapter.setMonth(this._month,this._locale),this._adapter.setHostAttribute(r.attributes.MONTH,this._month.toString()),this._isInitialized&&(this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.MONTH_CHANGE,{month:this._month,userSelected:e!=null?e:!1,year:this._year}))}_setYear(e){this._adapter.setYear(this._year,this._locale),this._adapter.setHostAttribute(r.attributes.YEAR,this._year.toString()),this._isInitialized&&(this._setNavigationButtonStates(),this._adapter.emitHostEvent(r.events.MONTH_CHANGE,{month:this._month,userSelected:e!=null?e:!1,year:this._year}))}_setMenuYear(){this._menuYear!=null&&(this._setNavigationButtonStates(),this._adapter.setYear(this._menuYear,this._locale))}_applyAllowSingleDateRange(){this._adapter.toggleHostAttribute(r.attributes.ALLOW_SINGLE_DATE_RANGE,this._allowSingleDateRange),this._adapter.setContainerClass(r.classes.ALLOW_SINGLE_DATE_RANGE,this._allowSingleDateRange)}_applyClearButton(){this._adapter.toggleHostAttribute(r.attributes.CLEAR_BUTTON,!0,this._clearButton.toString()),this._clearButton?(this._adapter.setFooter(),this._adapter.setClearButton(),this._adapter.registerClearButtonListener(this._clearButtonListener)):(this._adapter.unregisterClearButtonListener(this._clearButtonListener),this._adapter.removeClearButton(),this._todayButton||this._adapter.removeFooter())}_applyConstrainToEnabled(){this._adapter.toggleHostAttribute(r.attributes.CONSTRAIN_TO_ENABLED,!0,this._constrainToEnabled.toString()),this._isInitialized&&this._setNavigationButtonStates()}_applyDateBuilder(){this._view==="date"&&(this._resetDateGrid(),this._resumeTabindexOnDate(!1))}_applyDayBuilder(){var e;this._adapter.setDays(N((e=this._firstDayOfWeek)!=null?e:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale})}_applyDisabledDates(){switch(this._view){case"date":this._dates.forEach(e=>{let t=p(e,this._month,this._year),a=this._getDisabledDateParams(!t);this._adapter.setDateDisabled(e,h(e,a))});break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}this._setNavigationButtonStates()}_applyEvents(){this._view==="date"&&this._dates.forEach(e=>{this._setEventsOnDate(e)})}_applyFirstDayOfWeek(){var e,t;this._adapter.toggleHostAttribute(r.attributes.FIRST_DAY_OF_WEEK,A(this._firstDayOfWeek),((e=this._firstDayOfWeek)!=null?e:0).toString()),this._adapter.setDays(N((t=this._firstDayOfWeek)!=null?t:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale}),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._resumeTabindexOnDate(!1))}_applyFixedHeight(){this._adapter.toggleHostAttribute(r.attributes.FIXED_HEIGHT,this._fixedHeight),this._adapter.setContainerClass(r.classes.FIXED_HEIGHT,this._fixedHeight)}_applyListYears(){this._adapter.toggleHostAttribute(r.attributes.LIST_YEARS,this._listYears),this._isInitialized&&this._view==="year"&&this._openYearMenu()}_applyLocale(){var e;if(this._adapter.toggleHostAttribute(r.attributes.LOCALE,!!this._locale,this._locale),this._adapter.toggleContainerAttribute(!!this._locale,"lang",this._locale),this._localeFirstDayOfWeek=De(this._locale),this._localeWeekendDays=we(this._locale),this._applyRtl(),this._isInitialized)switch(this._adapter.setMonth(this._month,this._locale),this._adapter.setYear(this._year,this._locale),this._view){case"date":this._adapter.setDays(N((e=this._firstDayOfWeek)!=null?e:this._localeFirstDayOfWeek),{builder:this._dayBuilder,locale:this._locale}),this._resetDateGrid(),this._resumeTabindexOnDate(!1);break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}}_applyMenuAnimation(){this._adapter.setHostAttribute(r.attributes.MENU_ANIMATION,this._menuAnimation),this._adapter.setMenuAnimation(this._menuAnimation)}_applyMin(){if(this._adapter.toggleHostAttribute(r.attributes.MIN,!!this._minAttribute,this._minAttribute),this._min&&this._min.getMonth()>this._month&&(this._month=this._min.getMonth()),this._isInitialized&&(this._applyDisabledDates(),this._min&&this._min>this._focusedDate)){let e=this._getFirstEnabledDate();e&&this._goToDate(e,!1)}}_applyMax(){if(this._adapter.toggleHostAttribute(r.attributes.MAX,!!this._maxAttribute,this._maxAttribute),this._max&&this._max.getMonth()<this._month&&(this._month=this._max.getMonth()),this._isInitialized&&(this._applyDisabledDates(),this._max&&this._max<this._focusedDate)){let e=this._getLastEnabledDate();e&&this._goToDate(e,!1)}}_applyMode(e){switch(this._mode){case"single":this._applySingleMode();break;case"multiple":this._applyMultipleMode(e==="range");break;case"range":this._applyRangeMode();break}this._mode!=="range"&&(this._rangeSelectionState="none",this._adapter.unregisterHoverListener(this._hoverListener),this._clearRangePreview())}_applySingleMode(){if(this._adapter.setHostAttribute(r.attributes.MODE,"single"),this._adapter.setMultiple(!1),this._value.length>1)for(let e=this._value.length-2;e>=0;e-=1)this._deselectDate(this._value[e])}_applyMultipleMode(e=!1){if(this._adapter.setHostAttribute(r.attributes.MODE,"multiple"),this._adapter.setMultiple(!0),e){let t=Ve(this._value,this._getDisabledDateParams());this._deselectAllDates(),t.forEach(a=>{this._selectDate(a)})}}_applyRangeMode(){var t,a;this._adapter.setHostAttribute(r.attributes.MODE,"range"),this._adapter.setMultiple(!1);let e=R(this._value);this._deselectAllDates(),e.forEach(i=>{this._selectDate(i)}),this._rangeSelectionState=this._value[0]?this._value[1]?"to":"from":"none",this._adapter.registerHoverListener(this._hoverListener),this._adapter.setRange(H(this._dates,this._value[0],this._value[1])),this._adapter.setRangeStart((t=this._value[0])!=null?t:null),this._adapter.setRangeEnd((a=this._value[1])!=null?a:null)}_applyMonth(){this._setMonth(),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._moveFocusToFirstOfMonth(!1))}_applyPreventFocus(){this._adapter.toggleHostAttribute(r.attributes.PREVENT_FOCUS,this._preventFocus),this._adapter.setContainerClass(r.classes.PREVENT_FOCUS,this._preventFocus),this._adapter.setPreventFocusOnMenu(this._preventFocus),this._preventFocus?this._adapter.registerPreventFocusListener(this._preventFocusListener):this._adapter.unregisterPreventFocusListener(this._preventFocusListener),this._isInitialized&&this._view==="date"&&this._resumeTabindexOnDate(!1)}_applyReadOnly(){this._adapter.toggleHostAttribute(r.attributes.READONLY,this._readonly),this._adapter.toggleHostAttribute("aria-readonly",this._readonly,"true"),this._adapter.setContainerClass(r.classes.READONLY,this._readonly),this._readonly?(this._adapter.unregisterDateClickListener(this._dateClickListener),this._adapter.unregisterHoverListener(this._hoverListener)):(this._adapter.registerDateClickListener(this._dateClickListener),this._mode==="range"&&this._adapter.registerHoverListener(this._hoverListener))}_applyRtl(){this._rtl=Ee(this._locale),this._adapter.setContainerClass(r.classes.RTL,this._rtl),this._adapter.toggleContainerAttribute(this._rtl,"dir","rtl")}_applySelectionFollowsMonth(){this._adapter.setHostAttribute(r.attributes.SELECTION_FOLLOWS_MONTH,this._selectionFollowsMonth.toString())}_applyShowHeader(){this._adapter.toggleHostAttribute(r.attributes.SHOW_HEADER,this._showHeader,this._showHeader.toString()),this._showHeader?(this._adapter.setHeader(),this._adapter.registerMonthButtonListener(this._monthButtonListener),this._adapter.registerNextButtonListener(this._nextButtonListener),this._adapter.registerPreviousButtonListener(this._previousButtonListener),this._adapter.registerYearButtonListener(this._yearButtonListener),this._setNavButtonLabels()):(this._adapter.unregisterMonthButtonListener(this._monthButtonListener),this._adapter.unregisterNextButtonListener(this._nextButtonListener),this._adapter.unregisterPreviousButtonListener(this._previousButtonListener),this._adapter.unregisterYearButtonListener(this._yearButtonListener),this._adapter.removeHeader()),this._isInitialized&&(this._adapter.setMonth(this._month,this._locale),this._adapter.setYear(this._year,this._locale),this._setNavigationButtonStates())}_applyShowOtherMonths(){if(this._adapter.toggleHostAttribute(r.attributes.SHOW_OTHER_MONTHS,this._showOtherMonths),this._isInitialized&&this._view==="date"){let e=!1;this._dates.forEach((t,a)=>{p(t,this._month,this._year)||((a===r.numbers.PENULTIMATE_WEEK_BEGIN_INDEX||a===r.numbers.FINAL_WEEK_BEGIN_INDEX)&&(e=!0),this._showOtherMonths&&!e?this._adapter.replaceDate(this._getDateConfig(t),{builder:this._dateBuilder,locale:this._locale}):this._adapter.replaceDateWithSpacer(t),this._setEventsOnDate(t),this._applyWeekendDays())})}}_applyShowToday(){this._adapter.toggleHostAttribute(r.attributes.SHOW_TODAY,this._showToday),this._adapter.setContainerClass(r.classes.SHOW_TODAY,this._showToday)}_applyTodayButton(){this._adapter.toggleHostAttribute(r.attributes.TODAY_BUTTON,!0,this._todayButton.toString()),this._todayButton?(this._adapter.setFooter(),this._adapter.setTodayButton(),this._adapter.registerTodayButtonListener(this._todayButtonListener)):(this._adapter.unregisterTodayButtonListener(this._todayButtonListener),this._adapter.removeTodayButton(),this._clearButton||this._adapter.removeFooter())}_applyTooltipBuilder(){this._view==="date"&&this._dates.forEach(e=>{var i;if(!this._showOtherMonths&&!p(e,this._month,this._year))return;let t=W(e,this._events,this._eventBuilder),a=K(t);this._tooltipBuilder&&(a=(i=this._tooltipBuilder(this._getCalendarDate(e),a))!=null?i:""),this._adapter.setDateTooltip(e,a)})}_applyWeekendDays(){var t;let e=(t=this._weekendDays)!=null?t:this._localeWeekendDays;this._view==="date"&&this._dates.forEach(a=>{let i=a.getDay();this._adapter.setWeekend(a,(this._showOtherMonths||p(a,this._month,this._year))&&e.includes(i))})}_applyValue(e){e=e.map(t=>new Date(t)),Y(e),this._deselectAllDates(),e.forEach(t=>this._selectDate(t)),this._mode==="range"&&(this._rangeSelectionState=this._value.length===2?"to":this._value.length===1?"from":"none",this._clearRangePreview(),this._adapter.setRangeStart(this._value[0]),this._setRangePreview())}_applyView(){switch(this._adapter.setHostAttribute(r.attributes.VIEW,this._view),this._view){case"date":this._closeMenu();break;case"month":this._openMonthMenu();break;case"year":this._openYearMenu();break}}_applyYear(){this._setYear(),this._isInitialized&&this._view==="date"&&(this._resetDateGrid(),this._moveFocusToFirstOfMonth(!1))}_applyYearRange(){this._adapter.setHostAttribute(r.attributes.YEAR_RANGE,this._yearRange);let e=ze(this._yearRange);this._minYear=e.min,this._maxYear=e.max,this._view==="year"&&(this._openYearMenu(),this._setNavigationButtonStates())}get activeDate(){return new Date(this._focusedDate)}get allowSingleDateRange(){return this._allowSingleDateRange}set allowSingleDateRange(e){this._allowSingleDateRange!==e&&(this._allowSingleDateRange=e,this._applyAllowSingleDateRange())}get clearButton(){return this._clearButton}set clearButton(e){this._clearButton!==e&&(this._clearButton=e,this._isInitialized&&this._applyClearButton())}get clearCallback(){return this._clearCallback}set clearCallback(e){this._clearCallback=e}get constrainToEnabled(){return this._constrainToEnabled}set constrainToEnabled(e){this._constrainToEnabled!==e&&(this._constrainToEnabled=e,this._isInitialized&&this._applyConstrainToEnabled())}get dateBuilder(){return this._dateBuilder}set dateBuilder(e){this._dateBuilder=e,this._isInitialized&&this._applyDateBuilder()}get dateSelectCallback(){return this._dateSelectCallback}set dateSelectCallback(e){this._dateSelectCallback=e}get dayBuilder(){return this.dayBuilder}set dayBuilder(e){this._dayBuilder=e,this._isInitialized&&this._applyDayBuilder()}get disabledDateBuilder(){return this._disabledDateBuilder}set disabledDateBuilder(e){this._disabledDateBuilder=e,this._isInitialized&&this._applyDisabledDates()}get disabledDates(){let e=this._disabledDates.map(t=>new Date(t));return e.length?e:null}set disabledDates(e){let t=e?C(e)?e:[e]:[];this._disabledDates=t.map(a=>{let i=new Date(a);return i.setHours(0,0,0,0),i}),this._isInitialized&&this._applyDisabledDates()}get disabledDaysOfWeek(){return this._disabledDaysOfWeek.length?[...this._disabledDaysOfWeek]:null}set disabledDaysOfWeek(e){this._disabledDaysOfWeek=A(e)?C(e)?e:[e]:[],this._isInitialized&&this._applyDisabledDates()}get eventBuilder(){return this._eventBuilder}set eventBuilder(e){this._eventBuilder=e,this._isInitialized&&this._applyEvents()}get events(){return this._events?[...this._events]:null}set events(e){this._events=e!=null&&e.length?[...e]:[],this._isInitialized&&this._applyEvents()}get firstDayOfWeek(){return this._firstDayOfWeek}set firstDayOfWeek(e){this._firstDayOfWeek!==e&&(this._firstDayOfWeek=A(e)?+e:e,this._isInitialized&&this._applyFirstDayOfWeek())}get fixedHeight(){return this._fixedHeight}set fixedHeight(e){this._fixedHeight!==e&&(this._fixedHeight=e,this._isInitialized&&this._applyFixedHeight())}get listYears(){return this._listYears}set listYears(e){this._listYears!==e&&(this._listYears=e,this._applyListYears())}get locale(){return this._locale}set locale(e){typeof e=="string"&&!e.length&&(e=void 0),this._locale!==e&&(this._locale=e,this._isInitialized&&this._applyLocale())}get max(){return this._max}set max(e){var t;this._maxAttribute!==e&&(this._maxAttribute=(t=e==null?void 0:e.toString())!=null?t:null,this._max=$(e),this._applyMax())}get menuAnimation(){return this._menuAnimation}set menuAnimation(e){this._menuAnimation!==e&&(this._menuAnimation=e,this._isInitialized&&this._applyMenuAnimation())}get min(){return this._min}set min(e){var t;this._minAttribute!==e&&(this._minAttribute=(t=e==null?void 0:e.toString())!=null?t:null,this._min=$(e),this._applyMin())}get mode(){return this._mode}set mode(e){if(this._mode!==e){let t=this._mode;this._mode=e,this._isInitialized&&this._applyMode(t)}}get month(){return this._month}set month(e){if(this._month!==e){let t=isNaN(+e)?this._month:+e;if(this._month===t)return;this._month=+e,this._isInitialized&&this._applyMonth()}}get preventFocus(){return this._preventFocus}set preventFocus(e){this._preventFocus!==e&&(this._preventFocus=e,this._isInitialized&&this._applyPreventFocus())}get readonly(){return this._readonly}set readonly(e){this._readonly!==e&&(this._readonly=e,this._isInitialized&&this._applyReadOnly())}get selectionFollowsMonth(){return this._selectionFollowsMonth}set selectionFollowsMonth(e){this._selectionFollowsMonth!==e&&(this._selectionFollowsMonth=e,this._isInitialized&&this._applySelectionFollowsMonth())}get showHeader(){return this._showHeader}set showHeader(e){this._showHeader!==e&&(this._showHeader=e,this._isInitialized&&this._applyShowHeader())}get showOtherMonths(){return this._showOtherMonths}set showOtherMonths(e){this._showOtherMonths!==e&&(this._showOtherMonths=e,this._isInitialized&&this._applyShowOtherMonths())}get showToday(){return this._showToday}set showToday(e){this._showToday!==e&&(this._showToday=e,this._isInitialized&&this._applyShowToday())}get todayButton(){return this._todayButton}set todayButton(e){this._todayButton!==e&&(this._todayButton=e,this._isInitialized&&this._applyTodayButton())}get todayCallback(){return this._todayCallback}set todayCallback(e){this._todayCallback=e}get tooltipBuilder(){return this._tooltipBuilder}set tooltipBuilder(e){this._tooltipBuilder=e,this._isInitialized&&this._applyTooltipBuilder()}get value(){var t;if(this._mode==="range")return(t=this._rangeSelectionStore)!=null?t:y(this._value);let e=this._value.map(a=>new Date(a));return this._mode==="multiple"?e:e.length?e[0]:null}set value(e){let t=[];if(this._rangeSelectionStore=void 0,!e||Array.isArray(e)&&!e.length)this._value=[];else if(Array.isArray(e))switch(this._mode){case"single":t=[e[0]];break;case"multiple":t=e;break;case"range":let a=R(e);t.push(a[0]),a.length>1&&t.push(a[1]);break}else B(new Date(e))?t=[e]:(this._rangeSelectionStore=new E(e),t=Pe(e));this._applyValue(t)}get view(){return this._view}set view(e){this._view!==e&&(this._view=e,this._applyView())}get weekendDays(){return this._weekendDays?[...this._weekendDays]:null}set weekendDays(e){var t;this._weekendDays=(t=e==null?void 0:e.map(a=>+a))!=null?t:null,this._isInitialized&&this._applyWeekendDays()}get year(){return this._year}set year(e){if(this._year!==e){let t=isNaN(+e)?this._year:+e;if(this._year===t)return;this._year=t,this._isInitialized&&this._applyYear()}}get yearRange(){return this._yearRange}set yearRange(e){this._yearRange!==e&&(this._yearRange=e,this._isInitialized&&this._applyYearRange())}clear(){this._deselectAllDates(),this._clearCallback&&this._clearCallback()}deselectDate(e,t){this._onDateSelected(e,!1),t&&(this._focusedDate=e,this._resumeTabindexOnDate(!0))}goToDate(e,t){this._goToDate(e,t!=null?t:!1)}handleExternalKeyEvent(e){this._onKeydown(e)}layout(){this._applyFirstDayOfWeek(),this._createDateView(),this._applyShowHeader(),this._applyConstrainToEnabled()}selectDate(e,t){this._onDateSelected(e,!0),t&&(this._focusedDate=e,this._resumeTabindexOnDate(!0))}setActiveDate(e,t){return this._dates.some(a=>b(a,e)&&(this._showOtherMonths||p(a,this._month,this._year)))?(this._goToDate(e,t!=null?t:!1),!0):!1}today(){let e=new Date;e.setHours(0,0,0,0),this._goToDate(e,!0),this._todayCallback&&this._todayCallback()}toggleDate(e,t){this._onDateSelected(e)}};var Qe='<template><div class="forge-calendar" part="root"><div id="view" class="forge-calendar__view" part="view"><div id="date-view" class="forge-calendar__date-view" role="grid" part="date-view"><div role="rowgroup" part="date-view-container"><div id="day-row" class="forge-calendar__date-view__row" role="row" part="date-view-row"></div></div><div id="date-grid" class="forge-calendar__date-grid" role="rowgroup" part="date-grid-container"></div></div><forge-calendar-menu id="menu" part="calendar-menu"></forge-calendar-menu></div></div></template>',et='.mdc-elevation-overlay{position:absolute;border-radius:inherit;pointer-events:none;opacity:0;opacity:var(--mdc-elevation-overlay-opacity, 0);-webkit-transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);transition:opacity 280ms cubic-bezier(.4, 0, .2, 1);background-color:#fff;background-color:var(--mdc-elevation-overlay-color,#fff)}.forge-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle}.forge-button .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button::-moz-focus-inner{padding:0;border:0}.forge-button:active{outline:0}.forge-button:hover{cursor:pointer}.forge-button:disabled{cursor:default;pointer-events:none}.forge-button .forge-button__icon{margin-left:0;margin-right:8px;display:inline-block;font-size:1.125rem;height:1.125rem;vertical-align:top;width:1.125rem}.forge-button .forge-button__icon[dir=rtl],[dir=rtl] .forge-button .forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon{margin-left:8px;margin-right:0}.forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button__label~.forge-button__icon{margin-left:0;margin-right:8px}svg.forge-button__icon{fill:currentColor}.forge-button--outlined .forge-button__icon,.forge-button--raised .forge-button__icon,.forge-button--unelevated .forge-button__icon{margin-left:-4px;margin-right:8px}.forge-button--outlined .forge-button__icon[dir=rtl],.forge-button--raised .forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon,.forge-button--raised .forge-button__label~.forge-button__icon,.forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:8px;margin-right:-4px}.forge-button--outlined .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--raised .forge-button__label~.forge-button__icon[dir=rtl],.forge-button--unelevated .forge-button__label~.forge-button__icon[dir=rtl],[dir=rtl] .forge-button--outlined .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--raised .forge-button__label~.forge-button__icon,[dir=rtl] .forge-button--unelevated .forge-button__label~.forge-button__icon{margin-left:-4px;margin-right:8px}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button .forge-button__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button .forge-button__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button.mdc-ripple-upgraded .forge-button__ripple::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button.mdc-ripple-upgraded--unbounded .forge-button__ripple::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button.mdc-ripple-upgraded--foreground-activation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button.mdc-ripple-upgraded--foreground-deactivation .forge-button__ripple::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button.mdc-ripple-upgraded .forge-button__ripple::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button .forge-button__ripple{position:absolute;-webkit-box-sizing:content-box;box-sizing:content-box;width:100%;height:100%;overflow:hidden}.forge-button:not(.forge-button--outlined) .forge-button__ripple{top:0;left:0}.forge-button--raised{-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1);transition:box-shadow 280ms cubic-bezier(.4, 0, .2, 1),-webkit-box-shadow 280ms cubic-bezier(.4, 0, .2, 1)}.forge-button--raised:focus,.forge-button--raised:hover{-webkit-box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12);box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.forge-button--raised:active{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.forge-button--raised:disabled{-webkit-box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12);box-shadow:0 0 0 0 rgba(0,0,0,.2),0 0 0 0 rgba(0,0,0,.14),0 0 0 0 rgba(0,0,0,.12)}.forge-button--outlined{border-style:solid}.forge-button{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 8px 0 8px}.forge-button:not(:disabled){background-color:transparent}.forge-button:disabled{background-color:transparent}.forge-button:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button .forge-button__ripple::after,.forge-button .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--unelevated:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--unelevated:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--unelevated:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--unelevated .forge-button__ripple::after,.forge-button--unelevated .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--unelevated.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--unelevated:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--unelevated.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--unelevated:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--unelevated:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--unelevated:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--unelevated .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised{padding:0 16px 0 16px;height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--raised:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--raised:disabled{background-color:rgba(0,0,0,.12);background-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--raised:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-button--raised:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--raised .forge-button__ripple::after,.forge-button--raised .forge-button__ripple::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button--raised.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--raised:hover .forge-button__ripple::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button--raised.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--raised:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button--raised:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--raised:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button--raised.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button--raised .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined{height:36px;border-radius:4px;border-radius:var(--mdc-shape-small,4px);padding:0 15px 0 15px;border-width:1px}.forge-button--outlined:not(:disabled){background-color:transparent}.forge-button--outlined:disabled{background-color:transparent}.forge-button--outlined:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button--outlined .forge-button__ripple::after,.forge-button--outlined .forge-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button--outlined.mdc-ripple-surface--hover .forge-button__ripple::before,.forge-button--outlined:hover .forge-button__ripple::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button--outlined.mdc-ripple-upgraded--background-focused .forge-button__ripple::before,.forge-button--outlined:not(.mdc-ripple-upgraded):focus .forge-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button--outlined:not(.mdc-ripple-upgraded) .forge-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button--outlined:not(.mdc-ripple-upgraded):active .forge-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button--outlined.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button--outlined .forge-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button--outlined:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button--outlined:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-button--outlined .forge-button__ripple{top:-1px;left:-1px;border:1px solid transparent}.forge-button--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem}forge-button{display:inline-block}forge-button[hidden]{display:none}forge-button[disabled]{cursor:not-allowed}a.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);text-decoration:none}a.forge-hyperlink:visited{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}a.forge-hyperlink[disabled]{pointer-events:none;cursor:default}a.forge-hyperlink:focus,a.forge-hyperlink:hover:not([disabled]){text-decoration:underline}button.forge-hyperlink{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);cursor:pointer;border:none;background-color:transparent;font-size:inherit;padding:0;outline:0;text-align:left}button.forge-hyperlink[disabled]{pointer-events:none;cursor:default}button.forge-hyperlink:hover:not([disabled]){text-decoration:underline}.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-calendar{width:100%;width:var(--forge-calendar-width,100%);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;position:relative}.forge-calendar__header{padding:0;padding:var(--forge-calendar-controls-padding,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}.forge-calendar__footer{padding:0;padding:var(--forge-calendar-controls-padding,0);display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:justify;justify-content:space-between}.forge-calendar__view{position:relative}.forge-calendar__date-view{display:block}.forge-calendar__date-view__row{display:grid;grid-template-columns:repeat(7,1fr)}.forge-calendar__date-grid{display:grid}.forge-calendar__day{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;min-width:0;padding:0;font-weight:700;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar__day::after{float:left;padding-top:100%;content:""}.forge-calendar__date{margin-top:2px;margin-top:var(--forge-calendar-row-gap,2px);min-width:0;padding:0;border-radius:50%;position:relative;outline:0;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.forge-calendar__date::after{float:left;padding-top:100%;content:""}.forge-calendar__date .mdc-ripple-surface{border-radius:inherit}.forge-calendar__date .mdc-ripple-surface::after,.forge-calendar__date .mdc-ripple-surface::before{position:absolute;width:calc(100% - 2px)!important;height:calc(100% - 2px)!important;top:calc(2px / 2)!important;left:calc(2px / 2)!important;border-radius:inherit!important}.forge-calendar__date__inner{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);position:absolute;width:calc(100% - 2px);height:calc(100% - 2px);top:calc(2px / 2);left:calc(2px / 2);display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;border-radius:inherit;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-calendar--show-today .forge-calendar__date--today:not([disabled]){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-calendar--show-today .forge-calendar__date--today .forge-calendar__date__inner{border-color:inherit;border-width:1px;border-style:solid;font-weight:700}.forge-calendar--show-today .forge-calendar__date--today.forge-calendar__date--selected{color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]){--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;cursor:pointer}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--unbounded .mdc-ripple-surface::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--foreground-activation .mdc-ripple-surface::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--foreground-deactivation .mdc-ripple-surface::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded .mdc-ripple-surface::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::after,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]) .mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-surface--hover .mdc-ripple-surface::before,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):hover .mdc-ripple-surface::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded--background-focused .mdc-ripple-surface::before,.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded):focus .mdc-ripple-surface::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded) .mdc-ripple-surface::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]):not(.mdc-ripple-upgraded):active .mdc-ripple-surface::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date:not([disabled]).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-calendar__date--selected:not([disabled]) .forge-calendar__date__inner{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-calendar__date--selected[disabled] .forge-calendar__date__inner{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar:not(.forge-calendar--readonly) .forge-calendar__date--selected:hover .forge-calendar__date__inner{opacity:.87}.forge-calendar__date--selected.mdc-ripple-upgraded--background-focused .forge-calendar__date__inner,.forge-calendar__date--selected:focus .forge-calendar__date__inner{opacity:.54}.forge-calendar__date[disabled]{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-calendar__date-spacer{pointer-events:none}.forge-calendar--fixed-height .forge-calendar__date-spacer{margin-top:2px;margin-top:var(--forge-calendar-row-gap,2px)}.forge-calendar--fixed-height .forge-calendar__date-spacer::after{float:left;padding-top:100%;content:""}.forge-calendar__range:not(.forge-calendar__date-spacer) .forge-calendar__range__target{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);position:absolute;width:100%;height:100%;opacity:.14;border-radius:0}.forge-calendar__range:not(.forge-calendar__date-spacer).forge-calendar__range--start .forge-calendar__range__target{border-top-left-radius:50%;border-bottom-left-radius:50%}.forge-calendar__range:not(.forge-calendar__date-spacer).forge-calendar__range--end .forge-calendar__range__target{border-top-right-radius:50%;border-bottom-right-radius:50%}.forge-calendar__range:not(.forge-calendar__range--start):first-of-type .forge-calendar__range__target{border-top-left-radius:4px;border-bottom-left-radius:4px}.forge-calendar__range:not(.forge-calendar__range--end):last-of-type .forge-calendar__range__target{border-top-right-radius:4px;border-bottom-right-radius:4px}.forge-calendar--allow-single-date-range .forge-calendar__range--start.forge-calendar__range--end .forge-calendar__range__target{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s;-webkit-transform:scale(1.15);transform:scale(1.15);-webkit-transform-origin:center;transform-origin:center}.forge-calendar__event{font-size:12px;font-size:var(--forge-calendar-event-dot-size, 12px)}.forge-calendar__event[data-event-theme=primary]{color:#3f51b5;color:var(--forge-calendar-theme-event-primary-accent,#3f51b5)}.forge-calendar__event[data-event-theme=secondary]{color:#ffc107;color:var(--forge-calendar-theme-event-secondary-accent,#ffc107)}.forge-calendar__event[data-event-theme=blue]{color:#2196f3;color:var(--forge-calendar-theme-event-blue-accent,#2196f3)}.forge-calendar__event[data-event-theme=light-green]{color:#8bc34a;color:var(--forge-calendar-theme-event-light-green-accent,#8bc34a)}.forge-calendar__event[data-event-theme=cyan]{color:#00bcd4;color:var(--forge-calendar-theme-event-cyan-accent,#00bcd4)}.forge-calendar__event[data-event-theme=teal]{color:#009688;color:var(--forge-calendar-theme-event-teal-accent,#009688)}.forge-calendar__event[data-event-theme=orange]{color:#ff9800;color:var(--forge-calendar-theme-event-orange-accent,#ff9800)}.forge-calendar__event[data-event-theme=blue-grey]{color:#607d8b;color:var(--forge-calendar-theme-event-blue-grey-accent,#607d8b)}.forge-calendar__event[data-event-theme=grey]{color:#9e9e9e;color:var(--forge-calendar-theme-event-grey-accent,#9e9e9e)}.forge-calendar__event[data-event-theme=red]{color:#f44336;color:var(--forge-calendar-theme-event-red-accent,#f44336)}.forge-calendar__event[data-event-theme=pink]{color:#e91e63;color:var(--forge-calendar-theme-event-pink-accent,#e91e63)}.forge-calendar__event[data-event-theme=purple]{color:#9c27b0;color:var(--forge-calendar-theme-event-purple-accent,#9c27b0)}.forge-calendar__event[data-event-theme=light-blue]{color:#03a9f4;color:var(--forge-calendar-theme-event-light-blue-accent,#03a9f4)}.forge-calendar__event[data-event-theme=deep-purple]{color:#673ab7;color:var(--forge-calendar-theme-event-deep-purple-accent,#673ab7)}.forge-calendar__event[data-event-theme=green]{color:#4caf50;color:var(--forge-calendar-theme-event-green-accent,#4caf50)}.forge-calendar__event[data-event-theme=lime]{color:#cddc39;color:var(--forge-calendar-theme-event-lime-accent,#cddc39)}.forge-calendar__event[data-event-theme=yellow]{color:#ffeb3b;color:var(--forge-calendar-theme-event-yellow-accent,#ffeb3b)}.forge-calendar__event[data-event-theme=brown]{color:#795548;color:var(--forge-calendar-theme-event-brown-accent,#795548)}.forge-calendar__event[data-event-theme=deep-orange]{color:#ff5722;color:var(--forge-calendar-theme-event-deep-orange-accent,#ff5722)}.forge-calendar__date[disabled] .forge-calendar__event{opacity:.14}.forge-calendar__event--overflow{color:#000;color:var(--mdc-theme-on-surface,#000);background-color:var(--mdc-theme-surface);border-radius:50%}.forge-calendar__event__wrapper{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;gap:2px;position:absolute;bottom:0;left:0;width:100%;padding-bottom:2px;pointer-events:none}.forge-calendar__date-spacer .forge-calendar__event__wrapper{display:none}.forge-calendar--rtl .forge-calendar__header forge-icon-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}#accessible-header{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}#month-button forge-icon{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.forge-calendar--month-menu-open #month-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}#year-button forge-icon{-webkit-transition:-webkit-transform .2s;transition:-webkit-transform .2s;transition:transform .2s;transition:transform .2s,-webkit-transform .2s}.forge-calendar--year-menu-open #year-button forge-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}:host{--forge-calendar-event-stroke-color:#ffffff;--forge-calendar-event-stroke-color:var(--mdc-theme-surface, #ffffff);display:inline-block}:host([hidden]){display:none}:host([forge-popup-context=true]){--forge-calendar-event-stroke-color:#ffffff;--forge-calendar-event-stroke-color:var(--forge-theme-elevated-surface, #ffffff)}',l=class extends HTMLElement{constructor(){super();fe.define([de,ce,le,ue,se]),re(this,Qe,et),this._foundation=new z(new P(this))}static get observedAttributes(){return[r.attributes.ALLOW_SINGLE_DATE_RANGE,r.attributes.CLEAR_BUTTON,r.attributes.CONSTRAIN_TO_ENABLED,r.attributes.FIRST_DAY_OF_WEEK,r.attributes.FIXED_HEIGHT,r.attributes.LIST_YEARS,r.attributes.LOCALE,r.attributes.MAX,r.attributes.MENU_ANIMATION,r.attributes.MIN,r.attributes.MODE,r.attributes.MONTH,r.attributes.PREVENT_FOCUS,r.attributes.READONLY,r.attributes.SELECTION_FOLLOWS_MONTH,r.attributes.SHOW_HEADER,r.attributes.SHOW_OTHER_MONTHS,r.attributes.SHOW_TODAY,r.attributes.TODAY_BUTTON,r.attributes.VIEW,r.attributes.YEAR,r.attributes.YEAR_RANGE]}connectedCallback(){!this.hasAttribute(r.attributes.POPUP_CONTEXT)&&Q(this).some(t=>t.tagName.toLowerCase()==="forge-popup")&&this.setAttribute(r.attributes.POPUP_CONTEXT,"true"),this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,i){switch(t){case r.attributes.ALLOW_SINGLE_DATE_RANGE:this.allowSingleDateRange=g(i);break;case r.attributes.CLEAR_BUTTON:this.clearButton=g(i);break;case r.attributes.CONSTRAIN_TO_ENABLED:this.constrainToEnabled=g(i);break;case r.attributes.FIRST_DAY_OF_WEEK:this.firstDayOfWeek=I(i);break;case r.attributes.FIXED_HEIGHT:this.fixedHeight=g(i);break;case r.attributes.LIST_YEARS:this.listYears=g(i);break;case r.attributes.LOCALE:this.locale=i;break;case r.attributes.MAX:this.max=i;break;case r.attributes.MENU_ANIMATION:this.menuAnimation=i;break;case r.attributes.MIN:this.min=i;break;case r.attributes.MODE:this.mode=i;break;case r.attributes.MONTH:this.month=I(i);break;case r.attributes.PREVENT_FOCUS:this.preventFocus=g(i);break;case r.attributes.READONLY:this.readonly=g(i);break;case r.attributes.SELECTION_FOLLOWS_MONTH:this.selectionFollowsMonth=g(i);break;case r.attributes.SHOW_HEADER:this.showHeader=g(i);break;case r.attributes.SHOW_OTHER_MONTHS:this.showOtherMonths=g(i);break;case r.attributes.SHOW_TODAY:this.showToday=g(i);break;case r.attributes.TODAY_BUTTON:this.todayButton=g(i);break;case r.attributes.VIEW:this.view=i;break;case r.attributes.YEAR:this.year=I(i);break;case r.attributes.YEAR_RANGE:this.yearRange=i;break}}clear(){this._foundation.clear()}deselectDate(t){this._foundation.deselectDate(new Date(t))}goToDate(t,a){this._foundation.goToDate(new Date(t),a)}handleKey(t){this._foundation.handleExternalKeyEvent(t)}layout(){this._foundation.layout()}selectDate(t){this._foundation.selectDate(new Date(t))}setActiveDate(t,a){return this._foundation.setActiveDate(new Date(t),a)}today(){this._foundation.today()}toggleDate(t,a){this._foundation.toggleDate(new Date(t),a)}};d([c({set:!1})],l.prototype,"activeDate",2),d([c()],l.prototype,"allowSingleDateRange",2),d([c()],l.prototype,"clearButton",2),d([c()],l.prototype,"clearCallback",2),d([c()],l.prototype,"constrainToEnabled",2),d([c()],l.prototype,"dateBuilder",2),d([c()],l.prototype,"dateSelectCallback",2),d([c()],l.prototype,"dayBuilder",2),d([c()],l.prototype,"disabledDateBuilder",2),d([c()],l.prototype,"disabledDates",2),d([c()],l.prototype,"disabledDaysOfWeek",2),d([c()],l.prototype,"eventBuilder",2),d([c()],l.prototype,"events",2),d([c()],l.prototype,"firstDayOfWeek",2),d([c()],l.prototype,"fixedHeight",2),d([c()],l.prototype,"listYears",2),d([c()],l.prototype,"locale",2),d([c()],l.prototype,"max",2),d([c()],l.prototype,"menuAnimation",2),d([c()],l.prototype,"min",2),d([c()],l.prototype,"mode",2),d([c()],l.prototype,"month",2),d([c()],l.prototype,"preventFocus",2),d([c()],l.prototype,"readonly",2),d([c()],l.prototype,"selectionFollowsMonth",2),d([c()],l.prototype,"showHeader",2),d([c()],l.prototype,"showOtherMonths",2),d([c()],l.prototype,"showToday",2),d([c()],l.prototype,"todayButton",2),d([c()],l.prototype,"todayCallback",2),d([c()],l.prototype,"tooltipBuilder",2),d([c()],l.prototype,"value",2),d([c()],l.prototype,"view",2),d([c()],l.prototype,"weekendDays",2),d([c()],l.prototype,"year",2),d([c()],l.prototype,"yearRange",2),l=d([oe({name:r.elementName,dependencies:[ve,ye,be,ge,me]})],l);var Ke=class extends pe{constructor(e){super(e)}_build(){return document.createElement(r.elementName)}onDateSelect(e){this._element.addEventListener(r.events.DATE_SELECT,e)}onFocusChange(e){this._element.addEventListener(r.events.FOCUS_CHANGE,e)}onMonthChange(e){this._element.addEventListener(r.events.MONTH_CHANGE,e)}onViewChange(e){this._element.addEventListener(r.events.VIEW_CHANGE,e)}};function qa(){ie(l)}export{V as a,_t as b,O as c,Re as d,ft as e,N as f,He as g,p as h,Ze as i,Y as j,We as k,y as l,Pe as m,R as n,H as o,K as p,Je as q,ze as r,Ge as s,Ue as t,qe as u,k as v,h as w,S as x,W as y,Ve as z,$ as A,X as B,P as C,z as D,l as E,Ke as F,qa as G};
7
- //# sourceMappingURL=chunk.WPJEXVHM.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{d as M}from"./chunk.M2ATVI24.js";import{b as R}from"./chunk.RLWX5BFQ.js";import{n as z,r as O,s as F,u as k}from"./chunk.MZLPUI6R.js";import{d as C}from"./chunk.73GVVX4K.js";import{d as G,l as w}from"./chunk.IWICN773.js";import{a as B}from"./chunk.5KC43VFL.js";import{a as p}from"./chunk.KTGSZEAG.js";import{a as x,b as N}from"./chunk.QOA2O575.js";import{a as T,e as y,g as n,j as _,l as I}from"./chunk.HOXFK44F.js";import{d as A,f as u,g as L,t as S}from"./chunk.4LA6HEA7.js";import{b as h,i as E,k as c,l as d}from"./chunk.J2M2MXP2.js";import{a as v,b as P,f as s}from"./chunk.MCIQXNKY.js";var U=`${N}paginator`,g={LABEL:"forge-paginator__label",PAGE_SIZE_OPTIONS:"forge-paginator__page-size-options",RANGE_LABEL:"forge-paginator__range-label",RANGE_LABEL_ALTERNATIVE:"forge-paginator__range-label--alternative",FIRST_PAGE_BUTTON:"forge-paginator__first-page",PREVIOUS_PAGE_BUTTON:"forge-paginator__previous-page",NEXT_PAGE_BUTTON:"forge-paginator__next-page",LAST_PAGE_BUTTON:"forge-paginator__last-page",ROOT:"forge-paginator",ALTERNATIVE:"forge-paginator--alternative",ALIGNMENT_START:"forge-paginator--alignment-start",ALIGNMENT_SPACE_BETWEEN:"forge-paginator--alignment-center",ALIGNMENT_END:"forge-paginator--alignment-end"},D={LABEL:`.${g.LABEL}`,PAGE_SIZE_SELECT:`.${g.PAGE_SIZE_OPTIONS}`,RANGE_LABEL:`.${g.RANGE_LABEL}`,FIRST_PAGE_BUTTON:`.${g.FIRST_PAGE_BUTTON} > button`,FIRST_PAGE_ICON_BUTTON:`.${g.FIRST_PAGE_BUTTON}`,PREVIOUS_PAGE_BUTTON:`.${g.PREVIOUS_PAGE_BUTTON} > button`,NEXT_PAGE_BUTTON:`.${g.NEXT_PAGE_BUTTON} > button`,LAST_PAGE_BUTTON:`.${g.LAST_PAGE_BUTTON} > button`,LAST_PAGE_ICON_BUTTON:`.${g.LAST_PAGE_BUTTON}`,ROOT:`.${g.ROOT}`,RANGE_LABEL_ALTERNATIVE:`.${g.RANGE_LABEL_ALTERNATIVE}`},H={PAGE_INDEX:"page-index",PAGE_SIZE:"page-size",OFFSET:"offset",PAGE_SIZE_OPTIONS:"page-size-options",TOTAL:"total",LABEL:"label",FIRST_LAST:"first-last",FIRST:"first",DISABLED:"disabled",ALTERNATIVE:"alternative",ALIGNMENT:"alignment"},$={CHANGE:`${U}-change`},Z={DEFAULT_PAGE_INDEX:0,DEFAULT_TOTAL:0,DEFAULT_PAGE_SIZE:25,DEFAULT_PAGE_SIZE_OPTIONS:[5,15,25,50,100]},X={DEFAULT_LABEL:"Rows per page:",RANGE_SEPARATOR_LABEL:"of",FIRST_PAGE:"first-page",PREVIOUS_PAGE:"previous-page",NEXT_PAGE:"next-page",LAST_PAGE:"last-page",PAGE_SIZE:"page-size"},i={elementName:U,classes:g,selectors:D,attributes:H,events:$,numbers:Z,strings:X};var b=class{constructor(e){this._adapter=e;this._pageIndex=i.numbers.DEFAULT_PAGE_INDEX;this._pageSize=i.numbers.DEFAULT_PAGE_SIZE;this._offset=0;this._total=i.numbers.DEFAULT_TOTAL;this._pageSizeOptions=i.numbers.DEFAULT_PAGE_SIZE_OPTIONS.map(e=>({label:`${e}`,value:`${e}`}));this._label=i.strings.DEFAULT_LABEL;this._firstLast=!1;this._first=!1;this._disabled=!1;this._alignment="space-between";this._pageSizeListener=t=>this._onPageSizeChanged(t),this._firstPageListener=t=>this._onFirstPage(t),this._previousPageListener=t=>this._onPreviousPage(t),this._nextPageListener=t=>this._onNextPage(t),this._lastPageListener=t=>this._onLastPage(t)}initialize(){this._updateRangeLabel(),this._adapter.setLabel(this._label),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.setPageSize(this._pageSize),this._attachListeners(),this._toggleFirstLastButtons(),this._syncInteractionState()}disconnect(){this._detachListeners()}focus(e){this._adapter.handleFocusMove(null,e)}_attachListeners(){this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.attachFirstPageListener(this._firstPageListener),this._adapter.attachPreviousPageListener(this._previousPageListener),this._adapter.attachNextPageListener(this._nextPageListener),this._adapter.attachLastPageListener(this._lastPageListener)}_detachListeners(){this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.detachFirstPageListener(this._firstPageListener),this._adapter.detachPreviousPageListener(this._previousPageListener),this._adapter.detachNextPageListener(this._nextPageListener),this._adapter.detachLastPageListener(this._lastPageListener)}_onFirstPage(e){if(e.stopPropagation(),!this._hasFirstPage())return;let t=0;this._emitChangeEvent(i.strings.FIRST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPreviousPage(e){if(e.stopPropagation(),!this._hasPreviousPage())return;let t=this._pageIndex-1;this._emitChangeEvent(i.strings.PREVIOUS_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onNextPage(e){if(e.stopPropagation(),!this._hasNextPage())return;let t=this._pageIndex+1;this._emitChangeEvent(i.strings.NEXT_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onLastPage(e){if(e.stopPropagation(),!this._hasLastPage())return;let t=this._getMaxPages();this._emitChangeEvent(i.strings.LAST_PAGE,{pageIndex:t})&&this._applyPageIndex(t)}_onPageSizeChanged(e){e.stopPropagation();let t=Number(e.detail);this._emitChangeEvent(i.strings.PAGE_SIZE,{pageIndex:0,pageSize:t})?(this._applyPageIndex(0),this._applyPageSize(t)):e.preventDefault()}_emitChangeEvent(e,{pageSize:t=this._pageSize,pageIndex:a=this._pageIndex}={}){let o=a*t,l={type:e,pageSize:t,pageIndex:a,offset:o};return this._adapter.emitHostEvent(i.events.CHANGE,l,!0,!0)}_getMaxPages(){return Math.ceil(this._total/this._pageSize)-1}_updateRangeLabel(){if(this.pageSize>1){let e=this._pageIndex*this._pageSize,a=(Math.floor(e/this._pageSize)||0)*this._pageSize+1,o=e<this._total?Math.min(e+this._pageSize,this._total):e+this._pageSize;this._rangeLabel=`${a}-${o} ${i.strings.RANGE_SEPARATOR_LABEL} ${this._total}`}else this._rangeLabel=`${this._pageIndex+1} ${i.strings.RANGE_SEPARATOR_LABEL} ${this._total}`;this._adapter.setRangeLabel(this._rangeLabel)}_syncInteractionState(){this._adapter.enableFirstPageButton(),this._adapter.enablePreviousPageButton(),this._adapter.enableNextPageButton(),this._adapter.enableLastPageButton(),this._hasFirstPage()||(this._adapter.hasFocus()&&this._adapter.handleFocusMove("first"),this._adapter.disableFirstPageButton()),this._hasPreviousPage()||(this._adapter.hasFocus()&&this._adapter.handleFocusMove("previous"),this._adapter.disablePreviousPageButton()),this._hasNextPage()||(this._adapter.hasFocus()&&this._adapter.handleFocusMove("next"),this._adapter.disableNextPageButton()),this._hasLastPage()||(this._adapter.hasFocus()&&this._adapter.handleFocusMove("last"),this._adapter.disableLastPageButton())}_toggleFirstLastButtons(){this._toggleFirstButton(),this._firstLast?this._adapter.hasLastPageButton()||this._adapter.showLastPageButton():this._adapter.hasLastPageButton()&&this._adapter.hideLastPageButton()}_toggleFirstButton(){this._first||this._firstLast?this._adapter.hasFirstPageButton()||this._adapter.showFirstPageButton():this._adapter.hasFirstPageButton()&&this._adapter.hideFirstPageButton()}_hasFirstPage(){return this._hasPreviousPage()}_hasPreviousPage(){return this._pageIndex>0&&this._pageSize>0}_hasNextPage(){let e=this._getMaxPages();return this._pageIndex<e&&this._pageSize>0}_hasLastPage(){return this._hasNextPage()}_computePageIndexFromOffset(e){e>=this._total&&(this._total>=this._pageSize?e=this._total-this._pageSize:e=0);let t=Math.min(Math.max(e,0),this._total),a=Math.floor(t/this._pageSize);this._applyPageIndex(a)}_computeOffset(){this._total>0&&(this._offset=this._pageIndex*this._pageSize)}_applyPageIndex(e){this._pageIndex=e,this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState(),this._adapter.toggleHostAttribute(i.attributes.PAGE_INDEX,this._pageIndex!=null,this._pageIndex.toString())}_applyPageSize(e){this._pageSize=e,this._adapter.setPageSize(this._pageSize),this._computeOffset(),this._updateRangeLabel(),this._syncInteractionState()}_applyTotal(e){this._total=e,this._updateRangeLabel(),this._offset>0&&this._total>0&&this._computePageIndexFromOffset(this._offset),this._syncInteractionState()}_applyAlternativeAlignment(){this._adapter.setHostAttribute(i.attributes.ALIGNMENT,this._alignment),this._adapter.setAlignment(this._alignment)}_applyDisabled(e){this._disabled=e,e?(this._adapter.disablePageSizeSelect(),this._adapter.disableFirstPageButton(),this._adapter.disablePreviousPageButton(),this._adapter.disableNextPageButton(),this._adapter.disableLastPageButton()):(this._adapter.enablePageSizeSelect(),this._syncInteractionState())}get pageIndex(){return this._pageIndex}set pageIndex(e){this._pageIndex!==e&&(h(e)?this._applyPageIndex(e):this._adapter.removeHostAttribute(i.attributes.PAGE_INDEX))}get pageSize(){return this._pageSize}set pageSize(e){this._pageSize!==e&&(this._applyPageSize(e),this._adapter.setHostAttribute(i.attributes.PAGE_SIZE,`${this._pageSize}`))}get offset(){return this._offset}set offset(e){this._offset!==e&&(this._offset=e,this._computePageIndexFromOffset(e))}get total(){return this._total}set total(e){this._total!==e&&(this._applyTotal(e),this._adapter.setHostAttribute(i.attributes.TOTAL,`${this._total}`))}get pageSizeOptions(){return this._pageSizeOptions.map(e=>Number(e.value))}set pageSizeOptions(e){if(E(e)){if(this._pageSizeOptions=e.map(t=>({label:t.toString(),value:t.toString()})).sort((t,a)=>d(t.value)-d(a.value)),this._adapter.setPageSizeOptions(this._pageSizeOptions),this._adapter.attachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!0),h(this._pageSize)&&this._pageSizeOptions.length&&!this._pageSizeOptions.find(t=>d(t.value)===this._pageSize)){let t=d(this._pageSizeOptions[0].value);this._applyPageSize(t)}}else e.toString().toLowerCase()==="false"&&(this._adapter.detachPageSizeChangeListener(this._pageSizeListener),this._adapter.setPageSizeVisibility(!1))}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._adapter.setLabel(this._label),this._adapter.setHostAttribute(i.attributes.LABEL,h(this._label)?this._label.toString():""))}get firstLast(){return this._firstLast}set firstLast(e){e=Boolean(e),this._firstLast!==e&&(this._firstLast=e,this._toggleFirstLastButtons(),this._adapter.toggleHostAttribute(i.attributes.FIRST_LAST,this._firstLast))}get first(){return this._first}set first(e){e=Boolean(e),this._first!==e&&(this._first=e,this._toggleFirstButton(),this._adapter.toggleHostAttribute(i.attributes.FIRST,this._first))}get disabled(){return this._disabled}set disabled(e){e=Boolean(e),this._disabled!==e&&(this._applyDisabled(e),this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get alternative(){return this._alternative}set alternative(e){e!==this._alternative&&(this._alternative=e,this._adapter.setAlternative(this._alternative),this._applyAlternativeAlignment(),this._adapter.toggleHostAttribute(i.attributes.ALTERNATIVE,this._alternative))}get alignment(){return this._alignment}set alignment(e){e!==this._alignment&&(this._alignment=e,this._applyAlternativeAlignment())}};var f=class extends B{constructor(t){super(t);this._labelElement=n(t,i.selectors.LABEL),this._root=n(t,i.selectors.ROOT),this._pageSizeSelect=n(t,i.selectors.PAGE_SIZE_SELECT),this._rangeLabel=n(t,i.selectors.RANGE_LABEL),this._rangeLabelAlternative=n(t,i.selectors.RANGE_LABEL_ALTERNATIVE),this._firstPageButton=n(t,i.selectors.FIRST_PAGE_BUTTON),this._firstPageIconButton=n(t,i.selectors.FIRST_PAGE_ICON_BUTTON),this._previousPageButton=n(t,i.selectors.PREVIOUS_PAGE_BUTTON),this._nextPageButton=n(t,i.selectors.NEXT_PAGE_BUTTON),this._lastPageButton=n(t,i.selectors.LAST_PAGE_BUTTON),this._lastPageIconButton=n(t,i.selectors.LAST_PAGE_ICON_BUTTON)}setLabel(t){this._labelElement.textContent=t}setPageSizeOptions(t){A(this._pageSizeSelect),this._pageSizeSelect.options=t}setPageSize(t){this._pageSizeSelect.value=t.toString()}setRangeLabel(t){this._rangeLabel.innerText=t,this._rangeLabelAlternative.innerText=t}hasFirstPageButton(){return!!n(this._component,i.selectors.FIRST_PAGE_ICON_BUTTON)}showFirstPageButton(){this._firstPagePlaceholder=_(this._component,!0,i.elementName,i.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hideFirstPageButton(){this._firstPagePlaceholder=_(this._component,!1,i.elementName,i.selectors.FIRST_PAGE_ICON_BUTTON,this._firstPageIconButton,this._firstPagePlaceholder)}hasLastPageButton(){return!!n(this._component,i.selectors.LAST_PAGE_ICON_BUTTON)}showLastPageButton(){this._lastPagePlaceholder=_(this._component,!0,i.elementName,i.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}hideLastPageButton(){this._lastPagePlaceholder=_(this._component,!1,i.elementName,i.selectors.LAST_PAGE_ICON_BUTTON,this._lastPageIconButton,this._lastPagePlaceholder)}attachPageSizeChangeListener(t){this._pageSizeSelect.addEventListener("change",t)}attachFirstPageListener(t){this._firstPageButton.addEventListener("click",t)}attachPreviousPageListener(t){this._previousPageButton.addEventListener("click",t)}attachNextPageListener(t){this._nextPageButton.addEventListener("click",t)}attachLastPageListener(t){this._lastPageButton.addEventListener("click",t)}detachPageSizeChangeListener(t){this._pageSizeSelect.removeEventListener("change",t)}detachFirstPageListener(t){this._firstPageButton.removeEventListener("click",t)}detachPreviousPageListener(t){this._previousPageButton.removeEventListener("click",t)}detachNextPageListener(t){this._nextPageButton.removeEventListener("click",t)}detachLastPageListener(t){this._lastPageButton.removeEventListener("click",t)}disableFirstPageButton(){this._firstPageButton.setAttribute("disabled","disabled")}enableFirstPageButton(){this._firstPageButton.removeAttribute("disabled")}disablePreviousPageButton(){this._previousPageButton.setAttribute("disabled","disabled")}enablePreviousPageButton(){this._previousPageButton.removeAttribute("disabled")}disableNextPageButton(){this._nextPageButton.setAttribute("disabled","disabled")}enableNextPageButton(){this._nextPageButton.removeAttribute("disabled")}disablePageSizeSelect(){this._pageSizeSelect.setAttribute("disabled","disabled")}enablePageSizeSelect(){this._pageSizeSelect.removeAttribute("disabled")}setPageSizeVisibility(t){t?this._pageSizeSelect.style.removeProperty("display"):this._pageSizeSelect.style.display="none"}disableLastPageButton(){this._lastPageButton.setAttribute("disabled","disabled")}enableLastPageButton(){this._lastPageButton.removeAttribute("disabled")}setAlternative(t){S(this._root,t,i.classes.ALTERNATIVE)}setAlignment(t){switch(L([i.classes.ALIGNMENT_SPACE_BETWEEN,i.classes.ALIGNMENT_START,i.classes.ALIGNMENT_END],this._root),t){case"start":u(i.classes.ALIGNMENT_START,this._root);break;case"end":u(i.classes.ALIGNMENT_END,this._root);break;case"space-between":default:u(i.classes.ALIGNMENT_SPACE_BETWEEN,this._root);break}}hasFocus(){return this._component.matches(":focus")}handleFocusMove(t,a){if(!(t&&!this.hasFocus()))switch(t){case"first":this._tryFocus([this._nextPageButton,this._lastPageButton,this._previousPageButton,this._pageSizeSelect],a);break;case"last":this._tryFocus([this._previousPageButton,this._firstPageButton,this._nextPageButton,this._pageSizeSelect],a);break;case"previous":this._tryFocus([this._nextPageButton,this._lastPageButton,this._firstPageButton,this._pageSizeSelect]);break;case"next":this._tryFocus([this._previousPageButton,this._firstPageButton,this._lastPageButton,this._pageSizeSelect],a);break;case"page-size":this._tryFocus([this._nextPageButton,this._lastPageButton,this._firstPageButton,this._previousPageButton],a);break;default:this._tryFocus([this._firstPageButton,this._previousPageButton,this._nextPageButton,this._lastPageButton,this._pageSizeSelect],a);break}}_tryFocus(t,a){let o=typeof(a==null?void 0:a.preventScroll)=="boolean"?a.preventScroll:!0;for(let l of t)if(l&&l.isConnected&&!l.disabled){l.focus(P(v({},a),{preventScroll:o}));return}}};var V='<template><div class="forge-paginator" part="root"><div class="forge-paginator__container" part="container"><div class="forge-paginator__label" part="label"></div><forge-select class="forge-paginator__page-size-options" aria-label="Choose page size" density="dense" part="page-size-options"></forge-select><div class="forge-paginator__range-label" part="range-label"></div><forge-icon-button class="forge-paginator__first-page" part="first-page-button"><button aria-label="First Page" part="first-page-button-element"><forge-icon name="first_page" part="first-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the first page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__previous-page" part="previous-page-button"><button aria-label="Previous Page" part="previous-page-button-element"><forge-icon name="keyboard_arrow_left" part="previous-page-button-icon"></forge-icon></button><forge-tooltip position="top">Go to the previous page</forge-tooltip></forge-icon-button><div class="forge-paginator__range-label--alternative" part="range-label-alternative"></div><forge-icon-button class="forge-paginator__next-page" part="next-page-button"><button aria-label="Next Page" part="next-page-button-element"><forge-icon name="keyboard_arrow_right" part="next-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the next page</forge-tooltip></forge-icon-button><forge-icon-button class="forge-paginator__last-page" part="last-page-button"><button aria-label="Last Page" part="last-page-button-element"><forge-icon name="last_page" part="last-page-icon"></forge-icon></button><forge-tooltip position="top">Go to the last page</forge-tooltip></forge-icon-button></div></div></template>',j='.forge-icon-button{display:-webkit-inline-box;display:inline-flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border:none;outline:0;background-color:transparent;fill:currentColor;color:inherit;font-size:24px;text-decoration:none;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:48px;height:48px;padding:12px}.forge-icon-button forge-icon,.forge-icon-button img,.forge-icon-button svg{width:24px;height:24px}.forge-icon-button:disabled{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-icon-button:disabled{cursor:default;pointer-events:none}.forge-icon-button__icon{display:inline-block}.forge-icon-button__icon.forge-icon-button__icon--on{display:none}.forge-icon-button--on .forge-icon-button__icon{display:none}.forge-icon-button--on .forge-icon-button__icon.forge-icon-button__icon--on{display:inline-block}@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.forge-icon-button{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity}.forge-icon-button::after,.forge-icon-button::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-icon-button::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-icon-button::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-icon-button.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-icon-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-icon-button.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-icon-button.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-icon-button::after,.forge-icon-button::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.forge-icon-button.mdc-ripple-upgraded::after,.forge-icon-button.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-icon-button::after,.forge-icon-button::before{background-color:#000;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-surface,#000))}.forge-icon-button.mdc-ripple-surface--hover::before,.forge-icon-button:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button.mdc-ripple-upgraded--background-focused::before,.forge-icon-button:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}forge-icon-button{position:relative;display:inline-block;overflow:visible}.forge-icon-button--on{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-icon-button--on::after,.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-icon-button--on.mdc-ripple-surface--hover::before,.forge-icon-button--on:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-icon-button--on.mdc-ripple-upgraded--background-focused::before,.forge-icon-button--on:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-icon-button--on:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-icon-button--on:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-icon-button--on.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-icon-button--on::before{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);opacity:.08}.forge-icon-button--dense{width:28px;height:28px;padding:2px;padding:0}.forge-icon-button--dense-1{width:44px;height:44px;padding:10px}.forge-icon-button--dense-2{width:40px;height:40px;padding:8px}.forge-icon-button--dense-3{width:36px;height:36px;padding:6px}.forge-icon-button--dense-4{width:32px;height:32px;padding:4px}.forge-icon-button--dense-5{width:28px;height:28px;padding:2px}.forge-icon-button--dense-6{width:24px;height:24px;padding:0}.forge-icon-button--with-badge forge-badge{z-index:1;z-index:var(--forge-z-index-surface,1);pointer-events:none;--forge-badge-max-width:32px;--forge-badge-border:1px solid transparent}.forge-icon-button--with-badge forge-badge[app-bar-context]{--forge-badge-border:2px solid var(--forge-app-bar-theme-background)}.forge-paginator{display:inline-block}.forge-paginator--alternative{display:-webkit-box;display:flex}.forge-paginator--alternative .forge-paginator__label,.forge-paginator--alternative .forge-paginator__page-size-options,.forge-paginator--alternative .forge-paginator__range-label{display:none}.forge-paginator--alternative .forge-paginator__range-label--alternative{display:inline-block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);margin:0 12px}.forge-paginator__range-label--alternative{display:none}.forge-paginator__container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center}.forge-paginator__label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:16px}.forge-paginator__page-size-options{margin-right:16px}.forge-paginator__range-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);margin-right:8px}.forge-paginator__first-page,.forge-paginator__last-page,.forge-paginator__next-page,.forge-paginator__previous-page{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}:host{display:inline-block}:host([hidden]){display:none}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__container{-webkit-box-pack:center;justify-content:center}:host([alternative]) .forge-paginator--alignment-center .forge-paginator__range-label--alternative{margin:0 auto}:host([alternative]) .forge-paginator--alignment-start .forge-paginator__container{-webkit-box-pack:start;justify-content:flex-start}:host([alternative]) .forge-paginator--alignment-end .forge-paginator__container{-webkit-box-pack:end;justify-content:flex-end}:host([alternative]) .forge-paginator .forge-paginator__container{-webkit-box-flex:1;flex:1}',r=class extends I{constructor(){super();G.define([z,O,F,k]),y(this,V,j),this._foundation=new b(new f(this))}static get observedAttributes(){return[i.attributes.PAGE_INDEX,i.attributes.PAGE_SIZE,i.attributes.OFFSET,i.attributes.TOTAL,i.attributes.PAGE_SIZE_OPTIONS,i.attributes.LABEL,i.attributes.FIRST_LAST,i.attributes.FIRST,i.attributes.DISABLED,i.attributes.ALTERNATIVE,i.attributes.ALIGNMENT]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,a,o){switch(t){case i.attributes.PAGE_INDEX:this.pageIndex=Number(o)||i.numbers.DEFAULT_PAGE_INDEX;break;case i.attributes.PAGE_SIZE:this.pageSize=Number(o)||i.numbers.DEFAULT_PAGE_SIZE;break;case i.attributes.OFFSET:this.offset=Number(o);break;case i.attributes.TOTAL:this.total=Number(o)||i.numbers.DEFAULT_TOTAL;break;case i.attributes.PAGE_SIZE_OPTIONS:this.pageSizeOptions=o;break;case i.attributes.LABEL:this.label=o;break;case i.attributes.FIRST_LAST:this.firstLast=c(o);break;case i.attributes.FIRST:this.first=c(o);break;case i.attributes.DISABLED:this.disabled=c(o);break;case i.attributes.ALTERNATIVE:this.alternative=c(o);break;case i.attributes.ALIGNMENT:this.alignment=o;break}}focus(t){this._foundation.focus(t)}};s([p()],r.prototype,"pageIndex",2),s([p()],r.prototype,"pageSize",2),s([p()],r.prototype,"offset",2),s([p()],r.prototype,"total",2),s([p()],r.prototype,"pageSizeOptions",2),s([p()],r.prototype,"label",2),s([p()],r.prototype,"firstLast",2),s([p()],r.prototype,"first",2),s([p()],r.prototype,"disabled",2),s([p()],r.prototype,"alternative",2),s([p()],r.prototype,"alignment",2),r=s([x({name:i.elementName,dependencies:[R,M,w,C]})],r);function St(){T(r)}export{i as a,b,f as c,r as d,St as e};
7
- //# sourceMappingURL=chunk.XY3WCDVX.js.map