@tylertech/forge 2.24.1 → 2.24.3

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 (223) hide show
  1. package/custom-elements.json +2666 -2807
  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.LJQO5G5I.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.H2LKAI6N.js +7 -0
  43. package/dist/esm/chunks/chunk.H2LKAI6N.js.map +7 -0
  44. package/dist/esm/chunks/chunk.HGV5UXOS.js +7 -0
  45. package/dist/esm/chunks/chunk.HGV5UXOS.js.map +7 -0
  46. package/dist/esm/chunks/{chunk.IPQDOSLO.js → chunk.J4BGOSAD.js} +2 -2
  47. package/dist/esm/chunks/{chunk.BQRXAJTH.js → chunk.JFAOCIGZ.js} +2 -2
  48. package/dist/esm/chunks/{chunk.VUHUEAJD.js → chunk.JPL5457M.js} +2 -2
  49. package/dist/esm/chunks/{chunk.VUHUEAJD.js.map → chunk.JPL5457M.js.map} +1 -1
  50. package/dist/esm/chunks/{chunk.4QVF44G5.js → chunk.K57IO236.js} +2 -2
  51. package/dist/esm/chunks/{chunk.K2O3KSP7.js → chunk.KGMCBPGV.js} +2 -2
  52. package/dist/esm/chunks/chunk.KYH5GKVI.js +7 -0
  53. package/dist/esm/chunks/chunk.KYH5GKVI.js.map +7 -0
  54. package/dist/esm/chunks/chunk.LEINPSKL.js +7 -0
  55. package/dist/esm/chunks/chunk.LEINPSKL.js.map +7 -0
  56. package/dist/esm/chunks/{chunk.V5L5DKNF.js → chunk.LFBYFJTX.js} +2 -2
  57. package/dist/esm/chunks/chunk.MKHU4IPO.js +7 -0
  58. package/dist/esm/chunks/chunk.MKHU4IPO.js.map +7 -0
  59. package/dist/esm/chunks/chunk.N6MAUMFI.js +7 -0
  60. package/dist/esm/chunks/chunk.N6MAUMFI.js.map +7 -0
  61. package/dist/esm/chunks/{chunk.USKQFX4N.js → chunk.OBBYRQCY.js} +2 -2
  62. package/dist/esm/chunks/chunk.OJ54J4L3.js +7 -0
  63. package/dist/esm/chunks/chunk.OJ54J4L3.js.map +7 -0
  64. package/dist/esm/chunks/chunk.OML7MHH6.js +29 -0
  65. package/dist/esm/chunks/chunk.OML7MHH6.js.map +7 -0
  66. package/dist/esm/chunks/chunk.PSU432SK.js +12 -0
  67. package/dist/esm/chunks/{chunk.U5DETNRU.js → chunk.QIGNMZRL.js} +2 -2
  68. package/dist/esm/chunks/{chunk.DNWMURCG.js → chunk.RHXQ2GMV.js} +2 -2
  69. package/dist/esm/chunks/{chunk.OLNY6ZNB.js → chunk.TLXWXBQO.js} +2 -2
  70. package/dist/esm/chunks/chunk.TMEYQXRR.js +7 -0
  71. package/dist/esm/chunks/chunk.TMEYQXRR.js.map +7 -0
  72. package/dist/esm/chunks/{chunk.EPFMWAIO.js → chunk.TVWUZYVG.js} +2 -2
  73. package/dist/esm/chunks/{chunk.AITARMT3.js → chunk.UNFOIEF6.js} +2 -2
  74. package/dist/esm/chunks/{chunk.AITARMT3.js.map → chunk.UNFOIEF6.js.map} +2 -2
  75. package/dist/esm/chunks/{chunk.32AY5G4D.js → chunk.W3DFKTAX.js} +2 -2
  76. package/dist/esm/chunks/{chunk.ATJJ6NAY.js → chunk.WF24FWAT.js} +2 -2
  77. package/dist/esm/chunks/chunk.XINI6PNZ.js +7 -0
  78. package/dist/esm/chunks/chunk.XINI6PNZ.js.map +7 -0
  79. package/dist/esm/chunks/{chunk.WVU4LCVC.js → chunk.XKX2BE6Z.js} +2 -2
  80. package/dist/esm/chunks/{chunk.ZVHFSAID.js → chunk.YVXZ753Q.js} +2 -2
  81. package/dist/esm/chunks/{chunk.QFMQPAT2.js → chunk.Z7Y2RA4P.js} +2 -2
  82. package/dist/esm/color-picker/index.js +1 -1
  83. package/dist/esm/core/index.js +1 -1
  84. package/dist/esm/core/utils/index.js +1 -1
  85. package/dist/esm/date-picker/index.js +1 -1
  86. package/dist/esm/date-range-picker/index.js +1 -1
  87. package/dist/esm/expansion-panel/index.js +1 -1
  88. package/dist/esm/file-picker/index.js +1 -1
  89. package/dist/esm/icon/index.js +1 -1
  90. package/dist/esm/icon-button/index.js +1 -1
  91. package/dist/esm/index.js +1 -1
  92. package/dist/esm/list/index.js +1 -1
  93. package/dist/esm/list/list/index.js +1 -1
  94. package/dist/esm/list/list-item/index.js +1 -1
  95. package/dist/esm/list-dropdown/index.js +1 -1
  96. package/dist/esm/menu/index.js +1 -1
  97. package/dist/esm/open-icon/index.js +1 -1
  98. package/dist/esm/paginator/index.js +1 -1
  99. package/dist/esm/profile-card/index.js +1 -1
  100. package/dist/esm/quantity-field/index.js +1 -1
  101. package/dist/esm/radio/index.js +1 -1
  102. package/dist/esm/select/core/index.js +1 -1
  103. package/dist/esm/select/index.js +1 -1
  104. package/dist/esm/select/option/index.js +1 -1
  105. package/dist/esm/select/select/index.js +1 -1
  106. package/dist/esm/select/select-dropdown/index.js +1 -1
  107. package/dist/esm/slider/index.js +1 -1
  108. package/dist/esm/split-view/index.js +1 -1
  109. package/dist/esm/split-view/split-view/index.js +1 -1
  110. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  111. package/dist/esm/stepper/index.js +1 -1
  112. package/dist/esm/stepper/step/index.js +1 -1
  113. package/dist/esm/stepper/stepper/index.js +1 -1
  114. package/dist/esm/switch/index.js +1 -1
  115. package/dist/esm/table/index.js +1 -1
  116. package/dist/esm/tabs/index.js +1 -1
  117. package/dist/esm/tabs/tab/index.js +1 -1
  118. package/dist/esm/tabs/tab-bar/index.js +1 -1
  119. package/dist/esm/time-picker/index.js +1 -1
  120. package/dist/esm/toast/index.js +1 -1
  121. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  122. package/esm/autocomplete/autocomplete-adapter.js +6 -0
  123. package/esm/autocomplete/autocomplete-foundation.js +1 -0
  124. package/esm/core/utils/utils.d.ts +9 -0
  125. package/esm/core/utils/utils.js +22 -0
  126. package/esm/date-picker/date-picker-adapter.js +3 -0
  127. package/esm/date-range-picker/date-range-picker-adapter.js +6 -1
  128. package/esm/list/list-item/list-item-adapter.js +3 -1
  129. package/esm/list-dropdown/list-dropdown-constants.d.ts +1 -0
  130. package/esm/list-dropdown/list-dropdown-utils.js +16 -3
  131. package/esm/menu/menu-adapter.d.ts +2 -0
  132. package/esm/menu/menu-adapter.js +3 -0
  133. package/esm/menu/menu-foundation.js +2 -0
  134. package/esm/select/core/base-select-adapter.d.ts +0 -2
  135. package/esm/select/core/base-select-foundation.js +1 -2
  136. package/esm/select/option/option.d.ts +0 -1
  137. package/esm/select/option/option.js +0 -5
  138. package/esm/select/select/select-adapter.d.ts +0 -1
  139. package/esm/select/select/select-adapter.js +4 -9
  140. package/esm/select/select/select-foundation.js +0 -1
  141. package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +0 -1
  142. package/esm/select/select-dropdown/select-dropdown-adapter.js +0 -11
  143. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  144. package/esm/stepper/step/step-adapter.d.ts +4 -12
  145. package/esm/stepper/step/step-adapter.js +34 -35
  146. package/esm/stepper/step/step-constants.d.ts +1 -0
  147. package/esm/stepper/step/step-constants.js +2 -1
  148. package/esm/stepper/step/step-foundation.d.ts +0 -3
  149. package/esm/stepper/step/step-foundation.js +1 -7
  150. package/esm/stepper/step/step.d.ts +0 -3
  151. package/esm/stepper/step/step.js +2 -8
  152. package/esm/stepper/stepper/stepper-adapter.js +2 -3
  153. package/esm/stepper/stepper/stepper-foundation.js +14 -10
  154. package/esm/tabs/tab/tab-adapter.d.ts +1 -3
  155. package/esm/tabs/tab/tab-adapter.js +13 -14
  156. package/esm/tabs/tab/tab-constants.d.ts +2 -1
  157. package/esm/tabs/tab/tab-constants.js +2 -1
  158. package/esm/tabs/tab/tab-foundation.d.ts +0 -2
  159. package/esm/tabs/tab/tab-foundation.js +3 -3
  160. package/esm/tabs/tab/tab.d.ts +0 -1
  161. package/esm/tabs/tab/tab.js +2 -5
  162. package/esm/time-picker/time-picker-adapter.d.ts +2 -0
  163. package/esm/time-picker/time-picker-adapter.js +7 -2
  164. package/esm/time-picker/time-picker-foundation.js +1 -0
  165. package/package.json +1 -1
  166. package/styles/stepper/step/_mixins.scss +12 -1
  167. package/styles/stepper/step/step.scss +1 -1
  168. package/styles/tabs/tab/_mixins.scss +3 -7
  169. package/styles/tabs/tab/tab.scss +4 -0
  170. package/dist/esm/chunks/chunk.36RT7UOR.js +0 -7
  171. package/dist/esm/chunks/chunk.36RT7UOR.js.map +0 -7
  172. package/dist/esm/chunks/chunk.5KU2NSKM.js +0 -12
  173. package/dist/esm/chunks/chunk.F6DMKNFU.js +0 -29
  174. package/dist/esm/chunks/chunk.F6DMKNFU.js.map +0 -7
  175. package/dist/esm/chunks/chunk.HSUOYMJT.js +0 -7
  176. package/dist/esm/chunks/chunk.HSUOYMJT.js.map +0 -7
  177. package/dist/esm/chunks/chunk.HVYDNI2O.js +0 -7
  178. package/dist/esm/chunks/chunk.HVYDNI2O.js.map +0 -7
  179. package/dist/esm/chunks/chunk.KZJYLYWN.js +0 -7
  180. package/dist/esm/chunks/chunk.KZJYLYWN.js.map +0 -7
  181. package/dist/esm/chunks/chunk.LZOAYM6V.js +0 -7
  182. package/dist/esm/chunks/chunk.LZOAYM6V.js.map +0 -7
  183. package/dist/esm/chunks/chunk.M5AHW6YM.js +0 -7
  184. package/dist/esm/chunks/chunk.M5AHW6YM.js.map +0 -7
  185. package/dist/esm/chunks/chunk.M5QM2CPF.js +0 -7
  186. package/dist/esm/chunks/chunk.M5QM2CPF.js.map +0 -7
  187. package/dist/esm/chunks/chunk.MA2P7CG4.js +0 -7
  188. package/dist/esm/chunks/chunk.MA2P7CG4.js.map +0 -7
  189. package/dist/esm/chunks/chunk.MSOMQ4HD.js +0 -7
  190. package/dist/esm/chunks/chunk.MSOMQ4HD.js.map +0 -7
  191. package/dist/esm/chunks/chunk.POYFRYFF.js +0 -7
  192. package/dist/esm/chunks/chunk.POYFRYFF.js.map +0 -7
  193. package/dist/esm/chunks/chunk.QRSFRMBF.js +0 -7
  194. package/dist/esm/chunks/chunk.QRSFRMBF.js.map +0 -7
  195. package/dist/esm/chunks/chunk.U7SENURF.js +0 -7
  196. package/dist/esm/chunks/chunk.U7SENURF.js.map +0 -7
  197. /package/dist/esm/chunks/{chunk.UUBAUAER.js.map → chunk.3MMDUUTN.js.map} +0 -0
  198. /package/dist/esm/chunks/{chunk.KZDQFUNT.js.map → chunk.3V2VDOOP.js.map} +0 -0
  199. /package/dist/esm/chunks/{chunk.Q2PGK4IA.js.map → chunk.4KKMVMPN.js.map} +0 -0
  200. /package/dist/esm/chunks/{chunk.WLBRU5HI.js.map → chunk.5SM7UG6C.js.map} +0 -0
  201. /package/dist/esm/chunks/{chunk.LJQO5G5I.js.map → chunk.6DVJ22IK.js.map} +0 -0
  202. /package/dist/esm/chunks/{chunk.4APGDQHF.js.map → chunk.AFW54X3W.js.map} +0 -0
  203. /package/dist/esm/chunks/{chunk.KMMOZ2SF.js.map → chunk.C3G25JFG.js.map} +0 -0
  204. /package/dist/esm/chunks/{chunk.POBCKMFO.js.map → chunk.CYLDP7ML.js.map} +0 -0
  205. /package/dist/esm/chunks/{chunk.HDHGU4L2.js.map → chunk.E3K6KM57.js.map} +0 -0
  206. /package/dist/esm/chunks/{chunk.PTEWJ5PZ.js.map → chunk.EQEMCHMB.js.map} +0 -0
  207. /package/dist/esm/chunks/{chunk.QBST3QSM.js.map → chunk.FEU4FTVQ.js.map} +0 -0
  208. /package/dist/esm/chunks/{chunk.IPQDOSLO.js.map → chunk.J4BGOSAD.js.map} +0 -0
  209. /package/dist/esm/chunks/{chunk.BQRXAJTH.js.map → chunk.JFAOCIGZ.js.map} +0 -0
  210. /package/dist/esm/chunks/{chunk.4QVF44G5.js.map → chunk.K57IO236.js.map} +0 -0
  211. /package/dist/esm/chunks/{chunk.K2O3KSP7.js.map → chunk.KGMCBPGV.js.map} +0 -0
  212. /package/dist/esm/chunks/{chunk.V5L5DKNF.js.map → chunk.LFBYFJTX.js.map} +0 -0
  213. /package/dist/esm/chunks/{chunk.USKQFX4N.js.map → chunk.OBBYRQCY.js.map} +0 -0
  214. /package/dist/esm/chunks/{chunk.5KU2NSKM.js.map → chunk.PSU432SK.js.map} +0 -0
  215. /package/dist/esm/chunks/{chunk.U5DETNRU.js.map → chunk.QIGNMZRL.js.map} +0 -0
  216. /package/dist/esm/chunks/{chunk.DNWMURCG.js.map → chunk.RHXQ2GMV.js.map} +0 -0
  217. /package/dist/esm/chunks/{chunk.OLNY6ZNB.js.map → chunk.TLXWXBQO.js.map} +0 -0
  218. /package/dist/esm/chunks/{chunk.EPFMWAIO.js.map → chunk.TVWUZYVG.js.map} +0 -0
  219. /package/dist/esm/chunks/{chunk.32AY5G4D.js.map → chunk.W3DFKTAX.js.map} +0 -0
  220. /package/dist/esm/chunks/{chunk.ATJJ6NAY.js.map → chunk.WF24FWAT.js.map} +0 -0
  221. /package/dist/esm/chunks/{chunk.WVU4LCVC.js.map → chunk.XKX2BE6Z.js.map} +0 -0
  222. /package/dist/esm/chunks/{chunk.ZVHFSAID.js.map → chunk.YVXZ753Q.js.map} +0 -0
  223. /package/dist/esm/chunks/{chunk.QFMQPAT2.js.map → chunk.Z7Y2RA4P.js.map} +0 -0
