@tylertech/forge 2.4.0 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/README.md +5 -5
  2. package/dist/esm/accordion/index.js +6 -5
  3. package/dist/esm/app-bar/help-button/index.js +8 -7
  4. package/dist/esm/app-bar/index.js +14 -13
  5. package/dist/esm/app-bar/menu-button/index.js +5 -4
  6. package/dist/esm/app-bar/notification-button/index.js +5 -4
  7. package/dist/esm/app-bar/profile-button/index.js +7 -6
  8. package/dist/esm/app-bar/search/index.js +4 -3
  9. package/dist/esm/autocomplete/index.js +10 -9
  10. package/dist/esm/banner/index.js +5 -4
  11. package/dist/esm/bottom-sheet/index.js +5 -4
  12. package/dist/esm/busy-indicator/index.js +4 -3
  13. package/dist/esm/button/index.js +3 -2
  14. package/dist/esm/calendar/calendar-dropdown/index.js +2 -1
  15. package/dist/esm/calendar/calendar-menu/index.js +2 -1
  16. package/dist/esm/calendar/index.js +6 -5
  17. package/dist/esm/checkbox/index.js +2 -1
  18. package/dist/esm/chip-field/index.js +7 -6
  19. package/dist/esm/chips/chip/index.js +5 -4
  20. package/dist/esm/chips/chip-set/index.js +5 -4
  21. package/dist/esm/chips/index.js +6 -5
  22. package/dist/esm/chunks/{chunk.DVYPTR7X.js → chunk.2TEHKM2X.js} +3 -3
  23. package/dist/esm/chunks/{chunk.DVYPTR7X.js.map → chunk.2TEHKM2X.js.map} +0 -0
  24. package/dist/esm/chunks/{chunk.3AK3VGRT.js → chunk.3GRDFAFV.js} +2 -2
  25. package/dist/esm/chunks/{chunk.3AK3VGRT.js.map → chunk.3GRDFAFV.js.map} +0 -0
  26. package/dist/esm/chunks/{chunk.V6TRG2CM.js → chunk.3MO6XU44.js} +2 -2
  27. package/dist/esm/chunks/{chunk.V6TRG2CM.js.map → chunk.3MO6XU44.js.map} +0 -0
  28. package/dist/esm/chunks/{chunk.47D77ELY.js → chunk.4FHBJXB7.js} +2 -2
  29. package/dist/esm/chunks/{chunk.47D77ELY.js.map → chunk.4FHBJXB7.js.map} +0 -0
  30. package/dist/esm/chunks/{chunk.DWURTRGM.js → chunk.5E6UZZKY.js} +6 -6
  31. package/dist/esm/chunks/{chunk.DWURTRGM.js.map → chunk.5E6UZZKY.js.map} +0 -0
  32. package/dist/esm/chunks/chunk.6EGTLHJS.js +16 -0
  33. package/dist/esm/chunks/chunk.6EGTLHJS.js.map +7 -0
  34. package/dist/esm/chunks/{chunk.VEC77KBM.js → chunk.AHBDISRG.js} +2 -2
  35. package/dist/esm/chunks/{chunk.VEC77KBM.js.map → chunk.AHBDISRG.js.map} +0 -0
  36. package/dist/esm/chunks/{chunk.I5JCM7RT.js → chunk.AHMBGV4N.js} +2 -2
  37. package/dist/esm/chunks/{chunk.I5JCM7RT.js.map → chunk.AHMBGV4N.js.map} +0 -0
  38. package/dist/esm/chunks/{chunk.3NOZRZ7R.js → chunk.ANNBOFGK.js} +2 -2
  39. package/dist/esm/chunks/{chunk.3NOZRZ7R.js.map → chunk.ANNBOFGK.js.map} +0 -0
  40. package/dist/esm/chunks/{chunk.4ZBBOR4H.js → chunk.APUL33GR.js} +2 -2
  41. package/dist/esm/chunks/{chunk.4ZBBOR4H.js.map → chunk.APUL33GR.js.map} +0 -0
  42. package/dist/esm/chunks/{chunk.Y2ORADJS.js → chunk.BVGIWAUP.js} +6 -6
  43. package/dist/esm/chunks/{chunk.Y2ORADJS.js.map → chunk.BVGIWAUP.js.map} +0 -0
  44. package/dist/esm/chunks/{chunk.NJRPAX7P.js → chunk.CKVCNPLI.js} +22 -21
  45. package/dist/esm/chunks/chunk.CKVCNPLI.js.map +7 -0
  46. package/dist/esm/chunks/{chunk.5VNEDRVC.js → chunk.CLQS7CFC.js} +3 -3
  47. package/dist/esm/chunks/{chunk.5VNEDRVC.js.map → chunk.CLQS7CFC.js.map} +0 -0
  48. package/dist/esm/chunks/{chunk.O7DYWQD7.js → chunk.DJX5CEYP.js} +4 -4
  49. package/dist/esm/chunks/{chunk.O7DYWQD7.js.map → chunk.DJX5CEYP.js.map} +0 -0
  50. package/dist/esm/chunks/{chunk.YKNYR3NX.js → chunk.EJHMX24S.js} +2 -2
  51. package/dist/esm/chunks/{chunk.YKNYR3NX.js.map → chunk.EJHMX24S.js.map} +0 -0
  52. package/dist/esm/chunks/{chunk.HFELDK4X.js → chunk.EL74HZRY.js} +4 -4
  53. package/dist/esm/chunks/{chunk.HFELDK4X.js.map → chunk.EL74HZRY.js.map} +0 -0
  54. package/dist/esm/chunks/{chunk.FF2RETWV.js → chunk.EXKNFD5S.js} +3 -3
  55. package/dist/esm/chunks/{chunk.FF2RETWV.js.map → chunk.EXKNFD5S.js.map} +0 -0
  56. package/dist/esm/chunks/{chunk.HNKH3ZP5.js → chunk.F2TZX24O.js} +41 -41
  57. package/dist/esm/chunks/{chunk.HNKH3ZP5.js.map → chunk.F2TZX24O.js.map} +0 -0
  58. package/dist/esm/chunks/{chunk.IWXT6VVJ.js → chunk.GOWHXADJ.js} +15 -1
  59. package/dist/esm/chunks/chunk.GOWHXADJ.js.map +7 -0
  60. package/dist/esm/chunks/{chunk.B425FZOZ.js → chunk.HRZBANYY.js} +2 -2
  61. package/dist/esm/chunks/{chunk.B425FZOZ.js.map → chunk.HRZBANYY.js.map} +0 -0
  62. package/dist/esm/chunks/{chunk.OZAKUOZA.js → chunk.HZML57TK.js} +2 -2
  63. package/dist/esm/chunks/{chunk.OZAKUOZA.js.map → chunk.HZML57TK.js.map} +0 -0
  64. package/dist/esm/chunks/{chunk.5CZWANU6.js → chunk.ID2ITG5T.js} +3 -3
  65. package/dist/esm/chunks/{chunk.5CZWANU6.js.map → chunk.ID2ITG5T.js.map} +0 -0
  66. package/dist/esm/chunks/{chunk.NL6CT7BU.js → chunk.ISR3SND2.js} +2 -2
  67. package/dist/esm/chunks/{chunk.NL6CT7BU.js.map → chunk.ISR3SND2.js.map} +0 -0
  68. package/dist/esm/chunks/{chunk.XJVLHRVJ.js → chunk.JB2PM7FT.js} +2 -2
  69. package/dist/esm/chunks/{chunk.XJVLHRVJ.js.map → chunk.JB2PM7FT.js.map} +0 -0
  70. package/dist/esm/chunks/{chunk.PZ25GQD2.js → chunk.K7P3WRAY.js} +3 -3
  71. package/dist/esm/chunks/{chunk.PZ25GQD2.js.map → chunk.K7P3WRAY.js.map} +0 -0
  72. package/dist/esm/chunks/{chunk.7M3P4QES.js → chunk.L4N2DKAS.js} +6 -6
  73. package/dist/esm/chunks/{chunk.7M3P4QES.js.map → chunk.L4N2DKAS.js.map} +0 -0
  74. package/dist/esm/chunks/{chunk.C44LSSHS.js → chunk.LCVWXB3K.js} +2 -2
  75. package/dist/esm/chunks/{chunk.C44LSSHS.js.map → chunk.LCVWXB3K.js.map} +0 -0
  76. package/dist/esm/chunks/{chunk.HVD3BBQG.js → chunk.MIGASQA3.js} +2 -2
  77. package/dist/esm/chunks/{chunk.HVD3BBQG.js.map → chunk.MIGASQA3.js.map} +0 -0
  78. package/dist/esm/chunks/{chunk.RF5UPII7.js → chunk.N3ZPWKJ5.js} +6 -6
  79. package/dist/esm/chunks/{chunk.RF5UPII7.js.map → chunk.N3ZPWKJ5.js.map} +0 -0
  80. package/dist/esm/chunks/{chunk.H3WRHPWA.js → chunk.NF2CS4ZM.js} +3 -3
  81. package/dist/esm/chunks/{chunk.H3WRHPWA.js.map → chunk.NF2CS4ZM.js.map} +0 -0
  82. package/dist/esm/chunks/{chunk.ZIFMMVW6.js → chunk.NFUWLTHW.js} +3 -3
  83. package/dist/esm/chunks/{chunk.ZIFMMVW6.js.map → chunk.NFUWLTHW.js.map} +0 -0
  84. package/dist/esm/chunks/{chunk.5INCRYSV.js → chunk.O62N7AHR.js} +2 -2
  85. package/dist/esm/chunks/{chunk.5INCRYSV.js.map → chunk.O62N7AHR.js.map} +0 -0
  86. package/dist/esm/chunks/{chunk.IYOZSEZ3.js → chunk.P7SAJ6M7.js} +2 -2
  87. package/dist/esm/chunks/{chunk.IYOZSEZ3.js.map → chunk.P7SAJ6M7.js.map} +0 -0
  88. package/dist/esm/chunks/{chunk.3VR7VHL5.js → chunk.PM7D2SUE.js} +1 -1
  89. package/dist/esm/chunks/{chunk.3VR7VHL5.js.map → chunk.PM7D2SUE.js.map} +0 -0
  90. package/dist/esm/chunks/{chunk.KQB2BYBK.js → chunk.PQ5LOH7W.js} +3 -3
  91. package/dist/esm/chunks/{chunk.KQB2BYBK.js.map → chunk.PQ5LOH7W.js.map} +0 -0
  92. package/dist/esm/chunks/{chunk.ZPABBQEA.js → chunk.PSHHY3ER.js} +4 -4
  93. package/dist/esm/chunks/{chunk.ZPABBQEA.js.map → chunk.PSHHY3ER.js.map} +0 -0
  94. package/dist/esm/chunks/{chunk.EQCPRLUV.js → chunk.PXXLO4HJ.js} +2 -2
  95. package/dist/esm/chunks/{chunk.EQCPRLUV.js.map → chunk.PXXLO4HJ.js.map} +0 -0
  96. package/dist/esm/chunks/{chunk.MSCWHFJZ.js → chunk.QFPOG3VH.js} +5 -5
  97. package/dist/esm/chunks/{chunk.MSCWHFJZ.js.map → chunk.QFPOG3VH.js.map} +0 -0
  98. package/dist/esm/chunks/{chunk.L65L5VJ6.js → chunk.R4UKTXEK.js} +3 -3
  99. package/dist/esm/chunks/{chunk.L65L5VJ6.js.map → chunk.R4UKTXEK.js.map} +0 -0
  100. package/dist/esm/chunks/{chunk.LKUKESRQ.js → chunk.R5RVCPM2.js} +2 -2
  101. package/dist/esm/chunks/{chunk.LKUKESRQ.js.map → chunk.R5RVCPM2.js.map} +0 -0
  102. package/dist/esm/chunks/{chunk.C64YUJHS.js → chunk.S6QD4UJN.js} +2 -2
  103. package/dist/esm/chunks/{chunk.C64YUJHS.js.map → chunk.S6QD4UJN.js.map} +0 -0
  104. package/dist/esm/chunks/{chunk.P477KUJ4.js → chunk.SSFSLBBM.js} +2 -2
  105. package/dist/esm/chunks/{chunk.P477KUJ4.js.map → chunk.SSFSLBBM.js.map} +0 -0
  106. package/dist/esm/chunks/{chunk.V3FSZDTW.js → chunk.SSXNS4NR.js} +4 -4
  107. package/dist/esm/chunks/{chunk.V3FSZDTW.js.map → chunk.SSXNS4NR.js.map} +0 -0
  108. package/dist/esm/chunks/{chunk.RMVJBNCY.js → chunk.U2X7YAXC.js} +2 -2
  109. package/dist/esm/chunks/{chunk.RMVJBNCY.js.map → chunk.U2X7YAXC.js.map} +0 -0
  110. package/dist/esm/chunks/{chunk.BORNGK7Q.js → chunk.VDKKTHAJ.js} +2 -2
  111. package/dist/esm/chunks/{chunk.BORNGK7Q.js.map → chunk.VDKKTHAJ.js.map} +1 -1
  112. package/dist/esm/chunks/{chunk.U7HKGOBR.js → chunk.WVVWDQLQ.js} +3 -3
  113. package/dist/esm/chunks/{chunk.U7HKGOBR.js.map → chunk.WVVWDQLQ.js.map} +0 -0
  114. package/dist/esm/chunks/{chunk.UM3J4AZ7.js → chunk.XN65LPA3.js} +3 -3
  115. package/dist/esm/chunks/{chunk.UM3J4AZ7.js.map → chunk.XN65LPA3.js.map} +0 -0
  116. package/dist/esm/chunks/{chunk.D4VIYWFB.js → chunk.XPC7GINT.js} +2 -2
  117. package/dist/esm/chunks/{chunk.D4VIYWFB.js.map → chunk.XPC7GINT.js.map} +0 -0
  118. package/dist/esm/chunks/{chunk.DKHOY6QU.js → chunk.YMWBTMB6.js} +2 -2
  119. package/dist/esm/chunks/{chunk.DKHOY6QU.js.map → chunk.YMWBTMB6.js.map} +0 -0
  120. package/dist/esm/chunks/{chunk.HWWCD755.js → chunk.ZAAM3GTQ.js} +3 -3
  121. package/dist/esm/chunks/{chunk.HWWCD755.js.map → chunk.ZAAM3GTQ.js.map} +0 -0
  122. package/dist/esm/color-picker/index.js +5 -4
  123. package/dist/esm/core/index.js +5 -1
  124. package/dist/esm/core/utils/index.js +5 -1
  125. package/dist/esm/date-picker/index.js +8 -7
  126. package/dist/esm/date-range-picker/index.js +8 -7
  127. package/dist/esm/dialog/index.js +5 -4
  128. package/dist/esm/drawer/base/index.js +2 -1
  129. package/dist/esm/drawer/drawer/index.js +3 -2
  130. package/dist/esm/drawer/index.js +5 -4
  131. package/dist/esm/drawer/mini-drawer/index.js +3 -2
  132. package/dist/esm/drawer/modal-drawer/index.js +3 -2
  133. package/dist/esm/expansion-panel/index.js +5 -4
  134. package/dist/esm/file-picker/index.js +4 -3
  135. package/dist/esm/icon/index.js +3 -2
  136. package/dist/esm/icon-button/index.js +4 -3
  137. package/dist/esm/index.js +53 -49
  138. package/dist/esm/label-value/index.js +1 -1
  139. package/dist/esm/list-dropdown/index.js +4 -3
  140. package/dist/esm/menu/index.js +6 -5
  141. package/dist/esm/open-icon/index.js +4 -3
  142. package/dist/esm/paginator/index.js +11 -10
  143. package/dist/esm/profile-card/index.js +4 -3
  144. package/dist/esm/quantity-field/index.js +5 -4
  145. package/dist/esm/select/core/index.js +6 -5
  146. package/dist/esm/select/index.js +10 -9
  147. package/dist/esm/select/select/index.js +8 -7
  148. package/dist/esm/select/select-dropdown/index.js +8 -7
  149. package/dist/esm/slider/index.js +2 -1
  150. package/dist/esm/stepper/index.js +5 -4
  151. package/dist/esm/stepper/step/index.js +4 -3
  152. package/dist/esm/stepper/stepper/index.js +5 -4
  153. package/dist/esm/switch/index.js +2 -1
  154. package/dist/esm/table/index.js +6 -5
  155. package/dist/esm/tabs/index.js +5 -4
  156. package/dist/esm/tabs/tab-bar/index.js +5 -4
  157. package/dist/esm/time-picker/index.js +7 -6
  158. package/dist/esm/toast/index.js +6 -5
  159. package/dist/forge-dark.css +1 -1
  160. package/esm/core/utils/event-utils.d.ts +12 -0
  161. package/esm/core/utils/event-utils.js +16 -0
  162. package/esm/core/utils/index.d.ts +1 -0
  163. package/esm/core/utils/index.js +1 -0
  164. package/esm/drawer/base/base-drawer-adapter.d.ts +5 -0
  165. package/esm/drawer/base/base-drawer-adapter.js +13 -0
  166. package/esm/drawer/base/base-drawer-foundation.js +2 -0
  167. package/esm/label-value/label-value.js +1 -1
  168. package/esm/select/select/select-adapter.js +12 -10
  169. package/esm/select/select/select-foundation.d.ts +2 -0
  170. package/esm/select/select/select-foundation.js +6 -2
  171. package/esm/select/select/select.d.ts +0 -2
  172. package/esm/select/select/select.js +2 -6
  173. package/package.json +1 -1
  174. package/styles/label-value/_mixins.scss +10 -7
  175. package/styles/label-value/_variables.scss +1 -0
  176. package/styles/select/select/_selector.scss +4 -2
  177. package/styles/select/select/select.scss +4 -0
  178. package/styles/theme/_theme-values.scss +1 -1
  179. package/dist/esm/chunks/chunk.IWXT6VVJ.js.map +0 -7
  180. package/dist/esm/chunks/chunk.NJRPAX7P.js.map +0 -7
  181. package/styles/label-value/_base.scss +0 -252
  182. package/styles/label-value/_core.scss +0 -15
  183. package/styles/label-value/_selector.scss +0 -167
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/select/select/select-constants.ts", "../../src/select/select/select-adapter.ts", "../../src/select/select/select-foundation.ts", "../../src/select/select/select.ts", "../../src/select/select/index.ts"],
4
+ "sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n FieldDensityType as SelectDensityType,\n FieldFloatLabelType as SelectFloatLabelType,\n FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n\n // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly\n if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {\n this._component.tabIndex = 0;\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._component.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._component.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._setFocused();\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to contain focus. */\n private _setFocused(): void {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n /** Gets/sets the disabled state. */\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.setDisabled(this._disabled);\n this._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\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.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\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.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" part=\\\"text\\\"></div><label id=\\\"select-label\\\" aria-hidden=\\\"true\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;height:auto}.forge-field~::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:\\\"\\\";vertical-align:0}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk.Y2TDQIA4.js";
12
12
  import {
13
13
  ListDropdownAware
14
- } from "./chunk.LKUKESRQ.js";
14
+ } from "./chunk.R5RVCPM2.js";
15
15
  import {
16
16
  ListDropdown,
17
17
  ListDropdownAwareFoundation
18
- } from "./chunk.47D77ELY.js";
18
+ } from "./chunk.4FHBJXB7.js";
19
19
  import {
20
20
  POPUP_CONSTANTS
21
21
  } from "./chunk.5EEEKOOK.js";
