@tylertech/forge 3.0.0-next.20 → 3.0.0-next.21

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 (80) hide show
  1. package/custom-elements.json +141 -309
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/autocomplete/index.js +1 -1
  4. package/dist/esm/button-area/index.js +1 -1
  5. package/dist/esm/chunks/{chunk.OFXSMOV6.js → chunk.5UGN5FYV.js} +2 -2
  6. package/dist/esm/chunks/{chunk.2N5KNNQX.js → chunk.5UZ2DEW3.js} +2 -2
  7. package/dist/esm/chunks/chunk.656X22EF.js +7 -0
  8. package/dist/esm/chunks/chunk.656X22EF.js.map +7 -0
  9. package/dist/esm/chunks/chunk.6JVMCBCR.js +7 -0
  10. package/dist/esm/chunks/{chunk.OT4AIOMN.js.map → chunk.6JVMCBCR.js.map} +3 -3
  11. package/dist/esm/chunks/{chunk.O56VP4OZ.js → chunk.A6BIUNPW.js} +2 -2
  12. package/dist/esm/chunks/{chunk.KEFJZO5K.js → chunk.BMQAVBWZ.js} +2 -2
  13. package/dist/esm/chunks/{chunk.KEFJZO5K.js.map → chunk.BMQAVBWZ.js.map} +1 -1
  14. package/dist/esm/chunks/{chunk.5S7XNYRQ.js → chunk.GL2H6QOP.js} +2 -2
  15. package/dist/esm/chunks/chunk.HMJODLAS.js +7 -0
  16. package/dist/esm/chunks/chunk.HMJODLAS.js.map +7 -0
  17. package/dist/esm/chunks/{chunk.ZAREP2QH.js → chunk.HYTFCFP6.js} +2 -2
  18. package/dist/esm/chunks/{chunk.TPNZYEC7.js → chunk.NIUX6DVF.js} +2 -2
  19. package/dist/esm/chunks/{chunk.VOTT5COZ.js → chunk.OSBNFFCI.js} +2 -2
  20. package/dist/esm/chunks/chunk.RJC42RNR.js +7 -0
  21. package/dist/esm/chunks/chunk.RJC42RNR.js.map +7 -0
  22. package/dist/esm/chunks/chunk.V7ILFIOR.js +7 -0
  23. package/dist/esm/chunks/chunk.V7ILFIOR.js.map +7 -0
  24. package/dist/esm/date-picker/index.js +1 -1
  25. package/dist/esm/date-range-picker/index.js +1 -1
  26. package/dist/esm/expansion-panel/index.js +1 -1
  27. package/dist/esm/field-next/index.js +1 -1
  28. package/dist/esm/index.js +1 -1
  29. package/dist/esm/split-view/index.js +1 -1
  30. package/dist/esm/split-view/split-view/index.js +1 -1
  31. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  32. package/dist/esm/stepper/index.js +1 -1
  33. package/dist/esm/stepper/step/index.js +1 -1
  34. package/dist/esm/stepper/stepper/index.js +1 -1
  35. package/dist/esm/table/index.js +1 -1
  36. package/dist/esm/text-field/index.js +1 -1
  37. package/dist/esm/time-picker/index.js +1 -1
  38. package/dist/forge.css +1 -1
  39. package/esm/button-area/button-area-foundation.js +2 -3
  40. package/esm/expansion-panel/expansion-panel-adapter.d.ts +13 -20
  41. package/esm/expansion-panel/expansion-panel-adapter.js +22 -159
  42. package/esm/expansion-panel/expansion-panel-constants.d.ts +16 -22
  43. package/esm/expansion-panel/expansion-panel-constants.js +16 -30
  44. package/esm/expansion-panel/expansion-panel-foundation.d.ts +14 -37
  45. package/esm/expansion-panel/expansion-panel-foundation.js +50 -117
  46. package/esm/expansion-panel/expansion-panel.d.ts +29 -32
  47. package/esm/expansion-panel/expansion-panel.js +32 -32
  48. package/esm/field-next/field.js +1 -1
  49. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  50. package/esm/stepper/step/step-adapter.js +2 -2
  51. package/esm/table/table-utils.js +5 -4
  52. package/package.json +1 -1
  53. package/styles/core/styles/tokens/expansion-panel/_tokens.scss +17 -0
  54. package/styles/expansion-panel/_core.scss +65 -0
  55. package/styles/expansion-panel/_token-utils.scss +30 -0
  56. package/styles/expansion-panel/expansion-panel.scss +83 -3
  57. package/styles/expansion-panel/index.scss +6 -0
  58. package/styles/field-next/_core.layout.scss +2 -6
  59. package/styles/field-next/_core.scss +2 -1
  60. package/styles/field-next/field.scss +0 -4
  61. package/styles/forge.scss +0 -1
  62. package/dist/esm/chunks/chunk.IZ63EJ32.js +0 -7
  63. package/dist/esm/chunks/chunk.IZ63EJ32.js.map +0 -7
  64. package/dist/esm/chunks/chunk.LGEZI5SZ.js +0 -7
  65. package/dist/esm/chunks/chunk.LGEZI5SZ.js.map +0 -7
  66. package/dist/esm/chunks/chunk.OT4AIOMN.js +0 -7
  67. package/dist/esm/chunks/chunk.SIGRWU4V.js +0 -7
  68. package/dist/esm/chunks/chunk.SIGRWU4V.js.map +0 -7
  69. package/dist/esm/chunks/chunk.USO2XVOI.js +0 -7
  70. package/dist/esm/chunks/chunk.USO2XVOI.js.map +0 -7
  71. package/dist/expansion-panel/forge-expansion-panel.css +0 -6
  72. package/styles/expansion-panel/_mixins.scss +0 -88
  73. package/styles/expansion-panel/forge-expansion-panel.scss +0 -16
  74. /package/dist/esm/chunks/{chunk.OFXSMOV6.js.map → chunk.5UGN5FYV.js.map} +0 -0
  75. /package/dist/esm/chunks/{chunk.2N5KNNQX.js.map → chunk.5UZ2DEW3.js.map} +0 -0
  76. /package/dist/esm/chunks/{chunk.O56VP4OZ.js.map → chunk.A6BIUNPW.js.map} +0 -0
  77. /package/dist/esm/chunks/{chunk.5S7XNYRQ.js.map → chunk.GL2H6QOP.js.map} +0 -0
  78. /package/dist/esm/chunks/{chunk.ZAREP2QH.js.map → chunk.HYTFCFP6.js.map} +0 -0
  79. /package/dist/esm/chunks/{chunk.TPNZYEC7.js.map → chunk.NIUX6DVF.js.map} +0 -0
  80. /package/dist/esm/chunks/{chunk.VOTT5COZ.js.map → chunk.OSBNFFCI.js.map} +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/field-next/field-constants.ts", "../../src/field-next/field-adapter.ts", "../../src/field-next/field-foundation.ts", "../../src/field-next/field.ts", "../../src/field-next/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\nimport { LABEL_CONSTANTS } from '../label';\nimport { BASE_FIELD_CONSTANTS } from './base/base-field-constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}field`;\n\nconst observedAttributes = {\n ...BASE_FIELD_CONSTANTS.observedAttributes,\n POPOVER_EXPANDED: 'popover-expanded',\n MULTILINE: 'multiline'\n};\n\nconst attributes = {\n ...observedAttributes,\n MULTI_INPUT_SEPARATOR: 'data-forge-multi-input-separator'\n};\n\nconst classes = {\n FLOATING_IN: 'forge-field--floating-in',\n FLOATING_OUT: 'forge-field--floating-out',\n HAS_LABEL: 'forge-field--has-label',\n HAS_START: 'forge-field--has-start',\n HAS_END: 'forge-field--has-end',\n HAS_ACCESSORY: 'forge-field--has-accessory',\n HAS_SUPPORT_START: 'forge-field--has-support-text-start',\n HAS_SUPPORT_END: 'forge-field--has-support-text-end',\n RESIZE_CONTAINER: 'resize-container'\n};\n\nconst selectors = {\n ROOT: '#root',\n CONTAINER: '#container',\n LABEL: '#label',\n POPOVER_ICON: '#popover-icon',\n RESIZE_CONTAINER: `.${classes.RESIZE_CONTAINER}`,\n LABEL_ELEMENTS: `:where(label, ${LABEL_CONSTANTS.elementName})`,\n POPOVER_TARGET: '.popover-target'\n};\n\nconst parts = {\n ROOT: 'root',\n LABEL: 'label',\n CONTAINER: 'container',\n START: 'start',\n INPUT: 'input',\n POPOVER_ICON: 'popover-icon',\n END: 'end',\n ACCESSORY: 'accessory',\n SUPPORT_TEXT: 'support-text',\n SUPPORT_TEXT_START: 'support-text-start',\n SUPPORT_TEXT_END: 'support-text-end',\n FOCUS_INDICATOR: 'focus-indicator'\n};\n\nconst events = {\n POPOVER_ICON_CLICK: `${elementName}-popover-icon-click`\n};\n\nconst defaults = {\n ...BASE_FIELD_CONSTANTS.defaults\n};\n\nconst animations = {\n FLOAT_IN_LABEL: 'float-in-label-animation',\n FLOAT_OUT_LABEL: 'float-out-label-animation'\n};\n\nexport const FIELD_CONSTANTS = {\n elementName,\n observedAttributes,\n attributes,\n classes,\n selectors,\n parts,\n events,\n defaults,\n animations\n};\n", "import { addClass, getShadowElement, removeClass, toggleClass } from '@tylertech/forge-core';\nimport { unwrapElements, wrapElements } from '../core';\nimport { BaseAdapter, IBaseAdapter } from '../core/base';\nimport { FOCUS_INDICATOR_CONSTANTS } from '../focus-indicator';\nimport { FieldLabelPosition } from './base/base-field-constants';\nimport { IFieldComponent } from './field';\nimport { FIELD_CONSTANTS } from './field-constants';\n\nexport interface IFieldAdapter extends IBaseAdapter {\n addRootListener(name: keyof HTMLElementEventMap, listener: EventListener): void;\n addPopoverIconClickListener(listener: EventListener): void;\n removePopoverIconClickListener(listener: EventListener): void;\n attachResizeContainer(): void;\n removeResizeContainer(): void;\n setLabelPosition(value: FieldLabelPosition): void;\n setFloatingLabel(value: boolean, skipAnimation?: boolean): void;\n handleSlotChange(slot: HTMLSlotElement): void;\n}\n\nexport class FieldAdapter extends BaseAdapter<IFieldComponent> implements IFieldAdapter {\n private readonly _rootElement: HTMLElement;\n private readonly _containerElement: HTMLElement;\n private readonly _labelElement: HTMLElement;\n private readonly _popoverIconElement: HTMLElement;\n\n private get _resizeContainerElement(): HTMLElement | null {\n return this._containerElement.querySelector(FIELD_CONSTANTS.selectors.RESIZE_CONTAINER) as HTMLElement | null;\n }\n\n constructor(component: IFieldComponent) {\n super(component);\n this._rootElement = getShadowElement(component, FIELD_CONSTANTS.selectors.ROOT);\n this._containerElement = getShadowElement(component, FIELD_CONSTANTS.selectors.CONTAINER);\n this._labelElement = getShadowElement(component, FIELD_CONSTANTS.selectors.LABEL);\n this._popoverIconElement = getShadowElement(component, FIELD_CONSTANTS.selectors.POPOVER_ICON);\n }\n\n public addRootListener(name: keyof HTMLElementEventMap, listener: EventListener): void {\n this._rootElement.addEventListener(name, listener);\n }\n\n public addPopoverIconClickListener(listener: EventListener): void {\n this._popoverIconElement.addEventListener('click', listener);\n }\n\n public removePopoverIconClickListener(listener: EventListener): void {\n this._popoverIconElement.removeEventListener('click', listener);\n }\n\n /**\n * Wraps the container's children in a resizable div.\n */\n public attachResizeContainer(): void {\n // Return if a resize container is already attached\n if (this._resizeContainerElement) {\n return;\n }\n\n const resizeContainer = document.createElement('div');\n resizeContainer.classList.add(FIELD_CONSTANTS.classes.RESIZE_CONTAINER);\n\n const childElements = Array.from(this._containerElement.children) as HTMLElement[];\n wrapElements(childElements, resizeContainer, [FOCUS_INDICATOR_CONSTANTS.elementName]);\n }\n\n /**\n * Removes the resize container while retaining its children as direct children of the container.\n */\n public removeResizeContainer(): void {\n const resizeContainerElement = this._resizeContainerElement;\n\n if (resizeContainerElement) {\n unwrapElements(resizeContainerElement);\n }\n }\n\n /**\n * Moves the label to the start or end of the root element, ensuring that the DOM order matches\n * the visual order.\n */\n public setLabelPosition(value: FieldLabelPosition): void {\n this._labelElement.remove();\n\n if (value === 'inline-end') {\n this._rootElement.append(this._labelElement);\n } else if (value === 'inset') {\n const resizeContainerElement = this._resizeContainerElement;\n\n if (resizeContainerElement) {\n resizeContainerElement.prepend(this._labelElement);\n return;\n }\n this._containerElement.prepend(this._labelElement);\n } else {\n this._rootElement.prepend(this._labelElement);\n }\n }\n\n /**\n * Adds or removes animation classes on the root element.\n */\n public setFloatingLabel(value: boolean, skipAnimation = false): void {\n if (skipAnimation) {\n return;\n }\n\n const className = value ? FIELD_CONSTANTS.classes.FLOATING_IN : FIELD_CONSTANTS.classes.FLOATING_OUT;\n const animationName = value ? FIELD_CONSTANTS.animations.FLOAT_IN_LABEL : FIELD_CONSTANTS.animations.FLOAT_OUT_LABEL;\n const animationEndListener: EventListener = (evt: AnimationEvent) => {\n if (evt.animationName === animationName) {\n removeClass(className, this._rootElement);\n this._rootElement.removeEventListener('animationend', animationEndListener);\n }\n };\n\n addClass(className, this._rootElement);\n this._rootElement.addEventListener('animationend', animationEndListener);\n }\n\n /**\n * Adds or removes a class from the root element indicating whether the slot has any assigned\n * nodes.\n */\n public handleSlotChange(slot: HTMLSlotElement): void {\n if (slot.name === '') {\n this._trySlotLabel(slot);\n return;\n }\n\n // Ensure that the slot belongs to the field\n const slotElement = getShadowElement(this._component, `slot[name=${slot.name}]`) as HTMLSlotElement | undefined;\n if (!slotElement) {\n return;\n }\n\n const classMap = {\n label: FIELD_CONSTANTS.classes.HAS_LABEL,\n start: FIELD_CONSTANTS.classes.HAS_START,\n end: FIELD_CONSTANTS.classes.HAS_END,\n accessory: FIELD_CONSTANTS.classes.HAS_ACCESSORY,\n 'support-text-start': FIELD_CONSTANTS.classes.HAS_SUPPORT_START,\n 'support-text-end': FIELD_CONSTANTS.classes.HAS_SUPPORT_END\n };\n if (slot.name in classMap) {\n toggleClass(this._rootElement, !!slotElement.assignedNodes({ flatten: true }).length, classMap[slot.name]);\n }\n }\n\n /**\n * Gets `<label>` and `<forge-label>` elements from the default slot and assigns them to the\n * 'label' slot.\n */\n private _trySlotLabel(slot: HTMLSlotElement): void {\n const elements = slot.assignedElements({ flatten: true });\n const labels = elements.filter(el => el.matches(FIELD_CONSTANTS.selectors.LABEL_ELEMENTS));\n \n labels.forEach(label => {\n if (label.slot) {\n return;\n }\n label.slot = 'label';\n });\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { FieldDensity, FieldLabelAlignment, FieldLabelPosition, FieldShape, FieldSupportTextInset, FieldTheme, FieldVariant } from './base/base-field-constants';\nimport { IFieldAdapter } from './field-adapter';\nimport { FIELD_CONSTANTS } from './field-constants';\n\nexport interface IFieldFoundation extends ICustomElementFoundation {\n labelPosition: FieldLabelPosition;\n labelAlignment: FieldLabelAlignment;\n floatLabel: boolean;\n invalid: boolean;\n required: boolean;\n optional: boolean;\n disabled: boolean;\n variant: FieldVariant;\n theme: FieldTheme;\n shape: FieldShape;\n density: FieldDensity;\n dense: boolean;\n popoverIcon: boolean;\n popoverExpanded: boolean;\n multiline: boolean;\n supportTextInset: FieldSupportTextInset;\n initialize(): void;\n floatLabelWithoutAnimation(value: boolean): void;\n}\n\nexport class FieldFoundation implements IFieldFoundation {\n private _labelPosition: FieldLabelPosition = FIELD_CONSTANTS.defaults.DEFAULT_LABEL_POSITION;\n private _labelAlignment: FieldLabelAlignment = FIELD_CONSTANTS.defaults.DEFAULT_LABEL_ALIGNMENT;\n private _floatLabel = false;\n private _invalid = false;\n private _required = false;\n private _optional = false;\n private _disabled = false;\n private _variant: FieldVariant = FIELD_CONSTANTS.defaults.DEFAULT_VARIANT;\n private _theme: FieldTheme = FIELD_CONSTANTS.defaults.DEFAULT_THEME;\n private _shape: FieldShape = FIELD_CONSTANTS.defaults.DEFAULT_SHAPE;\n private _density: FieldDensity = FIELD_CONSTANTS.defaults.DEFAULT_DENSITY;\n private _dense = false;\n private _popoverIcon = false;\n private _popoverExpanded = false;\n private _multiline = false;\n private _supportTextInset: FieldSupportTextInset = FIELD_CONSTANTS.defaults.DEFAULT_SUPPORT_TEXT_INSET;\n\n private _slotChangeListener: EventListener = this._onSlotChange.bind(this);\n private _popoverIconClickListener: EventListener = this._onPopoverIconClick.bind(this);\n\n constructor(private _adapter: IFieldAdapter) {}\n\n public initialize(): void {\n this._adapter.addRootListener('slotchange', this._slotChangeListener);\n this._adapter.setLabelPosition(this._labelPosition);\n\n if (this._popoverIcon) {\n this._adapter.addPopoverIconClickListener(this._popoverIconClickListener);\n }\n if (this._multiline) {\n this._adapter.attachResizeContainer();\n }\n }\n\n private _onSlotChange(evt: Event): void {\n this._adapter.handleSlotChange(evt.target as HTMLSlotElement);\n }\n\n private _onPopoverIconClick(): void {\n this._adapter.emitHostEvent(FIELD_CONSTANTS.events.POPOVER_ICON_CLICK);\n }\n\n public floatLabelWithoutAnimation(value: boolean): void {\n if (this._floatLabel !== value) {\n this._floatLabel = value;\n this._adapter.setFloatingLabel(this._floatLabel, true);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL, this._floatLabel);\n }\n };\n\n public get labelPosition(): FieldLabelPosition {\n return this._labelPosition;\n }\n public set labelPosition(value: FieldLabelPosition) {\n if (this._labelPosition !== value) {\n this._labelPosition = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.LABEL_POSITION, this._labelPosition);\n\n if (!this._adapter.isConnected) {\n return;\n }\n\n this._adapter.setLabelPosition(this._labelPosition);\n }\n }\n\n public get labelAlignment(): FieldLabelAlignment {\n return this._labelAlignment;\n }\n public set labelAlignment(value: FieldLabelAlignment) {\n if (this._labelAlignment !== value) {\n this._labelAlignment = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.LABEL_ALIGNMENT, this._labelAlignment);\n }\n }\n\n public get floatLabel(): boolean {\n return this._floatLabel;\n }\n public set floatLabel(value: boolean) {\n if (this._floatLabel !== value) {\n this._floatLabel = value;\n this._adapter.setFloatingLabel(this._floatLabel);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL, this._floatLabel);\n }\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.INVALID, this._invalid);\n }\n }\n\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n public get optional(): boolean {\n return this._optional;\n }\n public set optional(value: boolean) {\n if (this._optional !== value) {\n this._optional = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.OPTIONAL, this._optional);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n public get variant(): FieldVariant {\n return this._variant;\n }\n public set variant(value: FieldVariant) {\n if (this._variant !== value) {\n this._variant = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.VARIANT, this._variant);\n }\n }\n\n public get theme(): FieldTheme {\n return this._theme;\n }\n public set theme(value: FieldTheme) {\n if (this._theme !== value) {\n this._theme = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.THEME, this._theme);\n }\n }\n\n public get shape(): FieldShape {\n return this._shape;\n }\n public set shape(value: FieldShape) {\n if (this._shape !== value) {\n this._shape = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n public get density(): FieldDensity {\n return this._density;\n }\n public set density(value: FieldDensity) {\n if (this._density !== value) {\n this._density = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density);\n }\n }\n\n // `dense` takes precedence over `density`\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.DENSE, this._dense);\n }\n }\n\n public get popoverIcon(): boolean {\n return this._popoverIcon;\n }\n public set popoverIcon(value: boolean) {\n if (this._popoverIcon !== value) {\n this._popoverIcon = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.POPOVER_ICON, this._popoverIcon);\n\n if (!this._adapter.isConnected) {\n return;\n }\n\n if (this._popoverIcon) {\n this._adapter.addPopoverIconClickListener(this._popoverIconClickListener);\n } else {\n this._adapter.removePopoverIconClickListener(this._popoverIconClickListener);\n }\n }\n }\n\n public get popoverExpanded(): boolean {\n return this._popoverExpanded;\n }\n public set popoverExpanded(value: boolean) {\n if (this._popoverExpanded !== value) {\n this._popoverExpanded = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.POPOVER_EXPANDED, this._popoverExpanded);\n }\n }\n\n public get multiline(): boolean {\n return this._multiline;\n }\n public set multiline(value: boolean) {\n if (this._multiline !== value) {\n this._multiline = value;\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.MULTILINE, this._multiline);\n\n if (!this._adapter.isConnected) {\n return;\n }\n\n if (this._multiline) {\n this._adapter.attachResizeContainer();\n } else {\n this._adapter.removeResizeContainer();\n }\n }\n }\n\n public get supportTextInset(): FieldSupportTextInset {\n return this._supportTextInset;\n }\n public set supportTextInset(value: FieldSupportTextInset) {\n if (this._supportTextInset !== value) {\n this._supportTextInset = value;\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SUPPORT_TEXT_INSET, this._supportTextInset);\n }\n }\n}\n", "import { attachShadowTemplate, coerceBoolean, CustomElement, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core';\nimport { FocusIndicatorComponent } from '../focus-indicator';\nimport { FieldDensity, FieldLabelAlignment, FieldLabelPosition, FieldShape, FieldSupportTextInset, FieldTheme, FieldVariant } from './base/base-field-constants';\nimport { FieldAdapter } from './field-adapter';\nimport { FIELD_CONSTANTS } from './field-constants';\nimport { FieldFoundation } from './field-foundation';\n\nconst template = '<template><div id=\\\"root\\\" class=\\\"forge-field\\\" part=\\\"root\\\"><div id=\\\"label\\\" class=\\\"label\\\" part=\\\"label\\\"><slot name=\\\"label\\\"></slot></div><div id=\\\"container\\\" class=\\\"container\\\" part=\\\"container\\\"><div id=\\\"start\\\" class=\\\"start\\\" part=\\\"start\\\"><slot name=\\\"start\\\"></slot></div><div id=\\\"input\\\" class=\\\"input\\\" part=\\\"input\\\"><slot></slot><div class=\\\"popover-target\\\"></div></div><div id=\\\"end\\\" class=\\\"end\\\" part=\\\"end\\\"><slot name=\\\"end\\\"></slot></div><div id=\\\"popover-icon\\\" class=\\\"popover-icon\\\" part=\\\"popover-icon\\\"><svg xmlns=\\\"http://www.w3.org/2000/svg\\\" height=\\\"24\\\" viewBox=\\\"0 0 24 24\\\" width=\\\"24\\\"><path d=\\\"M0 0h24v24H0z\\\" fill=\\\"none\\\"/><path d=\\\"M7 10l5 5 5-5z\\\" id=\\\"popover-icon__arrow\\\"/></svg></div><div id=\\\"accessory\\\" class=\\\"accessory\\\" part=\\\"accessory\\\"><slot name=\\\"accessory\\\"></slot></div><forge-focus-indicator target=\\\"input\\\" part=\\\"focus-indicator\\\"></forge-focus-indicator></div><div class=\\\"support-text\\\" part=\\\"support-text\\\"><div class=\\\"support-text-start\\\" part=\\\"support-text-start\\\"><slot name=\\\"support-text-start\\\"></slot></div><div class=\\\"support-text-end\\\" part=\\\"support-text-end\\\"><slot name=\\\"support-text-end\\\"></slot></div></div></div></template>';\nconst styles = '@-webkit-keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@keyframes float-in-label-animation{from{translate:0;opacity:40%}to{translate:var(--_field-floating-label-translation);opacity:100%}}@-webkit-keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@keyframes float-out-label-animation{from{translate:var(--_field-floating-label-translation);opacity:40%}to{translate:0;opacity:100%}}@-webkit-keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@keyframes float-in-input-animation{from{translate:0}to{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}}@-webkit-keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@keyframes float-out-input-animation{from{translate:0 calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8))}to{translate:0}}@-webkit-keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}@keyframes resize-container-inset-label-background-animation{from{opacity:0%}to{opacity:100%}}:host([hidden]){display:none}@layer base{.forge-field{--_field-text-color:var(--forge-field-text-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_field-label-margin-inline:var(--forge-field-label-margin-inline, 8px);--_field-label-margin-block:var(--forge-field-label-margin-block, 4px);--_field-label-gap:var(--forge-field-label-gap, 0.25em);--_field-container-padding-inline:var(--forge-field-container-padding-inline, 12px);--_field-container-padding-inline-start:var(--forge-field-container-padding-inline-start, var(--_field-container-padding-inline));--_field-container-padding-inline-end:var(--forge-field-container-padding-inline-end, var(--_field-container-padding-inline));--_field-container-gap:var(--forge-field-container-gap, 8px);--_field-start-padding-inline-end:var(--forge-field-start-padding-inline-end, var(--_field-container-gap));--_field-end-padding-inline-start:var(--forge-field-end-padding-inline-start, var(--_field-container-gap));--_field-end-padding-inline-end:var(--forge-field-end-padding-inline-end, var(--_field-container-gap));--_field-popover-icon-padding-inline-start:var(--forge-field-popover-icon-padding-inline-start, var(--_field-container-gap));--_field-popover-icon-padding-inline-end:var(--forge-field-popover-icon-padding-inline-end, var(--_field-container-gap));--_field-accessory-padding-inline:var(--forge-field-accessory-padding-inline, var(--_field-container-gap));--_field-accessory-padding-inline-start:var(--forge-field-accessory-padding-inline-start, var(--_field-accessory-padding-inline));--_field-accessory-padding-inline-end:var(--forge-field-accessory-padding-inline-end, var(--_field-accessory-padding-inline));--_field-support-text-margin-block:var(--forge-field-support-text-margin-block, 4px);--_field-support-text-gap:var(--forge-field-support-text-gap, 8px);--_field-support-text-padding-inline:var(--forge-field-support-text-padding-inline, var(--_field-container-padding-inline));--_field-support-text-padding-inline-start:var(--forge-field-support-text-padding-inline-start, var(--_field-support-text-padding-inline));--_field-support-text-padding-inline-end:var(--forge-field-support-text-padding-inline-end, var(--_field-support-text-padding-inline));--_field-rounded-container-padding-inline:var(--forge-field-rounded-container-padding-inline, calc(var(--_field-height) / 2));--_field-rounded-container-padding-inline-start:var(--forge-field-rounded-container-padding-inline-start, var(--_field-rounded-container-padding-inline));--_field-rounded-container-padding-inline-end:var(--forge-field-rounded-container-padding-inline-end, var(--_field-rounded-container-padding-inline));--_field-height:var(--forge-field-height);--_field-height-extra-small:var(--forge-field-height-extra-small, 24px);--_field-height-small:var(--forge-field-height-small, 32px);--_field-height-medium:var(--forge-field-height-medium, 40px);--_field-height-large:var(--forge-field-height-large, 48px);--_field-height-extra-large:var(--forge-field-height-extra-large, 56px);--_field-inset-height-extra-small:var(--forge-field-inset-height-extra-small, var(--_field-inset-height-small));--_field-inset-height-small:var(--forge-field-inset-height-small, 40px);--_field-inset-height-medium:var(--forge-field-inset-height-medium, 48px);--_field-inset-height-large:var(--forge-field-inset-height-large, 56px);--_field-inset-height-extra-large:var(--forge-field-inset-height-extra-large, 64px);--_field-shape:var(--forge-field-shape, var(--forge-shape-medium, 4px));--_field-border-style:var(--forge-field-border-style, solid);--_field-border-width:var(--forge-field-border-width, var(--forge-border-thin, 1px));--_field-border-color:var(--forge-field-border-color, var(--forge-theme-outline-medium, #757575));--_field-tonal-inner-border-color:var(--forge-field-tonal-inner-border-color, var(--forge-theme-outline-low, #9e9e9e));--_field-inner-border-block-size:var(--forge-field-inner-border-block-size, calc(100% - 8px));--_field-label-color:var(--forge-field-label-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_field-inset-label-color:var(--forge-field-inset-label-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_field-hover-border-style:var(--forge-field-hover-border-style, var(--_field-border-style));--_field-hover-border-width:var(--forge-field-hover-border-width, var(--_field-border-width));--_field-hover-border-color:var(--forge-field-hover-border-color, var(--forge-theme-outline-high, #212121));--_field-invalid-color:var(--forge-field-invalid-color, var(--forge-theme-error, #b00020));--_field-invalid-border-style:var(--forge-field-invalid-border-style, var(--_field-border-style));--_field-invalid-border-color:var(--forge-field-invalid-border-color, var(--_field-invalid-color));--_field-invalid-border-width:var(--forge-field-invalid-border-width, var(--_field-border-width));--_field-invalid-border-color-hover:var(--forge-field-invalid-border-color-hover, var(--forge-theme-error-container-high, #e19eaa));--_field-invalid-surface-color:var(--forge-field-invalid-surface-color, var(--forge-theme-error-container-low, #f6e0e4));--_field-invalid-surface-color-hover:var(--forge-field-invalid-surface-color-hover, var(--forge-theme-error-container-minimum, #fcf5f6));--_field-invalid-label-color:var(--forge-field-invalid-label-color, var(--_field-invalid-color));--_field-invalid-on-surface-color:var(--forge-field-invalid-on-surface-color, var(--forge-theme-on-error-container-low, #5f0011));--_field-invalid-inset-label-on-surface-color:var(--forge-field-invalid-inset-label-on-surface-color, var(--_field-invalid-on-surface-color));--_field-plain-container-padding-inline:var(--forge-field-plain-container-padding-inline, 0);--_field-tonal-surface-color:var(--forge-field-tonal-surface-color, var(--forge-theme-surface-container-low, #ebebeb));--_field-tonal-on-surface-color:var(--forge-field-tonal-on-surface-color, var(--forge-theme-on-surface-container-low, #000000));--_field-tonal-hover-color:var(--forge-field-tonal-hover-color, var(--forge-theme-surface-container-minimum, whitesmoke));--_field-filled-surface-color:var(--forge-field-filled-surface-color, var(--forge-theme-surface-bright, #ffffff));--_field-filled-on-surface-color:var(--forge-field-filled-on-surface-color, var(--forge-theme-on-surface, #000000));--_field-raised-elevation:var(--forge-field-raised-elevation, 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12));--_field-raised-active-elevation:var(--forge-field-raised-active-elevation, 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12));--_field-raised-surface-color:var(--forge-field-raised-surface-color, var(--_field-filled-surface-color));--_field-raised-on-surface-color:var(--forge-field-raised-on-surface-color, var(--_field-filled-on-surface-color));--_field-required-content:var(--forge-field-required-content, \\\"*\\\");--_field-required-color:var(--forge-field-required-color, var(--forge-theme-error, #b00020));--_field-optional-content:var(--forge-field-optional-content, \\\"(optional)\\\");--_field-optional-color:var(--forge-field-optional-color, inherit);--_field-popover-icon-transition-duration:var(--forge-field-popover-icon-transition-duration, var(--forge-animation-duration-short3, 150ms));--_field-popover-icon-transition-timing:var(--forge-field-popover-icon-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_field-popover-icon-open-rotation:var(--forge-field-popover-icon-open-rotation, 180deg);--_field-multiline-resize:var(--forge-field-multiline-resize, vertical);--_field-multiline-min-inline-size:var(--forge-field-multiline-min-inline-size, initial);--_field-multiline-max-inline-size:var(--forge-field-multiline-max-inline-size, initial);--_field-multiline-min-block-size:var(--forge-field-multiline-min-block-size, initial);--_field-multiline-max-block-size:var(--forge-field-multiline-max-block-size, initial);--_field-disabled-opacity:var(--forge-field-disabled-opacity, 0.38);--_field-disabled-surface-color:var(--forge-field-disabled-surface-color, var(--forge-theme-surface-container-low, #ebebeb));--_field-disabled-border-color:var(--forge-field-disabled-border-color, var(--forge-theme-outline-medium, #757575));--_field-disabled-text-color:var(--forge-field-disabled-text-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_field-disabled-inset-label-color:var(--forge-field-disabled-inset-label-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_field-container-animation-duration:var(--forge-field-container-animation-duration, var(--forge-animation-duration-short4, 200ms));--_field-container-animation-timing:var(--forge-field-container-animation-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_field-floating-animation-duration:var(--forge-field-floating-animation-duration, var(--forge-animation-duration-short4, 200ms));--_field-floating-animation-timing:var(--forge-field-floating-animation-timing, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_field-focus-indicator-width:var(--forge-field-focus-indicator-width, var(--forge-focus-indicator-width, var(--forge-border-medium, 2px)))}.forge-field{--_field-input-color:var(--forge-field-input-color, var(--_field-text-color));--_field-main-content-padding-start:var(--forge-field-main-content-padding-start, var(--_field-container-padding-inline-start));--_field-main-content-padding-end:var(--forge-field-main-content-padding-end, var(--_field-container-padding-inline-end));display:grid;position:relative;isolation:isolate}.forge-field .container{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);-webkit-box-sizing:border-box;box-sizing:border-box;grid-area:container;-webkit-box-align:center;align-items:center;border-radius:var(--_field-shape);inline-size:100%;block-size:var(--_field-height);display:grid;position:relative;-webkit-box-flex:1;flex-grow:1;grid-template-areas:\\\"start center end popover-icon accessory\\\";grid-template-columns:auto 1fr auto auto auto}.forge-field .container::before{position:absolute;-webkit-transition-duration:var(--_field-container-animation-duration);transition-duration:var(--_field-container-animation-duration);-webkit-transition-property:background,outline-color;transition-property:background,outline-color;-webkit-transition-timing-function:var(--_field-container-animation-timing);transition-timing-function:var(--_field-container-animation-timing);border-radius:inherit;pointer-events:none;inline-size:100%;block-size:100%;content:\\\"\\\"}.forge-field .input{display:-webkit-box;display:flex;grid-area:center;z-index:1;block-size:100%;inline-size:100%;color:var(--_field-input-color)}.forge-field .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .8125)));font-weight:var(--forge-typography-label2-font-weight,400);line-height:var(--forge-typography-label2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label2-letter-spacing, .0096153846em);text-transform:var(--forge-typography-label2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label2-text-decoration,inherit);text-decoration:var(--forge-typography-label2-text-decoration,inherit);display:-webkit-inline-box;display:inline-flex;position:relative;gap:var(--_field-label-gap);grid-area:label;block-size:-webkit-fit-content;block-size:-moz-fit-content;block-size:fit-content;color:var(--_field-label-color)}.forge-field .popover-target{position:absolute;bottom:calc(var(--_field-focus-indicator-width) * -1);left:0;right:0}.forge-field .popover-icon{display:none}.forge-field .popover-icon__arrow{fill:inherit}.forge-field .accessory,.forge-field .end,.forge-field .start,.forge-field .support-text,.forge-field .support-text-end,.forge-field .support-text-start{display:none}}:host([popover-icon]) .popover-icon{isolation:isolate;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;grid-area:popover-icon;block-size:100%;-webkit-padding-end:var(--_field-popover-icon-padding-inline-end);padding-inline-end:var(--_field-popover-icon-padding-inline-end)}:host([popover-icon]) .popover-icon>*{-webkit-transition:rotate var(--_field-popover-icon-transition-duration) var(--_field-popover-icon-transition-timing);transition:rotate var(--_field-popover-icon-transition-duration) var(--_field-popover-icon-transition-timing)}:host([popover-icon][popover-expanded]) .popover-icon>*{rotate:var(--_field-popover-icon-open-rotation)}.forge-field--has-start .start{display:-webkit-box;display:flex;grid-area:start;-webkit-box-align:center;align-items:center;-webkit-padding-start:var(--_field-container-padding-inline-start);padding-inline-start:var(--_field-container-padding-inline-start)}.forge-field--has-end .end{display:-webkit-box;display:flex;grid-area:end;-webkit-box-align:center;align-items:center;-webkit-padding-end:var(--_field-end-padding-inline-end);padding-inline-end:var(--_field-end-padding-inline-end)}.forge-field--has-accessory .accessory{position:relative;-webkit-box-align:center;align-items:center;display:-webkit-box;display:flex;grid-area:accessory;block-size:100%;-webkit-padding-end:var(--_field-accessory-padding-inline-end);padding-inline-end:var(--_field-accessory-padding-inline-end)}.forge-field--has-accessory .accessory::before{-webkit-transition-duration:var(--_field-container-animation-duration);transition-duration:var(--_field-container-animation-duration);-webkit-transition-property:border-color;transition-property:border-color;-webkit-transition-timing-function:var(--_field-container-animation-timing);transition-timing-function:var(--_field-container-animation-timing);border-inline-start-style:var(--_field-border-style);border-inline-start-width:var(--_field-border-width);border-inline-start-color:var(--_field-inner-border-color);-webkit-padding-end:var(--_field-accessory-padding-inline-start);padding-inline-end:var(--_field-accessory-padding-inline-start);block-size:100%;content:\\\"\\\"}.forge-field:not(.forge-field--has-accessory) .popover-icon{-webkit-padding-end:var(--_field-container-padding-inline-end);padding-inline-end:var(--_field-container-padding-inline-end)}.forge-field--has-support-text-end .support-text,.forge-field--has-support-text-start .support-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label1-text-decoration,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit);-webkit-box-pack:justify;justify-content:space-between;display:grid;grid-template-areas:\\\"start end\\\";grid-template-columns:1fr auto;grid-area:support-text;-webkit-margin-before:var(--_field-support-text-margin-block);margin-block-start:var(--_field-support-text-margin-block);line-height:normal}.forge-field--has-support-text-start.forge-field--has-support-text-end .support-text{gap:var(--_field-support-text-gap)}.forge-field--has-support-text-start .support-text-start{display:inline-block;grid-area:start}.forge-field--has-support-text-end .support-text-end{display:inline-block;grid-area:end}:host(:not([popover-icon])) .forge-field:not(.forge-field--has-accessory) .end{-webkit-padding-end:var(--_field-container-padding-inline-end);padding-inline-end:var(--_field-container-padding-inline-end)}:host([variant=plain]) .forge-field--has-accessory .accessory::before{border-inline-start-style:none}:host([variant=tonal]) .forge-field--has-accessory .accessory{block-size:var(--_field-inner-border-block-size)}:host([variant=raised]) .forge-field--has-accessory .accessory{block-size:var(--_field-inner-border-block-size)}@layer label{:host([label-position=block-start]) .forge-field{grid-template-areas:\\\"label\\\" \\\"container\\\" \\\"support-text\\\";grid-template-columns:1fr;grid-template-rows:auto auto auto}:host([label-position=block-start]) .forge-field .label{-webkit-margin-after:var(--_field-label-margin-block);margin-block-end:var(--_field-label-margin-block);line-height:normal}:host([label-position=inline-start]) .forge-field{grid-template-areas:\\\"label container\\\" \\\". support-text\\\";grid-template-columns:auto 1fr;grid-template-rows:auto auto}:host([label-position=inline-start]) .forge-field .label{-webkit-margin-end:var(--_field-label-margin-inline);margin-inline-end:var(--_field-label-margin-inline);line-height:normal}:host([label-position=inline-end]) .forge-field{grid-template-areas:\\\"container label\\\" \\\"support-text .\\\";grid-template-columns:1fr auto;grid-template-rows:auto auto}:host([label-position=inline-end]) .forge-field .label{-webkit-margin-start:var(--_field-label-margin-inline);margin-inline-start:var(--_field-label-margin-inline);line-height:normal}:host(:where([label-position=inset],:not([label-position]))) .forge-field{grid-template-areas:\\\"container\\\" \\\"support-text\\\";grid-template-columns:1fr;grid-template-rows:auto auto}:host(:where([label-position=inset],:not([label-position]))) .forge-field .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-body2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, 1)));font-weight:var(--forge-typography-body2-font-weight,400);line-height:var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375)));letter-spacing:var(--forge-typography-body2-letter-spacing, .015625em);text-transform:var(--forge-typography-body2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-body2-text-decoration,inherit);text-decoration:var(--forge-typography-body2-text-decoration,inherit);--_field-label-color:var(--_field-inset-label-color);overflow:hidden;grid-area:center;-webkit-padding-start:var(--_field-main-content-padding-start);padding-inline-start:var(--_field-main-content-padding-start);-webkit-padding-end:var(--_field-main-content-padding-end);padding-inline-end:var(--_field-main-content-padding-end);white-space:nowrap;--_field-floating-label-translation:var(--forge-field-floating-label-translation, 0 calc(calc(calc(max(var(--forge-typography-body2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.375))), var(--forge-typography-label2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)))) / 2) + calc((var(--_field-height) - 56px) / 8)) * -1))}:host([label-position=none]) .forge-field{grid-template-areas:\\\"container\\\" \\\"support-text\\\";grid-template-columns:1fr;grid-template-rows:auto auto}:host([label-position=none]) .forge-field .label{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}:host([label-position=inline-end][label-alignment=start]) .label,:host([label-position=inline-start][label-alignment=start]) .label{align-self:start}:host([label-position=inline-end]:where([label-alignment=center],[label-alignment=default],:not([label-alignment]))) .label,:host([label-position=inline-start]:where([label-alignment=center],[label-alignment=default],:not([label-alignment]))) .label{align-self:center}:host([label-position=inline-end][label-alignment=end]) .label,:host([label-position=inline-start][label-alignment=end]) .label{align-self:end}:host([label-position=inline-end][label-alignment=baseline]) .label,:host([label-position=inline-start][label-alignment=baseline]) .label{align-self:center;-webkit-padding-before:calc(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))) - var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))));padding-block-start:calc(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))) - var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))}:host([label-position=block-start]:where([label-alignment=start],[label-alignment=default],:not([label-alignment]))) .label{justify-self:start}:host([label-position=block-start][label-alignment=center]) .label{justify-self:center}:host([label-position=block-start][label-alignment=end]) .label{justify-self:end}:host([label-position=block-start][label-alignment=baseline]:not([variant=plain])) .label{justify-self:start;-webkit-padding-start:var(--_field-container-padding-inline-start);padding-inline-start:var(--_field-container-padding-inline-start)}:host([label-position=block-start][label-alignment=baseline][variant=plain]) .label{justify-self:start;-webkit-padding-start:0px;padding-inline-start:0px}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label .label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label2-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .8125)));font-weight:var(--forge-typography-label2-font-weight,400);line-height:var(--forge-typography-label2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label2-letter-spacing, .0096153846em);text-transform:var(--forge-typography-label2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label2-text-decoration,inherit);text-decoration:var(--forge-typography-label2-text-decoration,inherit);translate:var(--_field-floating-label-translation)}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label .input{-webkit-box-sizing:border-box;box-sizing:border-box}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label.forge-field--floating-in .label{-webkit-animation-name:float-in-label-animation;animation-name:float-in-label-animation;-webkit-animation-duration:var(--_field-floating-animation-duration);animation-duration:var(--_field-floating-animation-duration);-webkit-animation-timing-function:var(--_field-floating-animation-timing);animation-timing-function:var(--_field-floating-animation-timing)}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label.forge-field--floating-in .input{-webkit-animation-name:float-in-input-animation;animation-name:float-in-input-animation;-webkit-animation-duration:var(--_field-floating-animation-duration);animation-duration:var(--_field-floating-animation-duration);-webkit-animation-timing-function:var(--_field-floating-animation-timing);animation-timing-function:var(--_field-floating-animation-timing)}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label:not(.forge-field--floating-in) .input ::slotted(input){-webkit-padding-before:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) * 2)!important;padding-block-start:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) * 2)!important}:host(:where([label-position=inset],:not([label-position]))[float-label]) .forge-field--has-label:not(.forge-field--floating-in) .input ::slotted([data-forge-multi-input-separator]){-webkit-padding-before:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) * 2)!important;padding-block-start:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) * 2)!important}:host(:where([label-position=inset],:not([label-position])):not([float-label])) .forge-field--has-label.forge-field--floating-out .label{-webkit-animation-name:float-out-label-animation;animation-name:float-out-label-animation;-webkit-animation-duration:var(--_field-floating-animation-duration);animation-duration:var(--_field-floating-animation-duration);-webkit-animation-timing-function:var(--_field-floating-animation-timing);animation-timing-function:var(--_field-floating-animation-timing)}:host(:where([label-position=inset],:not([label-position])):not([float-label])) .forge-field--has-label.forge-field--floating-out .input{-webkit-animation-name:float-out-input-animation;animation-name:float-out-input-animation;-webkit-animation-duration:var(--_field-floating-animation-duration);animation-duration:var(--_field-floating-animation-duration);-webkit-animation-timing-function:var(--_field-floating-animation-timing);animation-timing-function:var(--_field-floating-animation-timing)}:host(:where([label-position=inset],:not([label-position]))[float-label][multiline]) .forge-field--has-label:not(.forge-field--floating-in) ::slotted(textarea){-webkit-padding-before:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + (var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2)!important;padding-block-start:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + (var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2)!important;-webkit-padding-after:8px!important;padding-block-end:8px!important}}:host([support-text-inset=both]) .support-text{-webkit-padding-start:var(--_field-container-padding-inline-start);padding-inline-start:var(--_field-container-padding-inline-start);-webkit-padding-end:var(--_field-container-padding-inline-start);padding-inline-end:var(--_field-container-padding-inline-start)}:host([support-text-inset=start]) .support-text{-webkit-padding-start:var(--_field-container-padding-inline-start);padding-inline-start:var(--_field-container-padding-inline-start)}:host([support-text-inset=end]) .support-text{-webkit-padding-end:var(--_field-container-padding-inline-start);padding-inline-end:var(--_field-container-padding-inline-start)}:host([required]) .label::before{color:var(--_field-required-color);content:var(--_field-required-content)}:host([optional]) .label::after{color:var(--_field-optional-color);content:var(--_field-optional-content)}:host(:where([density=extra-small],[dense])) .forge-field{--_field-height:var(--forge-field-height, var(--_field-height-extra-small))}:host(:where([label-position=inset],:not([label-position])):where([density=extra-small],[dense])) .forge-field{--_field-height:var(--forge-field-height, var(--_field-inset-height-extra-small))}:host(:not([dense])[density=small]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-height-small))}:host(:where([label-position=inset],:not([label-position])):not([dense])[density=small]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-inset-height-small))}:host(:not([dense]):where([density=medium],:not([density]))) .forge-field{--_field-height:var(--forge-field-height, var(--_field-height-medium))}:host(:where([label-position=inset],:not([label-position])):not([dense]):where([density=medium],:not([density]))) .forge-field{--_field-height:var(--forge-field-height, var(--_field-inset-height-medium))}:host(:not([dense])[density=large]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-height-large))}:host(:where([label-position=inset],:not([label-position])):not([dense])[density=large]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-inset-height-large))}:host(:not([dense])[density=extra-large]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-height-extra-large))}:host(:where([label-position=inset],:not([label-position])):not([dense])[density=extra-large]) .forge-field{--_field-height:var(--forge-field-height, var(--_field-inset-height-extra-large))}:host([shape=squared]) .forge-field{--_field-shape:var(--forge-field-shape, 0)}:host([shape=rounded]) .forge-field{--_field-shape:var(--forge-field-shape, var(--forge-shape-full, 9999px));--_field-container-padding-inline-start:var(--forge-field-container-padding-inline-start, var(--_field-rounded-container-padding-inline-start));--_field-container-padding-inline-end:var(--forge-field-container-padding-inline-end, var(--_field-rounded-container-padding-inline-end))}:host([multiline]) .container{display:block;block-size:-webkit-fit-content;block-size:-moz-fit-content;block-size:fit-content}:host([multiline]) .resize-container{display:grid;position:relative;-webkit-box-flex:1;flex-grow:1;grid-template-areas:\\\"start center end popover-icon accessory\\\";grid-template-columns:auto 1fr auto auto auto;-webkit-box-align:start;align-items:start;border-radius:inherit;min-inline-size:var(--_field-multiline-min-inline-size);max-inline-size:var(--_field-multiline-max-inline-size);min-block-size:var(--_field-multiline-min-block-size);max-block-size:var(--_field-multiline-max-block-size);overflow:hidden;resize:var(--_field-multiline-resize)}:host([multiline]) .resize-container .end,:host([multiline]) .resize-container .label,:host([multiline]) .resize-container .popover-icon,:host([multiline]) .resize-container .start{-webkit-box-align:center;align-items:center;block-size:var(--_field-height)}:host([multiline]:where([label-position=inset],:not([label-position]))[float-label]) .label{z-index:2;pointer-events:none;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content}:host([multiline]:where([label-position=inset],:not([label-position]))[float-label]) .label slot{display:block;z-index:1}:host([multiline]:where([label-position=inset],:not([label-position]))[float-label]) .label::before{-webkit-animation-name:resize-container-inset-label-background-animation;animation-name:resize-container-inset-label-background-animation;-webkit-animation-duration:var(--_field-floating-animation-duration);animation-duration:var(--_field-floating-animation-duration);-webkit-animation-timing-function:var(--_field-floating-animation-timing);animation-timing-function:var(--_field-floating-animation-timing);position:absolute;inset-inline-start:0;-webkit-transition-duration:var(--_field-container-animation-duration);transition-duration:var(--_field-container-animation-duration);-webkit-transition-property:background;transition-property:background;-webkit-transition-timing-function:var(--_field-container-animation-timing);transition-timing-function:var(--_field-container-animation-timing);background:var(--_field-resize-container-inset-label-background);inline-size:100%;block-size:var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375)));-webkit-filter:blur(2px);filter:blur(2px);content:\\\"\\\"}@layer variant{:host([variant=plain]:where([theme=default],:not([theme]))) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--_field-text-color);fill:var(--_field-text-color)}:host(:where([label-position=inset],:not([label-position]))[variant=plain]:where([theme=default],:not([theme]))) .label{color:var(--_field-inset-label-color)}:host([variant=plain][theme=primary]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-primary,#3f51b5);fill:var(--forge-theme-primary,#3f51b5)}:host([variant=plain][theme=primary]) .label{color:var(--forge-theme-primary,#3f51b5)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=primary]) .label{color:var(--forge-theme-primary,#3f51b5)}:host([variant=plain][theme=secondary]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-secondary,#ffc107);fill:var(--forge-theme-secondary,#ffc107)}:host([variant=plain][theme=secondary]) .label{color:var(--forge-theme-secondary,#ffc107)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=secondary]) .label{color:var(--forge-theme-secondary,#ffc107)}:host([variant=plain][theme=tertiary]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-tertiary,#3d5afe);fill:var(--forge-theme-tertiary,#3d5afe)}:host([variant=plain][theme=tertiary]) .label{color:var(--forge-theme-tertiary,#3d5afe)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=tertiary]) .label{color:var(--forge-theme-tertiary,#3d5afe)}:host([variant=plain][theme=success]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-success,#2e7d32);fill:var(--forge-theme-success,#2e7d32)}:host([variant=plain][theme=success]) .label{color:var(--forge-theme-success,#2e7d32)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=success]) .label{color:var(--forge-theme-success,#2e7d32)}:host([variant=plain][theme=error]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-error,#b00020);fill:var(--forge-theme-error,#b00020)}:host([variant=plain][theme=error]) .label{color:var(--forge-theme-error,#b00020)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=error]) .label{color:var(--forge-theme-error,#b00020)}:host([variant=plain][theme=warning]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-warning,#d14900);fill:var(--forge-theme-warning,#d14900)}:host([variant=plain][theme=warning]) .label{color:var(--forge-theme-warning,#d14900)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=warning]) .label{color:var(--forge-theme-warning,#d14900)}:host([variant=plain][theme=info]) .forge-field{--_field-container-padding-inline:var(--_field-plain-container-padding-inline);--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));color:var(--forge-theme-info,#1565c0);fill:var(--forge-theme-info,#1565c0)}:host([variant=plain][theme=info]) .label{color:var(--forge-theme-info,#1565c0)}:host(:where([label-position=inset],:not([label-position]))[variant=plain][theme=info]) .label{color:var(--forge-theme-info,#1565c0)}:host(:where([variant=outlined],:not([variant])):where([theme=default],:not([theme]))) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-border-color));color:var(--_field-text-color);fill:var(--_field-text-color)}:host(:where([variant=outlined],:not([variant])):where([theme=default],:not([theme]))) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--_field-border-color)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant])):where([theme=default],:not([theme]))) .label{color:var(--_field-inset-label-color)}:host(:where([variant=outlined],:not([variant]))[theme=primary]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary, #3f51b5));color:var(--forge-theme-primary,#3f51b5);fill:var(--forge-theme-primary,#3f51b5)}:host(:where([variant=outlined],:not([variant]))[theme=primary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-primary,#3f51b5)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=primary]) .label{color:var(--forge-theme-primary,#3f51b5)}:host(:where([variant=outlined],:not([variant]))[theme=secondary]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary, #ffc107));color:var(--forge-theme-secondary,#ffc107);fill:var(--forge-theme-secondary,#ffc107)}:host(:where([variant=outlined],:not([variant]))[theme=secondary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-secondary,#ffc107)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=secondary]) .label{color:var(--forge-theme-secondary,#ffc107)}:host(:where([variant=outlined],:not([variant]))[theme=tertiary]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary, #3d5afe));color:var(--forge-theme-tertiary,#3d5afe);fill:var(--forge-theme-tertiary,#3d5afe)}:host(:where([variant=outlined],:not([variant]))[theme=tertiary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-tertiary,#3d5afe)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=tertiary]) .label{color:var(--forge-theme-tertiary,#3d5afe)}:host(:where([variant=outlined],:not([variant]))[theme=success]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success, #2e7d32));color:var(--forge-theme-success,#2e7d32);fill:var(--forge-theme-success,#2e7d32)}:host(:where([variant=outlined],:not([variant]))[theme=success]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-success,#2e7d32)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=success]) .label{color:var(--forge-theme-success,#2e7d32)}:host(:where([variant=outlined],:not([variant]))[theme=error]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error, #b00020));color:var(--forge-theme-error,#b00020);fill:var(--forge-theme-error,#b00020)}:host(:where([variant=outlined],:not([variant]))[theme=error]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-error,#b00020)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=error]) .label{color:var(--forge-theme-error,#b00020)}:host(:where([variant=outlined],:not([variant]))[theme=warning]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning, #d14900));color:var(--forge-theme-warning,#d14900);fill:var(--forge-theme-warning,#d14900)}:host(:where([variant=outlined],:not([variant]))[theme=warning]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-warning,#d14900)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=warning]) .label{color:var(--forge-theme-warning,#d14900)}:host(:where([variant=outlined],:not([variant]))[theme=info]) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-surface, #ffffff));--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info, #1565c0));color:var(--forge-theme-info,#1565c0);fill:var(--forge-theme-info,#1565c0)}:host(:where([variant=outlined],:not([variant]))[theme=info]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-info,#1565c0)}:host(:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant]))[theme=info]) .label{color:var(--forge-theme-info,#1565c0)}:host([variant=tonal]:where([theme=default],:not([theme]))) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-tonal-inner-border-color));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-tonal-surface-color));color:var(--_field-tonal-on-surface-color);fill:var(--_field-tonal-on-surface-color)}:host([variant=tonal]:where([theme=default],:not([theme]))) .container::before{background:var(--_field-tonal-surface-color)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal]:where([theme=default],:not([theme]))) .label{color:var(--_field-inset-label-color)}:host([variant=tonal][theme=primary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary-container-high, #b6bde3));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-primary-container-low, #e8eaf6));color:var(--forge-theme-on-primary-container-low,#222c62);fill:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=tonal][theme=primary]) .container::before{background:var(--forge-theme-primary-container-low,#e8eaf6)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=primary]) .label{color:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=tonal][theme=secondary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary-container-high, #ffe7a1));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-secondary-container-low, #fff8e1));color:var(--forge-theme-on-secondary-container-low,#8a6804);fill:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=tonal][theme=secondary]) .container::before{background:var(--forge-theme-secondary-container-low,#fff8e1)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=secondary]) .label{color:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=tonal][theme=tertiary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary-container-high, #b5c0ff));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-tertiary-container-low, #e8ebff));color:var(--forge-theme-on-tertiary-container-low,#213189);fill:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=tonal][theme=tertiary]) .container::before{background:var(--forge-theme-tertiary-container-low,#e8ebff)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=tertiary]) .label{color:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=tonal][theme=success]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success-container-high, #b0ceb1));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-success-container-low, #e6efe6));color:var(--forge-theme-on-success-container-low,#19441b);fill:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=tonal][theme=success]) .container::before{background:var(--forge-theme-success-container-low,#e6efe6)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=success]) .label{color:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=tonal][theme=error]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error-container-high, #e19eaa));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-error-container-low, #f6e0e4));color:var(--forge-theme-on-error-container-low,#5f0011);fill:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=tonal][theme=error]) .container::before{background:var(--forge-theme-error-container-low,#f6e0e4)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=error]) .label{color:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=tonal][theme=warning]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning-container-high, #eeba9e));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-warning-container-low, #f9e9e0));color:var(--forge-theme-on-warning-container-low,#712700);fill:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=tonal][theme=warning]) .container::before{background:var(--forge-theme-warning-container-low,#f9e9e0)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=warning]) .label{color:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=tonal][theme=info]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info-container-high, #a6c4e7));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-info-container-low, #e3edf7));color:var(--forge-theme-on-info-container-low,#0b3768);fill:var(--forge-theme-on-info-container-low,#0b3768)}:host([variant=tonal][theme=info]) .container::before{background:var(--forge-theme-info-container-low,#e3edf7)}:host(:where([label-position=inset],:not([label-position]))[variant=tonal][theme=info]) .label{color:var(--forge-theme-on-info-container-low,#0b3768)}:host([variant=filled]:where([theme=default],:not([theme]))) .forge-field{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-filled-surface-color));color:var(--_field-text-color);fill:var(--_field-text-color);color:var(--_field-filled-on-surface-color);fill:var(--_field-filled-on-surface-color)}:host([variant=filled]:where([theme=default],:not([theme]))) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--_field-border-color);background:var(--_field-filled-surface-color)}:host(:where([label-position=inset],:not([label-position]))[variant=filled]:where([theme=default],:not([theme]))) .label{color:var(--_field-inset-label-color)}:host([variant=filled][theme=primary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary, #3f51b5));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-primary-container-low, #e8eaf6));color:var(--forge-theme-on-primary-container-low,#222c62);fill:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=filled][theme=primary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-primary,#3f51b5);background:var(--forge-theme-primary-container-low,#e8eaf6)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=primary]) .label{color:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=filled][theme=secondary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary, #ffc107));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-secondary-container-low, #fff8e1));color:var(--forge-theme-on-secondary-container-low,#8a6804);fill:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=filled][theme=secondary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-secondary,#ffc107);background:var(--forge-theme-secondary-container-low,#fff8e1)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=secondary]) .label{color:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=filled][theme=tertiary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary, #3d5afe));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-tertiary-container-low, #e8ebff));color:var(--forge-theme-on-tertiary-container-low,#213189);fill:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=filled][theme=tertiary]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-tertiary,#3d5afe);background:var(--forge-theme-tertiary-container-low,#e8ebff)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=tertiary]) .label{color:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=filled][theme=success]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success, #2e7d32));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-success-container-low, #e6efe6));color:var(--forge-theme-on-success-container-low,#19441b);fill:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=filled][theme=success]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-success,#2e7d32);background:var(--forge-theme-success-container-low,#e6efe6)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=success]) .label{color:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=filled][theme=error]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error, #b00020));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-error-container-low, #f6e0e4));color:var(--forge-theme-on-error-container-low,#5f0011);fill:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=filled][theme=error]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-error,#b00020);background:var(--forge-theme-error-container-low,#f6e0e4)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=error]) .label{color:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=filled][theme=warning]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning, #d14900));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-warning-container-low, #f9e9e0));color:var(--forge-theme-on-warning-container-low,#712700);fill:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=filled][theme=warning]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-warning,#d14900);background:var(--forge-theme-warning-container-low,#f9e9e0)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=warning]) .label{color:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=filled][theme=info]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info, #1565c0));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-info-container-low, #e3edf7));color:var(--forge-theme-on-info-container-low,#0b3768);fill:var(--forge-theme-on-info-container-low,#0b3768)}:host([variant=filled][theme=info]) .container::before{outline-style:var(--_field-border-style);outline-width:var(--_field-border-width);outline-color:var(--forge-theme-info,#1565c0);background:var(--forge-theme-info-container-low,#e3edf7)}:host(:where([label-position=inset],:not([label-position]))[variant=filled][theme=info]) .label{color:var(--forge-theme-on-info-container-low,#0b3768)}:host([variant=raised]:where([theme=default],:not([theme]))) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-tonal-inner-border-color));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-raised-surface-color));color:var(--_field-raised-on-surface-color);fill:var(--_field-raised-on-surface-color)}:host([variant=raised]:where([theme=default],:not([theme]))) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--_field-raised-surface-color)}:host(:where([label-position=inset],:not([label-position]))[variant=raised]:where([theme=default],:not([theme]))) .label{color:var(--_field-inset-label-color)}:host([variant=raised][theme=primary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary-container-high, #b6bde3));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-primary-container-low, #e8eaf6));color:var(--forge-theme-on-primary-container-low,#222c62);fill:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=raised][theme=primary]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-primary-container-low,#e8eaf6)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=primary]) .label{color:var(--forge-theme-on-primary-container-low,#222c62)}:host([variant=raised][theme=secondary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary-container-high, #ffe7a1));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-secondary-container-low, #fff8e1));color:var(--forge-theme-on-secondary-container-low,#8a6804);fill:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=raised][theme=secondary]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-secondary-container-low,#fff8e1)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=secondary]) .label{color:var(--forge-theme-on-secondary-container-low,#8a6804)}:host([variant=raised][theme=tertiary]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary-container-high, #b5c0ff));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-tertiary-container-low, #e8ebff));color:var(--forge-theme-on-tertiary-container-low,#213189);fill:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=raised][theme=tertiary]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-tertiary-container-low,#e8ebff)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=tertiary]) .label{color:var(--forge-theme-on-tertiary-container-low,#213189)}:host([variant=raised][theme=success]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success-container-high, #b0ceb1));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-success-container-low, #e6efe6));color:var(--forge-theme-on-success-container-low,#19441b);fill:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=raised][theme=success]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-success-container-low,#e6efe6)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=success]) .label{color:var(--forge-theme-on-success-container-low,#19441b)}:host([variant=raised][theme=error]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error-container-high, #e19eaa));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-error-container-low, #f6e0e4));color:var(--forge-theme-on-error-container-low,#5f0011);fill:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=raised][theme=error]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-error-container-low,#f6e0e4)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=error]) .label{color:var(--forge-theme-on-error-container-low,#5f0011)}:host([variant=raised][theme=warning]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning-container-high, #eeba9e));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-warning-container-low, #f9e9e0));color:var(--forge-theme-on-warning-container-low,#712700);fill:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=raised][theme=warning]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-warning-container-low,#f9e9e0)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=warning]) .label{color:var(--forge-theme-on-warning-container-low,#712700)}:host([variant=raised][theme=info]) .forge-field{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info-container-high, #a6c4e7));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-info-container-low, #e3edf7));color:var(--forge-theme-on-info-container-low,#0b3768);fill:var(--forge-theme-on-info-container-low,#0b3768)}:host([variant=raised][theme=info]) .container::before{-webkit-box-shadow:var(--_field-raised-elevation);box-shadow:var(--_field-raised-elevation);background:var(--forge-theme-info-container-low,#e3edf7)}:host(:where([label-position=inset],:not([label-position]))[variant=raised][theme=info]) .label{color:var(--forge-theme-on-info-container-low,#0b3768)}}:host(:not([disabled]):hover:where([variant=outlined],:not([variant])):where([theme=default],:not([theme]))) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-hover-border-color))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant])):where([theme=default],:not([theme]))) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--_field-hover-border-color)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=primary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary-container-high, #b6bde3))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=primary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-primary-container-high,#b6bde3)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=secondary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary-container-high, #ffe7a1))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=secondary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-secondary-container-high,#ffe7a1)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=tertiary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=tertiary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-tertiary-container-high,#b5c0ff)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=success]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success-container-high, #b0ceb1))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=success]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-success-container-high,#b0ceb1)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=error]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error-container-high, #e19eaa))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=error]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-error-container-high,#e19eaa)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=warning]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning-container-high, #eeba9e))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=warning]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-warning-container-high,#eeba9e)}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=info]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info-container-high, #a6c4e7))}:host(:not([disabled]):hover:where([variant=outlined],:not([variant]))[theme=info]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-info-container-high,#a6c4e7)}:host(:not([disabled]):hover[variant=tonal]:where([theme=default],:not([theme]))) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-tonal-hover-color))}:host(:not([disabled]):hover[variant=tonal]:where([theme=default],:not([theme]))) .container::before{background:var(--_field-tonal-hover-color)}:host(:not([disabled]):hover[variant=tonal][theme=primary]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-primary-container-minimum, #f7f8fc))}:host(:not([disabled]):hover[variant=tonal][theme=primary]) .container::before{background:var(--forge-theme-primary-container-minimum,#f7f8fc)}:host(:not([disabled]):hover[variant=tonal][theme=secondary]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-secondary-container-minimum, #fffdf5))}:host(:not([disabled]):hover[variant=tonal][theme=secondary]) .container::before{background:var(--forge-theme-secondary-container-minimum,#fffdf5)}:host(:not([disabled]):hover[variant=tonal][theme=tertiary]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-tertiary-container-minimum, #f7f8ff))}:host(:not([disabled]):hover[variant=tonal][theme=tertiary]) .container::before{background:var(--forge-theme-tertiary-container-minimum,#f7f8ff)}:host(:not([disabled]):hover[variant=tonal][theme=success]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-success-container-minimum, #f7faf7))}:host(:not([disabled]):hover[variant=tonal][theme=success]) .container::before{background:var(--forge-theme-success-container-minimum,#f7faf7)}:host(:not([disabled]):hover[variant=tonal][theme=error]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-error-container-minimum, #fcf5f6))}:host(:not([disabled]):hover[variant=tonal][theme=error]) .container::before{background:var(--forge-theme-error-container-minimum,#fcf5f6)}:host(:not([disabled]):hover[variant=tonal][theme=warning]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-warning-container-minimum, #fdf8f5))}:host(:not([disabled]):hover[variant=tonal][theme=warning]) .container::before{background:var(--forge-theme-warning-container-minimum,#fdf8f5)}:host(:not([disabled]):hover[variant=tonal][theme=info]) .container{--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--forge-theme-info-container-minimum, #f6f9fc))}:host(:not([disabled]):hover[variant=tonal][theme=info]) .container::before{background:var(--forge-theme-info-container-minimum,#f6f9fc)}:host(:not([disabled]):hover[variant=filled]:where([theme=default],:not([theme]))) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-hover-border-color))}:host(:not([disabled]):hover[variant=filled]:where([theme=default],:not([theme]))) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--_field-hover-border-color)}:host(:not([disabled]):hover[variant=filled][theme=primary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-primary-container-high, #b6bde3))}:host(:not([disabled]):hover[variant=filled][theme=primary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-primary-container-high,#b6bde3)}:host(:not([disabled]):hover[variant=filled][theme=secondary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-secondary-container-high, #ffe7a1))}:host(:not([disabled]):hover[variant=filled][theme=secondary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-secondary-container-high,#ffe7a1)}:host(:not([disabled]):hover[variant=filled][theme=tertiary]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}:host(:not([disabled]):hover[variant=filled][theme=tertiary]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-tertiary-container-high,#b5c0ff)}:host(:not([disabled]):hover[variant=filled][theme=success]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-success-container-high, #b0ceb1))}:host(:not([disabled]):hover[variant=filled][theme=success]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-success-container-high,#b0ceb1)}:host(:not([disabled]):hover[variant=filled][theme=error]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-error-container-high, #e19eaa))}:host(:not([disabled]):hover[variant=filled][theme=error]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-error-container-high,#e19eaa)}:host(:not([disabled]):hover[variant=filled][theme=warning]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-warning-container-high, #eeba9e))}:host(:not([disabled]):hover[variant=filled][theme=warning]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-warning-container-high,#eeba9e)}:host(:not([disabled]):hover[variant=filled][theme=info]) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--forge-theme-info-container-high, #a6c4e7))}:host(:not([disabled]):hover[variant=filled][theme=info]) .container::before{outline-style:var(--_field-hover-border-style);outline-width:var(--_field-hover-border-width);outline-color:var(--forge-theme-info-container-high,#a6c4e7)}:host(:not([disabled]):hover[variant=raised]:where([theme=default],:not([theme]))) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=primary]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=secondary]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=tertiary]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=success]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=error]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=warning]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):hover[variant=raised][theme=info]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host(:not([disabled]):focus-within[variant=raised]) .container::before{-webkit-box-shadow:var(--_field-raised-active-elevation);box-shadow:var(--_field-raised-active-elevation)}:host([invalid]:not([disabled])) .label{color:var(--_field-invalid-label-color)}:host([invalid]:not([disabled])) .support-text{color:var(--_field-invalid-color)}:host([invalid][variant=plain]:not([disabled])) .container{--_field-input-color:var(--forge-field-input-color, var(--_field-invalid-color));color:var(--_field-invalid-color);fill:var(--_field-invalid-color)}:host([invalid]:where([label-position=inset],:not([label-position]))[variant=plain]:not([disabled])) .label{color:var(--_field-invalid-label-color)}:host([invalid]:where([variant=outlined],:not([variant])):not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color));color:var(--_field-invalid-color);fill:var(--_field-invalid-color)}:host([invalid]:where([variant=outlined],:not([variant])):not([disabled])) .container::before{outline-style:var(--_field-invalid-border-style);outline-width:var(--_field-invalid-border-width);outline-color:var(--_field-invalid-border-color)}:host([invalid]:not([disabled]):hover:where([variant=outlined],:not([variant])):not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color-hover))}:host([invalid]:not([disabled]):hover:where([variant=outlined],:not([variant])):not([disabled])) .container::before{outline-color:var(--_field-invalid-border-color-hover)}:host([invalid]:where([label-position=inset],:not([label-position])):where([variant=outlined],:not([variant])):not([disabled])) .label{color:var(--_field-invalid-label-color)}:host([invalid][variant=tonal]:not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-invalid-surface-color));color:var(--_field-invalid-on-surface-color);fill:var(--_field-invalid-on-surface-color)}:host([invalid][variant=tonal]:not([disabled])) .container::before{background:var(--_field-invalid-surface-color)}:host([invalid]:not([disabled]):hover[variant=tonal]:not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color-hover));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-invalid-surface-color-hover))}:host([invalid]:not([disabled]):hover[variant=tonal]:not([disabled])) .container::before{background:var(--_field-invalid-surface-color-hover)}:host([invalid]:where([label-position=inset],:not([label-position]))[variant=tonal]:not([disabled])) .label{color:var(--_field-invalid-inset-label-on-surface-color)}:host([invalid][variant=filled]:not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-invalid-surface-color));color:var(--_field-invalid-on-surface-color);fill:var(--_field-invalid-on-surface-color)}:host([invalid][variant=filled]:not([disabled])) .container::before{outline-style:var(--_field-invalid-border-style);outline-width:var(--_field-invalid-border-width);outline-color:var(--_field-invalid-border-color);background:var(--_field-invalid-surface-color)}:host([invalid]:not([disabled]):hover[variant=filled]:not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color-hover))}:host([invalid]:not([disabled]):hover[variant=filled]:not([disabled])) .container::before{outline-color:var(--_field-invalid-border-color-hover)}:host([invalid]:where([label-position=inset],:not([label-position]))[variant=filled]:not([disabled])) .label{color:var(--_field-invalid-inset-label-on-surface-color)}:host([invalid][variant=raised]:not([disabled])) .container{--_field-inner-border-color:var(--forge-field-inner-border-color, var(--_field-invalid-border-color));--_field-resize-container-inset-label-background:var(--forge-field-resize-container-inset-label-background, var(--_field-invalid-surface-color));color:var(--_field-invalid-on-surface-color);fill:var(--_field-invalid-on-surface-color)}:host([invalid][variant=raised]:not([disabled])) .container::before{background:var(--_field-invalid-surface-color)}:host([invalid]:where([label-position=inset],:not([label-position]))[variant=raised]:not([disabled])) .label{color:var(--_field-invalid-inset-label-on-surface-color)}:host([disabled]) .forge-field{cursor:not-allowed}:host([disabled]) .forge-field .accessory::before,:host([disabled]) .forge-field .container::before,:host([disabled]) .forge-field .end,:host([disabled]) .forge-field .input,:host([disabled]) .forge-field .label,:host([disabled]) .forge-field .popover-icon,:host([disabled]) .forge-field .start,:host([disabled]) .forge-field .support-text{opacity:var(--_field-disabled-opacity)}:host([disabled]) .forge-field .input ::slotted(*){cursor:not-allowed}:host([disabled]:not([variant=plain])) .container::before{background:var(--_field-disabled-surface-color)}.forge-field .input ::slotted(*){-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;outline:0;border:none;background-color:transparent;padding-block:0;padding-inline:0;inline-size:100%;block-size:100%;color:inherit;font:inherit;text-overflow:ellipsis}.forge-field .input ::slotted(textarea){resize:none}.forge-field .input ::slotted(:first-of-type:is(input,textarea)){-webkit-padding-start:var(--_field-main-content-padding-start);padding-inline-start:var(--_field-main-content-padding-start)}.forge-field .input ::slotted(:last-of-type:is(input,textarea)){-webkit-padding-end:var(--_field-main-content-padding-end);padding-inline-end:var(--_field-main-content-padding-end)}.forge-field .input ::slotted([data-forge-multi-input-separator]){align-self:center;padding-inline:4px;block-size:-webkit-fit-content;block-size:-moz-fit-content;block-size:fit-content;inline-size:-webkit-fit-content;inline-size:-moz-fit-content;inline-size:fit-content}.forge-field .label ::slotted(forge-label){font:inherit}.forge-field--has-start{--_field-main-content-padding-start:var(--forge-field-main-content-padding-start, var(--_field-start-padding-inline-end))}.forge-field--has-end{--_field-main-content-padding-end:var(--forge-field-main-content-padding-end, var(--_field-end-padding-inline-start))}:host(:where([label-position=inset],:not([label-position]))) .label ::slotted(*){max-inline-size:100%;overflow:hidden;text-overflow:ellipsis}:host([popover-icon]) .forge-field:not(.forge-field--has-end){--_field-main-content-padding-end:var(--forge-field-main-content-padding-end, var(--_field-popover-icon-padding-inline-start))}:host(:not(popover-icon)) .forge-field--has-accessory:not(:is(.forge-field--has-end)){--_field-main-content-padding-end:var(--forge-field-main-content-padding-end, var(--_field-accessory-padding-inline-start))}:host([multiline]) .input ::slotted(input){-webkit-padding-before:calc((var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2);padding-block-start:calc((var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2);-webkit-padding-after:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + 8px);padding-block-end:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + 8px)}:host([multiline]) .input ::slotted(textarea){-webkit-padding-before:calc((var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2);padding-block-start:calc((var(--_field-height) - var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))))/ 2);-webkit-padding-after:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + 8px);padding-block-end:calc(calc(calc(max(var(--forge-typography-body2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-body-line-height-scale,1.375))),var(--forge-typography-label2-line-height,calc(var(--forge-typography-font-size,1rem) * var(--forge-typography-label-line-height-scale,1.25))))/ 2) + calc((var(--_field-height) - 56px)/ 8)) + 8px)}:host([multiline]) .accessory slot{-webkit-box-align:center;align-items:center;block-size:var(--_field-height);display:-webkit-box;display:flex;align-self:start}forge-focus-indicator{--forge-focus-indicator-width:var(--_field-focus-indicator-width);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_field-shape)}:host([theme=secondary]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-secondary, #ffc107)}:host([theme=tertiary]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-tertiary, #3d5afe)}:host([theme=success]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-success, #2e7d32)}:host([theme=error]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-error, #b00020)}:host([theme=warning]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-warning, #d14900)}:host([theme=info]) forge-focus-indicator{--forge-focus-indicator-color:var(--forge-theme-info, #1565c0)}:host([invalid]:not([disabled])) forge-focus-indicator{--forge-focus-indicator-color:var(--_field-invalid-color)}@media (prefers-reduced-motion:reduce){.forge-field{--_field-floating-animation-duration:var(--forge-field-floating-animation-duration, \\\"0s\\\")}}';\n\nexport interface IFieldComponent extends IBaseComponent {\n labelPosition: FieldLabelPosition;\n labelAlignment: FieldLabelAlignment;\n floatLabel: boolean;\n invalid: boolean;\n required: boolean;\n optional: boolean;\n disabled: boolean;\n variant: FieldVariant;\n theme: FieldTheme;\n shape: FieldShape;\n density: FieldDensity;\n dense: boolean;\n popoverIcon: boolean;\n popoverExpanded: boolean;\n multiline: boolean;\n supportTextInset: FieldSupportTextInset;\n floatLabelWithoutAnimation(value: boolean): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-field': IFieldComponent;\n }\n}\n\n/**\n * @tag forge-field\n * \n * @summary The Forge Field component is a basic component that handles the layout and theming of\n * form elements that can include a label, various states, and a border around an input area.\n * \n * @property {FieldLabelPosition} labelPosition - The position of the label relative to the input area.\n * @property {FieldLabelAlignment} labelAlignment - The alignment of the label relative to the input area.\n * @property {boolean} floatLabel - Whether an inset positioned label is floated to the top of the container.\n * @property {boolean} invalid - Whether the field is in an invalid state.\n * @property {boolean} required - Whether the field is required.\n * @property {boolean} optional - Whether the field is optional.\n * @property {boolean} disabled - Whether the field is disabled.\n * @property {FieldVariant} variant - The variant of the field.\n * @property {FieldTheme} theme - The theme of the field.\n * @property {FieldShape} shape - The border radius of the field's corners.\n * @property {FieldDensity} density - The density of the field.\n * @property {boolean} dense - Whether the field is at the \"extra-small\" density level.\n * @property {boolean} popoverIcon - Whether the field has a popover icon.\n * @property {boolean} popoverExpanded - Whether the field's popover icon is in the expanded orientation.\n * @property {boolean} multiline - Whether the field contains a multiline input.\n * @property {FieldSupportTextInset} supportTextInset - Whether the field's support text is inset from either side.\n * \n * @attribute {FieldLabelPosition} label-position - The position of the label relative to the input area.\n * @attribute {FieldLabelAlignment} label-alignment - The alignment of the label relative to the input area.\n * @attribute {boolean} float-label - Whether an inset positioned label is floated to the top of the container.\n * @attribute {boolean} invalid - Whether the field is in an invalid state.\n * @attribute {boolean} required - Whether the field is required.\n * @attribute {boolean} optional - Whether the field is optional.\n * @attribute {boolean} disabled - Whether the field is disabled.\n * @attribute {FieldVariant} variant - The variant of the field.\n * @attribute {FieldTheme} theme - The theme of the field.\n * @attribute {FieldShape} shape - The border radius of the field's corners.\n * @attribute {Density} density - The density of the field.\n * @attribute {boolean} dense - Whether the field is at the \"extra-small\" density level.\n * @attribute {boolean} popover-icon - Whether the field has a popover icon.\n * @attribute {boolean} popover-expanded - Whether the field's popover icon is in the expanded orientation.\n * @attribute {boolean} multiline - Whether the field contains a multiline input.\n * @attribute {FieldSupportTextInset} support-text-inset - Whether the field's support text is inset from either side.\n * \n * @method {(value: boolean) => void} floatLabelWithoutAnimation - Sets the floating label without animating the transition.\n * \n * @event {CustomEvent<null>} forge-field-popover-icon-click - Dispatches when the user clicks the popover icon.\n * \n * @cssproperty --text-color - The color of content slotted into the default slot.\n * @cssproperty --label-margin-inline - The margin on the inline axis of an inline positioned label.\n * @cssproperty --label-margin-block - The margin on the block axis of a block positioned label.\n * @cssproperty --container-padding-inline - The padding at the start and end of the inline axis of the container.\n * @cssproperty --container-padding-inline-start - The padding at the start of the inline axis of the container.\n * @cssproperty --container-padding-inline-end - The padding at the end of the inline axis of the container.\n * @cssproperty --container-gap - The spacing between elements within the container.\n * @cssproperty --start-padding-inline-end - The padding after the start slot.\n * @cssproperty --end-padding-inline-start - The padding before the end slot.\n * @cssproperty --end-padding-inline-end - The padding after the end slot.\n * @cssproperty --popover-icon-padding-inline-start - The padding before the popover icon.\n * @cssproperty --popover-icon-padding-inline-end - The padding after the popover icon.\n * @cssproperty --accessory-padding-inline - The padding before and after the accessory slot.\n * @cssproperty --accessory-padding-inline-start - The padding before the accessory slot.\n * @cssproperty --accessory-padding-inline-end - The padding after the accessory slot.\n * @cssproperty --support-text-margin-block - The margin of the support text on the block axis.\n * @cssproperty --support-text-gap - The spacing between the start and end support text.\n * @cssproperty --support-text-padding-inline - The padding before and after the support text.\n * @cssproperty --support-text-padding-inline-start - The padding before the support text.\n * @cssproperty --support-text-padding-inline-end - The padding after the support text.\n * @cssproperty --rounded-container-padding-inline - The padding at the start and end of the inline axis of a rounded container.\n * @cssproperty --rounded-container-padding-inline-start - The padding at the start of the inline axis of a rounded container.\n * @cssproperty --rounded-container-padding-inline-end - The padding at the end of the inline axis of a rounded container.\n * @cssproperty --height - The height of the container.\n * @cssproperty --height-extra-small - The height of the container at the \"extra-small\" density level.\n * @cssproperty --height-small - The height of the container at the \"small\" density level.\n * @cssproperty --height-medium - The height of the container at the \"medium\" density level.\n * @cssproperty --height-large - The height of the container at the \"large\" density level.\n * @cssproperty --height-extra-large - The height of the container at the \"extra-large\" density level.\n * @cssproperty --inset-height-extra-small - The height of the container at the \"extra-small\" density level with an inset label.\n * @cssproperty --inset-height-small - The height of the container at the \"small\" density level with an inset label.\n * @cssproperty --inset-height-medium - The height of the container at the \"medium\" density level with an inset label.\n * @cssproperty --inset-height-large - The height of the container at the \"large\" density level with an inset label.\n * @cssproperty --inset-height-extra-large - The height of the container at the \"extra-large\" density level with an inset label.\n * @cssproperty --shape - The border radius of the container.\n * @cssproperty --border-style - The border style used in variants that include borders in variants that include borders.\n * @cssproperty --border-width - The border width used in variants that include borders in variants that include borders.\n * @cssproperty --border-color - The border color used with the default theme in variants that include borders.\n * @cssproperty --tonal-inner-border-color - The border color used for the accessory border with the default theme in the tonal and raised variants.\n * @cssproperty --inner-border-block-size - The block size of the inner border in the tonal and raised variants.\n * @cssproperty --label-color - The color of the non-inset label with the default theme.\n * @cssproperty --inset-label-color - The color of the inset label with the default theme.\n * @cssproperty --hover-border-style - The border style used in the hover state in variants that include borders.\n * @cssproperty --hover-border-width - The border width used in the hover state in variants that include borders.\n * @cssproperty --hover-border-color - The border color used with the default theme in the hover state in variants that include borders.\n * @cssproperty --invalid-color - The color used for the invalid state.\n * @cssproperty --invalid-border-style - The border style used for the invalid state in variants that include borders.\n * @cssproperty --invalid-border-width - The border width used for the invalid state in variants that include borders.\n * @cssproperty --invalid-border-color - The border color used for the invalid state in variants that include borders.\n * @cssproperty --invalid-border-color-hover - The border color used for the invalid state when hovering in variants that include borders.\n * @cssproperty --invalid-surface-color - The background color used for the invalid state in the tonal, filled, and raised variants.\n * @cssproperty --invalid-surface-color-hover - The background color used for the invalid state when hovering in the tonal, filled, and raised variants.\n * @cssproperty --invalid-label-color - The color of the label in the invalid state.\n * @cssproperty --invalid-on-surface-color - The color of elements on top of the invalid surface.\n * @cssproperty --invalid-inset-label-on-surface-color - The color of the inset label on the invalid surface.\n * @cssproperty --plain-container-padding-inline - The padding at the start and end of the inline axis of the container in the plain variant.\n * @cssproperty --tonal-surface-color - The background color used with the default theme in the tonal variant.\n * @cssproperty --tonal-on-surface-color - The text color color used with the default theme in the tonal variant.\n * @cssproperty --tonal-hover-color - The background color used for the hover state with the default theme in the tonal variant.\n * @cssproperty --filled-surface-color - The background color used with the default theme in the filled variant.\n * @cssproperty --filled-on-surface-color - The text color used with the default theme in the filled variant.\n * @cssproperty --raised-elevation - The box shadow of the container in the raised variant.\n * @cssproperty --raised-active-elevation - The box shadow of the container in the raised variant when hovered or active.\n * @cssproperty --raised-surface-color - The background color used with the default theme in the raised variant.\n * @cssproperty --raised-on-surface-color - The text color used with the default theme in the raised variant.\n * @cssproperty --required-content - The text content rendered before the label when required.\n * @cssproperty --required-color - The color of the required content.\n * @cssproperty --optional-content - The text content rendered after the label when optional.\n * @cssproperty --optional-color - The color of the optional content.\n * @cssproperty --popover-icon-transition-duration - The duration of the popover icon's animation.\n * @cssproperty --popover-icon-transition-timing - The timing function of the popover icon's animation.\n * @cssproperty --popover-icon-open-rotation - The rotation of the popover icon when open.\n * @cssproperty --multiline-resize - Whether a multiline field can be resized and in which direction.\n * @cssproperty --multiline-min-inline-size - The minimum inline size of a multiline field.\n * @cssproperty --multiline-max-inline-size - The maximum inline size of a multiline field.\n * @cssproperty --multiline-min-block-size - The minimum block size of a multiline field.\n * @cssproperty --multiline-max-block-size - The maximum block size of a multiline field.\n * @cssproperty --disabled-opacity - The opacity of the field when disabled.\n * @cssproperty --disabled-background-color - The background color of the field when disabled.\n * @cssproperty --disabled-border-color - The border color of the field when disabled.\n * @cssproperty --container-animation-duration - The duration of the border and background animations.\n * @cssproperty --container-animation-timing - The timing function of the border and background animations.\n * @cssproperty --floating-animation-duration - The duration of the floating animation.\n * @cssproperty --floating-animation-timing - The timing function of the floating animation.\n * \n * @csspart root - The root container element.\n * @csspart label - The label element.\n * @csspart container - The container element surrounding the input.\n * @csspart input - The element containing te input slot.\n * @csspart start - The element containing the start slot.\n * @csspart end - The element containing the end slot.\n * @csspart popover-icon - The popover icon element.\n * @csspart accessory - The element containing the accessory slot.\n * @csspart support-text - The support text element.\n * @csspart support-text-start - The element containing the support text start slot.\n * @csspart support-text-end - The element containing the support text end slot.\n * @csspart focus-indicator - The focus indicator element.\n * \n * @slot - The default/unnamed slot for the field's input.\n * @slot label - Renders its content as a positioned label.\n * @slot start - Typically reserved for content/icons that render logically before the default slot content.\n * @slot end - Typically reserved content/icons that render logically after the default slot content.\n * @slot accessory - Used for content such as a button that is logically connected to the field but should appear distinct from the input.\n * @slot support-text-start - Used for content that provides additional information about the field. Aligns to the inline start of the field.\n * @slot support-text-end - Used for content that provides additional information about the field. Aligns to the inline end of the field.\n */\n\n@CustomElement({\n name: FIELD_CONSTANTS.elementName,\n dependencies: [FocusIndicatorComponent]\n})\nexport class FieldComponent extends BaseComponent implements IFieldComponent {\n public static get observedAttributes(): string[] {\n return Object.values(FIELD_CONSTANTS.observedAttributes);\n }\n\n private _foundation: FieldFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new FieldFoundation(new FieldAdapter(this));\n }\n\n public connectedCallback(): void {\n this._foundation.initialize();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.LABEL_POSITION:\n this.labelPosition = newValue as FieldLabelPosition;\n break;\n case FIELD_CONSTANTS.attributes.LABEL_ALIGNMENT:\n this.labelAlignment = newValue as FieldLabelAlignment;\n break;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL:\n this.floatLabel = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.OPTIONAL:\n this.optional = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.VARIANT:\n this.variant = newValue as FieldVariant;\n break;\n case FIELD_CONSTANTS.attributes.THEME:\n this.theme = newValue as FieldTheme;\n break;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShape;\n break;\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensity;\n break;\n case FIELD_CONSTANTS.attributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.POPOVER_ICON:\n this.popoverIcon = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.POPOVER_EXPANDED:\n this.popoverExpanded = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.MULTILINE:\n this.multiline = coerceBoolean(newValue);\n break;\n case FIELD_CONSTANTS.attributes.SUPPORT_TEXT_INSET:\n this.supportTextInset = newValue as FieldSupportTextInset;\n break;\n }\n }\n\n @FoundationProperty()\n public declare labelPosition: FieldLabelPosition;\n\n @FoundationProperty()\n public declare labelAlignment: FieldLabelAlignment;\n\n @FoundationProperty()\n public declare floatLabel: boolean;\n\n @FoundationProperty()\n public declare invalid: boolean;\n\n @FoundationProperty()\n public declare required: boolean;\n\n @FoundationProperty()\n public declare optional: boolean;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare variant: FieldVariant;\n\n @FoundationProperty()\n public declare theme: FieldTheme;\n\n @FoundationProperty()\n public declare shape: FieldShape;\n\n @FoundationProperty()\n public declare density: FieldDensity;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n @FoundationProperty()\n public declare popoverIcon: boolean;\n\n @FoundationProperty()\n public declare popoverExpanded: boolean;\n\n @FoundationProperty()\n public declare multiline: boolean;\n\n @FoundationProperty()\n public declare supportTextInset: FieldSupportTextInset;\n\n public floatLabelWithoutAnimation(value: boolean): void {\n this._foundation.floatLabelWithoutAnimation(value);\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { FieldComponent } from './field';\n\nexport * from './field';\nexport * from './field-adapter';\nexport * from './field-constants';\nexport * from './field-foundation';\nexport * from './base';\n\nexport function defineFieldComponent(): void {\n defineCustomElement(FieldComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["elementName", "COMPONENT_NAME_PREFIX", "observedAttributes", "__spreadProps", "__spreadValues", "BASE_FIELD_CONSTANTS", "attributes", "classes", "selectors", "LABEL_CONSTANTS", "parts", "events", "defaults", "animations", "FIELD_CONSTANTS", "FieldAdapter", "BaseAdapter", "component", "getShadowElement", "FIELD_CONSTANTS", "name", "listener", "resizeContainer", "childElements", "wrapElements", "FOCUS_INDICATOR_CONSTANTS", "resizeContainerElement", "unwrapElements", "value", "skipAnimation", "className", "animationName", "animationEndListener", "evt", "removeClass", "addClass", "slot", "slotElement", "classMap", "toggleClass", "el", "label", "FieldFoundation", "_adapter", "FIELD_CONSTANTS", "evt", "value", "template", "styles", "FieldComponent", "BaseComponent", "attachShadowTemplate", "FieldFoundation", "FieldAdapter", "FIELD_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "value", "__decorateClass", "FoundationProperty", "CustomElement", "FocusIndicatorComponent", "defineFieldComponent", "defineCustomElement", "FieldComponent"]
