@tylertech/forge 2.24.0 → 2.24.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/custom-elements.json +93 -108
  2. package/dist/esm/accordion/index.js +1 -1
  3. package/dist/esm/app-bar/help-button/index.js +1 -1
  4. package/dist/esm/app-bar/index.js +1 -1
  5. package/dist/esm/app-bar/menu-button/index.js +1 -1
  6. package/dist/esm/app-bar/notification-button/index.js +1 -1
  7. package/dist/esm/app-bar/profile-button/index.js +1 -1
  8. package/dist/esm/app-bar/search/index.js +1 -1
  9. package/dist/esm/autocomplete/index.js +1 -1
  10. package/dist/esm/banner/index.js +1 -1
  11. package/dist/esm/bottom-sheet/index.js +1 -1
  12. package/dist/esm/busy-indicator/index.js +1 -1
  13. package/dist/esm/button/index.js +1 -1
  14. package/dist/esm/button-area/index.js +1 -1
  15. package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
  16. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  17. package/dist/esm/calendar/index.js +1 -1
  18. package/dist/esm/checkbox/index.js +1 -1
  19. package/dist/esm/chip-field/index.js +1 -1
  20. package/dist/esm/chips/chip/index.js +1 -1
  21. package/dist/esm/chips/chip-set/index.js +1 -1
  22. package/dist/esm/chips/index.js +1 -1
  23. package/dist/esm/chunks/{chunk.UUBAUAER.js → chunk.3MMDUUTN.js} +2 -2
  24. package/dist/esm/chunks/{chunk.KZDQFUNT.js → chunk.3V2VDOOP.js} +2 -2
  25. package/dist/esm/chunks/{chunk.Q2PGK4IA.js → chunk.4KKMVMPN.js} +2 -2
  26. package/dist/esm/chunks/{chunk.WLBRU5HI.js → chunk.5SM7UG6C.js} +2 -2
  27. package/dist/esm/chunks/{chunk.KNNT4CGL.js → chunk.6DVJ22IK.js} +2 -2
  28. package/dist/esm/chunks/{chunk.QRWYYBZC.js → chunk.6NARYF7U.js} +2 -2
  29. package/dist/esm/chunks/{chunk.QRWYYBZC.js.map → chunk.6NARYF7U.js.map} +3 -3
  30. package/dist/esm/chunks/{chunk.4APGDQHF.js → chunk.AFW54X3W.js} +2 -2
  31. package/dist/esm/chunks/chunk.AH4YGLZ4.js +7 -0
  32. package/dist/esm/chunks/chunk.AH4YGLZ4.js.map +7 -0
  33. package/dist/esm/chunks/chunk.AJTQHK25.js +7 -0
  34. package/dist/esm/chunks/chunk.AJTQHK25.js.map +7 -0
  35. package/dist/esm/chunks/{chunk.KMMOZ2SF.js → chunk.C3G25JFG.js} +2 -2
  36. package/dist/esm/chunks/chunk.CL4FTBLR.js +7 -0
  37. package/dist/esm/chunks/chunk.CL4FTBLR.js.map +7 -0
  38. package/dist/esm/chunks/{chunk.POBCKMFO.js → chunk.CYLDP7ML.js} +2 -2
  39. package/dist/esm/chunks/{chunk.HDHGU4L2.js → chunk.E3K6KM57.js} +2 -2
  40. package/dist/esm/chunks/{chunk.PTEWJ5PZ.js → chunk.EQEMCHMB.js} +2 -2
  41. package/dist/esm/chunks/{chunk.QBST3QSM.js → chunk.FEU4FTVQ.js} +2 -2
  42. package/dist/esm/chunks/{chunk.ZN6U7WVM.js → chunk.FIZVVCUB.js} +2 -2
  43. package/dist/esm/chunks/{chunk.BQRXAJTH.js → chunk.JFAOCIGZ.js} +2 -2
  44. package/dist/esm/chunks/{chunk.4QVF44G5.js → chunk.K57IO236.js} +2 -2
  45. package/dist/esm/chunks/{chunk.K2O3KSP7.js → chunk.KGMCBPGV.js} +2 -2
  46. package/dist/esm/chunks/chunk.KYH5GKVI.js +7 -0
  47. package/dist/esm/chunks/chunk.KYH5GKVI.js.map +7 -0
  48. package/dist/esm/chunks/chunk.LEINPSKL.js +7 -0
  49. package/dist/esm/chunks/chunk.LEINPSKL.js.map +7 -0
  50. package/dist/esm/chunks/{chunk.V5L5DKNF.js → chunk.LFBYFJTX.js} +2 -2
  51. package/dist/esm/chunks/chunk.MKHU4IPO.js +7 -0
  52. package/dist/esm/chunks/chunk.MKHU4IPO.js.map +7 -0
  53. package/dist/esm/chunks/chunk.N6MAUMFI.js +7 -0
  54. package/dist/esm/chunks/chunk.N6MAUMFI.js.map +7 -0
  55. package/dist/esm/chunks/{chunk.USKQFX4N.js → chunk.OBBYRQCY.js} +2 -2
  56. package/dist/esm/chunks/chunk.OJ54J4L3.js +7 -0
  57. package/dist/esm/chunks/chunk.OJ54J4L3.js.map +7 -0
  58. package/dist/esm/chunks/chunk.OML7MHH6.js +29 -0
  59. package/dist/esm/chunks/chunk.OML7MHH6.js.map +7 -0
  60. package/dist/esm/chunks/chunk.OUORLMTZ.js +12 -0
  61. package/dist/esm/chunks/chunk.QIGNMZRL.js +7 -0
  62. package/dist/esm/chunks/chunk.QIGNMZRL.js.map +7 -0
  63. package/dist/esm/chunks/{chunk.DNWMURCG.js → chunk.RHXQ2GMV.js} +2 -2
  64. package/dist/esm/chunks/{chunk.OLNY6ZNB.js → chunk.TLXWXBQO.js} +2 -2
  65. package/dist/esm/chunks/chunk.TMEYQXRR.js +7 -0
  66. package/dist/esm/chunks/chunk.TMEYQXRR.js.map +7 -0
  67. package/dist/esm/chunks/{chunk.NHZTE4I4.js → chunk.TUQWDTRA.js} +2 -2
  68. package/dist/esm/chunks/{chunk.NHZTE4I4.js.map → chunk.TUQWDTRA.js.map} +1 -1
  69. package/dist/esm/chunks/{chunk.EPFMWAIO.js → chunk.TVWUZYVG.js} +2 -2
  70. package/dist/esm/chunks/{chunk.AITARMT3.js → chunk.UNFOIEF6.js} +2 -2
  71. package/dist/esm/chunks/{chunk.AITARMT3.js.map → chunk.UNFOIEF6.js.map} +2 -2
  72. package/dist/esm/chunks/{chunk.32AY5G4D.js → chunk.W3DFKTAX.js} +2 -2
  73. package/dist/esm/chunks/{chunk.ATJJ6NAY.js → chunk.WF24FWAT.js} +2 -2
  74. package/dist/esm/chunks/chunk.XINI6PNZ.js +7 -0
  75. package/dist/esm/chunks/chunk.XINI6PNZ.js.map +7 -0
  76. package/dist/esm/chunks/{chunk.WVU4LCVC.js → chunk.XKX2BE6Z.js} +2 -2
  77. package/dist/esm/chunks/{chunk.ZVHFSAID.js → chunk.YVXZ753Q.js} +2 -2
  78. package/dist/esm/chunks/{chunk.QFMQPAT2.js → chunk.Z7Y2RA4P.js} +2 -2
  79. package/dist/esm/color-picker/index.js +1 -1
  80. package/dist/esm/core/index.js +1 -1
  81. package/dist/esm/core/utils/index.js +1 -1
  82. package/dist/esm/date-picker/index.js +1 -1
  83. package/dist/esm/date-range-picker/index.js +1 -1
  84. package/dist/esm/expansion-panel/index.js +1 -1
  85. package/dist/esm/file-picker/index.js +1 -1
  86. package/dist/esm/icon/index.js +1 -1
  87. package/dist/esm/icon-button/index.js +1 -1
  88. package/dist/esm/index.js +1 -1
  89. package/dist/esm/list/index.js +1 -1
  90. package/dist/esm/list/list/index.js +1 -1
  91. package/dist/esm/list/list-item/index.js +1 -1
  92. package/dist/esm/list-dropdown/index.js +1 -1
  93. package/dist/esm/menu/index.js +1 -1
  94. package/dist/esm/open-icon/index.js +1 -1
  95. package/dist/esm/paginator/index.js +1 -1
  96. package/dist/esm/profile-card/index.js +1 -1
  97. package/dist/esm/quantity-field/index.js +1 -1
  98. package/dist/esm/radio/index.js +1 -1
  99. package/dist/esm/select/core/index.js +1 -1
  100. package/dist/esm/select/index.js +1 -1
  101. package/dist/esm/select/option/index.js +1 -1
  102. package/dist/esm/select/select/index.js +1 -1
  103. package/dist/esm/select/select-dropdown/index.js +1 -1
  104. package/dist/esm/slider/index.js +1 -1
  105. package/dist/esm/split-view/index.js +1 -1
  106. package/dist/esm/split-view/split-view/index.js +1 -1
  107. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  108. package/dist/esm/stepper/index.js +1 -1
  109. package/dist/esm/stepper/step/index.js +1 -1
  110. package/dist/esm/stepper/stepper/index.js +1 -1
  111. package/dist/esm/switch/index.js +1 -1
  112. package/dist/esm/table/index.js +1 -1
  113. package/dist/esm/tabs/index.js +1 -1
  114. package/dist/esm/tabs/tab/index.js +1 -1
  115. package/dist/esm/tabs/tab-bar/index.js +1 -1
  116. package/dist/esm/time-picker/index.js +1 -1
  117. package/dist/esm/toast/index.js +1 -1
  118. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +2 -2
  119. package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +1 -1
  120. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +3 -3
  121. package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +12 -4
  122. package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -2
  123. package/esm/app-bar/notification-button/app-bar-notification-button.js +2 -2
  124. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  125. package/esm/autocomplete/autocomplete-adapter.js +6 -0
  126. package/esm/autocomplete/autocomplete-foundation.js +1 -0
  127. package/esm/core/utils/utils.d.ts +9 -0
  128. package/esm/core/utils/utils.js +22 -0
  129. package/esm/date-picker/date-picker-adapter.js +3 -0
  130. package/esm/date-range-picker/date-range-picker-adapter.js +6 -1
  131. package/esm/list/list-item/list-item-adapter.js +3 -1
  132. package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -0
  133. package/esm/list-dropdown/list-dropdown-utils.js +16 -3
  134. package/esm/menu/menu-adapter.d.ts +2 -0
  135. package/esm/menu/menu-adapter.js +3 -0
  136. package/esm/menu/menu-foundation.js +2 -5
  137. package/esm/select/core/base-select-adapter.d.ts +0 -2
  138. package/esm/select/core/base-select-foundation.js +1 -2
  139. package/esm/select/option/option.d.ts +0 -1
  140. package/esm/select/option/option.js +0 -5
  141. package/esm/select/select/select-adapter.d.ts +0 -1
  142. package/esm/select/select/select-adapter.js +4 -9
  143. package/esm/select/select/select-foundation.js +0 -1
  144. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +0 -1
  145. package/esm/select/select-dropdown/select-dropdown-adapter.js +0 -11
  146. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  147. package/esm/tabs/tab/tab-adapter.d.ts +1 -3
  148. package/esm/tabs/tab/tab-adapter.js +13 -14
  149. package/esm/tabs/tab/tab-constants.d.ts +2 -1
  150. package/esm/tabs/tab/tab-constants.js +2 -1
  151. package/esm/tabs/tab/tab-foundation.d.ts +0 -2
  152. package/esm/tabs/tab/tab-foundation.js +3 -3
  153. package/esm/tabs/tab/tab.d.ts +0 -1
  154. package/esm/tabs/tab/tab.js +2 -5
  155. package/esm/time-picker/time-picker-adapter.d.ts +2 -0
  156. package/esm/time-picker/time-picker-adapter.js +7 -2
  157. package/esm/time-picker/time-picker-foundation.js +1 -0
  158. package/package.json +1 -1
  159. package/styles/tabs/tab/_mixins.scss +3 -7
  160. package/styles/tabs/tab/tab.scss +4 -0
  161. package/dist/esm/chunks/chunk.36RT7UOR.js +0 -7
  162. package/dist/esm/chunks/chunk.36RT7UOR.js.map +0 -7
  163. package/dist/esm/chunks/chunk.7NUOX3JD.js +0 -12
  164. package/dist/esm/chunks/chunk.E6FHH3CM.js +0 -7
  165. package/dist/esm/chunks/chunk.E6FHH3CM.js.map +0 -7
  166. package/dist/esm/chunks/chunk.F6DMKNFU.js +0 -29
  167. package/dist/esm/chunks/chunk.F6DMKNFU.js.map +0 -7
  168. package/dist/esm/chunks/chunk.HSUOYMJT.js +0 -7
  169. package/dist/esm/chunks/chunk.HSUOYMJT.js.map +0 -7
  170. package/dist/esm/chunks/chunk.HVYDNI2O.js +0 -7
  171. package/dist/esm/chunks/chunk.HVYDNI2O.js.map +0 -7
  172. package/dist/esm/chunks/chunk.KZJYLYWN.js +0 -7
  173. package/dist/esm/chunks/chunk.KZJYLYWN.js.map +0 -7
  174. package/dist/esm/chunks/chunk.LZOAYM6V.js +0 -7
  175. package/dist/esm/chunks/chunk.LZOAYM6V.js.map +0 -7
  176. package/dist/esm/chunks/chunk.M5QM2CPF.js +0 -7
  177. package/dist/esm/chunks/chunk.M5QM2CPF.js.map +0 -7
  178. package/dist/esm/chunks/chunk.MA2P7CG4.js +0 -7
  179. package/dist/esm/chunks/chunk.MA2P7CG4.js.map +0 -7
  180. package/dist/esm/chunks/chunk.MSOMQ4HD.js +0 -7
  181. package/dist/esm/chunks/chunk.MSOMQ4HD.js.map +0 -7
  182. package/dist/esm/chunks/chunk.QRSFRMBF.js +0 -7
  183. package/dist/esm/chunks/chunk.QRSFRMBF.js.map +0 -7
  184. package/dist/esm/chunks/chunk.SDZC7JIX.js +0 -7
  185. package/dist/esm/chunks/chunk.SDZC7JIX.js.map +0 -7
  186. /package/dist/esm/chunks/{chunk.UUBAUAER.js.map → chunk.3MMDUUTN.js.map} +0 -0
  187. /package/dist/esm/chunks/{chunk.KZDQFUNT.js.map → chunk.3V2VDOOP.js.map} +0 -0
  188. /package/dist/esm/chunks/{chunk.Q2PGK4IA.js.map → chunk.4KKMVMPN.js.map} +0 -0
  189. /package/dist/esm/chunks/{chunk.WLBRU5HI.js.map → chunk.5SM7UG6C.js.map} +0 -0
  190. /package/dist/esm/chunks/{chunk.KNNT4CGL.js.map → chunk.6DVJ22IK.js.map} +0 -0
  191. /package/dist/esm/chunks/{chunk.4APGDQHF.js.map → chunk.AFW54X3W.js.map} +0 -0
  192. /package/dist/esm/chunks/{chunk.KMMOZ2SF.js.map → chunk.C3G25JFG.js.map} +0 -0
  193. /package/dist/esm/chunks/{chunk.POBCKMFO.js.map → chunk.CYLDP7ML.js.map} +0 -0
  194. /package/dist/esm/chunks/{chunk.HDHGU4L2.js.map → chunk.E3K6KM57.js.map} +0 -0
  195. /package/dist/esm/chunks/{chunk.PTEWJ5PZ.js.map → chunk.EQEMCHMB.js.map} +0 -0
  196. /package/dist/esm/chunks/{chunk.QBST3QSM.js.map → chunk.FEU4FTVQ.js.map} +0 -0
  197. /package/dist/esm/chunks/{chunk.ZN6U7WVM.js.map → chunk.FIZVVCUB.js.map} +0 -0
  198. /package/dist/esm/chunks/{chunk.BQRXAJTH.js.map → chunk.JFAOCIGZ.js.map} +0 -0
  199. /package/dist/esm/chunks/{chunk.4QVF44G5.js.map → chunk.K57IO236.js.map} +0 -0
  200. /package/dist/esm/chunks/{chunk.K2O3KSP7.js.map → chunk.KGMCBPGV.js.map} +0 -0
  201. /package/dist/esm/chunks/{chunk.V5L5DKNF.js.map → chunk.LFBYFJTX.js.map} +0 -0
  202. /package/dist/esm/chunks/{chunk.USKQFX4N.js.map → chunk.OBBYRQCY.js.map} +0 -0
  203. /package/dist/esm/chunks/{chunk.7NUOX3JD.js.map → chunk.OUORLMTZ.js.map} +0 -0
  204. /package/dist/esm/chunks/{chunk.DNWMURCG.js.map → chunk.RHXQ2GMV.js.map} +0 -0
  205. /package/dist/esm/chunks/{chunk.OLNY6ZNB.js.map → chunk.TLXWXBQO.js.map} +0 -0
  206. /package/dist/esm/chunks/{chunk.EPFMWAIO.js.map → chunk.TVWUZYVG.js.map} +0 -0
  207. /package/dist/esm/chunks/{chunk.32AY5G4D.js.map → chunk.W3DFKTAX.js.map} +0 -0
  208. /package/dist/esm/chunks/{chunk.ATJJ6NAY.js.map → chunk.WF24FWAT.js.map} +0 -0
  209. /package/dist/esm/chunks/{chunk.WVU4LCVC.js.map → chunk.XKX2BE6Z.js.map} +0 -0
  210. /package/dist/esm/chunks/{chunk.ZVHFSAID.js.map → chunk.YVXZ753Q.js.map} +0 -0
  211. /package/dist/esm/chunks/{chunk.QFMQPAT2.js.map → chunk.Z7Y2RA4P.js.map} +0 -0