@@ -837,4 +837,4 @@ export {
837
837
  BaseSelectComponent,
838
838
  BaseSelectAdapter
839
839
  };
840
- //# sourceMappingURL=chunk.5VNEDRVC.js.map
840
+ //# sourceMappingURL=chunk.CLQS7CFC.js.map
@@ -6,10 +6,10 @@
6
6
  import {
7
7
  MENU_CONSTANTS,
8
8
  MenuComponent
9
- } from "./chunk.HFELDK4X.js";
9
+ } from "./chunk.EL74HZRY.js";
10
10
  import {
11
11
  IconButtonComponent
12
- } from "./chunk.UM3J4AZ7.js";
12
+ } from "./chunk.XN65LPA3.js";
13
13
  import {
14
14
  tylIconHelp
15
15
  } from "./chunk.GS2AXUCN.js";
@@ -19,7 +19,7 @@ import {
19
19
  import {
20
20
  IconComponent,
21
21
  IconRegistry
22
- } from "./chunk.V6TRG2CM.js";
22
+ } from "./chunk.3MO6XU44.js";
23
23
  import {
24
24
  BaseAdapter
25
25
  } from "./chunk.KZATVOA6.js";
@@ -133,4 +133,4 @@ export {
133
133
  AppBarHelpButtonComponent,
134
134
  defineAppBarHelpButtonComponent
135
135
  };