@@ -6,18 +6,15 @@
6
6
  import { BaseAdapter, IBaseAdapter } from '../../core/base';
7
7
  import { IStepComponent } from './step';
8
8
  import { StepIcons } from './step-constants';
9
- import { ForgeRipple, ForgeRippleCapableSurface } from '../../ripple';
9
+ import { ForgeRipple } from '../../ripple';
10
10
  export interface IStepAdapter extends IBaseAdapter {
11
11
  component: IStepComponent;
12
12
  toggleDisabled(disabled: boolean): void;
13
- focusButton(): void;
14
13
  attachRipple: () => void;
15
14
  detatchRipple: () => void;
16
15
  setIndex(value: number): void;
17
16
  initialize(): void;
18
17
  toggleRootClass(className: string, on: boolean): void;
19
- setRootAttribute(attribute: string, value: string): void;
20
- setRootTabIndex(value: number): void;
21
18
  toggleIcon(name: StepIcons, show: boolean): void;
22
19
  setClickListener(listener: (evt: MouseEvent) => void): void;
23
20
  removeClickListener(listener: (evt: MouseEvent) => void): void;
@@ -34,26 +31,21 @@ export interface IStepAdapter extends IBaseAdapter {
34
31
  removeExpansionPanelListener(event: string, listener: EventListener): void;
35
32
  isExpandedContentInFocus(checkElement?: HTMLElement): boolean;
36
33
  }
37
- export declare class StepAdapter extends BaseAdapter<IStepComponent> implements IStepAdapter, ForgeRippleCapableSurface {
38
- private _buttonElement;
34
+ export declare class StepAdapter extends BaseAdapter<IStepComponent> implements IStepAdapter {
35
+ private _rootElement;
36
+ private _rippleElement;
39
37
  private _container;
40
38
  private _rippleInstance;
41
39
  private _expansionSlot;
42
40
  private _expansionPanel;
43
41
  constructor(_component: IStepComponent);
44
- get root(): HTMLElement;
45
- unbounded: boolean;
46
- get disabled(): boolean;
47
42
  get component(): IStepComponent;
48
- setRootTabIndex(value: number): void;
49
43
  initialize(): void;
50
44
  attachRipple(): void;
51
45
  detatchRipple(): void;
52
46
  initializeRipple(): ForgeRipple;
53
47
  setIndex(value: number): void;
54
48
  toggleRootClass(className: string, on: boolean): void;
55
- setRootAttribute(attribute: string, value: string): void;
56
- focusButton(): void;
57
49
  toggleDisabled(disabled: boolean): void;
58
50
  toggleIcon(name: StepIcons, show: boolean): void;
59
51
  slotHasContent(): boolean;
@@ -7,26 +7,30 @@ import { addClass, getShadowElement, toggleAttribute, toggleClass } from '@tyler
7
7
  import { BaseAdapter } from '../../core/base';
8
8
  import { STEP_CONSTANTS } from './step-constants';
9
9
  import { ForgeRipple, ForgeRippleFoundation } from '../../ripple';
10
- export class StepAdapter extends BaseAdapter {
11
- constructor(_component) {
12
- super(_component);
13
- this.unbounded = false;
14
- this._buttonElement = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP);
15
- this._container = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP_CONTAINER);
10
+ class StepRippleSurface {
11
+ constructor(_root) {
12
+ this._root = _root;
16
13
  }
17
- // ForgeRippleCapableSurface
18
14
  get root() {
19
- return this._buttonElement;
15
+ return this._root;
16
+ }
17
+ get unbounded() {
18
+ return false;
20
19
  }
21
20
  get disabled() {
22
- return this._buttonElement.disabled;
21
+ return this._root.disabled;
22
+ }
23
+ }
24
+ export class StepAdapter extends BaseAdapter {
25
+ constructor(_component) {
26
+ super(_component);
27
+ this._rootElement = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP);
28
+ this._rippleElement = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP_RIPPLE);
29
+ this._container = getShadowElement(_component, STEP_CONSTANTS.selectors.STEP_CONTAINER);
23
30
  }
24
31
  get component() {
25
32
  return this._component;
26
33
  }
27
- setRootTabIndex(value) {
28
- this._buttonElement.tabIndex = value;
29
- }
30
34
  initialize() {
31
35
  this._component.setAttribute('role', 'tab');
32
36
  }
@@ -42,25 +46,18 @@ export class StepAdapter extends BaseAdapter {
42
46
  return this._createRipple();
43
47
  }
44
48
  setIndex(value) {
45
- this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX).innerHTML = (value + 1 || '').toString();
49
+ this._rootElement.querySelector(STEP_CONSTANTS.selectors.INDEX).innerHTML = (value + 1 || '').toString();
46
50
  }
47
51
  toggleRootClass(className, on) {
48
- toggleClass(this._buttonElement, on, className);
49
- }
50
- setRootAttribute(attribute, value) {
51
- this._buttonElement.setAttribute(attribute, value);
52
- }
53
- focusButton() {
54
- this._buttonElement.focus();
52
+ toggleClass(this._rootElement, on, className);
55
53
  }
56
54
  toggleDisabled(disabled) {
57
- toggleClass(this._buttonElement, disabled, STEP_CONSTANTS.classes.DISABLED);
58
- toggleAttribute(this._buttonElement, disabled, 'aria-disabled');
59
- this._buttonElement.disabled = disabled;
55
+ toggleClass(this._rootElement, disabled, STEP_CONSTANTS.classes.DISABLED);
56
+ toggleAttribute(this._component, disabled, 'aria-disabled');
60
57
  }
61
58
  toggleIcon(name, show) {
62
- const index = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.INDEX);
63
- const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.ICON);
59
+ const index = this._rootElement.querySelector(STEP_CONSTANTS.selectors.INDEX);
60
+ const icon = this._rootElement.querySelector(STEP_CONSTANTS.selectors.ICON);
64
61
  if (!show) {
65
62
  index.style.display = 'inherit';
66
63
  icon.style.display = 'none';
@@ -74,10 +71,10 @@ export class StepAdapter extends BaseAdapter {
74
71
  return this._expansionSlot.assignedElements({ flatten: true }).length > 0;
75
72
  }
76
73
  setClickListener(listener) {
77
- this._buttonElement.addEventListener('click', listener);
74
+ this._component.addEventListener('click', listener);
78
75
  }
79
76
  removeClickListener(listener) {
80
- this._buttonElement.removeEventListener('click', listener);
77
+ this._component.removeEventListener('click', listener);
81
78
  }
82
79
  setSlotListener(listener) {
83
80
  this._expansionSlot.addEventListener('slotchange', listener);
@@ -92,7 +89,7 @@ export class StepAdapter extends BaseAdapter {
92
89
  this._expansionPanel.open = expanded;
93
90
  toggleAttribute(this._expansionPanel, !expanded, 'tabindex', '-1');
94
91
  }
95
- toggleClass(this._buttonElement, expanded, STEP_CONSTANTS.classes.EXPANDED);
92
+ toggleClass(this._rootElement, expanded, STEP_CONSTANTS.classes.EXPANDED);
96
93
  }
97
94
  setExpansionPanelAnimations(animate) {
98
95
  this._expansionPanel.useAnimations = animate;
@@ -112,16 +109,16 @@ export class StepAdapter extends BaseAdapter {
112
109
  }
113
110
  }
114
111
  addExpansionIcon() {
115
- const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);
112
+ const icon = this._rootElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);
116
113
  if (icon) {
117
114
  return;
118
115
  }