@@ -8,6 +8,7 @@ import { FloatingLabel } from '../../floating-label/floating-label';
8
8
  import { SELECT_CONSTANTS } from './select-constants';
9
9
  import { BaseSelectAdapter } from '../core';
10
10
  import { FIELD_CONSTANTS } from '../../field/field-constants';
11
+ import { tryCreateAriaControlsPlaceholder, setAriaControls } from '../../core/utils';
11
12
  /**
12
13
  * The DOM adapter behind the `<forge-select>` component.
13
14
  */
@@ -30,6 +31,8 @@ export class SelectAdapter extends BaseSelectAdapter {
30
31
  this._component.setAttribute('role', 'combobox');
31
32
  this._component.setAttribute('aria-haspopup', 'true');
32
33
  this._component.setAttribute('aria-expanded', 'false');
34
+ tryCreateAriaControlsPlaceholder();
35
+ setAriaControls(this._component);
33
36
  // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly
34
37
  if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {
35
38
  this._component.tabIndex = 0;
@@ -80,7 +83,7 @@ export class SelectAdapter extends BaseSelectAdapter {
80
83
  close() {
81
84
  this._component.setAttribute('aria-expanded', 'false');
82
85
  this._component.removeAttribute('aria-activedescendant');
83
- this._component.removeAttribute('aria-controls');
86
+ setAriaControls(this._component);
84
87
  toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);
85
88
  super.close();
86
89
  }
@@ -124,14 +127,6 @@ export class SelectAdapter extends BaseSelectAdapter {
124
127
  setDense(isDense) {
125
128
  toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);
126
129
  }
127
- setMultiple(multiple) {
128
- if (multiple) {
129
- this.setHostAttribute('aria-multiselectable', 'true');
130
- }
131
- else {
132
- this.removeHostAttribute('aria-multiselectable');
133
- }
134
- }
135
130
  getLabelWidth(fontSize, fontFamily) {
136
131
  return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });
137
132
  }