136
- //# sourceMappingURL=chunk.O7DYWQD7.js.map
136
+ //# sourceMappingURL=chunk.DJX5CEYP.js.map
@@ -18,7 +18,7 @@ import {
18
18
  } from "./chunk.2NUAEZY7.js";
19
19
  import {
20
20
  ICON_BUTTON_CONSTANTS
21
- } from "./chunk.UM3J4AZ7.js";
21
+ } from "./chunk.XN65LPA3.js";
22
22
  import {
23
23
  BaseAdapter
24
24
  } from "./chunk.KZATVOA6.js";
@@ -798,4 +798,4 @@ export {
798
798
  DialogComponent,
799
799
  defineDialogComponent
800
800
  };
801
- //# sourceMappingURL=chunk.YKNYR3NX.js.map
801
+ //# sourceMappingURL=chunk.EJHMX24S.js.map
@@ -5,12 +5,12 @@
5
5
  */
6
6
  import {
7
7
  ListDropdownAware
8
- } from "./chunk.LKUKESRQ.js";
8
+ } from "./chunk.R5RVCPM2.js";
9
9
  import {
10
10
  CascadingListDropdownAwareFoundation,
11
11
  ListDropdown,
12
12
  isListDropdownOptionType
13
- } from "./chunk.47D77ELY.js";
13
+ } from "./chunk.4FHBJXB7.js";
14
14
  import {
15
15
  ListComponent
16
16
  } from "./chunk.4UKSUUTX.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk.GS2AXUCN.js";