7
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Tyler Technologies, Inc.
4
+ * License: Apache-2.0
5
+ */
6
+ import{a as M,d as ae}from"./chunk.HMJODLAS.js";import{a as $,b as x,c as v,d as U}from"./chunk.UV3WIHCM.js";import{c as re}from"./chunk.66YURKP2.js";import{a as ne}from"./chunk.QCRO5NSG.js";import{a as R}from"./chunk.LEVFMI2Q.js";import{b as te}from"./chunk.RLQB7224.js";import{a as ie,d as se,l as oe}from"./chunk.CIUPY66Y.js";import{a as X}from"./chunk.XU3YSZPA.js";import{a as le}from"./chunk.CSOKFDFQ.js";import{a as Q}from"./chunk.6GSVB5NB.js";import{a as T}from"./chunk.NVUMRW44.js";import{a as j,b as ee}from"./chunk.UQQQSJVM.js";import{a as q,k as J}from"./chunk.BIQTNLIF.js";import{d as g,e as F,f as p,g as D,i as W,j as K,t as Z}from"./chunk.DCCFF327.js";import{b as f,c as Y,d as y,h as H,j as w,k as L,l as G,o as V}from"./chunk.J2M2MXP2.js";import{a as h,d as _}from"./chunk.M3QDAYD2.js";var I=class{constructor(e){this._key=e,this._items=[]}getItems(){return[...this._items]}count(){return this._items.length}setKey(e){this._key=e}add(e){return e instanceof Array||(e=[e]),e.forEach(t=>{this.exists(t)||this._items.push(t)}),this}remove(e){e instanceof Array||(e=[e]);for(let t=e.length-1;t>=0;t--)this.exists(e[t])&&this._items.splice(this._items.indexOf(this._getItem(e[t])),1);return this}clear(){return this._items=[],this}exists(e){return this._getItem(e)!==null}_getItem(e){return this._key?x(this._items,v(this._key,e))||null:this._items.find(t=>t===e)||null}};var S=`${ee}table`,ce={TABLE:"forge-table",TABLE_DENSE:"forge-table--dense",TABLE_ROOMY:"forge-table--roomy",TABLE_RESIZABLE:"forge-table--resizable",TABLE_RESIZING:"forge-table--resizing",TABLE_RESIZE_HANDLE:"forge-table__resize-handle",TABLE_NO_WRAP_CONTENT:"forge-table--no-wrap-content",TABLE_LAYOUT_FIXED:"forge-table--layout-fixed",TABLE_FILTER_VISIBLE:"forge-table--filter-visible",TABLE_FIXED:"forge-table--fixed",TABLE_HEAD:"forge-table-head",TABLE_HEAD_ROW:"forge-table-head__row",TABLE_HEAD_ROW_FILTER:"forge-table-head__row__filter",TABLE_HEAD_CELL:"forge-table-head__cell",TABLE_HEAD_CELL_CONTAINER:"forge-table-head__cell-container",TABLE_HEAD_CELL_SORTABLE:"forge-table-head__cell--sortable",TABLE_HEAD_CELL_SORT_ICON:"forge-table-head__cell-sort-icon",TABLE_HEAD_CELL_TEXT:"forge-table-head__cell-text",TABLE_HEAD_CELL_SORT_ICON_ACTIVE:"forge-table-head__cell-sort-icon--active",TABLE_HEAD_CELL_SORTED_ASCENDING:"forge-table-head__cell--sorted-ascending",TABLE_HEAD_CELL_SORTED_DESCENDING:"forge-table-head__cell--sorted-descending",TABLE_HEAD_CELL_SORT_ORDER:"forge-table-head__cell__sort-order",TABLE_HEAD_CELL_SORT_ORDER_HIDDEN:"forge-table-head__cell__sort-order--hidden",TABLE_BODY:"forge-table-body",TABLE_BODY_ROW:"forge-table-body__row",TABLE_BODY_ROW_SELECTED:"forge-table-body__row--selected",TABLE_BODY_ROW_CLICKABLE:"forge-table-body__row--clickable",TABLE_BODY_CELL:"forge-table-body__cell",TABLE_ROW:"forge-table-row",TABLE_ROW_EXPANDED:"forge-table-row--expanded",TABLE_ROW_EXPANDABLE_CONTENT:"forge-table-row__expandable-content",TABLE_ROW_EXPANDABLE_CONTENT_CELL:"forge-table-row__expandable-content-cell",TABLE_CELL:"forge-table-cell",TABLE_CELL_SELECT:"forge-table-cell__select",TABLE_CELL_SELECT_CHECKBOX:"forge-table-cell__select-checkbox",TABLE_CELL_SELECT_CHECKBOX_CONTAINER:"forge-table-cell__select-checkbox-container",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT:"forge-table-cell__select-checkbox-container--align-right",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT:"forge-table-cell__select-checkbox-container--align-left",TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER:"forge-table-cell__select-checkbox-container--align-center",TABLE_CELL_CONTAINER:"forge-table-cell__container",TABLE_CELL_CONTAINER_TEXT:"forge-table-cell__container-text",TABLE_CELL_CENTER:"forge-table-cell--center",TABLE_CELL_RIGHT:"forge-table-cell--right",TABLE_CELL_RESIZABLE:"forge-table-cell--resizing"},be={TABLE:".forge-table",CHECKBOX_INPUT:"forge-checkbox > input[type=checkbox]:not([forge-ignore])",SELECT_ALL_TEMPLATE_CHECKBOX_INPUT:"input[type=checkbox]:not([forge-ignore])",ROW_SELECTED:`.${ce.TABLE_BODY_ROW_SELECTED}`},Ee={SELECT:"select",MULTISELECT:"multiselect",SELECT_KEY:"select-key",DENSE:"dense",ROOMY:"roomy",FILTER:"filter",FIXED_HEADERS:"fixed-headers",LAYOUT_TYPE:"layout-type",WRAP_CONTENT:"wrap-content",RESIZABLE:"resizable",MIN_RESIZE_WIDTH:"min-resize-width",ALLOW_ROW_CLICK:"allow-row-click",MULTI_COLUMN_SORT:"multi-column-sort",SELECT_CHECKBOX_ALIGNMENT:"select-checkbox-alignment",TOOLTIP_SELECT:"tooltip-select",TOOLTIP_SELECT_ALL:"tooltip-select-all",CHECKBOX_TYPE:"forge-checkbox-type",CUSTOM_CELL_TEMPLATE:"data-cell-template",CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION:"data-cell-template-stop-propagation"},_e={ROW_CLICK:`${S}-row-click`,SELECT:`${S}-select`,SELECT_DOUBLE:`${S}-select-double`,SELECT_ALL:`${S}-select-all`,SORT:`${S}-sort`,FILTER:`${S}-filter`,INITIALIZED:`${S}-initialized`,COLUMN_RESIZE:`${S}-column-resize`},Te={SELECT_ALL:"select-all",SELECT_ROW:"select-row",DEFAULT_LAYOUT_TYPE:"auto"},pe={SORT_DOWN:"arrow_downward"},Ce={DEFAULT_FILTER_DEBOUNCE_TIME:750,MIN_RESIZE_WIDTH:100,RESIZE_HOVER_DURATION:150},s={elementName:S,classes:ce,selectors:be,attributes:Ee,events:_e,strings:Te,icons:pe,numbers:Ce};var B=(l=>(l.Left="left",l.Right="right",l.Center="center",l))(B||{}),O=(l=>(l.Ascending="ASC",l.Descending="DESC",l.Unset="UNSET",l))(O||{}),he=(o=>(o.InputText="text",o.InputNumber="number",o.Select="select",o.SelectMultiple="select-multiple",o.Date="date",o.DateRange="date-range",o))(he||{});function de(n){return n&&typeof n=="object"&&"content"in n}var b=class n{static createTable(e){n._resetTable(e.tableElement);let t=n._createTableHead(e),l=n._createTableBody(e);e.clickListener&&(n._attachRowClickListeners(l,e.clickListener,e.doubleClickListener),n._addRowClickAttributes(l)),e.fixedHeaders&&n.setFixedHeaders(e),e.resizable&&n.setResizable(e),e.dense&&n.setDenseState(e.tableElement,e.dense),e.wrapContent&&n.setWrapContentState(e.tableElement,e.wrapContent),e.selectListener&&n._addSelectColumn(t,l,e.selectListener,e.selectAllListener,e.selectAllTemplate,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),(e.resizable||e.columnConfigurations.some(i=>!!i.sortable))&&(n._attachHeadRowMouseDownListener(t,e.headRowMouseDownListener),n._isMac()&&n._attachHeadRowContextMenuListener(t,e.headRowContextMenuListener)),n.setLayoutType(e),n._setTableHead(e.tableElement,t),e.filter&&n.setFilterRow(e),n._setTableBody(e.tableElement,l)}static _setTableHead(e,t){e.tHead?F(t,e.tHead):e.appendChild(t)}static _setTableBody(e,t){e.tBodies.length?F(t,e.tBodies[0]):e.appendChild(t)}static recreateTableBody(e){let t=n._createTableBody(e);e.clickListener&&(n._attachRowClickListeners(t,e.clickListener,e.doubleClickListener),n._addRowClickAttributes(t)),e.selectListener&&(n._createBodySelectColumn(t,e.selectCheckboxAlignment,e.data,e.tooltipSelect,e.tooltipSelectAll),n._attachRowSelectListeners(t,e.selectListener)),n._setTableBody(e.tableElement,t)}static _resetTable(e){g(e)}static _createMultisortTooltip(){let e=document.createElement("forge-tooltip");return e.textContent="Ctrl + click to sort multiple columns",e.placement="bottom",e.delay=0,e}static _createTableHead(e){let t=document.createElement("thead"),l=t.insertRow();p([s.classes.TABLE_ROW,s.classes.TABLE_HEAD_ROW],l);let i=!1;for(let a=0;a<e.columnConfigurations.length;a++){let o=e.columnConfigurations[a],r=document.createElement("th");r.scope="col",p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],r);let c;if(o.sortable?(c=document.createElement("button"),c.type="button",c.addEventListener("keydown",e.sortableHeadCellKeydownListener)):c=document.createElement("div"),c.classList.add(s.classes.TABLE_HEAD_CELL_CONTAINER),e.multiColumnSort){let d=n._createMultisortTooltip();c.appendChild(d)}if(o.align&&n._setCellAlignmentClass(c,o.align),f(o.width)){let d=K(o.width);d&&(r.style.width=d)}if(e.resizable&&o.resizable!==!1){let d=document.createElement("div");d.classList.add(s.classes.TABLE_RESIZE_HANDLE),r.appendChild(d)}f(o.headerCellStyle)&&w(o.headerCellStyle)&&(Object.assign(r.style,o.headerCellStyle),Object.assign(c.style,o.headerCellStyle));let m=document.createElement("span");if(m.classList.add(s.classes.TABLE_HEAD_CELL_TEXT),m.textContent=o.header&&typeof o.header=="string"?o.header.trim():"",o.sortable){r.classList.add(s.classes.TABLE_HEAD_CELL_SORTABLE);let d=document.createElement("span");p([s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,s.classes.TABLE_HEAD_CELL_SORT_ORDER],d);let u=document.createElement(ie.elementName);u.name=s.icons.SORT_DOWN,p([s.classes.TABLE_HEAD_CELL_SORT_ICON],u),e.multiColumnSort?typeof o.initialSort=="object"&&o.initialSort.sortOrder&&(d.textContent=o.initialSort.sortOrder.toString(),e.columnConfigurations.filter(C=>typeof C.initialSort=="object").length>1&&D(s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN,d),r.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(r,o.initialSort.direction)):e.sortedColumn===a&&!i&&!e.multiColumnSort&&(r.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),u.classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(r,e.sortDirection),i=!0),c.appendChild(u),c.appendChild(d)}typeof o.headerTemplate=="function"?Promise.resolve(o.headerTemplate(a,c,o)).then(d=>{if(d){let u=document.createElement("div");p(s.classes.TABLE_CELL_CONTAINER,u),typeof d=="string"?u.innerHTML=d:n._prepend(d,u),u.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""),n._prepend(u,c)}}):n._prepend(m,c),r.appendChild(c),l.appendChild(r)}return t}static setSortDirection(e,t,l){let i=n._getHeaderCellByIndex(e,t);e.querySelectorAll("th[aria-sort]").forEach(a=>a.removeAttribute("aria-sort")),n._setColumnSortDirection(i,l)}static _setColumnSortDirection(e,t){e.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&e.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),e.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&e.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING),!t||t==="DESC"?(e.setAttribute("aria-sort","descending"),e.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)):(e.setAttribute("aria-sort","ascending"),e.classList.add(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING))}static _createTableBody(e){let t=document.createElement("tbody");return n._getOrderedRowData(e.columnConfigurations,e.data).forEach((i,a)=>{let o=t.insertRow();p([s.classes.TABLE_ROW,s.classes.TABLE_BODY_ROW],o),n._populateRowCells(e,o,i,a),typeof e.rowCreatedCallback=="function"&&e.rowCreatedCallback(o,a,h({},e.data[a].data))}),t}static _populateRowCells(e,t,l,i){for(let a=0;a<l.length;a++){let o=e.columnConfigurations[a],r=t.insertCell();if(p([s.classes.TABLE_CELL,s.classes.TABLE_BODY_CELL],r),f(o.width)){let m=K(o.width);m&&(r.style.width=m)}let c=document.createElement("div");if(c.classList.add(s.classes.TABLE_CELL_CONTAINER),f(o.cellStyle)&&w(o.cellStyle)&&(Object.assign(r.style,o.cellStyle),Object.assign(c.style,o.cellStyle)),o.template&&typeof o.template=="function"){let m=e.data[i]?e.data[i].data:void 0;Promise.resolve(o.template(i,c,m,a)).then(d=>{let u=de(d)?d:{content:d,stopClickPropagation:o.stopCellTemplateClickPropagation};u.content&&(typeof u.content=="string"?c.innerHTML=u.content:c.appendChild(u.content),c.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""),u.stopClickPropagation&&c.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION,""))})}else if(o.property){let m=document.createElement("span");m.classList.add(s.classes.TABLE_CELL_CONTAINER_TEXT),c.appendChild(m),o.transform&&typeof o.transform=="function"?Promise.resolve(o.transform(l[a])).then(d=>m.textContent=d):l[a]==null?m.textContent="":m.textContent=l[a].toString()}if(o.align&&n._setCellAlignmentClass(c,o.align),r.appendChild(c),f(o.columnSpan)){if(o.columnSpan==="all"){r.colSpan=l.length-a;break}else if(typeof o.columnSpan=="number"&&o.columnSpan>0){let m=o.columnSpan;o.columnSpan>l.length-a&&(m=l.length),r.colSpan=m,a=a+(m-1)}}typeof e.cellCreatedCallback=="function"&&e.cellCreatedCallback(r,i,a)}}static _setCellAlignmentClass(e,t){switch(t){case"center":e.classList.add(s.classes.TABLE_CELL_CENTER);break;case"right":e.classList.add(s.classes.TABLE_CELL_RIGHT);break}}static _getNonExpandedRows(e){return Array.from(e).filter(t=>!t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _getExpandedRows(e){return Array.from(e).filter(t=>t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}static _createColumnDataMap(e,t){return e.map(l=>({config:l,data:t.map(i=>{if(l.property){let a=$(i.data,l.property);return f(a)?a:null}return null})}))}static _getOrderedRowData(e,t){let l=n._createColumnDataMap(e,t),i=[];for(let a of l)for(let o=0;o<a.data.length;o++)i[o]||(i[o]=[]),i[o].push(a.data[o]);return i}static _attachRowClickListeners(e,t,l){n._getNonExpandedRows(e.rows).forEach(a=>{a.addEventListener("click",t),l&&a.addEventListener("dblclick",l)})}static _addRowClickAttributes(e){n._getNonExpandedRows(e.rows).forEach(l=>{l.classList.add(s.classes.TABLE_BODY_ROW_CLICKABLE)})}static _removeRowClickAttributes(e){n._getNonExpandedRows(e.rows).forEach(l=>{l.classList.remove(s.classes.TABLE_BODY_ROW_CLICKABLE)})}static _attachRowSelectListeners(e,t){n._getNonExpandedRows(e.rows).forEach(i=>n._attachRowSelectListener(i,t))}static _attachRowSelectListener(e,t){let l=n._getCheckboxElement(e);l==null||l.addEventListener("click",t)}static _detachRowSelectListeners(e,t){Array.from(e.rows).forEach(l=>{let i=n._getCheckboxElement(l);i==null||i.removeEventListener("click",t)})}static _detachRowClickListeners(e,t,l){Array.from(e.rows).forEach(i=>{i.removeEventListener("click",t),i.removeEventListener("dblclick",l)})}static _attachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=n._getCheckboxElement(l);if(!i)throw new Error("Checkbox element not found.");i.addEventListener("change",t)}static _tryAttachSelectAllTemplateListener(e,t){let l=e.rows[e.rows.length-1],i=n._tryGetSelectAllCheckboxElement(l);i&&i.addEventListener("change",t)}static _detachSelectAllListener(e,t){let l=e.rows[e.rows.length-1],i=n._tryGetSelectAllCheckboxElement(l);i&&i.removeEventListener("change",t)}static _attachHeadRowMouseDownListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("mousedown",t)}static _attachHeadRowContextMenuListener(e,t){let l=e.rows[0];if(!l)throw new Error("Missing table header row. Unable to attach sort listener.");l.addEventListener("contextmenu",t)}static _createSelectColumn(e,t,l,i,a,o,r,c,m){e&&n._createHeadSelectColumn(e,l,i,a,o,m),t&&n._createBodySelectColumn(t,o,r,c,m)}static _createHeadSelectColumn(e,t,l,i,a,o){var r;if(Array.from(e.rows).forEach(c=>{let m=document.createElement("th");p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],m),c.insertBefore(m,c.cells.item(0))}),t){let c=(r=e.rows.item(e.rows.length-1))==null?void 0:r.cells.item(0);c.classList.add(s.classes.TABLE_CELL_SELECT),typeof l=="function"?n._renderSelectAllTemplate(l,e).then(()=>{typeof i=="function"&&i()}):c==null||c.appendChild(n._createCheckboxElement(!0,a,null,null,null,o))}}static _createBodySelectColumn(e,t,l,i,a){if(n._getNonExpandedRows(e.rows).forEach((r,c)=>n._addRowSelectColumn(r,t,c,l[c],i,a)),e.rows.length){let r=e.rows.item(0);r&&n._updateExpandedRowColspan(e.rows,r.cells.length)}}static _addRowSelectColumn(e,t,l,i,a,o){let r=e.insertCell(0);p([s.classes.TABLE_CELL,s.classes.TABLE_BODY_CELL,s.classes.TABLE_CELL_SELECT],r),r.appendChild(n._createCheckboxElement(!1,t,l,i,a,o))}static _destroySelectColumn(e,t){let l=n._getNonExpandedRows(t.rows);if(Array.from(e.rows).forEach(i=>i.removeChild(i.cells.item(0))),Array.from(l).forEach(i=>i.removeChild(i.cells.item(0))),t.rows.length){let i=t.rows.item(0);i&&n._updateExpandedRowColspan(t.rows,i.cells.length)}}static _hasSelectColumn(e,t){return[...Array.from(e.rows),...Array.from(t.rows)].some(i=>i.cells.item(0).classList.contains(s.classes.TABLE_CELL_SELECT))}static _createCheckboxElement(e,t,l,i,a,o){let r=document.createElement("div");if(r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER),t)switch(t){case"center":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_CENTER);break;case"left":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_LEFT);break;case"right":r.classList.add(s.classes.TABLE_CELL_SELECT_CHECKBOX_CONTAINER_ALIGN_RIGHT);break}let c=document.createElement(ne.elementName),m=document.createElement("input");m.type="checkbox";let d=a||"";i&&typeof a=="function"&&(d=a.call(null,l,i.data));let u=document.createElement("forge-tooltip");return u.position="left",e?u.textContent=o||"":u.textContent=d,m.setAttribute("aria-label","Select row"),c.appendChild(m),r.appendChild(u),r.appendChild(c),r}static _getCheckboxElement(e){let t=e.querySelector(`.${s.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(s.selectors.CHECKBOX_INPUT):null}static _tryGetSelectAllCheckboxElement(e){let t=e.querySelector(`.${s.classes.TABLE_CELL_SELECT}`);return t?t.querySelector(s.selectors.CHECKBOX_INPUT)||t.querySelector(s.selectors.SELECT_ALL_TEMPLATE_CHECKBOX_INPUT):null}static _setSelectedCheckboxState(e,t){e&&(e.checked=t)}static _setIndeterminateCheckboxState(e,t){e&&(e.indeterminate=t)}static _setRowSelectedState(e,t){t?e.classList.contains(s.classes.TABLE_BODY_ROW_SELECTED)||e.classList.add(s.classes.TABLE_BODY_ROW_SELECTED):e.classList.remove(s.classes.TABLE_BODY_ROW_SELECTED)}static _updateExpandedRowColspan(e,t){n._getExpandedRows(e).forEach(i=>{let a=i.cells.item(0);a&&(a.colSpan=t)})}static updateSelectedState(e,t){n._setRowSelectedState(e,t);let l=n._getCheckboxElement(e);l&&n._setSelectedCheckboxState(l,t)}static getRowByIndex(e,t){return n._getNonExpandedRows(e.tBodies[0].rows)[t]}static updateSelectAllState(e,t,l){if(!e.tHead)return;let i=e.tHead.rows[e.tHead.rows.length-1],a=n._tryGetSelectAllCheckboxElement(i);a&&(n._setSelectedCheckboxState(a,t),n._setIndeterminateCheckboxState(a,!!l))}static setSelectedRows(e,t,l,i,a=!1){if(!e.tBodies.length)return;a||n.clearSelectedRows(e);let o=e.tBodies[0].rows,r=0;i.length&&Array.from(o).forEach((c,m)=>{let d=l[m];if(x(i,v(t,d))){n._setRowSelectedState(c,!0);let C=n._getCheckboxElement(c);C&&n._setSelectedCheckboxState(C,!0),r++}}),n.updateSelectAllState(e,r>0&&o.length===r)}static clearSelectedRows(e){if(!e.tBodies.length)return;n._getNonExpandedRows(e.tBodies[0].rows).forEach(l=>{n._setRowSelectedState(l,!1);let i=n._getCheckboxElement(l);i&&n._setSelectedCheckboxState(i,!1)})}static setSortedColumn(e,t,l){let i=n._getHeaderCellByIndex(e,t);n._getSortIconElementFromHeaderCell(i).classList.add(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE),n._setColumnSortDirection(i,l)}static setMultiSortColumnSortNumber(e,t,l,i){let r=n._getHeaderCellByIndex(e,l).querySelector(`.${s.classes.TABLE_HEAD_CELL_CONTAINER}`).querySelector(`.${s.classes.TABLE_HEAD_CELL_SORT_ORDER}`);r&&(Z(r,typeof i!="number"||!t,s.classes.TABLE_HEAD_CELL_SORT_ORDER_HIDDEN),i&&(r.textContent=i.toString()))}static removeColumnSort(e,t){let l=n._getHeaderCellByIndex(e,t);l.removeAttribute("aria-sort"),l.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING)&&l.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_ASCENDING),l.classList.contains(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING)&&l.classList.remove(s.classes.TABLE_HEAD_CELL_SORTED_DESCENDING);let i=n._getSortIconElementFromHeaderCell(l);i&&i.classList.contains(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)&&i.classList.remove(s.classes.TABLE_HEAD_CELL_SORT_ICON_ACTIVE)}static _getHeaderCellByIndex(e,t){if(!e.tHead)throw new Error("Table head element cannot be null.");return e.tHead.rows.item(0).cells.item(t)}static _getSortIconElementFromHeaderCell(e){return e.querySelector(`.${s.classes.TABLE_HEAD_CELL_SORT_ICON}`)}static setSelectColumnVisibility(e,t,l,i,a,o,r,c,m){let d=e.tHead,u=e.tBodies[0];!d||!u||(t?n._addSelectColumn(d,u,l,i,a,o,r,c,m):n._hasSelectColumn(d,u)&&(l&&n._detachRowSelectListeners(u,l),i&&n._detachSelectAllListener(d,i),n._destroySelectColumn(d,u)))}static _addSelectColumn(e,t,l,i,a,o,r,c,m){n._createSelectColumn(e,t,!!i,a,()=>{i&&n._tryAttachSelectAllTemplateListener(e,i)},o,r,c,m),l&&n._attachRowSelectListeners(t,l),i&&!a&&n._tryAttachSelectAllTemplateListener(e,i)}static setDenseState(e,t){e.classList.contains(s.classes.TABLE_DENSE)&&e.classList.remove(s.classes.TABLE_DENSE),t&&e.classList.add(s.classes.TABLE_DENSE)}static setRoomyState(e,t){e.classList.contains(s.classes.TABLE_ROOMY)&&e.classList.remove(s.classes.TABLE_ROOMY),t&&e.classList.add(s.classes.TABLE_ROOMY)}static setResizable(e){let t=e.tableElement.tHead;e.resizable?(e.tableElement.classList.add(s.classes.TABLE_RESIZABLE),n._addResizeHandles(t,e)):(e.tableElement.classList.remove(s.classes.TABLE_RESIZABLE),n._removeResizeHandles(t,e))}static _addResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let a of i){let o=i.indexOf(a);if(t.columnConfigurations[o].resizable!==!1){let c=document.createElement("div");c.classList.add(s.classes.TABLE_RESIZE_HANDLE),a.appendChild(c)}}}}static _removeResizeHandles(e,t){if(!e)return;let l=e.rows.item(0);if(l){let i=Array.from(l.cells);t.selectListener&&(i=i.slice(1));for(let a of i){let o=document.querySelector(`.${s.classes.TABLE_RESIZE_HANDLE}`);o&&a.removeChild(o)}}}static setWrapContentState(e,t){t?e.classList.remove(s.classes.TABLE_NO_WRAP_CONTENT):e.classList.add(s.classes.TABLE_NO_WRAP_CONTENT)}static setSelectAllVisibility(e,t,l,i,a,o){let r=e.tHead;if(!r)return;!t&&l&&n._detachSelectAllListener(r,l);let m=r.rows[r.rows.length-1].cells.item(0);t?m.childElementCount||(m.classList.add(s.classes.TABLE_CELL_SELECT),i?n._renderSelectAllTemplate(i,r).then(()=>{l&&n._tryAttachSelectAllTemplateListener(r,l)}):m.appendChild(n._createCheckboxElement(!0,a||null,null,null,null,o)),l&&!i&&n._attachSelectAllListener(r,l)):(l&&n._detachSelectAllListener(r,l),g(m))}static setFilterRow(e){if(!e.tableElement.tHead)return;let t=n._getFilterRowElement(e.tableElement.tHead),l;if(e.filter?e.tableElement.classList.add(s.classes.TABLE_FILTER_VISIBLE):e.tableElement.classList.remove(s.classes.TABLE_FILTER_VISIBLE),e.filter&&!t){if(e.columnConfigurations.every(a=>!a.filter))return;e.selectListener&&e.selectAllListener&&(l=e.tableElement.tHead.rows[e.tableElement.tHead.rows.length-1].cells.item(0));let i=n._createFilterRowElement(e);i&&l&&Array.from(l.children).forEach(a=>{var o;(o=i.cells.item(0))==null||o.appendChild(a)})}else if(!e.filter&&t){if(e.selectListener&&e.selectAllListener){l=t.cells.item(0);let i=Array.from(e.tableElement.tHead.rows).indexOf(t)-1,a=e.tableElement.tHead.rows.item(i);a&&Array.from(l.children).forEach(o=>{var r;(r=a.cells.item(0))==null||r.appendChild(o)})}W(t)}}static _createFilterRowElement(e){if(!e.tableElement.tHead)throw new Error("Table head element cannot be null.");let t=e.tableElement.tHead.insertRow();if(p([s.classes.TABLE_ROW,s.classes.TABLE_HEAD_ROW_FILTER],t),e.selectListener){let l=document.createElement("th");p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],l),t.insertBefore(l,t.cells[0]),l.classList.add(s.classes.TABLE_CELL_SELECT)}return e.columnConfigurations.forEach((l,i)=>{let a=document.createElement("th");if(p([s.classes.TABLE_CELL,s.classes.TABLE_HEAD_CELL],a),l.filter&&f(l.filterDelegate)){let o=document.createElement("div");o.classList.add(s.classes.TABLE_HEAD_CELL_CONTAINER),l.align&&n._setCellAlignmentClass(o,l.align);let r=n._createFilterElement(l,i,e.filterListener);o.appendChild(r),a.appendChild(o)}t.appendChild(a)}),t}static _createFilterElement(e,t,l){let i;if(H(e.filterDelegate))i=e.filterDelegate();else if(e.filterDelegate instanceof X||e.filterDelegate instanceof le)i=e.filterDelegate;else throw new Error("Invalid filter delegate.");if(l&&i instanceof X&&H(i.onChange))if(!f(e.filterDebounceTime)||y(e.filterDebounceTime)){let a=f(e.filterDebounceTime)?e.filterDebounceTime:s.numbers.DEFAULT_FILTER_DEBOUNCE_TIME;i.onChange(V(o=>l(o,t),a))}else i.onChange(a=>l(a,t));return i.element}static _getFilterRowElement(e){if(e)return Array.from(e.rows).find(t=>t.classList.contains(s.classes.TABLE_HEAD_ROW_FILTER))}static async expandRow(e,t,l){let i=e.tableElement.tBodies[0],o=n._getNonExpandedRows(i.rows)[t];o.classList.add(s.classes.TABLE_ROW_EXPANDED);let r=Array.from(i.rows).indexOf(o),c=i.insertRow(r+1);p([s.classes.TABLE_ROW,s.classes.TABLE_BODY_ROW,s.classes.TABLE_ROW_EXPANDABLE_CONTENT],c);let m=c.insertCell();m.setAttribute("colspan",o.cells.length.toString()),m.classList.add(s.classes.TABLE_ROW_EXPANDABLE_CONTENT_CELL);let d=document.createElement("div"),u=document.createElement(M.elementName);u.appendChild(d),m.appendChild(u);let C=l;if(H(l)){let me=e.data[t]?e.data[t].data:void 0,ue=l(t,d,me);try{let A=await Promise.resolve(ue);C=de(A)?A.content:A}catch(A){console.error("Failed to load row template "+A.message),C=""}}C&&n._setRowTemplate(d,C),window.requestAnimationFrame(()=>u.open=!0)}static _setRowTemplate(e,t){Y(t)?e.innerHTML=t:e.appendChild(t)}static collapseRow(e,t){if(!e.tableElement||!e.tableElement.tBodies.length||!e.tableElement.tBodies[0].rows.length)return Promise.resolve();let l=e.tableElement.tBodies[0],a=n._getNonExpandedRows(l.rows)[t],o=Array.from(l.rows).indexOf(a);if(a&&a.classList.contains(s.classes.TABLE_ROW_EXPANDED)){let r=l.rows[o+1],c=r.querySelector(M.elementName);if(c&&c.open){let m=new Promise(d=>{c.addEventListener(M.events.ANIMATION_COMPLETE,()=>{a.classList.remove(s.classes.TABLE_ROW_EXPANDED),W(r),d()},{once:!0})});return c.open=!1,m}}return Promise.resolve()}static isRowExpanded(e,t){let l=e.tableElement.tBodies[0],a=n._getNonExpandedRows(l.rows)[t];return a&&a.classList.contains(s.classes.TABLE_ROW_EXPANDED)}static setFixedHeaders(e){e.fixedHeaders?e.tableElement.classList.add(s.classes.TABLE_FIXED):e.tableElement.classList.remove(s.classes.TABLE_FIXED)}static setLayoutType(e){e.layoutType==="fixed"?e.tableElement.classList.add(s.classes.TABLE_LAYOUT_FIXED):e.tableElement.classList.remove(s.classes.TABLE_LAYOUT_FIXED)}static normalizeColumnWidths(e){let t=e.tableElement;if(t.tHead&&t.tHead.rows.length){let l=Array.from(t.tHead.rows[0].cells);for(let i of l){let a=getComputedStyle(i).width;i.style.width&&i.style.width!==a&&(i.style.width=a)}}}static setColumnResizeIndicatorVisibility(e,t,l){let i=e.tableElement;if(i.tHead&&i.tHead.rows.length){let a=Array.from(i.tHead.rows);for(let o of a){let r=o.cells[t];r&&(l?r.classList.add(s.classes.TABLE_CELL_RESIZABLE):r.classList.remove(s.classes.TABLE_CELL_RESIZABLE))}}if(i.tBodies.length){let a=Array.from(i.tBodies[0].rows);for(let o of a){let r=o.cells[t];r&&(l?r.classList.add(s.classes.TABLE_CELL_RESIZABLE):r.classList.remove(s.classes.TABLE_CELL_RESIZABLE))}}}static setRowClickListeners(e,t,l,i){let a=e.tBodies[0];a&&(t?n._attachRowClickListeners(a,l,i):n._detachRowClickListeners(a,l,i))}static setRowClickAttributes(e,t){let l=e.tBodies[0];l&&(t?n._addRowClickAttributes(l):n._removeRowClickAttributes(l))}static getOwnerDocument(e){return e.ownerDocument||document}static _prepend(e,t){let l=t.childNodes.item(0);l?t.insertBefore(e,l):t.appendChild(e)}static _isMac(){return!!(navigator&&navigator.platform&&navigator.platform.substr(0,3)==="Mac")}static _renderSelectAllTemplate(e,t){return Promise.resolve(e()).then(l=>{let i=t.rows.item(t.rows.length-1);if(!i)return;let a=i.cells.item(0);l&&a&&(typeof l=="string"?a.innerHTML=l:l instanceof HTMLElement&&a.appendChild(l),a.setAttribute(s.attributes.CUSTOM_CELL_TEMPLATE,""))})}};var k=class extends Q{constructor(t){super(t)}initialize(){this._tableElement||(this._tableElement=document.createElement("table"),this._tableElement.classList.add(s.classes.TABLE),this._component.children.length&&g(this._component),this._component.appendChild(this._tableElement))}getTableElement(){return this._tableElement||this.initialize(),this._tableElement}createTable(t){return b.createTable(t)}recreateTableBody(t){b.recreateTableBody(t)}setSelectedRows(t,l,i,a,o=!1){b.setSelectedRows(t,l,i,a,o)}clearSelectedRows(t){b.clearSelectedRows(t)}updateSelectedState(t,l){b.updateSelectedState(t,l)}updateSelectAllState(t,l,i){b.updateSelectAllState(t,l,i)}setSortedColumn(t,l,i){b.setSortedColumn(t,l,i)}removeColumnSort(t,l){b.removeColumnSort(t,l)}setSortDirection(t,l,i){b.setSortDirection(t,l,i)}setSelectColumnVisibility(t,l,i,a,o,r,c,m,d){b.setSelectColumnVisibility(t,l,i,a||null,o||null,r||null,c||[],m||null,d||null)}setDense(t,l){b.setDenseState(t,l)}setRoomy(t,l){b.setRoomyState(t,l)}setResizable(t){b.setResizable(t)}setSelectAllVisibility(t,l,i,a,o,r=null){b.setSelectAllVisibility(t,l,i,a,o||null,r||null)}setFilterRow(t){b.setFilterRow(t)}expandRow(t,l,i){return b.expandRow(t,l,i)}collapseRow(t,l){return b.collapseRow(t,l)}isRowExpanded(t,l){return b.isRowExpanded(t,l)}setFixedHeaders(t){b.setFixedHeaders(t)}setTableLayoutType(t){b.setLayoutType(t)}setWrapContentState(t){b.setWrapContentState(t.tableElement,t.wrapContent)}addDocumentListener(t,l){b.getOwnerDocument(this._component).addEventListener(t,l)}removeDocumentListener(t,l){b.getOwnerDocument(this._component).removeEventListener(t,l)}normalizeColumnWidths(t){b.normalizeColumnWidths(t)}setResizeColumnVisibility(t,l,i){b.setColumnResizeIndicatorVisibility(t,l,i)}addTableClass(t){p(t,this._tableElement)}removeTableClass(t){D(t,this._tableElement)}setRowClickListeners(t,l,i,a){b.setRowClickListeners(t,l,i,a)}setRowClickAttributes(t,l){b.setRowClickAttributes(t,l)}};var N=class{constructor(){this._sortedColumns=[]}get sortedColumns(){return[...this._sortedColumns.map(e=>h({},e))]}addSortColumn(e){this._sortedColumns.push(h({},e)),this._updateSortNumbers()}updateSortColumn(e){let t=this._sortedColumns.find(l=>l.columnIndex===e.columnIndex);if(t)switch(t.direction){case"ASC":this.removeSortColumn(e);break;case"DESC":t.direction="ASC";break;case"UNSET":t.direction="DESC";break}}setSortColumns(e){this._sortedColumns=[...e.map(t=>h({},t))]}removeSortColumn(e){typeof e=="number"?this._sortedColumns.splice(e,1):this._sortedColumns.splice(this._sortedColumns.indexOf(e),1),this._updateSortNumbers()}isSortColumn(e){return typeof e=="number"?this._sortedColumns.some(t=>t.columnIndex===e):this._sortedColumns.includes(e)}clearMultiSort(){this._sortedColumns=[]}getSortColumn(e){return this._sortedColumns.find(t=>t.columnIndex===e)}_updateSortNumbers(){this._sortedColumns.every(e=>typeof e.sortOrder=="number")&&this._sortedColumns.sort((e,t)=>e.sortOrder-t.sortOrder),this._sortedColumns.forEach((e,t)=>e.sortOrder=t+1)}};var P=class{constructor(e,t=!1){this.data=e;this.selected=t}};var z=class{constructor(e){this._adapter=e;this._tableRows=[];this._data=[];this._columnConfigurations=[];this._select=!1;this._multiselect=!0;this._dense=!1;this._roomy=!1;this._filter=!1;this._fixedHeaders=!1;this._layoutType=s.strings.DEFAULT_LAYOUT_TYPE;this._wrapContent=!0;this._resizable=!1;this._minResizeWidth=s.numbers.MIN_RESIZE_WIDTH;this._multiColumnSort=!1;this._selectCheckboxAlignment="center";this._isAllSelected=!1;this._sortedColumnIndex=-1;this._rendered=!1;this._allowRowClick=!1;this._multiSortManager=new N;this._rowClickListener=t=>this._onRowClick(t),this._rowDoubleClickListener=t=>this._onRowDoubleClick(t),this._selectRowListener=t=>this._onRowSelected(t),this._selectAllListener=t=>this._onSelectAll(t),this._sortableHeadCellKeydownListener=t=>this._onSortableHeadCellKeydown(t),this._headRowMouseDownListener=t=>this._onHeadRowMouseDown(t),this._headRowContextMenuListener=t=>this._onHeadRowContextMenu(t),this._documentMouseMoveListener=t=>this._onMouseMove(t),this._documentMouseUpListener=t=>this._onMouseUp(t),this._filterListener=(t,l)=>this._onFilter(t,l),this._selectionManager=new I(this._selectKey),this._hiddenColumnManager=new I}initialize(){this.connect(),this._adapter.setHostAttribute(s.attributes.SELECT,this._select.toString()),this._adapter.setHostAttribute(s.attributes.MULTISELECT,this._multiselect.toString()),this._adapter.setHostAttribute(s.attributes.DENSE,this._dense.toString()),this._adapter.setHostAttribute(s.attributes.ROOMY,this._roomy.toString()),this._adapter.setHostAttribute(s.attributes.FILTER,this._filter.toString()),this._adapter.emitHostEvent(s.events.INITIALIZED,void 0,!1)}connect(){this._adapter.initialize()}disconnect(){this._resizeDescriptor=void 0,this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener)}set data(e){Array.isArray(e)&&e.length>0?w(e[0])?this._data=e.map(t=>h({},t)):this._data=[...e]:this._data=[],this._tableRows=this._data.map(t=>new P(t,this._selectionManager.exists(t))),this._renderBody()}get data(){return this._data.map(e=>h({},e))}set columnConfigurations(e){this._columnConfigurations=e.map(t=>h({},t)),this._hiddenColumnManager.clear(),this._columnConfigurations.forEach(t=>{t.hidden&&this._hiddenColumnManager.add(t)}),this._refreshTableSort(),this.render()}get columnConfigurations(){return this._columnConfigurations.map(e=>h({},e))}get _visibleColumnConfigurations(){return this._columnConfigurations.filter(e=>!this._hiddenColumnManager.exists(e))}get _tableConfiguration(){return{tableElement:this._adapter.getTableElement(),columnConfigurations:this._visibleColumnConfigurations,data:this._tableRows,clickListener:this._allowRowClick?this._rowClickListener:null,doubleClickListener:this._allowRowClick?this._rowDoubleClickListener:null,selectListener:this._select?this._selectRowListener:null,selectAllListener:this._multiselect?this._selectAllListener:null,sortableHeadCellKeydownListener:this._sortableHeadCellKeydownListener,headRowMouseDownListener:this._headRowMouseDownListener,headRowContextMenuListener:this._headRowContextMenuListener,filterListener:this._filter?this._filterListener:null,sortDirection:this._sortDirection,sortedColumn:this._sortedColumnIndex,multiColumnSort:this._multiColumnSort,filter:this._filter,wrapContent:this._wrapContent,fixedHeaders:this._fixedHeaders,layoutType:this._layoutType,dense:this._dense,resizable:this._resizable,rowCreatedCallback:this._rowCreatedCallback,cellCreatedCallback:this._cellCreatedCallback,selectAllTemplate:this._selectAllTemplate,selectCheckboxAlignment:this._selectCheckboxAlignment,tooltipSelect:this._tooltipSelect,tooltipSelectAll:this._tooltipSelectAll}}set select(e){this._select!==e&&(this._select=e,this._adapter.setSelectColumnVisibility(this._adapter.getTableElement(),this._select,this._selectRowListener,this._multiselect?this._selectAllListener:void 0,this._multiselect?this._selectAllTemplate:null,this._selectCheckboxAlignment,this._tableRows,this._tooltipSelect,this._tooltipSelectAll),this._updateSelections(!0),this._select?this._adapter.setHostAttribute(s.attributes.SELECT,this._select.toString()):this._adapter.removeHostAttribute(s.attributes.SELECT))}get select(){return this._select}set multiselect(e){this._multiselect!==e&&(this._multiselect=e,this._select&&(this._adapter.setSelectAllVisibility(this._adapter.getTableElement(),this._multiselect,this._multiselect?this._selectAllListener:null,this._multiselect?this.selectAllTemplate:null,this._selectCheckboxAlignment,this._tooltipSelectAll),this._updateSelections(!0)),this._adapter.setHostAttribute(s.attributes.MULTISELECT,this._multiselect.toString()))}get multiselect(){return this._multiselect}get selectKey(){return Array.isArray(this._selectKey)?[...this._selectKey]:this._selectKey}set selectKey(e){this._originalSelectKey!==e&&(Array.isArray(e)?(this._originalSelectKey=[...e],this._selectKey=[...e]):(this._originalSelectKey=e,this._selectKey=[e]),this._selectionManager.setKey(this._selectKey),this._updateSelections(!1))}get dense(){return this._dense}set dense(e){this._dense!==e&&(this._dense=e,this._adapter.setDense(this._adapter.getTableElement(),this._dense),this._adapter.setHostAttribute(s.attributes.DENSE,this._dense.toString()))}get roomy(){return this._roomy}set roomy(e){e!==this._roomy&&(this._roomy=e,this._applyRoomy())}set filter(e){this._filter!==e&&(this._filter=e,this._adapter.setFilterRow(this._tableConfiguration),this._adapter.setHostAttribute(s.attributes.FILTER,this._filter.toString()))}get filter(){return this._filter}set fixedHeaders(e){this._fixedHeaders!==e&&(this._fixedHeaders=e,this._adapter.setFixedHeaders(this._tableConfiguration))}get fixedHeaders(){return this._fixedHeaders}get layoutType(){return this._layoutType}set layoutType(e){this._layoutType!==e&&(this._layoutType=e,this._adapter.setTableLayoutType(this._tableConfiguration))}get wrapContent(){return this._wrapContent}set wrapContent(e){this._wrapContent!==e&&(this._wrapContent=e,this._adapter.setWrapContentState(this._tableConfiguration))}get resizable(){return this._resizable}set resizable(e){this._resizable!==e&&(this._resizable=e,this._adapter.setResizable(this._tableConfiguration))}get minResizeWidth(){return this._minResizeWidth}set minResizeWidth(e){this._minResizeWidth!==e&&(this._minResizeWidth=e,y(this._minResizeWidth)?this._minResizeWidth<0&&(this._minResizeWidth=0):this._minResizeWidth=s.numbers.MIN_RESIZE_WIDTH)}get allowRowClick(){return this._allowRowClick}set allowRowClick(e){this._allowRowClick!==e&&(this._allowRowClick=e,this._rendered&&(this._adapter.setRowClickListeners(this._adapter.getTableElement(),this._allowRowClick,this._rowClickListener,this._rowDoubleClickListener),this._adapter.setRowClickAttributes(this._adapter.getTableElement(),this._allowRowClick)))}get multiColumnSort(){return this._multiColumnSort}set multiColumnSort(e){e!==this._multiColumnSort&&(this._multiColumnSort=e,this._refreshTableSort(),this.render())}get selectCheckboxAlignment(){return this._selectCheckboxAlignment}set selectCheckboxAlignment(e){e!==this._selectCheckboxAlignment&&(this._selectCheckboxAlignment=e,this._adapter.setHostAttribute(s.attributes.SELECT_CHECKBOX_ALIGNMENT,e),this.render())}get tooltipSelect(){return this._tooltipSelect}set tooltipSelect(e){e!==this._tooltipSelect&&(this._tooltipSelect=e,typeof e=="string"&&this._adapter.setHostAttribute(s.attributes.TOOLTIP_SELECT,e),this.render())}get tooltipSelectAll(){return this._tooltipSelectAll}set tooltipSelectAll(e){e!==this._tooltipSelectAll&&(this._tooltipSelectAll=e,this._adapter.setHostAttribute(s.attributes.TOOLTIP_SELECT_ALL,e),this.render())}get selectAllTemplate(){return this._selectAllTemplate}set selectAllTemplate(e){e!==this._selectAllTemplate&&(this._selectAllTemplate=e,this.render())}get rowCreated(){return this._rowCreatedCallback}set rowCreated(e){this._rowCreatedCallback=e}get cellCreated(){return this._cellCreatedCallback}set cellCreated(e){this._cellCreatedCallback=e}isRowSelected(e){let t=v(Array.isArray(this._selectKey)?this._selectKey:[this._selectKey],e);return this.selectKey?!!this._selectionManager.getItems().find(l=>U(l,t)):this._selectionManager.exists(e)}getSelectedRows(){return this._selectionManager.getItems()}selectRows(e,t){if(!this._selectKey)throw new Error("You must set a selectKey to select rows.");(!this._multiselect||t)&&this.clearSelections(),e&&e.length&&(this._selectionManager.add(e),this._updateSelections(!t))}deselectRows(e){e&&e.length&&(this._selectionManager.remove(e),this._updateSelections(!1))}clearSelections(){let e=this._adapter.getTableElement();this._selectionManager.clear(),this._tableRows.forEach(t=>t.selected=!1),this._isAllSelected=!1,this._adapter.clearSelectedRows(e),this._select&&this._multiselect&&this._adapter.updateSelectAllState(e,!1)}hideColumn(e){let t=this._columnConfigurations[e];this._sortedColumnIndex===e&&(this._sortedColumnIndex=-1),this._hiddenColumnManager.exists(t)||(this._hiddenColumnManager.add(t),this.render())}showColumn(e){let t=this._columnConfigurations[e];this._hiddenColumnManager.exists(t)&&(this._hiddenColumnManager.remove(t),this.render())}isColumnHidden(e){let t=this._columnConfigurations[e];return!!t&&this._hiddenColumnManager.exists(t)}render(){this._adapter.createTable(this._tableConfiguration),this._renderSelections(),this._rendered=!0}_renderBody(){this._rendered&&(this._adapter.recreateTableBody(this._tableConfiguration),this._renderSelections())}_renderSelections(){this.select&&(this._isAllSelected=this._getSelectAllState(),this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)));let e=this._selectionManager.getItems();e.length&&this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,e,!1)}expandRow(e,t){if(!this._rendered)throw new Error("Cannot expand a row before the table has rendered.");if(e<0||e>this._tableRows.length)throw new Error(`Invalid row index: ${e}.`);return this._adapter.expandRow(this._tableConfiguration,e,t)}collapseRow(e){return!this._rendered||e<0||e>this._tableRows.length?Promise.resolve():this._adapter.collapseRow(this._tableConfiguration,e)}isRowExpanded(e){return this._adapter.isRowExpanded(this._tableConfiguration,e)}selectRowsByIndex(e,t){let l=e.map(i=>this._data[i]).filter(i=>!!i);this.selectRows(l,!t)}deselectRowsByIndex(e){let t=e.map(l=>this._data[l]).filter(l=>!!l);this.deselectRows(t)}_getSelectAllState(){return this._tableRows.length>0&&this._tableRows.every(e=>e.selected)}_updateSelections(e){this._tableRows.forEach(l=>l.selected=this._selectionManager.exists(l.data));let t=this._getSelectAllState();this._adapter.setSelectedRows(this._adapter.getTableElement(),this._selectKey,this._data,this._selectionManager.getItems(),e),(t!==this._isAllSelected||this._isIndeterminate(t))&&(this._isAllSelected=t,this._multiselect&&this._adapter.updateSelectAllState(this._adapter.getTableElement(),this._isAllSelected,this._isIndeterminate(this._isAllSelected)))}_onRowClick(e){if(e.stopImmediatePropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let i=R(e).filter(m=>m.nodeType===1).find(m=>m.hasAttribute(s.attributes.CUSTOM_CELL_TEMPLATE));if(i&&i.hasAttribute(s.attributes.CUSTOM_CELL_TEMPLATE_STOP_PROPAGATION))return;let{index:o,data:r}=this._getSelectedRowFromEvent(e),c={index:o,data:r};this._adapter.emitHostEvent(s.events.ROW_CLICK,c,!0,!1)}_onRowDoubleClick(e){if(e.stopPropagation(),e.target.tagName==="INPUT"&&e.target.type==="checkbox")return;let t=this._getSelectedRowFromEvent(e),l={index:t.index,data:t.data};this._adapter.emitHostEvent(s.events.SELECT_DOUBLE,l,!0,!1)}_onRowSelected(e){let t=this._getSelectedRowFromEvent(e);this._multiselect||this._tableRows.filter(r=>r.selected).forEach(r=>{U(r.data,v(this._selectKey,t.data))||this.deselectRows([r.data])});let l=!this._selectionManager.exists(t.data);this._adapter.updateSelectedState(t.rowElement,l),l?this._selectionManager.add(t.data):this._selectionManager.remove(t.data),this._tableRows[t.index].selected=l;let i=[t.index],a=!1;if(this._multiselect){if(e.shiftKey&&this._previouslyClickedRow&&(i=this._shiftSelectRows(t),i.includes(this._previouslyClickedRow.index))){let r=i.indexOf(this._previouslyClickedRow.index);i.splice(r,1)}a=this._getSelectAllState(),this._adapter.updateSelectAllState(this._adapter.getTableElement(),a,this._isIndeterminate(a))}for(let o of i){let r=this._tableRows[o].data,m={selected:this._selectionManager.exists(r),index:o,data:r};this._adapter.emitHostEvent(s.events.SELECT,m,!0,!1)}if(this._isAllSelected!==a){this._isAllSelected=a;let o={status:this._isAllSelected,count:this._tableRows.filter(r=>r.selected).length,data:[...this._data],targetType:"row"};this._adapter.emitHostEvent(s.events.SELECT_ALL,o,!0,!1)}this._previouslyClickedRow=h({},t)}_getSelectedRowFromEvent(e){let l=R(e).find(r=>r.tagName==="TR"),i=l.parentElement,a=this._getNonExpandedRows(i).findIndex(r=>r===l),o=this._tableRows[a].data;return{rowElement:l,index:a,data:o}}_getNonExpandedRows(e){return Array.from(e.rows).filter(t=>!t.classList.contains(s.classes.TABLE_ROW_EXPANDABLE_CONTENT))}_onSelectAll(e){e.stopPropagation(),this._isAllSelected=!this._isAllSelected;let t=this._adapter.getTableElement();this._adapter.updateSelectAllState(t,this._isAllSelected),this._tableRows.forEach((i,a)=>{i.selected=this._isAllSelected,this._isAllSelected?this._selectionManager.add(i.data):this._selectionManager.remove(i.data);let o=b.getRowByIndex(t,a);o&&this._adapter.updateSelectedState(o,this._isAllSelected)});let l={status:this._isAllSelected,count:this._tableRows.filter(i=>i.selected).length,data:[...this._data],targetType:"select-all"};this._adapter.emitHostEvent(s.events.SELECT_ALL,l,!0,!1)}_onHeadRowContextMenu(e){e.ctrlKey&&e.preventDefault()}_onHeadRowMouseDown(e){if(e.button!==0)return;let t=R(e),l=e.target,i=t.find(r=>r.tagName==="TR"),a=t.find(r=>r.tagName==="TH"),o=Array.from(i.cells).findIndex(r=>r===a);this._headCellMouseDownIndex=o,l!==a&&l.classList.contains(s.classes.TABLE_RESIZE_HANDLE)&&(this._resizeDescriptor={element:a,startWidth:a.offsetWidth,startX:e.pageX,width:a.offsetWidth,index:this._select?o-1:o},this._adapter.addDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.setResizeColumnVisibility(this._tableConfiguration,o,!0)),this._adapter.addDocumentListener("mouseup",this._documentMouseUpListener)}_onMouseMove(e){if(this._resizeDescriptor){let t=this._resizeDescriptor.startWidth+(e.pageX-this._resizeDescriptor.startX);t<this._minResizeWidth&&(t=this._minResizeWidth),this._resizeDescriptor.width=t,this._resizeDescriptor.element.style.width=`${t}px`,this._adapter.addTableClass(s.classes.TABLE_RESIZING)}}_onMouseUp(e){if(this._adapter.removeDocumentListener("mousemove",this._documentMouseMoveListener),this._adapter.removeDocumentListener("mouseup",this._documentMouseUpListener),this._adapter.removeTableClass(s.classes.TABLE_RESIZING),this._headCellMouseDownIndex!==void 0){if(this._resizeDescriptor){this._adapter.normalizeColumnWidths(this._tableConfiguration),this._adapter.setResizeColumnVisibility(this._tableConfiguration,this._headCellMouseDownIndex,!1);let t={index:this._resizeDescriptor.index,width:this._resizeDescriptor.width};this._adapter.emitHostEvent(s.events.COLUMN_RESIZE,t),this._resizeDescriptor=void 0}else this._tableConfiguration.tableElement.tHead.contains(e.target)&&(this._multiColumnSort?this._onMultiSort(this._headCellMouseDownIndex,e.ctrlKey):this._onSort(this._headCellMouseDownIndex));this._headCellMouseDownIndex=void 0}}_onSortableHeadCellKeydown(e){if(e.key===" "||e.key==="Enter"){let t=R(e),l=t.find(o=>o.tagName==="TR"),i=t.find(o=>o.tagName==="TH"),a=Array.from(l.cells).findIndex(o=>o===i);this._onSort(a)}}_onSort(e){let t=this._select?e-1:e,l=t>=0?this._visibleColumnConfigurations[t]:null;if(!l||!l.sortable)return;let i="ASC",a=t===this._sortedColumnIndex,o=this._sortDirection==="ASC"||this._sortDirection===void 0,r=a&&this._sortDirection==="DESC";a&&o&&(i="DESC"),r&&!l.preventUnsort&&(i="UNSET");let c={direction:i,columnIndex:t};if(this._adapter.emitHostEvent(s.events.SORT,c,!0,!0)){if(a&&this._sortDirection==="DESC"&&!l.preventUnsort){this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=-1;return}this._sortDirection=i,t===this._sortedColumnIndex?this._adapter.setSortDirection(this._adapter.getTableElement(),e,this._sortDirection):(this._sortedColumnIndex>=0&&this._adapter.removeColumnSort(this._adapter.getTableElement(),this._select?this._sortedColumnIndex+1:this._sortedColumnIndex),this._sortedColumnIndex=t,this._adapter.setSortedColumn(this._adapter.getTableElement(),e,this._sortDirection))}}_onMultiSort(e,t){let l=this._select?e-1:e,i=l>=0?this._visibleColumnConfigurations[l]:null;if(!i||!i.sortable)return;let a=this._multiSortManager.sortedColumns,o=this._multiSortManager.getSortColumn(l);o?this._multiSortManager.updateSortColumn(o):t?this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}):(this._multiSortManager.clearMultiSort(),this._multiSortManager.addSortColumn({direction:"DESC",columnIndex:l,propertyName:i.property}));let r=this._multiSortManager.sortedColumns.map(d=>h({},d));if(!this._adapter.emitHostEvent(s.events.SORT,r,!0,!0)){this._multiSortManager.setSortColumns(a);return}let m=this._multiSortManager.sortedColumns.length>1;for(let d=0;d<this._visibleColumnConfigurations.length;d++){let u=this._select?d+1:d;if(!this._multiSortManager.isSortColumn(d))this._adapter.removeColumnSort(this._adapter.getTableElement(),u),b.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,null);else{let C=this._multiSortManager.getSortColumn(d);C&&(this._adapter.setSortedColumn(this._adapter.getTableElement(),u,C.direction),b.setMultiSortColumnSortNumber(this._adapter.getTableElement(),m,u,C.sortOrder||null))}}}_onFilter(e,t){let l={value:e,columnIndex:t};this._adapter.emitHostEvent(s.events.FILTER,l,!0,!1)}_shiftSelectRows(e){let t=[];if(this._previouslyClickedRow){let l=this._previouslyClickedRow.index,i=e.index,a=i>=l?l:i,o=i>=l?i:l;o+=o>a?1:0,a+=a>o?1:0;let r=d=>this.selectRows(d,!1),c=this._tableRows.find(d=>d.selected&&d.data===e.data),m=this._tableRows.find(d=>{var u;return d.data===((u=this._previouslyClickedRow)==null?void 0:u.data)&&!d.selected});(!c||m)&&(r=d=>this.deselectRows(d));for(let d=a;d<o;d++)t.push(d);r(this.data.filter((d,u)=>t.includes(u)))}return t}_isIndeterminate(e){return!e&&this.getSelectedRows().length>0&&this._data.length!==this.getSelectedRows().length}_applyRoomy(){this._adapter.setRoomy(this._adapter.getTableElement(),this._roomy),this._adapter.setHostAttribute(s.attributes.ROOMY,this._roomy.toString())}_refreshTableSort(){if(this._sortedColumnIndex=this._visibleColumnConfigurations.findIndex(e=>e.initialSort),this._sortDirection=this._sortedColumnIndex>=0?this._visibleColumnConfigurations[this._sortedColumnIndex].sortDirection:void 0,this._multiColumnSort){let e=[];this._visibleColumnConfigurations.forEach((t,l)=>{typeof t.initialSort=="object"&&e.push({columnIndex:l,direction:t.initialSort.direction,sortOrder:t.initialSort.sortOrder,propertyName:t.property})}),this._multiSortManager.setSortColumns(e)}}};var E=class extends J{constructor(){super();se.define(te),this._foundation=new z(new k(this))}static get observedAttributes(){return[s.attributes.SELECT,s.attributes.MULTISELECT,s.attributes.SELECT_KEY,s.attributes.DENSE,s.attributes.ROOMY,s.attributes.FILTER,s.attributes.FIXED_HEADERS,s.attributes.LAYOUT_TYPE,s.attributes.WRAP_CONTENT,s.attributes.RESIZABLE,s.attributes.MIN_RESIZE_WIDTH,s.attributes.ALLOW_ROW_CLICK,s.attributes.MULTI_COLUMN_SORT,s.attributes.SELECT_CHECKBOX_ALIGNMENT,s.attributes.TOOLTIP_SELECT,s.attributes.TOOLTIP_SELECT_ALL]}initializedCallback(){this._foundation.initialize()}connectedCallback(){this._foundation.connect()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,l,i){switch(t){case s.attributes.SELECT:this.select=L(i);break;case s.attributes.MULTISELECT:this.multiselect=L(i);break;case s.attributes.SELECT_KEY:this.selectKey=i;break;case s.attributes.DENSE:this.dense=L(i);break;case s.attributes.ROOMY:this.roomy=L(i);break;case s.attributes.FILTER:this.filter=L(i);break;case s.attributes.FIXED_HEADERS:this.fixedHeaders=L(i);break;case s.attributes.LAYOUT_TYPE:this.layoutType=i;break;case s.attributes.WRAP_CONTENT:this.wrapContent=L(i);break;case s.attributes.RESIZABLE:this.resizable=L(i);break;case s.attributes.MIN_RESIZE_WIDTH:this.minResizeWidth=G(i);break;case s.attributes.ALLOW_ROW_CLICK:this.allowRowClick=L(i);break;case s.attributes.MULTI_COLUMN_SORT:this.multiColumnSort=L(i);break;case s.attributes.SELECT_CHECKBOX_ALIGNMENT:this.selectCheckboxAlignment=this.getAttribute(s.attributes.SELECT_CHECKBOX_ALIGNMENT)||"center";break;case s.attributes.TOOLTIP_SELECT:this.tooltipSelect=i;break;case s.attributes.TOOLTIP_SELECT_ALL:this.tooltipSelectAll=i;break}}hideColumn(t){this._foundation.hideColumn(t)}showColumn(t){this._foundation.showColumn(t)}isColumnHidden(t){return this._foundation.isColumnHidden(t)}getSelectedRows(){return this._foundation.getSelectedRows()}selectRow(t){this._foundation.selectRows([t],!1)}selectRows(t,l=!1){this._foundation.selectRows(t,!l)}deselectRow(t){this._foundation.deselectRows([t])}deselectRows(t){this._foundation.deselectRows(t)}clearSelections(){this._foundation.clearSelections()}render(){this._foundation.render()}expandRow(t,l){return this._foundation.expandRow(t,l)}collapseRow(t){return this._foundation.collapseRow(t)}isRowExpanded(t){return this._foundation.isRowExpanded(t)}selectRowsByIndex(t,l){typeof t=="number"?this._foundation.selectRowsByIndex([t],l):Array.isArray(t)&&this._foundation.selectRowsByIndex(t,l)}deselectRowsByIndex(t){typeof t=="number"?this._foundation.deselectRowsByIndex([t]):Array.isArray(t)&&this._foundation.deselectRowsByIndex(t)}isRowSelected(t){return this._foundation.isRowSelected(t)}};_([T()],E.prototype,"data",2),_([T()],E.prototype,"columnConfigurations",2),_([T()],E.prototype,"select",2),_([T()],E.prototype,"multiselect",2),_([T()],E.prototype,"selectKey",2),_([T()],E.prototype,"tooltipSelect",2),_([T()],E.prototype,"tooltipSelectAll",2),_([T()],E.prototype,"dense",2),_([T()],E.prototype,"roomy",2),_([T()],E.prototype,"filter",2),_([T()],E.prototype,"fixedHeaders",2),_([T()],E.prototype,"layoutType",2),_([T()],E.prototype,"wrapContent",2),_([T()],E.prototype,"resizable",2),_([T()],E.prototype,"minResizeWidth",2),_([T()],E.prototype,"allowRowClick",2),_([T()],E.prototype,"multiColumnSort",2),_([T()],E.prototype,"rowCreated",2),_([T()],E.prototype,"cellCreated",2),_([T()],E.prototype,"selectAllTemplate",2),_([T()],E.prototype,"selectCheckboxAlignment",2),E=_([j({name:s.elementName,dependencies:[ae,oe,re]})],E);function El(){q(E)}export{s as a,B as b,O as c,he as d,k as e,P as f,z as g,E as h,El as i};
7
+ //# sourceMappingURL=chunk.V7ILFIOR.js.map