@@ -83,7 +83,6 @@ export class SelectFoundation extends BaseSelectFoundation {
83
83
  }
84
84
  }
85
85
  _initializeAccessibility() {
86
- this._adapter.setMultiple(this._multiple);
87
86
  if (this._required) {
88
87
  this._adapter.setHostAttribute('aria-required', 'true');
89
88
  }
@@ -26,7 +26,6 @@ export declare class SelectDropdownAdapter extends BaseSelectAdapter implements
26
26
  close(): void;
27
27
  attach(selector: string): void;
28
28
  detach(): void;
29
- setMultiple(multiple: boolean): void;
30
29
  setTargetDisconnectedListener(cb: () => void): () => void;
31
30
  isAttached(): boolean;
32
31
  setTargetText(text: string, selector: string): void;
@@ -68,17 +68,6 @@ export class SelectDropdownAdapter extends BaseSelectAdapter {
68
68
  detach() {
69
69
  this._targetElement = undefined;
70
70
  }
71
- setMultiple(multiple) {
72
- if (!this._targetElement) {
73
- return;
74
- }
75
- if (multiple) {
76
- this._targetElement.setAttribute('aria-multiselectable', 'true');
77
- }
78
- else {
79
- this._targetElement.removeAttribute('aria-multiselectable');
80
- }
81
- }
82
71
  setTargetDisconnectedListener(cb) {
83
72
  if (!this._targetElement || !this._targetElement.parentElement) {
84
73
  return () => { };
@@ -14,7 +14,7 @@ import { SplitViewPanelAdapter } from './split-view-panel-adapter';
14
14
  import { IconComponent, IconRegistry } from '../../icon';
15
15
  import { RippleComponent } from '../../ripple';
16
16
  const template = '<template><div class=\"forge-split-view-panel\" id=\"root\" part=\"root\"><div class=\"forge-split-view-panel__handle\" id=\"handle\" part=\"handle\" role=\"separator\" aria-controls=\"content\" aria-grabbed=\"false\" tabindex=\"0\"><forge-icon class=\"forge-split-view-panel__icon\" id=\"icon\" part=\"icon\"></forge-icon><forge-ripple id=\"ripple\" part=\"ripple\"></forge-ripple></div><div class=\"forge-split-view-panel__content\" id=\"content\" part=\"content\" role=\"group\"><slot></slot></div></div></template>';
17
- const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:umaepdr;animation-name:umaepdr;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes umaepdr{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes umaepdr{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:umaepei;animation-name:umaepei;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes umaepei{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes umaepei{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:umaepf2;animation-name:umaepf2;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes umaepf2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes umaepf2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:umaepfi;animation-name:umaepfi;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes umaepfi{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes umaepfi{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:umaepg0;animation-name:umaepg0;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes umaepg0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes umaepg0{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:umaepgz;animation-name:umaepgz;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes umaepgz{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes umaepgz{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:umaephx;animation-name:umaephx;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes umaephx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes umaephx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:umaepi2;animation-name:umaepi2;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes umaepi2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes umaepi2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';
17
+ const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uldjpqb;animation-name:uldjpqb;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uldjpqb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uldjpqb{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uldjpqh;animation-name:uldjpqh;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uldjpqh{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uldjpqh{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uldjpqu;animation-name:uldjpqu;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uldjpqu{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uldjpqu{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;-webkit-animation-name:uldjprj;animation-name:uldjprj;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uldjprj{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uldjprj{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}.forge-split-view-panel[orientation=vertical]{min-height:8px;min-height:var(--forge-split-view-handle-width,8px);height:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{height:8px;height:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uldjprn;animation-name:uldjprn;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uldjprn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uldjprn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uldjpsi;animation-name:uldjpsi;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}@-webkit-keyframes uldjpsi{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uldjpsi{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:uldjpt2;animation-name:uldjpt2;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uldjpt2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uldjpt2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;-webkit-animation-name:uldjpt3;animation-name:uldjpt3;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-direction:reverse}@-webkit-keyframes uldjpt3{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uldjpt3{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';
18
18
  /**
19
19
  * The custom element class behind the `<forge-split-view-panel>` element.
20
20
  *
@@ -22,11 +22,10 @@ export interface ITabAdapter extends IBaseAdapter {
22
22
  getOffsetWidth(): number;
23
23
  getContentOffsetLeft(): number;
24
24
  getContentOffsetWidth(): number;
25
- focus(): void;
26
25
  setTabIndex(value: number): void;
27
26
  }
28
27
  export declare class TabAdapter extends BaseAdapter<ITabComponent> implements ITabAdapter {
29
- private _buttonElement;
28
+ private _rootElement;
30
29
  private _content;
31
30
  private _rippleElement;
32
31
  private _rippleInstance;
@@ -49,6 +48,5 @@ export declare class TabAdapter extends BaseAdapter<ITabComponent> implements IT
49
48
  getOffsetWidth(): number;
50
49
  getContentOffsetLeft(): number;
51
50
  getContentOffsetWidth(): number;
52
- focus(): void;
53
51
  setTabIndex(value: number): void;
54
52
  }
@@ -25,19 +25,21 @@ class TabRippleSurface {
25
25
  export class TabAdapter extends BaseAdapter {
26
26
  constructor(component) {
27
27
  super(component);
28
- this._buttonElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.BUTTON);
28
+ this._rootElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.ROOT);
29
29
  this._content = getShadowElement(this._component, TAB_CONSTANTS.selectors.CONTENT);
30
30
  this._rippleElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.RIPPLE);
31
31
  this._tabIndicatorElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.INDICATOR);
32
32
  }
33
33
  initialize() {
34
- this._component.setAttribute('role', 'tab');
34
+ if (!this._component.hasAttribute('role')) {
35
+ this._component.setAttribute('role', 'tab');
36
+ }
35
37
  }
36
38
  initializeRipple() {
37
- const rippleCapableSurface = new TabRippleSurface(this._buttonElement);
39
+ const rippleCapableSurface = new TabRippleSurface(this._component);
38
40
  const rippleAdapter = Object.assign(Object.assign({}, ForgeRipple.createAdapter(rippleCapableSurface)), { addClass: (className) => this._rippleElement.classList.add(className), removeClass: (className) => this._rippleElement.classList.remove(className), updateCssVariable: (varName, value) => this._rippleElement.style.setProperty(varName, value) });
39
41
  const rippleFoundation = new ForgeRippleFoundation(rippleAdapter);
40
- this._rippleInstance = new ForgeRipple(this._buttonElement, rippleFoundation);
42
+ this._rippleInstance = new ForgeRipple(this._component, rippleFoundation);
41
43
  }
42
44
  destroyRipple() {
43
45
  if (this._rippleInstance) {
@@ -67,26 +69,26 @@ export class TabAdapter extends BaseAdapter {
67
69
  return this._tabIndicator ? this._tabIndicator.computeContentClientRect() : undefined;
68
70
  }
69
71
  addButtonListener(type, listener) {
70
- this._buttonElement.addEventListener(type, listener);
72
+ this._component.addEventListener(type, listener);
71
73
  }
72
74
  removeButtonListener(type, listener) {
73
- this._buttonElement.removeEventListener(type, listener);
75
+ this._component.removeEventListener(type, listener);
74
76
  }
75
77
  setDisabled(value) {
76
- this._buttonElement.disabled = value;
78
+ toggleClass(this._rootElement, value, TAB_CONSTANTS.classes.DISABLED);
77
79
  this.setTabIndex(!value ? 0 : -1);
78
80
  this._component.setAttribute('aria-disabled', value.toString());
79
81
  }
80
82
  setActive(value) {
81
- toggleClass(this._buttonElement, value, TAB_CONSTANTS.classes.ACTIVE);
83
+ toggleClass(this._rootElement, value, TAB_CONSTANTS.classes.ACTIVE);
82
84
  this.setTabIndex(value ? 0 : -1);
83
85
  this._component.setAttribute('aria-selected', value.toString());
84
86
  }
85
87
  getOffsetLeft() {
86
- return this._buttonElement.offsetLeft;
88
+ return this._rootElement.offsetLeft;
87
89
  }
88
90
  getOffsetWidth() {
89
- return this._buttonElement.offsetWidth;
91
+ return this._rootElement.offsetWidth;
90
92
  }
91
93
  getContentOffsetLeft() {
92
94
  return this._content.offsetLeft;
@@ -94,10 +96,7 @@ export class TabAdapter extends BaseAdapter {
94
96
  getContentOffsetWidth() {
95
97
  return this._content.offsetWidth;
96
98
  }
97
- focus() {
98
- this._buttonElement.focus();
99
- }
100
99
  setTabIndex(value) {
101
- this._buttonElement.tabIndex = value;
100
+ this._component.tabIndex = value;
102
101
  }
103
102
  }
@@ -11,13 +11,14 @@ export declare const TAB_CONSTANTS: {
11
11
  STRETCH: string;
12
12
  };
13
13
  selectors: {
14
- BUTTON: string;
14
+ ROOT: string;
15
15
  RIPPLE: string;
16
16
  INDICATOR: string;
17
17
  CONTENT: string;
18
18
  DEFAULT_SLOT: string;
19
19
  };
20
20
  classes: {
21
+ DISABLED: string;
21
22
  ACTIVE: string;
22
23
  };
23
24
  events: {
@@ -11,13 +11,14 @@ const attributes = {
11
11
  STRETCH: 'stretch'
12
12
  };
13
13
  const selectors = {
14
- BUTTON: 'button.forge-tab',
14
+ ROOT: '.forge-tab',
15
15
  RIPPLE: '.forge-tab__ripple',
16
16
  INDICATOR: '.mdc-tab-indicator',
17
17
  CONTENT: '.forge-tab__content',
18
18
  DEFAULT_SLOT: 'slot:not([name])'
19
19
  };
20
20
  const classes = {
21
+ DISABLED: 'forge-tab--disabled',
21
22
  ACTIVE: 'forge-tab--active'
22
23
  };
23
24
  const events = {
@@ -14,7 +14,6 @@ export interface ITabFoundation extends ICustomElementFoundation {
14
14
  deactivate(): void;
15
15
  computeIndicatorBounds(): DOMRect | undefined;
16
16
  computeDimensions(): ITabDimensions;
17
- focus(): void;
18
17
  setTabIndex(value: number): void;
19
18
  }
20
19
  export declare class TabFoundation implements ITabFoundation {
@@ -32,7 +31,6 @@ export declare class TabFoundation implements ITabFoundation {
32
31
  deactivate(): void;
33
32
  computeIndicatorBounds(): DOMRect | undefined;
34
33
  computeDimensions(): ITabDimensions;
35
- focus(): void;
36
34
  setTabIndex(value: number): void;
37
35
  get disabled(): boolean;
38
36
  set disabled(value: boolean);
@@ -26,6 +26,9 @@ export class TabFoundation {
26
26
  this._adapter.removeButtonListener('click', this._clickListener);
27
27
  }
28
28
  _onClick(evt) {
29
+ if (this._disabled) {
30
+ return;
31
+ }
29
32
  if (!this._active) {
30
33
  this._adapter.emitHostEvent(TAB_CONSTANTS.events.INTERACTED, undefined, true);
31
34
  }
@@ -61,9 +64,6 @@ export class TabFoundation {
61
64
  rootRight: rootLeft + rootWidth
62
65
  };
63
66
  }
64
- focus() {
65
- this._adapter.focus();
66
- }
67
67
  setTabIndex(value) {
68
68
  this._adapter.setTabIndex(value);
69
69
  }
@@ -42,6 +42,5 @@ export declare class TabComponent extends BaseComponent implements ITabComponent
42
42
  deactivate(): void;
43
43
  computeIndicatorBounds(): DOMRect | undefined;
44
44
  computeDimensions(): ITabDimensions;
45
- focus(): void;
46
45
  setTabIndex(value: number): void;
47
46
  }
@@ -9,8 +9,8 @@ import { TabAdapter } from './tab-adapter';
9
9
  import { TabFoundation } from './tab-foundation';
10
10
  import { TAB_CONSTANTS } from './tab-constants';
11
11
  import { BaseComponent } from '../../core/base/base-component';
12
- const template = '<template><button class=\"forge-tab\" type=\"button\" part=\"button\"><slot name=\"top\"></slot><span class=\"forge-tab__content\" part=\"content\"><slot name=\"leading\"></slot><span class=\"forge-tab__text\" part=\"text\"><slot></slot></span><slot name=\"trailing\"></slot></span><span class=\"mdc-tab-indicator\" part=\"indicator-container\"><span class=\"mdc-tab-indicator__content mdc-tab-indicator__content--underline\" part=\"indicator\"></span> </span><span class=\"forge-tab__ripple\" part=\"ripple-container\"></span></button></template>';
13
- const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.mdc-tab-indicator .mdc-tab-indicator__content--icon{color:#ffc107;color:var(--mdc-theme-secondary,#ffc107)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:-webkit-box;display:flex;position:absolute;top:0;left:0;-webkit-box-pack:center;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{-webkit-transform-origin:left;transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{-webkit-transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1),250ms -webkit-transform cubic-bezier(.4, 0, .2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{-webkit-transition:none;transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition:150ms opacity linear;transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1 0 auto;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:0;background:0 0;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;padding-right:24px;padding-left:24px;height:100%;width:100%}.forge-tab:disabled{color:rgba(0,0,0,.12);color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12));cursor:not-allowed;pointer-events:none}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=top]){padding-top:8px}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=top]),.forge-tab ::slotted([slot=trailing]){-webkit-transition:150ms color linear;transition:150ms color linear;fill:currentColor;width:24px;height:24px;font-size:24px;z-index:2}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){padding:0 8px}.forge-tab__content{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:inherit;pointer-events:none}.forge-tab__text{-webkit-transition:150ms color linear;transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.forge-tab--active{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-tab--active ::slotted([slot=leading]),.forge-tab--active ::slotted([slot=top]),.forge-tab--active ::slotted([slot=trailing]){-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab__ripple{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.forge-tab__ripple::after,.forge-tab__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-tab__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-tab__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-tab__ripple.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-tab__ripple.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-tab__ripple.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple::after,.forge-tab__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-tab__ripple::after,.forge-tab__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-tab__ripple.mdc-ripple-surface--hover::before,.forge-tab__ripple:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-tab__ripple.mdc-ripple-upgraded--background-focused::before,.forge-tab__ripple:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-tab__ripple:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-tab__ripple:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){-webkit-box-flex:1;flex:1}:host([theme=primary]){--mdc-theme-primary:var(--mdc-theme-primary, $defaultValue)}:host([theme=primary]) .forge-tab.forge-tab--active{color:#3f51b5}:host([theme=secondary]){--mdc-theme-primary:var(--mdc-theme-secondary, $defaultValue)}:host([theme=secondary]) .forge-tab.forge-tab--active{color:#ffc107}:host([theme=warning]){--mdc-theme-primary:var(--mdc-theme-warning, $defaultValue)}:host([theme=warning]) .forge-tab.forge-tab--active{color:#d14900}:host([theme=success]){--mdc-theme-primary:var(--mdc-theme-success, $defaultValue)}:host([theme=success]) .forge-tab.forge-tab--active{color:#2e7d32}:host([theme=danger]){--mdc-theme-primary:var(--mdc-theme-danger, $defaultValue)}:host([theme=danger]) .forge-tab.forge-tab--active{color:#b00020}:host([theme=info]){--mdc-theme-primary:var(--mdc-theme-info, $defaultValue)}:host([theme=info]) .forge-tab.forge-tab--active{color:#424242}';
12
+ const template = '<template><div class=\"forge-tab\" part=\"button\"><slot name=\"top\"></slot><span class=\"forge-tab__content\" part=\"content\"><slot name=\"leading\"></slot><span class=\"forge-tab__text\" part=\"text\"><slot></slot></span><slot name=\"trailing\"></slot></span><span class=\"mdc-tab-indicator\" part=\"indicator-container\"><span class=\"mdc-tab-indicator__content mdc-tab-indicator__content--underline\" part=\"indicator\"></span> </span><span class=\"forge-tab__ripple\" part=\"ripple-container\"></span></div></template>';
13
+ const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.mdc-tab-indicator .mdc-tab-indicator__content--icon{color:#ffc107;color:var(--mdc-theme-secondary,#ffc107)}.mdc-tab-indicator .mdc-tab-indicator__content--underline{border-top-width:2px}.mdc-tab-indicator .mdc-tab-indicator__content--icon{height:34px;font-size:34px}.mdc-tab-indicator{display:-webkit-box;display:flex;position:absolute;top:0;left:0;-webkit-box-pack:center;justify-content:center;width:100%;height:100%;pointer-events:none;z-index:1}.mdc-tab-indicator__content{-webkit-transform-origin:left;transform-origin:left;opacity:0}.mdc-tab-indicator__content--underline{align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;border-top-style:solid}.mdc-tab-indicator__content--icon{align-self:center;margin:0 auto}.mdc-tab-indicator--active .mdc-tab-indicator__content{opacity:1}.mdc-tab-indicator .mdc-tab-indicator__content{-webkit-transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms -webkit-transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1);transition:250ms transform cubic-bezier(.4, 0, .2, 1),250ms -webkit-transform cubic-bezier(.4, 0, .2, 1)}.mdc-tab-indicator--no-transition .mdc-tab-indicator__content{-webkit-transition:none;transition:none}.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition:150ms opacity linear;transition:150ms opacity linear}.mdc-tab-indicator--active.mdc-tab-indicator--fade .mdc-tab-indicator__content{-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));position:relative;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-flex:1;flex:1 0 auto;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding-top:0;padding-bottom:0;border:none;outline:0;background:0 0;text-align:center;white-space:nowrap;cursor:pointer;-webkit-appearance:none;z-index:1;padding-right:24px;padding-left:24px;height:100%;width:100%}.forge-tab::-moz-focus-inner{padding:0;border:0}.forge-tab ::slotted([slot=top]){padding-top:8px}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=top]),.forge-tab ::slotted([slot=trailing]){-webkit-transition:150ms color linear;transition:150ms color linear;fill:currentColor;width:24px;height:24px;font-size:24px;z-index:2}.forge-tab ::slotted([slot=leading]),.forge-tab ::slotted([slot=trailing]){padding:0 8px}.forge-tab__content{position:relative;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;height:inherit;pointer-events:none}.forge-tab__text{-webkit-transition:150ms color linear;transition:150ms color linear;display:inline-block;line-height:1;z-index:2}.forge-tab--active:not(.forge-tab--disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-tab--active:not(.forge-tab--disabled) ::slotted([slot=leading]),.forge-tab--active:not(.forge-tab--disabled) ::slotted([slot=top]),.forge-tab--active:not(.forge-tab--disabled) ::slotted([slot=trailing]){-webkit-transition-delay:0.1s;transition-delay:0.1s}.forge-tab__ripple{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.forge-tab__ripple::after,.forge-tab__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-tab__ripple::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-tab__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-tab__ripple.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-tab__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-tab__ripple.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-tab__ripple.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-tab__ripple::after,.forge-tab__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-tab__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-tab__ripple::after,.forge-tab__ripple::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-tab__ripple.mdc-ripple-surface--hover::before,.forge-tab__ripple:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-tab__ripple.mdc-ripple-upgraded--background-focused::before,.forge-tab__ripple:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-tab__ripple:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-tab__ripple:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-tab__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}:host{display:inline-block;outline:0}:host([hidden]){display:none}:host([stretch]){-webkit-box-flex:1;flex:1}:host([disabled]){opacity:.38;pointer-events:none}:host([theme=primary]){--mdc-theme-primary:var(--mdc-theme-primary, $defaultValue)}:host([theme=primary]) .forge-tab.forge-tab--active{color:#3f51b5}:host([theme=secondary]){--mdc-theme-primary:var(--mdc-theme-secondary, $defaultValue)}:host([theme=secondary]) .forge-tab.forge-tab--active{color:#ffc107}:host([theme=warning]){--mdc-theme-primary:var(--mdc-theme-warning, $defaultValue)}:host([theme=warning]) .forge-tab.forge-tab--active{color:#d14900}:host([theme=success]){--mdc-theme-primary:var(--mdc-theme-success, $defaultValue)}:host([theme=success]) .forge-tab.forge-tab--active{color:#2e7d32}:host([theme=danger]){--mdc-theme-primary:var(--mdc-theme-danger, $defaultValue)}:host([theme=danger]) .forge-tab.forge-tab--active{color:#b00020}:host([theme=info]){--mdc-theme-primary:var(--mdc-theme-info, $defaultValue)}:host([theme=info]) .forge-tab.forge-tab--active{color:#424242}';
14
14
  /**
15
15
  * The web component class behind the `<forge-tab>` custom element.
16
16
  *
@@ -60,9 +60,6 @@ let TabComponent = class TabComponent extends BaseComponent {
60
60
  computeDimensions() {
61
61
  return this._foundation.computeDimensions();
62
62
  }
63
- focus() {
64
- this._foundation.focus();
65
- }
66
63
  setTabIndex(value) {
67
64
  this._foundation.setTabIndex(value);
68
65
  }
@@ -8,6 +8,7 @@ import { BaseAdapter } from '../core';
8
8
  import { ITimeInputMaskOptions } from '../core/mask/time-input-mask';
9
9
  import { IListDropdownConfig, IListDropdownOption } from '../list-dropdown/list-dropdown-constants';
10
10
  export interface ITimePickerAdapter extends BaseAdapter<ITimePickerComponent> {
11
+ readonly inputElement: HTMLInputElement;
11
12
  initialize(): void;
12
13
  initializeMask(options: ITimeInputMaskOptions): void;
13
14
  destroy(): void;
@@ -47,6 +48,7 @@ export declare class TimePickerAdapter extends BaseAdapter<ITimePickerComponent>
47
48
  private _listDropdown?;
48
49
  private _targetElement?;
49
50
  constructor(component: ITimePickerComponent);
51
+ get inputElement(): HTMLInputElement;
50
52
  initialize(): void;
51
53
  initializeMask(options: ITimeInputMaskOptions): void;
52
54
  destroy(): void;
@@ -4,7 +4,7 @@
4
4
  * License: Apache-2.0
5
5
  */
6
6
  import { getShadowElement, emitEvent, getActiveElement, toggleAttribute } from '@tylertech/forge-core';
7
- import { BaseAdapter } from '../core';
7
+ import { BaseAdapter, setAriaControls, tryCreateAriaControlsPlaceholder } from '../core';
8
8
  import { TIME_PICKER_CONSTANTS } from './time-picker-constants';
9
9
  import { TimeInputMask } from '../core/mask/time-input-mask';
10
10
  import { TEXT_FIELD_CONSTANTS } from '../text-field';
@@ -15,6 +15,9 @@ export class TimePickerAdapter extends BaseAdapter {
15
15
  constructor(component) {
16
16
  super(component);
17
17
  }
18
+ get inputElement() {
19
+ return this._inputElement;
20
+ }
18
21
  initialize() {
19
22
  this._inputElement = this._component.querySelector(TIME_PICKER_CONSTANTS.selectors.INPUT);
20
23
  }
@@ -42,6 +45,8 @@ export class TimePickerAdapter extends BaseAdapter {
42
45
  this._inputElement.setAttribute('aria-atomic', 'true');
43
46
  this._inputElement.setAttribute('aria-haspopup', 'true');
44
47
  this._inputElement.setAttribute('aria-expanded', 'false');
48
+ tryCreateAriaControlsPlaceholder();
49
+ setAriaControls(this._inputElement);
45
50
  }
46
51
  addInputListener(type, listener, capture) {
47
52
  this._inputElement.addEventListener(type, listener, { capture });
@@ -141,7 +146,7 @@ export class TimePickerAdapter extends BaseAdapter {
141
146
  this._listDropdown.destroy();
142
147
  this._listDropdown = undefined;
143
148
  }
144
- this._inputElement.removeAttribute('aria-controls');
149
+ setAriaControls(this._inputElement);
145
150
  }
146
151
  propagateKey(key) {
147
152
  var _a;
@@ -493,6 +493,7 @@ export class TimePickerFoundation {
493
493
  }
494
494
  this._dropdownConfig = {
495
495
  id: `forge-time-picker-${this._identifier}`,
496
+ referenceElement: this._adapter.inputElement,
496
497
  selectedValues,
497
498
  syncWidth: true,
498
499
  visibleStartIndex,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tylertech/forge",
3
3
  "description": "Tyler Forge™ Web Components library",
4
- "version": "2.24.0",
4
+ "version": "2.24.2",
5
5
  "author": "Tyler Technologies, Inc.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -14,10 +14,6 @@
14
14
  .forge-tab {
15
15
  @include base;
16
16
 
17
- &:disabled {
18
- @include disabled;
19
- }
20
-
21
17
  // Firefox still draws a dotted border around focused buttons unless specifically overridden
22
18
  &::-moz-focus-inner {
23
19
  padding: 0;
@@ -47,7 +43,7 @@
47
43
  @include text;
48
44
  }
49
45
 
50
- &--active {
46
+ &--active:not(.forge-tab--disabled) {
51
47
  @include active;
52
48
 
53
49
  ::slotted([slot=top]),
@@ -74,6 +70,7 @@
74
70
 
75
71
  @mixin host() {
76
72
  display: inline-block;
73
+ outline: none;
77
74
  }
78
75
 
79
76
  @mixin host-stretch() {
@@ -109,9 +106,8 @@
109
106
  }
110
107
 
111
108
  @mixin disabled() {
112
- @include mdc-theme.property(color, text-disabled-on-background);
109
+ opacity: 0.38;
113
110
 
114
- cursor: not-allowed;
115
111
  pointer-events: none;
116
112
  }
117
113
 
@@ -22,6 +22,10 @@
22
22
  @include mixins.host-stretch;
23
23
  }
24
24
 
25
+ :host([disabled]) {
26
+ @include mixins.disabled;
27
+ }
28
+
25
29
  @include mixins.host-theme(primary, theme-values.$mdc-property-values);
26
30
  @include mixins.host-theme(secondary, theme-values.$mdc-property-values);
27
31
  @include mixins.host-theme(warning, theme-values.$property-values);
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as L}from"./chunk.SGTKZRDH.js";import{b as o}from"./chunk.AITARMT3.js";import{a as G}from"./chunk.PTEWJ5PZ.js";import{h as P,i as k}from"./chunk.LZOAYM6V.js";import{a as V}from"./chunk.WCSVKQR2.js";import{a as B}from"./chunk.UWYANU5D.js";import{a as d}from"./chunk.KTGSZEAG.js";import{i as S}from"./chunk.4LA6HEA7.js";import{a as T,b as c,j as I,k as y,n as x}from"./chunk.J2M2MXP2.js";import{a as b,f as a}from"./chunk.MCIQXNKY.js";var M={VALUE:"value",MULTIPLE:"multiple",OBSERVE_SCROLL:"observe-scroll",OBSERVE_SCROLL_THRESHOLD:"observe-scroll-threshold",POPUP_CLASSES:"popup-classes",OPTION_LIMIT:"option-limit",SYNC_POPUP_WIDTH:"sync-popup-width",CONSTRAIN_POPUP_WIDTH:"constrain-popup-width",WRAP_OPTION_TEXT:"wrap-option-text"},U=b({},M),R={CHANGE:"change"},m={attributes:U,events:R};var N=(e=>(e[e.Option=0]="Option",e[e.Group=1]="Group",e))(N||{});function C(r,O){let e=r.some(i=>D(i)),t=r.some(i=>W(i));return e&&O===1||t&&O===0}function D(r){return c(r)&&I(r)&&r.hasOwnProperty("options")}function W(r){return c(r)&&I(r)&&r.hasOwnProperty("label")&&r.hasOwnProperty("value")}var H=class extends k{constructor(e){super();this._adapter=e;this._options=[];this._value=[];this._multiple=!1;this._open=!1;this._selectedValues=[];this._selectedLabels=[];this._selectedIndexes=[];this._filterString="";this._focusListener=t=>this._onFocus(t),this._blurListener=t=>this._onBlur(t),this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._optionsChangedListener=t=>this._onOptionsChanged(t),this._activeChangeListener=t=>this._onActiveOptionChanged(t),this._dropdownScrollEndListener=()=>this._onDropdownScrollEnd(),this._dismissListener=()=>this._onDismiss(),this._identifier=T()}_onFocus(e){}initialize(){this._optionListenerDestructor&&this._optionListenerDestructor(),this._optionListenerDestructor=this._adapter.setOptionsListener(this._optionsChangedListener),this._initializeValue()}initializeTarget(){this._adapter.initializeAccessibility(),this._adapter.setMultiple(this._multiple),this._adapter.addClickListener(this._clickListener),this._adapter.addTargetListener("blur",this._blurListener),this._adapter.addTargetListener("focus",this._focusListener),this._adapter.addTargetListener("keydown",this._keydownListener)}disconnect(){this._adapter.removeClickListener(this._clickListener),this._adapter.removeTargetListener("blur",this._blurListener),this._adapter.removeTargetListener("focus",this._focusListener),this._adapter.removeTargetListener("keydown",this._keydownListener),this._open&&this._closeDropdown(),this._optionListenerDestructor&&this._optionListenerDestructor()}appendOptions(e){this._adapter.setOptions(e,!1),this._open&&this._adapter.appendDropdownOptions(e)}selectAll(){this._multiple&&(this.value=this._flatOptions.map(e=>e.value))}deselectAll(){this._multiple&&(this.value=[])}get _flatOptions(){return C(this._options,1)?[].concat.apply([],this._options.map(e=>e.options)):this._options}get _nonDividerOptions(){return this._flatOptions.filter(e=>!e.divider)}_initializeValue(){let e=this._options.length&&this._options||this._adapter.getOptions();c(this._value)&&e.length&&this._applyValue(this._value)}_onClick(e){e.button===0&&(this._open?this._closeDropdown():this._openDropdown())}_onBlur(e){this._adapter.isFocusWithinPopup(e.relatedTarget)||this._open&&this._closeDropdown()}_openDropdown(){if(this._options=this._adapter.getOptions(),!this._flatOptions.length)return;this._open=!0;let e={options:this._options,multiple:this._multiple,selectedValues:[...this._selectedValues],id:this._identifier,optionBuilder:this._optionBuilder,syncWidth:this._syncPopupWidth,constrainViewportWidth:this._constrainPopupWidth,wrapOptionText:this._wrapOptionText,observeScroll:this._observeScroll,observeScrollThreshold:this._observeScrollThreshold,scrollEndListener:this._dropdownScrollEndListener,activeChangeCallback:this._activeChangeListener,targetWidthCallback:this._targetWidthCallback,popupClasses:this._popupClasses,optionLimit:this._optionLimit,headerBuilder:this._popupHeaderBuilder,footerBuilder:this._popupFooterBuilder,closeCallback:()=>this._closeDropdown(),selectCallback:t=>{let i=this._flatOptions,n=i.find(l=>l.value===t);if(n){let l=i.indexOf(n);this._onSelect(n,l,!0)}}};this._adapter.open(e),this._adapter.setDismissListener(this._dismissListener)}_closeDropdown(){this._open=!1,this._adapter.close()}async _onSelect(e,t,i=!0){return new Promise(async n=>{if(this._valueChanging)return Promise.resolve(!1);let l=e?e.value:"",u=e?e.label:"",v=[...this._value],f=[...this._selectedValues],g=[...this._selectedLabels],w=[...this._selectedIndexes];if(this._multiple)if(this._selectedValues.includes(l)){let h=this._selectedValues.indexOf(l);this._selectedValues.splice(h,1),this._selectedLabels.splice(h,1),this._selectedIndexes.splice(h,1)}else this._selectedValues.push(l),this._selectedLabels.push(u),this._selectedIndexes.push(t);else c(l)?(this._selectedValues[0]=l,this._selectedLabels[0]=u,this._selectedIndexes[0]=t):(this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]);this._value=[...this._selectedValues];let s=()=>{this._selectedValues=[...f],this._selectedLabels=[...g],this._selectedIndexes=[...w],this._value=[...v]},_=()=>{if(this._multiple){let h=this._selectedIndexes.includes(t);this._adapter.toggleOptionMultiple(t,h)}this._applySelection()},A=this.multiple?[...this._selectedValues]:this._selectedValues[0];if(this._open&&i&&!this._multiple&&this._closeDropdown(),typeof this._beforeValueChange=="function"){this._valueChanging=Promise.resolve(this._beforeValueChange.call(null,A));let h=await this._valueChanging;if(this._valueChanging=void 0,!h)return s(),this._tryUpdateDropdownPosition(),n(!1)}let E=!this._adapter.emitHostEvent(m.events.CHANGE,A,!0,!0);E?s():_(),this._tryUpdateDropdownPosition(),n(!E)})}_selectActiveOption(){let e=this._adapter.getActiveOptionIndex();e>=0&&this._nonDividerOptions[e]&&this._onSelect(this._nonDividerOptions[e],e)}_tryUpdateDropdownPosition(){this._open&&this._adapter.queueDropdownPositionUpdate()}_reset(){this._selectedValues=[],this._selectedLabels=[],this._selectedIndexes=[]}_applyValue(e){this._selectedValues=[],this._selectedLabels=[],this._options=this._adapter.getOptions(),Array.isArray(e)||(e=[e]),this._value=[];for(let t of e){this._value.includes(t)||this._value.push(t);let i=this._flatOptions.find(n=>x(n.value,t));i&&(this._selectedValues.push(i.value),this._selectedLabels.push(i.label))}this._selectedIndexes=this._selectedValues.map(t=>this._flatOptions.findIndex(i=>i.value===t)),this._adapter.patchSelectedValues(this._selectedValues)}_onDismiss(){this._closeDropdown()}_getSelectedText(){if(typeof this._selectedTextBuilder=="function"){let e=this._flatOptions.filter(t=>this._selectedValues.includes(t.value));return this._selectedTextBuilder(e)}return this._multiple?this._selectedLabels.length?this._selectedLabels.length===1?this._selectedLabels[0]:`${this._selectedLabels.length} options selected`:"":this._selectedLabels.filter(e=>e&&e.length).join(" ").trim()}_onKeydown(e){let t=e.key==="Escape"||e.keyCode===27,i=e.key==="Enter"||e.keyCode===13,n=e.key==="Space"||e.keyCode===32,l=e.key==="ArrowDown"||e.keyCode===40,u=e.key==="ArrowUp"||e.keyCode===38,v=e.keyCode>=48&&e.keyCode<=90,f=e.key==="Home"||e.keyCode===36,g=e.key==="End"||e.keyCode===35;if(e.key==="Tab"&&this._open&&!this._multiple){this._selectActiveOption();return}if(!v&&this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterString="",this._filterTimeout=void 0),t&&(e.preventDefault(),e.stopPropagation(),this._open)){this._closeDropdown();return}if(n)e.preventDefault(),this._open?this._closeDropdown():this._openDropdown();else if(i)this._open&&(e.stopPropagation(),e.preventDefault(),this._options=this._adapter.getOptions(),this._selectActiveOption());else if(u||l){if(e.preventDefault(),!this._open){this._openDropdown(),this._adapter.activateFirstOption();return}if(this._flatOptions.length===0)return;let s=0;this._open?(s=this._adapter.getActiveOptionIndex(),s===-1&&(s=this._getFirstSelectedOptionIndex())):s=this._getFirstSelectedOptionIndex(),u?s=this._getPreviousHighlightableOptionIndex(s,this._nonDividerOptions):s=this._getNextHighlightableOptionIndex(s,this._nonDividerOptions),this._adapter.highlightActiveOption(s)}else if(f)this._open&&(e.preventDefault(),this._adapter.highlightActiveOption(this._nonDividerOptions.findIndex(s=>!s.disabled)));else if(g){if(this._open){e.preventDefault();let s=this._nonDividerOptions;for(let _=s.length-1;_>=0;_--)if(!s[_].disabled){this._adapter.highlightActiveOption(_);break}}}else v&&this._filter(e.key)}_getFirstSelectedOptionIndex(){return this._nonDividerOptions.findIndex(e=>this._selectedValues.includes(e.value))}_getPreviousHighlightableOptionIndex(e,t){let i=e;return i<=0?i=t.length-1:i--,t[i].disabled?this._getPreviousHighlightableOptionIndex(i,t):i}_getNextHighlightableOptionIndex(e,t){let i=e;return i===t.length-1?i=0:i++,t[i].disabled?this._getNextHighlightableOptionIndex(i,t):i}_filter(e){this._filterTimeout&&(window.clearTimeout(this._filterTimeout),this._filterTimeout=void 0),this._filterString+=e,this._filterTimeout=window.setTimeout(()=>{this._filterString="",this._filterTimeout=void 0},300),this._options=this._adapter.getOptions();let t=this._flatOptions.find(({disabled:i,label:n})=>!i&&n.trim().toLowerCase().startsWith(this._filterString.trim().toLowerCase()));if(t){let i=this._flatOptions.indexOf(t);this._open?this._adapter.highlightActiveOption(i):this._multiple||this._onSelect(t,i,!1)}}_onOptionsChanged(e){this._options=e,this._applyValue(this._value)}_onActiveOptionChanged(e){this._adapter.updateActiveDescendant(e)}get value(){return this._multiple?[...this._value]:this._value[0]}set value(e){let t;Array.isArray(e)?t=[...e]:t=e,this._applyValue(t)}get selectedIndex(){return this._multiple?[...this._selectedIndexes]:this._selectedIndexes[0]}set selectedIndex(e){this._options=this._adapter.getOptions();let t;if(Array.isArray(e)?t=[...e]:t=[e],t.sort(),this.multiple)this.value=t.map(i=>this._flatOptions[i]).filter(i=>i).map(i=>i.value);else{let i=this._flatOptions[t[t.length-1]];if(!i)return;this.value=i.value}}get options(){return this._adapter.getOptions()}set options(e){let t;C(e,1)?t=e.map(i=>b({},i)):t=e.map(i=>b({},i)),this._options=t,this._adapter.setOptions(t),this._initializeValue(),this._open&&this._adapter.setDropdownOptions(t)}get multiple(){return this._multiple}set multiple(e){this._multiple!==e&&(this._multiple=e,this._reset(),this._open&&this._closeDropdown(),this._adapter.setMultiple(this._multiple))}get open(){return this._open}set open(e){this._open!==e&&(e?this._openDropdown():this._closeDropdown())}get optionBuilder(){return this._optionBuilder}set optionBuilder(e){this._optionBuilder=e}get selectedTextBuilder(){return this._selectedTextBuilder}set selectedTextBuilder(e){this._selectedTextBuilder=e}get optionLimit(){return this._optionLimit}set optionLimit(e){this._optionLimit=e}get popupClasses(){return this._popupClasses}set popupClasses(e){this._popupClasses=e}get popupHeaderBuilder(){return this._popupHeaderBuilder}set popupHeaderBuilder(e){this._popupHeaderBuilder=e}get popupFooterBuilder(){return this._popupFooterBuilder}set popupFooterBuilder(e){this._popupFooterBuilder=e}get popupElement(){return this._adapter.popupElement}get beforeValueChange(){return this._beforeValueChange}set beforeValueChange(e){this._beforeValueChange=e}};var p=class extends G{constructor(){super()}attributeChangedCallback(e,t,i){switch(super.attributeChangedCallback(e,t,i),e){case m.attributes.MULTIPLE:this.multiple=y(i);break;case m.attributes.VALUE:this.value=i;break}}appendOptions(e){this._foundation.appendOptions(e)}selectAll(){this._foundation.selectAll()}deselectAll(){this._foundation.deselectAll()}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}};a([d()],p.prototype,"value",2),a([d()],p.prototype,"selectedIndex",2),a([d()],p.prototype,"options",2),a([d()],p.prototype,"multiple",2),a([d()],p.prototype,"open",2),a([d()],p.prototype,"optionBuilder",2),a([d()],p.prototype,"selectedTextBuilder",2),a([d()],p.prototype,"beforeValueChange",2),a([d({set:!1})],p.prototype,"popupElement",2);var F=class extends B{constructor(e){super(e)}get popupElement(){var e;return(e=this._listDropdown)==null?void 0:e.dropdownElement}getOptions(){let e=Array.from(this._component.querySelectorAll(L.elementName));if(e.length)return e.map(t=>{let i=Array.from(t.querySelectorAll(o.elementName)),n=this._createOptionsFromElements(i);return{text:t.label,builder:t.builder,value:t.value,options:n}});{let t=Array.from(this._component.querySelectorAll(o.elementName));return this._createOptionsFromElements(t)}}_createOptionsFromElements(e){return e.map(t=>{let i=t.hasAttribute(o.attributes.OPTION_CLASS)?t.getAttribute(o.attributes.OPTION_CLASS):t.optionClass;return typeof i=="string"&&(i=i.split(" ")),{label:t.hasAttribute(o.attributes.LABEL)?t.getAttribute(o.attributes.LABEL):c(t.label)?t.label:t.innerText,secondaryLabel:t.hasAttribute(o.attributes.SECONDARY_LABEL)?t.getAttribute(o.attributes.SECONDARY_LABEL):c(t.secondaryLabel)?t.secondaryLabel:void 0,value:t.hasAttribute(o.attributes.VALUE)?t.getAttribute(o.attributes.VALUE):t.value,disabled:t.hasAttribute(o.attributes.DISABLED),divider:t.hasAttribute(o.attributes.DIVIDER),optionClass:i,leadingIcon:t.hasAttribute(o.attributes.LEADING_ICON)?t.getAttribute(o.attributes.LEADING_ICON):t.leadingIcon,leadingIconClass:t.hasAttribute(o.attributes.LEADING_ICON_CLASS)?t.getAttribute(o.attributes.LEADING_ICON_CLASS):t.leadingIconClass,leadingIconType:t.hasAttribute(o.attributes.LEADING_ICON_TYPE)?t.getAttribute(o.attributes.LEADING_ICON_TYPE):t.leadingIconType,leadingIconComponentProps:t.leadingIconComponentProps,trailingIcon:t.hasAttribute(o.attributes.TRAILING_ICON)?t.getAttribute(o.attributes.TRAILING_ICON):t.trailingIcon,trailingIconClass:t.hasAttribute(o.attributes.TRAILING_ICON_CLASS)?t.getAttribute(o.attributes.TRAILING_ICON_CLASS):t.trailingIconClass,trailingIconType:t.hasAttribute(o.attributes.TRAILING_ICON_TYPE)?t.getAttribute(o.attributes.TRAILING_ICON_TYPE):t.trailingIconType,trailingIconComponentProps:t.trailingIconComponentProps,leadingBuilder:t.leadingBuilder,trailingBuilder:t.trailingBuilder}})}open(e){this._listDropdown=new P(this._targetElement,e),this._listDropdown.open()}close(){this._listDropdown&&(this._listDropdown.close(),this._listDropdown.destroy(),this._listDropdown=void 0)}setDismissListener(e){if(!this._listDropdown||!this._listDropdown.dropdownElement)return;let t=this._listDropdown.dropdownElement;t.targetElement&&t.targetElement.addEventListener(V.events.BLUR,e)}toggleOptionMultiple(e,t){var i;(i=this._listDropdown)==null||i.toggleOptionMultiple(e,t)}getActiveOptionIndex(){var e,t;return(t=(e=this._listDropdown)==null?void 0:e.getActiveOptionIndex())!=null?t:-1}activateSelectedOption(){var e;(e=this._listDropdown)==null||e.activateSelectedOption()}activateFirstOption(){var e;(e=this._listDropdown)==null||e.activateFirstOption()}highlightActiveOption(e){var t;(t=this._listDropdown)==null||t.activateOption(e)}patchSelectedValues(e){var t;(t=this._listDropdown)==null||t.setSelectedValues(e)}setOptionsListener(e){let t=n=>{n.stopPropagation(),e(this.getOptions())};this._component.addEventListener(o.events.VALUE_CHANGE,t);let i=new MutationObserver(()=>e(this.getOptions()));return i.observe(this._component,{childList:!0,subtree:!0}),()=>{this._component.removeEventListener(o.events.VALUE_CHANGE,t),i.disconnect()}}setOptions(e,t=!0){t&&this._clearOptions();for(let i of e)if(D(i)){let n=this._createOptionGroupElement(i);for(let l of i.options){let u=this._createOptionElement(l);n.appendChild(u)}this._component.appendChild(n)}else{let n=this._createOptionElement(i);this._component.appendChild(n)}}appendDropdownOptions(e){var t;(t=this._listDropdown)==null||t.appendOptions(e)}setDropdownOptions(e){var t;(t=this._listDropdown)==null||t.setOptions(e)}scrollSelectedOptionIntoView(){var e;(e=this._listDropdown)==null||e.scrollSelectedOptionIntoView()}isFocusWithinPopup(e){return!this._listDropdown||!this._listDropdown.dropdownElement?!1:this._listDropdown.dropdownElement.contains(e)}queueDropdownPositionUpdate(){!this.popupElement||window.requestAnimationFrame(()=>{let e=this.popupElement;e==null||e.position()})}_clearOptions(){Array.from(this._component.querySelectorAll(L.elementName)).forEach(i=>S(i)),Array.from(this._component.querySelectorAll(o.elementName)).forEach(i=>S(i))}_createOptionGroupElement(e){let t=document.createElement("forge-option-group");return Object.assign(t,e),t}_createOptionElement(e){let t=document.createElement("forge-option");return Object.assign(t,e),t.textContent=e.label,t}};export{m as a,N as b,C as c,D as d,W as e,H as f,p as g,F as h};
7
- //# sourceMappingURL=chunk.36RT7UOR.js.map