33
33
  import {
34
34
  IconRegistry
35
- } from "./chunk.V6TRG2CM.js";
35
+ } from "./chunk.3MO6XU44.js";
36
36
  import {
37
37
  BaseAdapter
38
38
  } from "./chunk.KZATVOA6.js";
@@ -909,4 +909,4 @@ export {
909
909
  MenuComponent,
910
910
  defineMenuComponent
911
911
  };
912
- //# sourceMappingURL=chunk.HFELDK4X.js.map
912
+ //# sourceMappingURL=chunk.EL74HZRY.js.map
@@ -11,7 +11,7 @@ import {
11
11
  BaseSelectAdapter,
12
12
  BaseSelectComponent,
13
13
  BaseSelectFoundation
14
- } from "./chunk.5VNEDRVC.js";
14
+ } from "./chunk.CLQS7CFC.js";
15
15
  import {
16
16
  OptionGroupComponent
17
17
  } from "./chunk.P7NOYP4O.js";
@@ -35,7 +35,7 @@ import {
35
35
  } from "./chunk.5EEEKOOK.js";
36
36
  import {
37
37
  IconButtonComponent
38
- } from "./chunk.UM3J4AZ7.js";
38
+ } from "./chunk.XN65LPA3.js";
39
39
  import {
40
40
  FoundationProperty
41
41
  } from "./chunk.MMIZOYAS.js";