119
- this._buttonElement.appendChild(this._createExpansionIcon());
116
+ this._rootElement.appendChild(this._createExpansionIcon());
120
117
  }
121
118
  removeExpansionIcon() {
122
- const icon = this._buttonElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);
119
+ const icon = this._rootElement.querySelector(STEP_CONSTANTS.selectors.EXPANSION_ICON);
123
120
  if (icon) {
124
- this._buttonElement.removeChild(icon);
121
+ this._rootElement.removeChild(icon);
125
122
  }
126
123
  }
127
124
  addExpansionPanelListener(event, listener) {
@@ -136,9 +133,11 @@ export class StepAdapter extends BaseAdapter {
136
133
  return this._expansionSlot.assignedElements().some(element => element.contains(checkElement || document.activeElement));
137
134
  }
138
135
  _createRipple() {
139
- const adapter = Object.assign(Object.assign({}, ForgeRipple.createAdapter(this)), { isSurfaceDisabled: () => this._buttonElement.disabled });
140
- const ripple = new ForgeRipple(this._buttonElement, new ForgeRippleFoundation(adapter));
141
- return ripple;
136
+ const rippleCapableSurface = new StepRippleSurface(this._component);
137
+ 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) });
138
+ const rippleFoundation = new ForgeRippleFoundation(rippleAdapter);
139
+ this._rippleInstance = new ForgeRipple(this._component, rippleFoundation);
140
+ return this._rippleInstance;
142
141
  }