@@ -347,4 +347,4 @@ export {
347
347
  SelectDropdownComponent,
348
348
  defineSelectDropdownComponent
349
349
  };
350
- //# sourceMappingURL=chunk.FF2RETWV.js.map
350
+ //# sourceMappingURL=chunk.EXKNFD5S.js.map
@@ -5,10 +5,10 @@
5
5
  */
6
6
  import {
7
7
  TimePickerComponent
8
- } from "./chunk.7M3P4QES.js";
8
+ } from "./chunk.L4N2DKAS.js";
9
9
  import {
10
10
  ToastComponent
11
- } from "./chunk.ZPABBQEA.js";
11
+ } from "./chunk.PSHHY3ER.js";
12
12
  import {
13
13
  ViewSwitcherComponent
14
14
  } from "./chunk.7G2S3DCM.js";
@@ -17,10 +17,10 @@ import {
17
17
  } from "./chunk.RWCC6E4O.js";
18
18
  import {
19
19
  TableComponent
20
- } from "./chunk.L65L5VJ6.js";
20
+ } from "./chunk.R4UKTXEK.js";
21
21
  import {
22
22
  TabBarComponent
23
- } from "./chunk.5CZWANU6.js";
23
+ } from "./chunk.ID2ITG5T.js";
24
24
  import {
25
25
  TabComponent
26
26
  } from "./chunk.EWQENJ4W.js";
@@ -29,28 +29,28 @@ import {
29
29
  } from "./chunk.JVQP6BJ3.js";
30
30
  import {
31
31
  StepperComponent
32
- } from "./chunk.4ZBBOR4H.js";
32
+ } from "./chunk.APUL33GR.js";
33
33
  import {
34
34
  StepComponent
35
- } from "./chunk.C44LSSHS.js";
35
+ } from "./chunk.LCVWXB3K.js";
36
36
  import {
37
37
  ProductIconComponent
38
38
  } from "./chunk.HHHMDDTU.js";
39
39
  import {
40
40
  QuantityFieldComponent
41
- } from "./chunk.ZIFMMVW6.js";
41
+ } from "./chunk.NFUWLTHW.js";
42
42
  import {
43
43
  PageStateComponent
44
44
  } from "./chunk.OYO6NUZY.js";
45
45
  import {
46
46
  PaginatorComponent
47
- } from "./chunk.V3FSZDTW.js";
47
+ } from "./chunk.SSXNS4NR.js";
48
48
  import {
49
49
  SelectDropdownComponent
50
- } from "./chunk.FF2RETWV.js";
50
+ } from "./chunk.EXKNFD5S.js";
51
51
  import {
52
52
  SelectComponent
53
- } from "./chunk.NJRPAX7P.js";
53
+ } from "./chunk.CKVCNPLI.js";
54
54
  import {
55
55
  ScaffoldComponent
56
56
  } from "./chunk.WXFCZJJI.js";
@@ -68,43 +68,43 @@ import {
68
68
  } from "./chunk.U35QQZVK.js";
69
69
  import {
70
70
  LabelValueComponent
71
- } from "./chunk.BORNGK7Q.js";
71
+ } from "./chunk.VDKKTHAJ.js";
72
72
  import {
73
73
  DrawerComponent
74
- } from "./chunk.C64YUJHS.js";
74
+ } from "./chunk.S6QD4UJN.js";
75
75
  import {
76
76
  MiniDrawerComponent
77
- } from "./chunk.XJVLHRVJ.js";
77
+ } from "./chunk.JB2PM7FT.js";
78
78
  import {
79
79
  ModalDrawerComponent
80
- } from "./chunk.3NOZRZ7R.js";
80
+ } from "./chunk.ANNBOFGK.js";
81
81
  import {
82
82
  FilePickerComponent
83
- } from "./chunk.HVD3BBQG.js";
83
+ } from "./chunk.MIGASQA3.js";
84
84
  import {
85
85
  FloatingActionButton
86
86
  } from "./chunk.3ZKORL4I.js";
87
87
  import {
88
88
  DatePickerComponent
89
- } from "./chunk.DWURTRGM.js";
89
+ } from "./chunk.5E6UZZKY.js";
90
90
  import {
91
91
  DateRangePickerComponent
92
- } from "./chunk.Y2ORADJS.js";
92
+ } from "./chunk.BVGIWAUP.js";
93
93
  import {
94
94
  DialogComponent
95
- } from "./chunk.YKNYR3NX.js";
95
+ } from "./chunk.EJHMX24S.js";
96
96
  import {
97
97
  ColorPickerComponent
98
- } from "./chunk.U7HKGOBR.js";
98
+ } from "./chunk.WVVWDQLQ.js";
99
99
  import {
100
100
  CalendarComponent
101
- } from "./chunk.MSCWHFJZ.js";
101
+ } from "./chunk.QFPOG3VH.js";
102
102
  import {
103
103
  CardComponent
104
104
  } from "./chunk.6V463G4I.js";