143
142
  _createExpansionPanel() {
144
143
  const panel = document.createElement('forge-expansion-panel');
@@ -38,6 +38,7 @@ export declare const STEP_CONSTANTS: {
38
38
  EXPANSION_SLOT: string;
39
39
  EXPANSION_PANEL: string;
40
40
  EXPANSION_ICON: string;
41
+ STEP_RIPPLE: string;
41
42
  };
42
43
  attributes: {
43
44
  SELECTED: string;
@@ -54,7 +54,8 @@ const selectors = {
54
54
  ICON_CONTENT: `.${classes.ICON_CONTENT}`,
55
55
  EXPANSION_SLOT: `slot[name="expansion-content"]`,
56
56
  EXPANSION_PANEL: `.${classes.EXPANSION_PANEL}`,
57
- EXPANSION_ICON: `.${classes.EXPANSION_ICON}`
57
+ EXPANSION_ICON: `.${classes.EXPANSION_ICON}`,
58
+ STEP_RIPPLE: `.forge-step__ripple`
58
59
  };
59
60
  const strings = {
60
61
  ARROW_LEFT_KEY: 'ArrowLeft',
@@ -13,7 +13,6 @@ export interface IStepFoundation extends ICustomElementFoundation {
13
13
  selected: boolean;
14
14
  alternative: boolean;
15
15
  vertical: boolean;
16
- setStepTabIndex(index: number): void;
17
16
  }
18
17
  export declare class StepFoundation implements IStepFoundation {
19
18
  private _adapter;
@@ -57,10 +56,8 @@ export declare class StepFoundation implements IStepFoundation {
57
56
  set expanded(value: boolean);
58
57
  get ignoreUserExpansion(): boolean;
59
58
  set ignoreUserExpansion(value: boolean);
60
- setStepTabIndex(index: number): void;
61
59
  private _applyExpanded;
62
60
  private _applyVertical;
63
- focus(): void;
64
61
  private _applyAlternative;
65
62
  private _applySelected;
66
63
  private _applyIndex;
@@ -144,9 +144,6 @@ export class StepFoundation {
144
144
  this._ignoreUserExpansion = value;
145
145
  }
146
146
  }
147
- setStepTabIndex(index) {
148
- this._adapter.setRootTabIndex(index);
149
- }
150
147
  _applyExpanded() {
151
148
  this._adapter.setExpanded(this._expanded);
152
149
  }
@@ -154,16 +151,13 @@ export class StepFoundation {
154
151
  this._adapter.toggleHostAttribute(STEP_CONSTANTS.attributes.VERTICAL, this._vertical);
155
152
  this._adapter.toggleRootClass(STEP_CONSTANTS.classes.VERTICAL, this._vertical);
156
153
  }
157
- focus() {
158
- this._adapter.focusButton();
159
- }
160
154
  _applyAlternative() {
161
155
  this._adapter.toggleRootClass(STEP_CONSTANTS.classes.ALTERNATIVE, this._alternative);
162
156
  }
163
157
  _applySelected() {
164
158
  this._adapter.toggleRootClass(STEP_CONSTANTS.classes.SELECTED, this._selected);
165
159
  this._adapter.setHostAttribute(STEP_CONSTANTS.attributes.ARIA_SELECTED, (this._selected || false).toString());
166
- this._adapter.setRootTabIndex(this._selected ? 0 : -1);
160
+ this._adapter.hostElement.tabIndex = this._selected ? 0 : -1;
167
161
  this._toggleIcon();
168
162
  }
169
163
  _applyIndex() {
@@ -15,7 +15,6 @@ export interface IStepComponent extends IBaseComponent {
15
15
  vertical: boolean;
16
16
  expanded: boolean;
17
17
  ignoreUserExpansion: boolean;
18
- setStepTabIndex(index: number): void;
19
18
  }
20
19
  declare global {
21
20
  interface HTMLElementTagNameMap {
@@ -49,6 +48,4 @@ export declare class StepComponent extends BaseComponent implements IStepCompone
49
48
  vertical: boolean;
50
49
  expanded: boolean;
51
50
  ignoreUserExpansion: boolean;
52
- focus(): void;
53
- setStepTabIndex(index: number): void;
54
51
  }
@@ -12,8 +12,8 @@ import { StepFoundation } from './step-foundation';
12
12
  import { IconRegistry, IconComponent } from '../../icon';
13
13
  import { BaseComponent } from '../../core/base/base-component';
14
14
  import { ExpansionPanelComponent } from '../../expansion-panel';
15
- const template = '<template><div class=\"forge-step__container\" part=\"root\"><button class=\"forge-step\" type=\"button\" part=\"button\"><div class=\"before\" part=\"before\"></div><div class=\"forge-step__icon-container\" part=\"icon-container\"><div class=\"forge-step-icon-content\" part=\"icon-content\"><span class=\"forge-step-index\" part=\"index\"></span><forge-icon class=\"forge-step-icon\" part=\"icon\"></forge-icon></div></div><div class=\"forge-step__text-container\" part=\"text-container\"><div class=\"forge-step__title\" part=\"title-container\"><slot></slot></div><div class=\"forge-step__subtitle\" part=\"subtitle-container\"><slot name=\"optional\"></slot></div></div><div class=\"after\" part=\"after\"></div></button></div></template>';
16
- 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)}.forge-step{padding:12px 16px;outline:0;background:0 0;border:none;border-radius:14px;position:relative;display:-webkit-box;display:flex;overflow:hidden;-webkit-box-align:center;align-items:center;z-index:1;--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;cursor:pointer}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step::after,.forge-step::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-step::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-step::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-step.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-step.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-step.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-step.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-step.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-step::after,.forge-step::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-step.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-step::after,.forge-step::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.forge-step.mdc-ripple-surface--hover::before,.forge-step:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-step.mdc-ripple-upgraded--background-focused::before,.forge-step:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-step:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-step.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-step--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-step--selected::after,.forge-step--selected::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-step--selected.mdc-ripple-surface--hover::before,.forge-step--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-step--selected.mdc-ripple-upgraded--background-focused::before,.forge-step--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-step--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-step--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-step.forge-step--error.forge-step--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-step.forge-step--error.forge-step--selected::after,.forge-step.forge-step--error.forge-step--selected::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-step.forge-step--error.forge-step--selected.mdc-ripple-surface--hover::before,.forge-step.forge-step--error.forge-step--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-step.forge-step--error.forge-step--selected.mdc-ripple-upgraded--background-focused::before,.forge-step.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-step.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-step.forge-step--error.forge-step--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-step--selected{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-step--disabled::after,.forge-step--disabled::before{background-color:transparent}.forge-step__container{display:contents}.forge-step__expansion-panel{display:none}.forge-step__expanded-icon{color:#757575;color:var(--forge-theme-icon-color,#757575);display:none;margin-left:auto}.forge-step__title{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step__subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step__subtitle ::slotted(*){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit)}.forge-step__icon-container .forge-step-icon-content{border-style:solid;border-width:2px;border-color:transparent;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%;height:24px;width:24px;font-size:14px;-webkit-transition:background-color .4s cubic-bezier(.25, .8, .25, 1);transition:background-color .4s cubic-bezier(.25, .8, .25, 1);margin:0 8px 0 0;-webkit-box-flex:0;flex:none}.forge-step__icon-container .forge-step-icon-content forge-icon{font-size:14px}.forge-step:not(.forge-step--disabled) .forge-step-icon-content{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-step--disabled{cursor:not-allowed;color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--disabled.forge-step .forge-step__icon-container .forge-step-icon-content{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-step--disabled .forge-step__text-container .forge-step__title{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--disabled .forge-step__text-container .forge-step__subtitle ::slotted(*){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--alternative{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-step--alternative .forge-step__icon-container .forge-step-icon-content{margin:0}.forge-step--alternative .forge-step__text-container{margin-top:8px;place-items:center}.forge-step:not(.forge-step--selected):not(.forge-step--disabled).forge-step--editable:not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content,.forge-step:not(.forge-step--selected):not(.forge-step--disabled):not(.forge-step--editable):not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-step:not(.forge-step--selected):not(.forge-step--disabled).forge-step--editable:not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content .forge-step-index,.forge-step:not(.forge-step--selected):not(.forge-step--disabled):not(.forge-step--editable):not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content .forge-step-index{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-step--selected.forge-step--disabled .forge-step-icon-content{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-step--selected:not(.forge-step--disabled) .forge-step__icon-container .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--selected:not(.forge-step--disabled) .forge-step__title{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);font-weight:500}.forge-step--selected:not(.forge-step--disabled) .forge-step__subtitle ::slotted(*){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);font-weight:500}.forge-step--error:not(.forge-step--disabled) .forge-step__title{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-step--error:not(.forge-step--disabled) .forge-step__subtitle ::slotted(*){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-step--error:not(.forge-step--disabled) .forge-step__icon-container .forge-step-icon-content{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020);color:#fff;color:var(--mdc-theme-on-error,#fff)}.forge-step--completed:not(.forge-step--disabled):not(.forge-step--error):not(.forge-step--editable) .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--completed:not(.forge-step--disabled):not(.forge-step--error).forge-step--editable .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--expandable .forge-step__expanded-icon{display:inline-block;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.forge-step--expandable.forge-step--expanded .forge-step__expanded-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.forge-step--expandable .forge-step__icon-container .forge-step-icon-content{margin:0 16px 0 0}.forge-step__text-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:last-child)[alternative]) .after::after{content:\"\";-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;right:0;left:0;min-width:0;width:100%;border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child)[alternative]) .before::before{content:\"\";left:0;min-width:0;width:100%;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:not(:last-child)):host(:not([vertical]))::after{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 0 0 -10px}:host(:focus){outline:0}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{width:100%;border-radius:4px;min-height:52px}:host([vertical]) .forge-step__text-container{white-space:normal}:host([vertical]) .forge-step__icon-container .forge-step-icon-content{margin:0 16px 0 0}:host([vertical][expandable]) .forge-step__expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step__expanded-icon{display:none}forge-expansion-panel::part(root){border-left-style:solid;border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);border-left-width:1px;border-left-width:var(--forge-step-expansion-panel-border-left-width,1px);margin-left:60px;margin-left:var(--forge-step-expansion-panel-margin-left,60px);margin-top:4px;margin-top:var(--forge-step-expansion-panel-margin-top,4px);margin-bottom:4px;margin-bottom:var(--forge-step-expansion-panel-margin-bottom,4px)}:host(:not(:last-child)[clustered])::after{min-width:25px}:host(:last-child[clustered])::before{min-width:25px}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{min-width:25px}:host(:not(:last-child)[safari][alternative])::after{top:24px;margin:0 -5px}:host(:last-child[safari][alternative])::before{top:24px;margin:0 -5px}:host(:not(:first-child):not(:last-child)[safari][alternative])::after,:host(:not(:first-child):not(:last-child)[safari][alternative])::before{top:24px;margin:0 -5px}';
15
+ const template = '<template><div class=\"forge-step__container\" part=\"root\"><div class=\"forge-step\" part=\"button\"><div class=\"before\" part=\"before\"></div><div class=\"forge-step__icon-container\" part=\"icon-container\"><div class=\"forge-step-icon-content\" part=\"icon-content\"><span class=\"forge-step-index\" part=\"index\"></span><forge-icon class=\"forge-step-icon\" part=\"icon\"></forge-icon></div></div><div class=\"forge-step__text-container\" part=\"text-container\"><div class=\"forge-step__title\" part=\"title-container\"><slot></slot></div><div class=\"forge-step__subtitle\" part=\"subtitle-container\"><slot name=\"optional\"></slot></div></div><div class=\"after\" part=\"after\"></div><span class=\"forge-step__ripple\"></span></div></div></template>';
16
+ 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-step{padding:12px 16px;outline:0;background:0 0;border:none;border-radius:14px;position:relative;display:-webkit-box;display:flex;overflow:hidden;-webkit-box-align:center;align-items:center;z-index:1}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step__container{display:contents}.forge-step__expansion-panel{display:none}.forge-step__expanded-icon{color:#757575;color:var(--forge-theme-icon-color,#757575);display:none;margin-left:auto}.forge-step__title{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-body2-font-size, .875rem);line-height:1.25rem;line-height:var(--mdc-typography-body2-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-body2-font-weight,400);letter-spacing:.0178571429em;letter-spacing:var(--mdc-typography-body2-letter-spacing, .0178571429em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-decoration:var(--mdc-typography-body2-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body2-text-transform,inherit);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step__subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step__subtitle ::slotted(*){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit)}.forge-step__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;cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-radius:inherit}.forge-step__ripple::after,.forge-step__ripple::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.forge-step__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-step__ripple::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-step__ripple.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-step__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-step__ripple.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-step__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-step__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-step__ripple::after,.forge-step__ripple::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-step__ripple.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-step__ripple::after,.forge-step__ripple::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.forge-step__ripple.mdc-ripple-surface--hover::before,.forge-step__ripple:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-step__ripple.mdc-ripple-upgraded--background-focused::before,.forge-step__ripple:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-step__ripple:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step__ripple:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-step__ripple.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-step__ripple--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-step__ripple--selected::after,.forge-step__ripple--selected::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-step__ripple--selected.mdc-ripple-surface--hover::before,.forge-step__ripple--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-step__ripple--selected.mdc-ripple-upgraded--background-focused::before,.forge-step__ripple--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-step__ripple--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step__ripple--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-step__ripple--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-step__ripple.forge-step--error.forge-step--selected::before{opacity:.08;opacity:var(--mdc-ripple-selected-opacity, .08)}.forge-step__ripple.forge-step--error.forge-step--selected::after,.forge-step__ripple.forge-step--error.forge-step--selected::before{background-color:#b00020;background-color:var(--mdc-ripple-color,var(--mdc-theme-error,#b00020))}.forge-step__ripple.forge-step--error.forge-step--selected.mdc-ripple-surface--hover::before,.forge-step__ripple.forge-step--error.forge-step--selected:hover::before{opacity:.12;opacity:var(--mdc-ripple-hover-opacity, .12)}.forge-step__ripple.forge-step--error.forge-step--selected.mdc-ripple-upgraded--background-focused::before,.forge-step__ripple.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-focus-opacity, .2)}.forge-step__ripple.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-step__ripple.forge-step--error.forge-step--selected:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.2;opacity:var(--mdc-ripple-press-opacity, .2)}.forge-step__ripple.forge-step--error.forge-step--selected.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.2)}.forge-step__ripple--selected{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-step__ripple--disabled::after,.forge-step__ripple--disabled::before{background-color:transparent}.forge-step__icon-container .forge-step-icon-content{border-style:solid;border-width:2px;border-color:transparent;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;border-radius:50%;height:24px;width:24px;font-size:14px;-webkit-transition:background-color .4s cubic-bezier(.25, .8, .25, 1);transition:background-color .4s cubic-bezier(.25, .8, .25, 1);margin:0 8px 0 0;-webkit-box-flex:0;flex:none}.forge-step__icon-container .forge-step-icon-content forge-icon{font-size:14px}.forge-step:not(.forge-step--disabled) .forge-step-icon-content{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-step--disabled{cursor:not-allowed;color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--disabled.forge-step .forge-step__icon-container .forge-step-icon-content{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-step--disabled .forge-step__text-container .forge-step__title{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--disabled .forge-step__text-container .forge-step__subtitle ::slotted(*){color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-step--alternative{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-step--alternative .forge-step__icon-container .forge-step-icon-content{margin:0}.forge-step--alternative .forge-step__text-container{margin-top:8px;place-items:center}.forge-step:not(.forge-step--selected):not(.forge-step--disabled).forge-step--editable:not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content,.forge-step:not(.forge-step--selected):not(.forge-step--disabled):not(.forge-step--editable):not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-step:not(.forge-step--selected):not(.forge-step--disabled).forge-step--editable:not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content .forge-step-index,.forge-step:not(.forge-step--selected):not(.forge-step--disabled):not(.forge-step--editable):not(.forge-step--completed):not(.forge-step--error) .forge-step-icon-content .forge-step-index{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-step--selected.forge-step--disabled .forge-step-icon-content{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-step--selected:not(.forge-step--disabled) .forge-step__icon-container .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--selected:not(.forge-step--disabled) .forge-step__title{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);font-weight:500}.forge-step--selected:not(.forge-step--disabled) .forge-step__subtitle ::slotted(*){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5);font-weight:500}.forge-step--error:not(.forge-step--disabled) .forge-step__title{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-step--error:not(.forge-step--disabled) .forge-step__subtitle ::slotted(*){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-step--error:not(.forge-step--disabled) .forge-step__icon-container .forge-step-icon-content{background-color:#b00020;background-color:var(--mdc-theme-error,#b00020);color:#fff;color:var(--mdc-theme-on-error,#fff)}.forge-step--completed:not(.forge-step--disabled):not(.forge-step--error):not(.forge-step--editable) .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--completed:not(.forge-step--disabled):not(.forge-step--error).forge-step--editable .forge-step-icon-content{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:#fff;color:var(--mdc-theme-on-primary,#fff)}.forge-step--expandable .forge-step__expanded-icon{display:inline-block;-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.forge-step--expandable.forge-step--expanded .forge-step__expanded-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.forge-step--expandable .forge-step__icon-container .forge-step-icon-content{margin:0 16px 0 0}.forge-step__text-container{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:last-child)[alternative]) .after::after{content:\"\";-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;right:0;left:0;min-width:0;width:100%;border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child)[alternative]) .before::before{content:\"\";left:0;min-width:0;width:100%;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;position:absolute;border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:not(:last-child)):host(:not([vertical]))::after{border-top-color:#e0e0e0;border-top-color:var(--forge-theme-border-color,#e0e0e0);content:\"\";position:relative;height:0;min-width:10px;-webkit-box-flex:1;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 0 0 -10px}:host(:focus){outline:0}:host([vertical]){-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{width:100%;border-radius:4px;min-height:52px}:host([vertical]) .forge-step__text-container{white-space:normal}:host([vertical]) .forge-step__icon-container .forge-step-icon-content{margin:0 16px 0 0}:host([vertical][expandable]) .forge-step__expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step__expanded-icon{display:none}forge-expansion-panel::part(root){border-left-style:solid;border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);border-left-width:1px;border-left-width:var(--forge-step-expansion-panel-border-left-width,1px);margin-left:60px;margin-left:var(--forge-step-expansion-panel-margin-left,60px);margin-top:4px;margin-top:var(--forge-step-expansion-panel-margin-top,4px);margin-bottom:4px;margin-bottom:var(--forge-step-expansion-panel-margin-bottom,4px)}:host(:not(:last-child)[clustered])::after{min-width:25px}:host(:last-child[clustered])::before{min-width:25px}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{min-width:25px}:host(:not(:last-child)[safari][alternative])::after{top:24px;margin:0 -5px}:host(:last-child[safari][alternative])::before{top:24px;margin:0 -5px}:host(:not(:first-child):not(:last-child)[safari][alternative])::after,:host(:not(:first-child):not(:last-child)[safari][alternative])::before{top:24px;margin:0 -5px}';
17
17
  /**
18
18
  * The web component class behind the `<forge-step>` custom element.
19
19
  *
@@ -86,12 +86,6 @@ let StepComponent = class StepComponent extends BaseComponent {
86
86
  break;
87
87
  }
88
88
  }
89
- focus() {
90
- this._foundation.focus();
91
- }
92
- setStepTabIndex(index) {
93
- this._foundation.setStepTabIndex(index);
94
- }
95
89
  };
96
90
  __decorate([
97
91
  FoundationProperty()
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { getShadowElement, getActiveElement, toggleClass } from '@tylertech/forge-core';
6
+ import { getShadowElement, toggleClass } from '@tylertech/forge-core';
7
7
  import { BaseAdapter } from '../../core/base';
8
8
  import { StepperUtils } from '../core/stepper-utils';
9
9
  import { STEP_CONSTANTS } from '../step/step-constants';
@@ -97,9 +97,8 @@ export class StepperAdapter extends BaseAdapter {
97
97
  }
98
98
  tryGetFocusedStep() {
99
99
  let focusedStep = undefined;
100
- const activeElement = getActiveElement(this._component.ownerDocument);
101
100
  this._applyToSteps(step => {
102
- if (activeElement === getShadowElement(step, STEP_CONSTANTS.selectors.STEP)) {
101
+ if (step.matches(':focus-within')) {
103
102
  focusedStep = step;
104
103
  }
105
104
  });
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { getEventPath, getShadowElement, isDefined, isNumber, Platform } from '@tylertech/forge-core';
6
+ import { getEventPath, isDefined, isNumber, Platform } from '@tylertech/forge-core';
7
7
  import { STEP_CONSTANTS } from '../step/step-constants';
8
8
  import { StepperUtils } from '../core/stepper-utils';
9
9
  import { STEPPER_CONSTANTS } from './stepper-constants';
@@ -177,9 +177,8 @@ export class StepperFoundation {
177
177
  return;
178
178
  }
179
179
  const eventPath = getEventPath(event);
180
- const stepRoot = eventPath.find(el => el.classList && el.classList.contains(STEP_CONSTANTS.classes.STEP));
181
- const step = eventPath.find(el => el.localName === STEP_CONSTANTS.elementName);
182
- if (stepRoot && step && !step.selected && !step.disabled && this._adapter.emitHostEvent(STEP_CONSTANTS.events.SELECT, step.index, true, true)) {
180
+ const step = eventPath.filter(el => el.nodeType === Node.ELEMENT_NODE).find(el => el.matches(STEP_CONSTANTS.elementName));
181
+ if (step && !step.selected && !step.disabled && this._adapter.emitHostEvent(STEP_CONSTANTS.events.SELECT, step.index, true, true)) {
183
182
  this._adapter.setSelected(step);
184
183
  this.selectedIndex = step.index;
185
184
  }
@@ -199,6 +198,7 @@ export class StepperFoundation {
199
198
  this.initialize();
200
199
  }
201
200
  _onKeydown(event) {
201
+ var _a;
202
202
  if (this._linear) {
203
203
  return;
204
204
  }
@@ -211,16 +211,20 @@ export class StepperFoundation {
211
211
  if (!key) {
212
212
  return;
213
213
  }
214
- if ([STEP_CONSTANTS.strings.HOME_KEY, STEP_CONSTANTS.strings.END_KEY, STEP_CONSTANTS.strings.ARROW_DOWN_KEY, STEPPER_CONSTANTS.strings.ARROW_UP_KEY].includes(key)) {
214
+ if ([STEPPER_CONSTANTS.strings.ENTER_KEY, STEPPER_CONSTANTS.strings.SPACE_KEY, STEP_CONSTANTS.strings.HOME_KEY, STEP_CONSTANTS.strings.END_KEY, STEP_CONSTANTS.strings.ARROW_DOWN_KEY, STEPPER_CONSTANTS.strings.ARROW_UP_KEY].includes(key)) {
215
215
  event.preventDefault();
216
216
  }
217
+ if ([STEPPER_CONSTANTS.strings.ENTER_KEY, STEPPER_CONSTANTS.strings.SPACE_KEY].includes(key)) {
218
+ (_a = this._adapter.getFocusedOrSelectedStep()) === null || _a === void 0 ? void 0 : _a.click();
219
+ return;
220
+ }
217
221
  const step = this._vertical ? this._determineVerticalMoveTarget(key) : this._determineMoveTarget(key);
218
222
  if (step) {
219
223
  this._moveFocusTo(step);
220
224
  }
221
225
  }
222
226
  _moveFocusTo(step) {
223
- getShadowElement(step, STEP_CONSTANTS.selectors.STEP).focus();
227
+ step.focus();
224
228
  }
225
229
  _getKeyFromEvent(evt) {
226
230
  if (STEPPER_CONSTANTS.ACCEPTABLE_KEYS.includes(evt.key)) {
@@ -267,17 +271,17 @@ export class StepperFoundation {
267
271
  _onStepExpandedContentFocusIn(event) {
268
272
  const step = this._adapter.getStep(event.detail.index + 1);
269
273
  if (step) {
270
- step.setStepTabIndex(0);
274
+ step.tabIndex = 0;
271
275
  }
272
- event.detail.setStepTabIndex(0);
276
+ event.detail.tabIndex = 0;
273
277
  }
274
278
  _onStepExpandedContentFocusOut(event) {
275
279
  const focusOutStep = event.target;
276
280
  const step = this._adapter.getStep(focusOutStep.index + 1);
277
281
  if (step) {
278
- step.setStepTabIndex(-1);
282
+ step.tabIndex = -1;
279
283
  }
280
- focusOutStep.setStepTabIndex(-1);
284
+ focusOutStep.tabIndex = -1;
281
285
  }
282
286
  _onStepFocus() {
283
287
  this._adapter.toggleRootClass(STEPPER_CONSTANTS.classes.FOCUSED, true);
@@ -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);