105
105
  import {
106
106
  AutocompleteComponent
107
- } from "./chunk.RF5UPII7.js";
107
+ } from "./chunk.N3ZPWKJ5.js";
108
108
  import {
109
109
  TextFieldComponent
110
110
  } from "./chunk.YCW56AVX.js";
@@ -113,19 +113,19 @@ import {
113
113
  } from "./chunk.WAJDLUSQ.js";
114
114
  import {
115
115
  ChipFieldComponent
116
- } from "./chunk.IYOZSEZ3.js";
116
+ } from "./chunk.P7SAJ6M7.js";
117
117
  import {
118
118
  ChipSetComponent
119
- } from "./chunk.B425FZOZ.js";
119
+ } from "./chunk.HRZBANYY.js";
120
120
  import {
121
121
  ChipComponent
122
- } from "./chunk.EQCPRLUV.js";
122
+ } from "./chunk.PXXLO4HJ.js";
123
123
  import {
124
124
  BannerComponent
125
- } from "./chunk.H3WRHPWA.js";
125
+ } from "./chunk.NF2CS4ZM.js";
126
126
  import {
127
127
  BottomSheetComponent
128
- } from "./chunk.I5JCM7RT.js";
128
+ } from "./chunk.AHMBGV4N.js";
129
129
  import {
130
130
  SwitchComponent
131
131
  } from "./chunk.7XGNGXLR.js";
@@ -137,7 +137,7 @@ import {
137
137
  } from "./chunk.KCK3G74Y.js";
138
138
  import {
139
139
  BusyIndicatorComponent
140
- } from "./chunk.OZAKUOZA.js";
140
+ } from "./chunk.HZML57TK.js";
141
141
  import {
142
142
  BackdropComponent
143
143
  } from "./chunk.2NUAEZY7.js";
@@ -149,22 +149,22 @@ import {
149
149
  } from "./chunk.IBH5GL7A.js";
150
150
  import {
151
151
  AccordionComponent
152
- } from "./chunk.NL6CT7BU.js";
152
+ } from "./chunk.ISR3SND2.js";
153
153
  import {
154
154
  ExpansionPanelComponent
155
- } from "./chunk.DKHOY6QU.js";
155
+ } from "./chunk.YMWBTMB6.js";
156
156
  import {
157
157
  OpenIconComponent
158
- } from "./chunk.VEC77KBM.js";
158
+ } from "./chunk.AHBDISRG.js";
159
159
  import {
160
160
  AppBarComponent
161
161
  } from "./chunk.DB7ZQBES.js";
162
162
  import {
163
163
  AppBarHelpButtonComponent
164
- } from "./chunk.O7DYWQD7.js";
164
+ } from "./chunk.DJX5CEYP.js";
165
165
  import {
166
166
  MenuComponent
167
- } from "./chunk.HFELDK4X.js";
167
+ } from "./chunk.EL74HZRY.js";
168
168
  import {
169
169
  SkeletonComponent
170
170
  } from "./chunk.EL6B2ODN.js";
@@ -182,19 +182,19 @@ import {
182
182
  } from "./chunk.RNPIV3BY.js";
183
183
  import {
184
184
  AppBarMenuButtonComponent
185
- } from "./chunk.KQB2BYBK.js";
185
+ } from "./chunk.PQ5LOH7W.js";
186
186
  import {
187
187
  AppBarNotificationButtonComponent
188
- } from "./chunk.HWWCD755.js";
188
+ } from "./chunk.ZAAM3GTQ.js";
189
189
  import {
190
190
  BadgeComponent
191
191
  } from "./chunk.2LQMHAC7.js";
192
192
  import {
193
193
  AppBarProfileButtonComponent
194
- } from "./chunk.PZ25GQD2.js";
194
+ } from "./chunk.K7P3WRAY.js";
195
195
  import {
196
196
  ProfileCardComponent
197
- } from "./chunk.RMVJBNCY.js";
197
+ } from "./chunk.U2X7YAXC.js";
198
198
  import {
199
199
  ToolbarComponent
200
200
  } from "./chunk.YJ5X3WZ4.js";
@@ -203,25 +203,25 @@ import {
203
203
  } from "./chunk.ZUM5YLB2.js";
204
204
  import {
205
205
  ButtonComponent
206
- } from "./chunk.P477KUJ4.js";
206
+ } from "./chunk.SSFSLBBM.js";
207
207
  import {
208
208
  PopupComponent
209
209
  } from "./chunk.5EEEKOOK.js";
210
210
  import {
211
211
  IconButtonComponent
212
- } from "./chunk.UM3J4AZ7.js";
212
+ } from "./chunk.XN65LPA3.js";
213
213
  import {
214
214
  RippleComponent
215
215
  } from "./chunk.C2MR3RDF.js";
216
216
  import {
217
217
  AppBarSearchComponent
218
- } from "./chunk.D4VIYWFB.js";
218
+ } from "./chunk.XPC7GINT.js";
219
219
  import {
220
220
  TooltipComponent
221
221
  } from "./chunk.2F6PST3N.js";
222
222
  import {
223
223
  IconComponent
224
- } from "./chunk.V6TRG2CM.js";
224
+ } from "./chunk.3MO6XU44.js";
225
225
  import {
226
226
  defineCustomElements
227
227
  } from "./chunk.K2PCTUVN.js";
@@ -314,4 +314,4 @@ export {
314
314
  * Copyright (c) 2022 Tyler Technologies, Inc.
315
315
  * License: Apache-2.0
316
316
  */
317
- //# sourceMappingURL=chunk.HNKH3ZP5.js.map
317
+ //# sourceMappingURL=chunk.F2TZX24O.js.map
@@ -3,6 +3,9 @@
3
3
  * Copyright 2022 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
+ import {
7
+ proxyShadowScrollEvent
8
+ } from "./chunk.6EGTLHJS.js";
6
9
  import {
7
10
  BaseAdapter
8
11
  } from "./chunk.KZATVOA6.js";
@@ -61,6 +64,15 @@ var BaseDrawerAdapter = class extends BaseAdapter {
61
64
  this._component = _component;
62
65
  this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);
63
66
  }
67
+ proxyScrollEvent() {
68
+ this.tryUnproxyScrollEvent();
69
+ this._unproxyScrollEventCb = proxyShadowScrollEvent(this._component.shadowRoot, this._component);
70
+ }
71
+ tryUnproxyScrollEvent() {
72
+ if (this._unproxyScrollEventCb) {
73
+ this._unproxyScrollEventCb();
74
+ }
75
+ }
64
76
  setDirection(direction) {
65
77
  switch (direction) {
66
78
  case "left":
@@ -109,9 +121,11 @@ var BaseDrawerFoundation = class {
109
121
  connect() {
110
122
  this._applyOpen();
111
123
  this._applyDirection();
124
+ this._adapter.proxyScrollEvent();
112
125
  this._hasInitialized = true;
113
126
  }
114
127
  disconnect() {
128
+ this._adapter.tryUnproxyScrollEvent();
115
129
  this._hasInitialized = false;
116
130
  }
117
131
  _applyDirection() {
@@ -219,4 +233,4 @@ export {
219
233
  BaseDrawerFoundation,
220
234
  BaseDrawerComponent
221
235
  };
222
- //# sourceMappingURL=chunk.IWXT6VVJ.js.map
236
+ //# sourceMappingURL=chunk.GOWHXADJ.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/drawer/base/base-drawer-constants.ts", "../../src/drawer/base/base-drawer-adapter.ts", "../../src/drawer/base/base-drawer-foundation.ts", "../../src/drawer/base/base-drawer.ts"],
4
+ "sourcesContent": ["const attributes = {\n OPEN: 'open',\n DIRECTION: 'direction'\n};\n\nconst classes = {\n DRAWER: 'forge-drawer',\n LEFT: 'forge-drawer--left',\n RIGHT: 'forge-drawer--right',\n CLOSING: 'forge-drawer--closing',\n CLOSED: 'forge-drawer--closed',\n NO_TRANSITION: 'forge-drawer--no-transition'\n};\n\nconst selectors = {\n DRAWER: `.${classes.DRAWER}`\n};\n\nconst events = {\n AFTER_OPEN: `forge-drawer-after-open`,\n AFTER_CLOSE: `forge-drawer-after-close`\n};\n\nexport const BASE_DRAWER_CONSTANTS = {\n attributes,\n classes,\n selectors,\n events\n};\n\nexport type DrawerDirection = 'left' | 'right';\n", "import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';\nimport { proxyShadowScrollEvent } from '../../core/utils/event-utils';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IBaseDrawerComponent } from './base-drawer';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerAdapter extends IBaseAdapter {\n proxyScrollEvent(): void;\n tryUnproxyScrollEvent(): void;\n setDirection(direction: DrawerDirection): void;\n removeDrawerClass(className: string | string[]): void;\n setDrawerClass(className: string | string[]): void;\n listenTransitionComplete(listener: () => void): void;\n}\n\nexport class BaseDrawerAdapter extends BaseAdapter<IBaseDrawerComponent> implements IBaseDrawerAdapter {\n protected _drawerElement: HTMLElement;\n private _activeTransitionListener: ((evt: TransitionEvent) => void) | undefined;\n private _unproxyScrollEventCb: (() => void) | undefined;\n\n constructor(protected _component: IBaseDrawerComponent) {\n super(_component);\n this._drawerElement = getShadowElement(this._component, BASE_DRAWER_CONSTANTS.selectors.DRAWER);\n }\n\n public proxyScrollEvent(): void {\n // We proxy the scroll event because our internal scroll container does not dispatch this event outside of the shadow root to any listeners.\n // This is a problem because if we have any components that need to react to the scroll event, such as our popup elements, they will not be\n // notified. This will ensure we always proxy this event out from the host. \n this.tryUnproxyScrollEvent();\n this._unproxyScrollEventCb = proxyShadowScrollEvent(this._component.shadowRoot as ShadowRoot, this._component);\n }\n\n public tryUnproxyScrollEvent(): void {\n if (this._unproxyScrollEventCb) {\n this._unproxyScrollEventCb();\n }\n }\n\n public setDirection(direction: DrawerDirection): void {\n switch (direction) {\n case 'left':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.LEFT);\n break;\n case 'right':\n this._drawerElement.classList.remove(BASE_DRAWER_CONSTANTS.classes.LEFT);\n this._drawerElement.classList.add(BASE_DRAWER_CONSTANTS.classes.RIGHT);\n break;\n }\n }\n\n public removeDrawerClass(className: string | string[]): void {\n removeClass(className, this._drawerElement);\n }\n\n public setDrawerClass(className: string | string[]): void {\n addClass(className, this._drawerElement);\n }\n\n public listenTransitionComplete(listener: () => void): void {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n }\n this._activeTransitionListener = (evt: TransitionEvent) => {\n if (evt.propertyName === 'transform') {\n if (this._activeTransitionListener) {\n this._drawerElement.removeEventListener('transitionend', this._activeTransitionListener);\n this._activeTransitionListener = undefined;\n }\n listener();\n }\n };\n this._drawerElement.addEventListener('transitionend', this._activeTransitionListener);\n }\n}\n", "import { ICustomElementFoundation, isDefined } from '@tylertech/forge-core';\nimport { IBaseDrawerAdapter } from './base-drawer-adapter';\nimport { DrawerDirection, BASE_DRAWER_CONSTANTS } from './base-drawer-constants';\n\nexport interface IBaseDrawerFoundation extends ICustomElementFoundation {\n direction: DrawerDirection;\n}\n\nexport class BaseDrawerFoundation implements IBaseDrawerFoundation {\n protected _open = true;\n protected _direction: DrawerDirection = 'left';\n private _hasInitialized = false;\n private _openAnimationListener: () => void;\n private _closeAnimationListener: () => void;\n\n constructor(protected _adapter: IBaseDrawerAdapter) {\n this._openAnimationListener = () => this._onOpenComplete();\n this._closeAnimationListener = () => this._onCloseComplete();\n }\n\n public connect(): void {\n this._applyOpen();\n this._applyDirection();\n this._adapter.proxyScrollEvent();\n this._hasInitialized = true;\n }\n\n public disconnect(): void {\n this._adapter.tryUnproxyScrollEvent();\n this._hasInitialized = false;\n }\n\n private _applyDirection(): void {\n this._adapter.setDirection(this._direction);\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.DIRECTION, isDefined(this._direction) ? this._direction.toString() : '');\n }\n\n private _onOpenComplete(): void {\n if (!this._open) {\n return;\n }\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_OPEN);\n }\n \n private _onCloseComplete(): void {\n if (this._open) {\n return;\n }\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.NO_TRANSITION);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.emitHostEvent(BASE_DRAWER_CONSTANTS.events.AFTER_CLOSE);\n }\n\n protected _applyOpen(): void {\n if (this._open) {\n this._setDrawerOpenState();\n } else {\n this._setDrawerClosedState();\n }\n \n if (this._open) {\n this._adapter.setHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n } else {\n this._adapter.removeHostAttribute(BASE_DRAWER_CONSTANTS.attributes.OPEN);\n }\n }\n\n protected _setDrawerOpenState(): void {\n this._adapter.listenTransitionComplete(this._openAnimationListener);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSED);\n this._adapter.removeDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n protected _setDrawerClosedState(): void {\n this._adapter.listenTransitionComplete(this._closeAnimationListener);\n this._adapter.setDrawerClass(BASE_DRAWER_CONSTANTS.classes.CLOSING);\n }\n\n public get open(): boolean {\n return this._open;\n }\n public set open(value: boolean) {\n if (this._open !== value) {\n this._open = value;\n if (this._hasInitialized) {\n this._applyOpen();\n }\n }\n }\n\n public get direction(): DrawerDirection {\n return this._direction;\n }\n public set direction(value: DrawerDirection) {\n if (this._direction !== value) {\n this._direction = value;\n if (this._hasInitialized) {\n this._applyDirection();\n }\n }\n }\n}\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { BASE_DRAWER_CONSTANTS, DrawerDirection } from './base-drawer-constants';\nimport { BaseDrawerFoundation } from './base-drawer-foundation';\n\nexport interface IBaseDrawerComponent extends IBaseComponent {\n open: boolean;\n direction: DrawerDirection;\n}\n\ndeclare global {\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\nexport abstract class BaseDrawerComponent<T extends BaseDrawerFoundation> extends BaseComponent implements IBaseDrawerComponent {\n public static get observedAttributes(): string[] {\n return [\n BASE_DRAWER_CONSTANTS.attributes.OPEN,\n BASE_DRAWER_CONSTANTS.attributes.DIRECTION\n ];\n }\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n }\n\n public connectedCallback(): void {\n this._foundation.connect();\n }\n\n public disconnectedCallback(): void {\n this._foundation.disconnect();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_DRAWER_CONSTANTS.attributes.OPEN:\n this.open = coerceBoolean(newValue);\n break;\n case BASE_DRAWER_CONSTANTS.attributes.DIRECTION:\n this.direction = newValue as DrawerDirection;\n break;\n }\n }\n\n /** Toggles whether a `dismissible` or `modal` drawer is open or not. Has no effect on `permanent` drawers. */\n @FoundationProperty()\n public open: boolean;\n\n /** Controls the laytout direction of the drawer for positioning on the left vs. right side of the screen. */\n @FoundationProperty()\n public direction: DrawerDirection;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -7,7 +7,7 @@ import {
7
7
  CHIP_CONSTANTS,
8
8
  CHIP_SET_CONSTANTS,
9
9
  ChipComponent
10
- } from "./chunk.EQCPRLUV.js";
10
+ } from "./chunk.PXXLO4HJ.js";
11
11
  import {
12
12
  BaseAdapter
13
13
  } from "./chunk.KZATVOA6.js";
@@ -197,4 +197,4 @@ export {
197
197
  ChipSetComponent,
198
198
  defineChipSetComponent
199
199
  };
200
- //# sourceMappingURL=chunk.B425FZOZ.js.map
200
+ //# sourceMappingURL=chunk.HRZBANYY.js.map
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk.RNPIV3BY.js";
17
17
  import {
18
18
  ButtonComponent
19
- } from "./chunk.P477KUJ4.js";
19
+ } from "./chunk.SSFSLBBM.js";
20
20
  import {
21
21
  BaseAdapter
22
22
  } from "./chunk.KZATVOA6.js";
@@ -558,4 +558,4 @@ export {
558
558
  BusyIndicatorComponent,
559
559
  defineBusyIndicatorComponent
560
560
  };
561
- //# sourceMappingURL=chunk.OZAKUOZA.js.map
561
+ //# sourceMappingURL=chunk.HZML57TK.js.map