@tylertech/forge 2.11.0 → 2.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/custom-elements.json +220 -4
  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/calendar/calendar-dropdown/index.js +1 -1
  15. package/dist/esm/calendar/calendar-menu/index.js +1 -1
  16. package/dist/esm/calendar/index.js +1 -1
  17. package/dist/esm/checkbox/index.js +1 -1
  18. package/dist/esm/chip-field/index.js +1 -1
  19. package/dist/esm/chips/chip/index.js +1 -1
  20. package/dist/esm/chips/chip-set/index.js +1 -1
  21. package/dist/esm/chips/index.js +1 -1
  22. package/dist/esm/chunks/{chunk.I33ZJKOX.js → chunk.2SAHWDGJ.js} +2 -2
  23. package/dist/esm/chunks/{chunk.I33ZJKOX.js.map → chunk.2SAHWDGJ.js.map} +0 -0
  24. package/dist/esm/chunks/{chunk.5SRA2RH3.js → chunk.3LZEQWAL.js} +2 -2
  25. package/dist/esm/chunks/{chunk.5SRA2RH3.js.map → chunk.3LZEQWAL.js.map} +0 -0
  26. package/dist/esm/chunks/chunk.3UMBCR4P.js +7 -0
  27. package/dist/esm/chunks/chunk.3UMBCR4P.js.map +7 -0
  28. package/dist/esm/chunks/{chunk.DGQAYNAF.js → chunk.4KBQ5AJJ.js} +2 -2
  29. package/dist/esm/chunks/{chunk.DGQAYNAF.js.map → chunk.4KBQ5AJJ.js.map} +0 -0
  30. package/dist/esm/chunks/{chunk.NJHQA266.js → chunk.4T5TGQFG.js} +2 -2
  31. package/dist/esm/chunks/{chunk.NJHQA266.js.map → chunk.4T5TGQFG.js.map} +0 -0
  32. package/dist/esm/chunks/{chunk.EM3OQRZP.js → chunk.5D6UB4DL.js} +2 -2
  33. package/dist/esm/chunks/{chunk.EM3OQRZP.js.map → chunk.5D6UB4DL.js.map} +0 -0
  34. package/dist/esm/chunks/{chunk.55JE4FLS.js → chunk.5PQTSZ7G.js} +2 -2
  35. package/dist/esm/chunks/{chunk.55JE4FLS.js.map → chunk.5PQTSZ7G.js.map} +0 -0
  36. package/dist/esm/chunks/{chunk.KLHXGSZU.js → chunk.7O7V3N4A.js} +2 -2
  37. package/dist/esm/chunks/{chunk.KLHXGSZU.js.map → chunk.7O7V3N4A.js.map} +0 -0
  38. package/dist/esm/chunks/{chunk.WAEWHBHE.js → chunk.APGFXXJ7.js} +2 -2
  39. package/dist/esm/chunks/{chunk.WAEWHBHE.js.map → chunk.APGFXXJ7.js.map} +0 -0
  40. package/dist/esm/chunks/{chunk.5GFDXNIU.js → chunk.BFNAQQCU.js} +2 -2
  41. package/dist/esm/chunks/{chunk.5GFDXNIU.js.map → chunk.BFNAQQCU.js.map} +0 -0
  42. package/dist/esm/chunks/{chunk.G5BCWBD5.js → chunk.BOENNFXE.js} +2 -2
  43. package/dist/esm/chunks/{chunk.G5BCWBD5.js.map → chunk.BOENNFXE.js.map} +0 -0
  44. package/dist/esm/chunks/{chunk.24BSMZM3.js → chunk.CYJBOJMX.js} +2 -2
  45. package/dist/esm/chunks/{chunk.24BSMZM3.js.map → chunk.CYJBOJMX.js.map} +0 -0
  46. package/dist/esm/chunks/{chunk.XURVHDKR.js → chunk.F3W3XMGT.js} +2 -2
  47. package/dist/esm/chunks/{chunk.XURVHDKR.js.map → chunk.F3W3XMGT.js.map} +0 -0
  48. package/dist/esm/chunks/{chunk.RS5NH2NG.js → chunk.FPV4XEUK.js} +2 -2
  49. package/dist/esm/chunks/{chunk.RS5NH2NG.js.map → chunk.FPV4XEUK.js.map} +0 -0
  50. package/dist/esm/chunks/{chunk.VEVOKTUX.js → chunk.G5Q2CUUE.js} +2 -2
  51. package/dist/esm/chunks/{chunk.VEVOKTUX.js.map → chunk.G5Q2CUUE.js.map} +0 -0
  52. package/dist/esm/chunks/{chunk.WZRXUTYC.js → chunk.G77PXLAU.js} +2 -2
  53. package/dist/esm/chunks/{chunk.WZRXUTYC.js.map → chunk.G77PXLAU.js.map} +0 -0
  54. package/dist/esm/chunks/{chunk.2A3CKLXJ.js → chunk.I2YRKTG7.js} +2 -2
  55. package/dist/esm/chunks/{chunk.2A3CKLXJ.js.map → chunk.I2YRKTG7.js.map} +0 -0
  56. package/dist/esm/chunks/{chunk.AFZB3MG5.js → chunk.IFZXG3LI.js} +2 -2
  57. package/dist/esm/chunks/{chunk.AFZB3MG5.js.map → chunk.IFZXG3LI.js.map} +0 -0
  58. package/dist/esm/chunks/{chunk.23VA56ZY.js → chunk.J3NHIF6W.js} +2 -2
  59. package/dist/esm/chunks/{chunk.23VA56ZY.js.map → chunk.J3NHIF6W.js.map} +0 -0
  60. package/dist/esm/chunks/{chunk.5HUDHTAK.js → chunk.JB2N65SR.js} +2 -2
  61. package/dist/esm/chunks/{chunk.5HUDHTAK.js.map → chunk.JB2N65SR.js.map} +0 -0
  62. package/dist/esm/chunks/{chunk.OHCHNL3V.js → chunk.JNOCXQVB.js} +2 -2
  63. package/dist/esm/chunks/{chunk.OHCHNL3V.js.map → chunk.JNOCXQVB.js.map} +2 -2
  64. package/dist/esm/chunks/{chunk.77WNSJ3T.js → chunk.K32ME33N.js} +2 -2
  65. package/dist/esm/chunks/{chunk.77WNSJ3T.js.map → chunk.K32ME33N.js.map} +0 -0
  66. package/dist/esm/chunks/{chunk.WGE5R5JK.js → chunk.KGW63HJX.js} +2 -2
  67. package/dist/esm/chunks/{chunk.WGE5R5JK.js.map → chunk.KGW63HJX.js.map} +0 -0
  68. package/dist/esm/chunks/chunk.KYCC3C3M.js +7 -0
  69. package/dist/esm/chunks/{chunk.AABG6MSC.js.map → chunk.KYCC3C3M.js.map} +2 -2
  70. package/dist/esm/chunks/{chunk.NEGJYSPB.js → chunk.LLHA3SQR.js} +2 -2
  71. package/dist/esm/chunks/{chunk.NEGJYSPB.js.map → chunk.LLHA3SQR.js.map} +0 -0
  72. package/dist/esm/chunks/chunk.MUY647D6.js +7 -0
  73. package/dist/esm/chunks/chunk.MUY647D6.js.map +7 -0
  74. package/dist/esm/chunks/chunk.NTFA7FCB.js +7 -0
  75. package/dist/esm/chunks/chunk.NTFA7FCB.js.map +7 -0
  76. package/dist/esm/chunks/{chunk.JXQZMASB.js → chunk.OAKTW64X.js} +2 -2
  77. package/dist/esm/chunks/{chunk.JXQZMASB.js.map → chunk.OAKTW64X.js.map} +0 -0
  78. package/dist/esm/chunks/{chunk.CSOY4C7A.js → chunk.OG2BI3UW.js} +2 -2
  79. package/dist/esm/chunks/{chunk.CSOY4C7A.js.map → chunk.OG2BI3UW.js.map} +2 -2
  80. package/dist/esm/chunks/{chunk.AHOQXJRN.js → chunk.P6B3UWJ5.js} +2 -2
  81. package/dist/esm/chunks/{chunk.AHOQXJRN.js.map → chunk.P6B3UWJ5.js.map} +0 -0
  82. package/dist/esm/chunks/{chunk.ESW45SN4.js → chunk.PFD2SVJ4.js} +2 -2
  83. package/dist/esm/chunks/{chunk.ESW45SN4.js.map → chunk.PFD2SVJ4.js.map} +0 -0
  84. package/dist/esm/chunks/{chunk.W7UTHKBF.js → chunk.Q6L7T6OJ.js} +2 -2
  85. package/dist/esm/chunks/{chunk.W7UTHKBF.js.map → chunk.Q6L7T6OJ.js.map} +0 -0
  86. package/dist/esm/chunks/{chunk.WKKNDQYZ.js → chunk.RKKJB3EE.js} +2 -2
  87. package/dist/esm/chunks/{chunk.WKKNDQYZ.js.map → chunk.RKKJB3EE.js.map} +0 -0
  88. package/dist/esm/chunks/chunk.SALQP6J3.js +7 -0
  89. package/dist/esm/chunks/{chunk.JB6U32SJ.js.map → chunk.SALQP6J3.js.map} +2 -2
  90. package/dist/esm/chunks/{chunk.DJSOBAWA.js → chunk.SJSLC6XF.js} +2 -2
  91. package/dist/esm/chunks/{chunk.DJSOBAWA.js.map → chunk.SJSLC6XF.js.map} +0 -0
  92. package/dist/esm/chunks/chunk.SZL74RTY.js +7 -0
  93. package/dist/esm/chunks/{chunk.SFFYXKJW.js.map → chunk.SZL74RTY.js.map} +2 -2
  94. package/dist/esm/chunks/chunk.TCCPCDJK.js +7 -0
  95. package/dist/esm/chunks/chunk.TCCPCDJK.js.map +7 -0
  96. package/dist/esm/chunks/{chunk.WMO47F6Z.js → chunk.TLHI6K2R.js} +2 -2
  97. package/dist/esm/chunks/{chunk.WMO47F6Z.js.map → chunk.TLHI6K2R.js.map} +0 -0
  98. package/dist/esm/chunks/{chunk.6BKOGBE6.js → chunk.TR64DV3G.js} +2 -2
  99. package/dist/esm/chunks/{chunk.6BKOGBE6.js.map → chunk.TR64DV3G.js.map} +0 -0
  100. package/dist/esm/chunks/{chunk.MTMZFAWU.js → chunk.V7P3QPNM.js} +2 -2
  101. package/dist/esm/chunks/{chunk.MTMZFAWU.js.map → chunk.V7P3QPNM.js.map} +0 -0
  102. package/dist/esm/chunks/{chunk.DFUNN5IP.js → chunk.VH3PVW2V.js} +2 -2
  103. package/dist/esm/chunks/{chunk.DFUNN5IP.js.map → chunk.VH3PVW2V.js.map} +0 -0
  104. package/dist/esm/chunks/chunk.WDIL7ZO7.js +12 -0
  105. package/dist/esm/chunks/{chunk.52JUDHTJ.js.map → chunk.WDIL7ZO7.js.map} +0 -0
  106. package/dist/esm/chunks/{chunk.YFIDBZ7V.js → chunk.WUIIZZQD.js} +2 -2
  107. package/dist/esm/chunks/{chunk.YFIDBZ7V.js.map → chunk.WUIIZZQD.js.map} +0 -0
  108. package/dist/esm/chunks/{chunk.SNGELGOD.js → chunk.WV45FGTW.js} +2 -2
  109. package/dist/esm/chunks/{chunk.SNGELGOD.js.map → chunk.WV45FGTW.js.map} +0 -0
  110. package/dist/esm/chunks/{chunk.RZL6S3K3.js → chunk.Y6MPWPZU.js} +2 -2
  111. package/dist/esm/chunks/{chunk.RZL6S3K3.js.map → chunk.Y6MPWPZU.js.map} +0 -0
  112. package/dist/esm/chunks/{chunk.7TQYFMM4.js → chunk.YAJT3P6V.js} +2 -2
  113. package/dist/esm/chunks/{chunk.7TQYFMM4.js.map → chunk.YAJT3P6V.js.map} +0 -0
  114. package/dist/esm/chunks/{chunk.57XBS3DF.js → chunk.YSE5EMB3.js} +2 -2
  115. package/dist/esm/chunks/{chunk.57XBS3DF.js.map → chunk.YSE5EMB3.js.map} +0 -0
  116. package/dist/esm/chunks/{chunk.KZHMDZVS.js → chunk.YWKKZLZ2.js} +2 -2
  117. package/dist/esm/chunks/{chunk.KZHMDZVS.js.map → chunk.YWKKZLZ2.js.map} +0 -0
  118. package/dist/esm/chunks/{chunk.7WWP6WI6.js → chunk.Z5P6EA5L.js} +2 -2
  119. package/dist/esm/chunks/{chunk.7WWP6WI6.js.map → chunk.Z5P6EA5L.js.map} +0 -0
  120. package/dist/esm/color-picker/index.js +1 -1
  121. package/dist/esm/core/index.js +1 -1
  122. package/dist/esm/core/utils/index.js +1 -1
  123. package/dist/esm/date-picker/index.js +1 -1
  124. package/dist/esm/date-range-picker/index.js +1 -1
  125. package/dist/esm/dialog/index.js +1 -1
  126. package/dist/esm/expansion-panel/index.js +1 -1
  127. package/dist/esm/file-picker/index.js +1 -1
  128. package/dist/esm/icon/index.js +1 -1
  129. package/dist/esm/icon-button/index.js +1 -1
  130. package/dist/esm/index.js +1 -1
  131. package/dist/esm/list-dropdown/index.js +1 -1
  132. package/dist/esm/menu/index.js +1 -1
  133. package/dist/esm/open-icon/index.js +1 -1
  134. package/dist/esm/paginator/index.js +1 -1
  135. package/dist/esm/popup/index.js +1 -1
  136. package/dist/esm/profile-card/index.js +1 -1
  137. package/dist/esm/quantity-field/index.js +1 -1
  138. package/dist/esm/select/core/index.js +1 -1
  139. package/dist/esm/select/index.js +1 -1
  140. package/dist/esm/select/select/index.js +1 -1
  141. package/dist/esm/select/select-dropdown/index.js +1 -1
  142. package/dist/esm/slider/index.js +1 -1
  143. package/dist/esm/split-view/index.js +1 -1
  144. package/dist/esm/split-view/split-view/index.js +1 -1
  145. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  146. package/dist/esm/stepper/index.js +1 -1
  147. package/dist/esm/stepper/step/index.js +1 -1
  148. package/dist/esm/stepper/stepper/index.js +1 -1
  149. package/dist/esm/switch/index.js +1 -1
  150. package/dist/esm/table/index.js +1 -1
  151. package/dist/esm/tabs/index.js +1 -1
  152. package/dist/esm/tabs/tab-bar/index.js +1 -1
  153. package/dist/esm/time-picker/index.js +1 -1
  154. package/dist/esm/toast/index.js +1 -1
  155. package/dist/esm/toolbar/index.js +1 -1
  156. package/esm/autocomplete/autocomplete-adapter.d.ts +2 -0
  157. package/esm/autocomplete/autocomplete-adapter.js +10 -0
  158. package/esm/autocomplete/autocomplete-foundation.d.ts +1 -0
  159. package/esm/autocomplete/autocomplete-foundation.js +9 -0
  160. package/esm/core/utils/utils.d.ts +6 -0
  161. package/esm/core/utils/utils.js +10 -0
  162. package/esm/expansion-panel/expansion-panel-foundation.js +2 -2
  163. package/esm/menu/menu-foundation.d.ts +1 -0
  164. package/esm/menu/menu-foundation.js +6 -3
  165. package/esm/popup/popup-adapter.js +5 -0
  166. package/esm/select/core/base-select-adapter.d.ts +2 -0
  167. package/esm/select/core/base-select-adapter.js +17 -7
  168. package/esm/select/core/base-select-foundation.d.ts +1 -0
  169. package/esm/select/core/base-select-foundation.js +7 -0
  170. package/esm/split-view/split-view/split-view-adapter.d.ts +4 -0
  171. package/esm/split-view/split-view/split-view-adapter.js +7 -1
  172. package/esm/split-view/split-view/split-view-foundation.d.ts +4 -0
  173. package/esm/split-view/split-view/split-view-foundation.js +12 -0
  174. package/esm/split-view/split-view/split-view.d.ts +5 -0
  175. package/esm/split-view/split-view/split-view.js +5 -0
  176. package/esm/split-view/split-view-panel/split-view-panel-foundation.js +2 -2
  177. package/esm/split-view/split-view-panel/split-view-panel.d.ts +5 -0
  178. package/esm/split-view/split-view-panel/split-view-panel.js +6 -1
  179. package/esm/toolbar/toolbar.js +1 -1
  180. package/package.json +1 -1
  181. package/styles/toolbar/_mixins.scss +2 -2
  182. package/styles/toolbar/toolbar.scss +6 -0
  183. package/dist/esm/chunks/chunk.52JUDHTJ.js +0 -12
  184. package/dist/esm/chunks/chunk.AABG6MSC.js +0 -7
  185. package/dist/esm/chunks/chunk.DRFU6POI.js +0 -7
  186. package/dist/esm/chunks/chunk.DRFU6POI.js.map +0 -7
  187. package/dist/esm/chunks/chunk.HMZ24WLE.js +0 -7
  188. package/dist/esm/chunks/chunk.HMZ24WLE.js.map +0 -7
  189. package/dist/esm/chunks/chunk.JB6U32SJ.js +0 -7
  190. package/dist/esm/chunks/chunk.OWTGOW7S.js +0 -7
  191. package/dist/esm/chunks/chunk.OWTGOW7S.js.map +0 -7
  192. package/dist/esm/chunks/chunk.SFFYXKJW.js +0 -7
  193. package/dist/esm/chunks/chunk.WSGJIPQJ.js +0 -7
  194. package/dist/esm/chunks/chunk.WSGJIPQJ.js.map +0 -7
@@ -490,6 +490,7 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
490
490
  this._adapter.toggleOptionMultiple(index, isSelected);
491
491
  }
492
492
  this._emitChangeEvent();
493
+ this._tryUpdateDropdownPosition();
493
494
  };
494
495
  // We close the dropdown immediately if in single selection mode
495
496
  if (this._isDropdownOpen && !this._multiple) {
@@ -501,6 +502,9 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
501
502
  if (shouldContinue) {
502
503
  select();
503
504
  }
505
+ else {
506
+ this._tryUpdateDropdownPosition();
507
+ }
504
508
  this._valueChanging = undefined;
505
509
  }
506
510
  else {
@@ -519,6 +523,11 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
519
523
  _emitChangeEvent() {
520
524
  this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.CHANGE, this._getValue(), true);
521
525
  }
526
+ _tryUpdateDropdownPosition() {
527
+ if (this._isDropdownOpen) {
528
+ this._adapter.queueDropdownPositionUpdate();
529
+ }
530
+ }
522
531
  /**
523
532
  * Retrieves the current value(s) from the selected options array based on whether
524
533
  * we are in multi-select mode or not.
@@ -59,3 +59,9 @@ export declare function safeMin(...args: (number | undefined)[]): number;
59
59
  * @returns The max value or `Number.NEGATIVE_INFINITY` if all values are `undefined`.
60
60
  */
61
61
  export declare function safeMax(...args: (number | undefined)[]): number;
62
+ /**
63
+ * Copies properties from one object to another, much like Object.assign(), but only where properties exist in both source objects.
64
+ * @param from The object to apply properties from.
65
+ * @param to The object to apply property values to.
66
+ */
67
+ export declare function assignMatchingProperties(from: object, to: object): void;
@@ -113,3 +113,13 @@ export function safeMin(...args) {
113
113
  export function safeMax(...args) {
114
114
  return Math.max(...args.map(arg => arg !== null && arg !== void 0 ? arg : Number.NEGATIVE_INFINITY));
115
115
  }
116
+ /**
117
+ * Copies properties from one object to another, much like Object.assign(), but only where properties exist in both source objects.
118
+ * @param from The object to apply properties from.
119
+ * @param to The object to apply property values to.
120
+ */
121
+ export function assignMatchingProperties(from, to) {
122
+ Object.keys(from)
123
+ .filter(prop => prop in to)
124
+ .forEach(prop => to[prop] = from[prop]);
125
+ }
@@ -124,8 +124,8 @@ export class ExpansionPanelFoundation {
124
124
  * @param {KeyboardEvent} evt The keydown event
125
125
  */
126
126
  _onKeydown(evt) {
127
- evt.stopPropagation();
128
- if (evt.key === 'Space' || evt.key === 'Enter' || evt.keyCode === 32 || evt.keyCode === 13) {
127
+ if (evt.key === ' ' || evt.key === 'Enter') {
128
+ evt.stopPropagation();
129
129
  evt.preventDefault();
130
130
  this._toggle();
131
131
  this._emitEvent();
@@ -74,6 +74,7 @@ export declare class MenuFoundation extends CascadingListDropdownAwareFoundation
74
74
  protected _openDropdown(): void;
75
75
  protected _isOwnElement(element: Element): boolean;
76
76
  private _createCascadingElement;
77
+ private _mapIconToLeadingIcon;
77
78
  get open(): boolean;
78
79
  set open(value: boolean);
79
80
  set options(options: IMenuOption[]);
@@ -218,9 +218,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
218
218
  if (!this._persistSelection) {
219
219
  options.forEach(o => o.selected = false);
220
220
  }
221
- const flatOptions = this._flatOptions;
222
- // Map the old "icon" property to the new "leadingIcon" property (if exists)
223
- flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);
221
+ this._mapIconToLeadingIcon();
224
222
  const selectedValues = this._persistSelection ? this._getSelectedValues() : [];
225
223
  const config = {
226
224
  id: this._identifier,
@@ -384,6 +382,10 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
384
382
  menu.iconClass = this._iconClass;
385
383
  return menu;
386
384
  }
385
+ _mapIconToLeadingIcon() {
386
+ // For backwards compatibility with old API, map the old "icon" property to the new "leadingIcon" property (if exists)
387
+ this._flatOptions.filter(o => o.icon).forEach(o => o.leadingIcon = o.icon);
388
+ }
387
389
  get open() {
388
390
  return this._open;
389
391
  }
@@ -410,6 +412,7 @@ export class MenuFoundation extends CascadingListDropdownAwareFoundation {
410
412
  // function to the core library.
411
413
  this._options = options.map(o => (Object.assign({}, o)));
412
414
  if (this._open) {
415
+ this._mapIconToLeadingIcon();
413
416
  this._adapter.setOptions(this._options);
414
417
  if (this._persistSelection) {
415
418
  const selectedValues = this._getSelectedValues();
@@ -43,6 +43,11 @@ export class PopupAdapter extends BaseAdapter {
43
43
  addPopup(targetElement, manageFocus) {
44
44
  this._component.setAttribute('tabindex', '-1');
45
45
  this._component.setAttribute(POPUP_CONSTANTS.attributes.HOST, '');
46
+ // Set initial position to top-left of the host element while we wait for positioning.
47
+ // This ensures that the element is not visible, nor does it affect layouts before it
48
+ // is properly moved into its expected location.
49
+ this._component.style.top = '0';
50
+ this._component.style.left = '0';
46
51
  const hostDocument = targetElement.ownerDocument || document;
47
52
  this._hostElement = closestElement(POPUP_CONSTANTS.selectors.HOST, targetElement) || hostDocument.body;
48
53
  this._hostElement.appendChild(this._component);
@@ -31,6 +31,7 @@ export interface IBaseSelectAdapter extends IBaseAdapter {
31
31
  appendDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;
32
32
  setMultiple(multiple: boolean): void;
33
33
  isFocusWithinPopup(target: HTMLElement): boolean;
34
+ queueDropdownPositionUpdate(): void;
34
35
  popupElement: HTMLElement | undefined;
35
36
  }
36
37
  export declare abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectComponent> implements IBaseSelectAdapter {
@@ -62,6 +63,7 @@ export declare abstract class BaseSelectAdapter extends BaseAdapter<IBaseSelectC
62
63
  setDropdownOptions(options: ISelectOption[] | ISelectOptionGroup[]): void;
63
64
  scrollSelectedOptionIntoView(): void;
64
65
  isFocusWithinPopup(target: HTMLElement): boolean;
66
+ queueDropdownPositionUpdate(): void;
65
67
  private _clearOptions;
66
68
  private _createOptionGroupElement;
67
69
  private _createOptionElement;
@@ -10,6 +10,7 @@ import { OPTION_CONSTANTS } from '../option';
10
10
  import { OPTION_GROUP_CONSTANTS } from '../option-group';
11
11
  import { isOptionGroupObject } from './select-utils';
12
12
  import { POPUP_CONSTANTS } from '../../popup';
13
+ import { assignMatchingProperties } from '../../core/utils/utils';
13
14
  export class BaseSelectAdapter extends BaseAdapter {
14
15
  constructor(component) {
15
16
  super(component);
@@ -142,6 +143,16 @@ export class BaseSelectAdapter extends BaseAdapter {
142
143
  }
143
144
  return this._listDropdown.dropdownElement.contains(target);
144
145
  }
146
+ queueDropdownPositionUpdate() {
147
+ if (!this.popupElement) {
148
+ return;
149
+ }
150
+ // We need to wait for the next animation frame to ensure that the layout has been updated
151
+ window.requestAnimationFrame(() => {
152
+ const dropdownEl = this.popupElement;
153
+ dropdownEl === null || dropdownEl === void 0 ? void 0 : dropdownEl.position();
154
+ });
155
+ }
145
156
  _clearOptions() {
146
157
  // First we remove all option group elements
147
158
  const existingOptionGroupElements = Array.from(this._component.querySelectorAll(OPTION_GROUP_CONSTANTS.elementName));
@@ -151,17 +162,16 @@ export class BaseSelectAdapter extends BaseAdapter {
151
162
  existingOptionElements.forEach((o) => removeElement(o));
152
163
  }
153
164
  _createOptionGroupElement(group) {
154
- const optionGroupElement = document.createElement(OPTION_GROUP_CONSTANTS.elementName);
155
- optionGroupElement.label = group.text || '';
165
+ var _a;
166
+ const optionGroupElement = document.createElement('forge-option-group');
167
+ assignMatchingProperties(group, optionGroupElement);
168
+ optionGroupElement.label = (_a = group.text) !== null && _a !== void 0 ? _a : '';
156
169
  return optionGroupElement;
157
170
  }
158
171
  _createOptionElement(option) {
159
- const optionElement = document.createElement(OPTION_CONSTANTS.elementName);
160
- optionElement.value = option.value;
172
+ const optionElement = document.createElement('forge-option');
173
+ assignMatchingProperties(option, optionElement);
161
174
  optionElement.textContent = option.label;
162
- if (option.disabled) {
163
- optionElement.disabled = option.disabled;
164
- }
165
175
  return optionElement;
166
176
  }
167
177
  }
@@ -79,6 +79,7 @@ export declare abstract class BaseSelectFoundation<T extends IBaseSelectAdapter>
79
79
  */
80
80
  protected _onSelect(option: ISelectOption, optionIndex: number, closeDropdown?: boolean): Promise<boolean>;
81
81
  private _selectActiveOption;
82
+ protected _tryUpdateDropdownPosition(): void;
82
83
  protected _reset(): void;
83
84
  protected _applyValue(value: string | string[]): void;
84
85
  /**
@@ -215,6 +215,7 @@ export class BaseSelectFoundation extends ListDropdownAwareFoundation {
215
215
  this._valueChanging = undefined;
216
216
  if (!shouldContinue) {
217
217
  rollbackValue();
218
+ this._tryUpdateDropdownPosition();
218
219
  return resolve(false);
219
220
  }
220
221
  }
@@ -226,6 +227,7 @@ export class BaseSelectFoundation extends ListDropdownAwareFoundation {
226
227
  else {
227
228
  rollbackValue();
228
229
  }
230
+ this._tryUpdateDropdownPosition();
229
231
  resolve(!cancelled);
230
232
  });
231
233
  }
@@ -235,6 +237,11 @@ export class BaseSelectFoundation extends ListDropdownAwareFoundation {
235
237
  this._onSelect(this._nonDividerOptions[activeOptionIndex], activeOptionIndex);
236
238
  }
237
239
  }
240
+ _tryUpdateDropdownPosition() {
241
+ if (this._open) {
242
+ this._adapter.queueDropdownPositionUpdate();
243
+ }
244
+ }
238
245
  _reset() {
239
246
  this._selectedValues = [];
240
247
  this._selectedLabels = [];
@@ -9,6 +9,8 @@ import { ISplitViewComponent } from './split-view';
9
9
  import { SplitViewOrientation } from './split-view-constants';
10
10
  export interface ISplitViewAdapter extends IBaseAdapter {
11
11
  registerSlotListener(listener: (evt: Event) => void): void;
12
+ registerDidOpenListener(listener: () => void): void;
13
+ registerDidCloseListener(listener: () => void): void;
12
14
  observeResize(callback: (entry: ResizeObserverEntry) => void): void;
13
15
  unobserveResize(): void;
14
16
  getSlottedPanels(): ISplitViewPanelComponent[];
@@ -18,6 +20,8 @@ export declare class SplitViewAdapter extends BaseAdapter<ISplitViewComponent> i
18
20
  private _root;
19
21
  constructor(component: ISplitViewComponent);
20
22
  registerSlotListener(listener: (evt: Event) => void): void;
23
+ registerDidOpenListener(listener: () => void): void;
24
+ registerDidCloseListener(listener: () => void): void;
21
25
  observeResize(callback: (entry: ResizeObserverEntry) => void): void;
22
26
  unobserveResize(): void;
23
27
  /**
@@ -15,6 +15,12 @@ export class SplitViewAdapter extends BaseAdapter {
15
15
  registerSlotListener(listener) {
16
16
  this._root.addEventListener('slotchange', listener);
17
17
  }
18
+ registerDidOpenListener(listener) {
19
+ this._root.addEventListener(SPLIT_VIEW_PANEL_CONSTANTS.events.DID_OPEN, listener);
20
+ }
21
+ registerDidCloseListener(listener) {
22
+ this._root.addEventListener(SPLIT_VIEW_PANEL_CONSTANTS.events.DID_CLOSE, listener);
23
+ }
18
24
  observeResize(callback) {
19
25
  ForgeResizeObserver.observe(this._root, callback);
20
26
  }
@@ -46,7 +52,7 @@ export class SplitViewAdapter extends BaseAdapter {
46
52
  // Get the size adjustment needed to fit
47
53
  let diff = combinedPanelSize - size;
48
54
  // Size down the panels as needed in reverse order, adjusting diff accordingly
49
- panels.reverse().forEach(panel => {
55
+ panels.slice().reverse().forEach(panel => {
50
56
  if (diff <= 0) {
51
57
  return;
52
58
  }
@@ -23,12 +23,16 @@ export declare class SplitViewFoundation implements ISplitViewFoundation {
23
23
  private _autoClose;
24
24
  private _autoCloseThreshold;
25
25
  private _slotListener;
26
+ private _didOpenListener;
27
+ private _didCloseListener;
26
28
  private _resizeObserverCallback;
27
29
  private _isInitialized;
28
30
  constructor(_adapter: ISplitViewAdapter);
29
31
  initialize(): void;
30
32
  disconnect(): void;
31
33
  private _onSlotChange;
34
+ private _onDidOpen;
35
+ private _onDidClose;
32
36
  private _onResize;
33
37
  /**
34
38
  * Sets the resizable value of slotted panels with no resizable value set.
@@ -16,10 +16,14 @@ export class SplitViewFoundation {
16
16
  this._autoCloseThreshold = 0;
17
17
  this._isInitialized = false;
18
18
  this._slotListener = evt => this._onSlotChange(evt);
19
+ this._didOpenListener = () => this._onDidOpen();
20
+ this._didCloseListener = () => this._onDidClose();
19
21
  this._resizeObserverCallback = throttle((entry) => this._onResize(entry), SPLIT_VIEW_CONSTANTS.numbers.RESIZE_THROTTLE_THRESHOLD);
20
22
  }
21
23
  initialize() {
22
24
  this._adapter.registerSlotListener(this._slotListener);
25
+ this._adapter.registerDidOpenListener(this._didOpenListener);
26
+ this._adapter.registerDidCloseListener(this._didCloseListener);
23
27
  this._adapter.observeResize(this._resizeObserverCallback);
24
28
  this._applyOrientation();
25
29
  this._isInitialized = true;
@@ -31,6 +35,14 @@ export class SplitViewFoundation {
31
35
  this._layoutSlottedPanels();
32
36
  this.update({ accessibility: true, cursor: true, orientation: this._orientation });
33
37
  }
38
+ _onDidOpen() {
39
+ this._adapter.refitSlottedPanels(this._orientation);
40
+ this.update({ accessibility: true, cursor: true, size: true });
41
+ }
42
+ _onDidClose() {
43
+ this._adapter.refitSlottedPanels(this._orientation);
44
+ this.update({ accessibility: true, cursor: true, size: true });
45
+ }
34
46
  _onResize(entry) {
35
47
  this.update({ accessibility: true, cursor: true, size: true });
36
48
  }
@@ -19,6 +19,11 @@ declare global {
19
19
  'forge-split-view': ISplitViewComponent;
20
20
  }
21
21
  }
22
+ /**
23
+ * The custom element class behind the `<forge-split-view>` element.
24
+ *
25
+ * @tag forge-split-view
26
+ */
22
27
  export declare class SplitViewComponent extends BaseComponent implements ISplitViewComponent {
23
28
  static get observedAttributes(): string[];
24
29
  private _foundation;
@@ -12,6 +12,11 @@ import { SPLIT_VIEW_CONSTANTS } from './split-view-constants';
12
12
  import { SplitViewPanelComponent } from '../split-view-panel';
13
13
  const template = '<template><div class=\"forge-split-view\" id=\"root\" part=\"root\"><slot></slot></div></template>';
14
14
  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{display:-webkit-box;display:flex;width:100%;height:100%}:host{--forge-split-view-handle-width:8px;display:block;height:100%;width:100%;overflow:hidden;contain:paint size}:host([hidden]){display:none}:host([orientation=horizontal]) .forge-split-view{-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}:host([orientation=vertical]) .forge-split-view{-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}';
15
+ /**
16
+ * The custom element class behind the `<forge-split-view>` element.
17
+ *
18
+ * @tag forge-split-view
19
+ */
15
20
  let SplitViewComponent = class SplitViewComponent extends BaseComponent {
16
21
  constructor() {
17
22
  super();
@@ -638,7 +638,7 @@ export class SplitViewPanelFoundation {
638
638
  }
639
639
  }
640
640
  // Size
641
- if (config.size) {
641
+ if (config.size && this.open) {
642
642
  const parentSize = this._adapter.getParentSize(this._orientation);
643
643
  this._pixelMin = getPixelDimension(this._min, parentSize);
644
644
  this._pixelMax = isDefined(this._max) ? getPixelDimension(this._max, parentSize) : undefined;
@@ -651,7 +651,7 @@ export class SplitViewPanelFoundation {
651
651
  const size = this._adapter.getContentSize(this._orientation);
652
652
  const availableSpace = this._adapter.getAvailableSpace(this._orientation, this._resizable);
653
653
  // Accessibility
654
- if (config.accessibility) {
654
+ if (config.accessibility && this.open) {
655
655
  const valueNow = getValuenow(size, Object.assign(Object.assign({}, this._state), { availableSpace }));
656
656
  this._adapter.setValuenow(valueNow);
657
657
  }
@@ -34,6 +34,11 @@ declare global {
34
34
  'forge-split-view-panel-did-close': CustomEvent<ISplitViewPanelOpenEvent>;
35
35
  }
36
36
  }
37
+ /**
38
+ * The custom element class behind the `<forge-split-view-panel>` element.
39
+ *
40
+ * @tag forge-split-view-panel
41
+ */
37
42
  export declare class SplitViewPanelComponent extends BaseComponent implements ISplitViewPanelComponent {
38
43
  static get observedAttributes(): string[];
39
44
  private _foundation;
@@ -14,7 +14,12 @@ 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:usus0pi;animation-name:usus0pi;-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 usus0pi{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usus0pi{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:usus0pq;animation-name:usus0pq;-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 usus0pq{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usus0pq{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:usus0q6;animation-name:usus0q6;-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 usus0q6{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes usus0q6{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:usus0q7;animation-name:usus0q7;-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 usus0q7{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes usus0q7{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:usus0qn;animation-name:usus0qn;-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 usus0qn{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usus0qn{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:usus0rf;animation-name:usus0rf;-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 usus0rf{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usus0rf{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:usus0s2;animation-name:usus0s2;-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 usus0s2{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes usus0s2{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:usus0sk;animation-name:usus0sk;-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 usus0sk{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes usus0sk{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:uhvgm1d;animation-name:uhvgm1d;-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 uhvgm1d{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uhvgm1d{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:uhvgm27;animation-name:uhvgm27;-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 uhvgm27{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uhvgm27{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:uhvgm36;animation-name:uhvgm36;-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 uhvgm36{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes uhvgm36{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:uhvgm3j;animation-name:uhvgm3j;-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 uhvgm3j{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes uhvgm3j{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:uhvgm49;animation-name:uhvgm49;-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 uhvgm49{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uhvgm49{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:uhvgm4e;animation-name:uhvgm4e;-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 uhvgm4e{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uhvgm4e{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:uhvgm4l;animation-name:uhvgm4l;-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 uhvgm4l{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes uhvgm4l{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:uhvgm4r;animation-name:uhvgm4r;-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 uhvgm4r{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes uhvgm4r{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
+ /**
19
+ * The custom element class behind the `<forge-split-view-panel>` element.
20
+ *
21
+ * @tag forge-split-view-panel
22
+ */
18
23
  let SplitViewPanelComponent = class SplitViewPanelComponent extends BaseComponent {
19
24
  constructor() {
20
25
  super();
@@ -8,7 +8,7 @@ import { CustomElement, attachShadowTemplate, getShadowElement, coerceBoolean }
8
8
  import { BaseComponent } from '../core/base/base-component';
9
9
  import { TOOLBAR_CONSTANTS } from './toolbar-constants';
10
10
  const template = '<template><div class=\"forge-toolbar\" part=\"root\"><div class=\"forge-toolbar__section forge-toolbar__section--align-start\" part=\"section-start\"><slot name=\"start\"></slot></div><div class=\"forge-toolbar__section forge-toolbar__section--align-center\" part=\"section-center\"><slot name=\"center\"></slot></div><div class=\"forge-toolbar__section forge-toolbar__section--align-end\" part=\"section-end\"><slot name=\"end\"></slot></div></div></template>';
11
- const styles = '.forge-toolbar{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-left:16px;padding-left:var(--forge-toolbar-padding,16px);padding-right:16px;padding-right:var(--forge-toolbar-padding,16px);border-bottom:1px solid rgba(0,0,0,.12);border-bottom:var(--forge-toolbar-border-bottom,1px solid rgba(0,0,0,.12));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top-width:1px;border-top-style:solid;border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';
11
+ const styles = '.forge-toolbar{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);min-height:56px;min-height:var(--forge-toolbar-min-height,56px);height:56px;height:var(--forge-toolbar-height,56px);padding-left:16px;padding-left:var(--forge-toolbar-padding,16px);padding-right:16px;padding-right:var(--forge-toolbar-padding,16px);border-bottom:1px solid rgba(0,0,0,.12);border-bottom:var(--forge-toolbar-border-bottom,1px solid rgba(0,0,0,.12));border-top-left-radius:0;border-top-left-radius:var(--forge-toolbar-border-top-left-radius,0);border-top-right-radius:0;border-top-right-radius:var(--forge-toolbar-border-top-right-radius,0);border-bottom-left-radius:0;border-bottom-left-radius:var(--forge-toolbar-border-bottom-left-radius,0);border-bottom-right-radius:0;border-bottom-right-radius:var(--forge-toolbar-border-bottom-right-radius,0);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);display:grid;grid-template-columns:auto 1fr auto;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-toolbar__section--align-start{grid-column:1}.forge-toolbar__section--align-center{-webkit-box-pack:center;justify-content:center;grid-column:2}.forge-toolbar__section--align-end{-webkit-box-pack:end;justify-content:flex-end;grid-column:3}.forge-toolbar--inverted{border-top:1px solid rgba(0,0,0,.12);border-top:var(--forge-toolbar-border-top,1px solid rgba(0,0,0,.12));border-bottom:none}:host{display:block;contain:layout}:host([hidden]){display:none}:host([no-border]) .forge-toolbar{border:none}.forge-toolbar ::slotted(h1){margin:0}.forge-toolbar ::slotted(h2){margin:0}.forge-toolbar ::slotted(h3){margin:0}.forge-toolbar ::slotted(h4){margin:0}.forge-toolbar ::slotted(h5){margin:0}.forge-toolbar ::slotted(h6){margin:0}.forge-toolbar ::slotted(p){margin:0}';
12
12
  /**
13
13
  * The web component class behind the `<forge-toolbar>` custom element.
14
14
  *
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tylertech/forge",
3
3
  "description": "Forge Web Components library",
4
- "version": "2.11.0",
4
+ "version": "2.12.1",
5
5
  "author": "Tyler Technologies, Inc.",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
@@ -26,8 +26,8 @@
26
26
  }
27
27
 
28
28
  @mixin inverted() {
29
- border-top-width: 1px;
30
- border-top-style: solid;
29
+ @include theme.css-custom-property(border-top, --forge-toolbar-border-top, variables.$border-bottom);
30
+
31
31
  border-bottom: none;
32
32
  }
33
33
 
@@ -16,6 +16,12 @@
16
16
  display: none;
17
17
  }
18
18
 
19
+ :host([no-border]) {
20
+ .forge-toolbar {
21
+ border: none;
22
+ }
23
+ }
24
+
19
25
  /// Remove margin from all commonly used native elements that have default margin
20
26
  .forge-toolbar {
21
27
  ::slotted(h1) { margin: 0; }
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{f as To}from"./chunk.33Q5FK2H.js";import{b as go}from"./chunk.DIYJJHWP.js";import{f as So}from"./chunk.KZHMDZVS.js";import{d as Bo}from"./chunk.OOBE3XRM.js";import{q as so}from"./chunk.5SRA2RH3.js";import{d as Po}from"./chunk.I33ZJKOX.js";import{c as ao}from"./chunk.HMZ24WLE.js";import{d as co}from"./chunk.WMO47F6Z.js";import{d as lo}from"./chunk.DJSOBAWA.js";import{h as uo}from"./chunk.6BKOGBE6.js";import{b as xo}from"./chunk.T7ZJDAXV.js";import{d as io}from"./chunk.444GNOS4.js";import{d as Co}from"./chunk.W7UTHKBF.js";import{b as ro}from"./chunk.VMWS5OOZ.js";import{d as fo}from"./chunk.77WNSJ3T.js";import{d as eo}from"./chunk.YFIDBZ7V.js";import{d as no}from"./chunk.24BSMZM3.js";import{b as po}from"./chunk.BCUBTR5O.js";import{b as to}from"./chunk.B5ABD4CZ.js";import{d as mo}from"./chunk.IGMTMR3D.js";import{b as U}from"./chunk.5WMEFHVN.js";import{j as _}from"./chunk.5XQVZQ4U.js";import{d as j}from"./chunk.X77WVI2H.js";import{b as G}from"./chunk.SHT6BCLY.js";import{b as H}from"./chunk.6APYGKNX.js";import{d as N}from"./chunk.URBXDOF7.js";import{d as K}from"./chunk.MTMZFAWU.js";import{b as Q}from"./chunk.XXA6KNXT.js";import{d as y}from"./chunk.NJHQA266.js";import{e as v}from"./chunk.EM3OQRZP.js";import{d as R}from"./chunk.57XBS3DF.js";import{f as V}from"./chunk.NEGJYSPB.js";import{E as L}from"./chunk.5HUDHTAK.js";import{b as O}from"./chunk.MGTNCCW3.js";import{i as B}from"./chunk.OWTGOW7S.js";import{c as l}from"./chunk.DML4YNQF.js";import{b as e}from"./chunk.YHHIPP2F.js";import{d}from"./chunk.55JE4FLS.js";import{c as u}from"./chunk.WZRXUTYC.js";import{e as c}from"./chunk.RZL6S3K3.js";import{d as A}from"./chunk.KLHXGSZU.js";import{d as D}from"./chunk.7WWP6WI6.js";import{b as k}from"./chunk.DGOV5RDW.js";import{b as w}from"./chunk.NGIBMR3Q.js";import{f as h}from"./chunk.7NXPOEXV.js";import{d as M}from"./chunk.2A3CKLXJ.js";import{d as s}from"./chunk.QJPH24V4.js";import{d as F}from"./chunk.5K5SIZRX.js";import{d as E}from"./chunk.WNOSTPQQ.js";import{d as p}from"./chunk.AFZB3MG5.js";import{d as t}from"./chunk.CSOY4C7A.js";import{d as m}from"./chunk.AHOQXJRN.js";import{e as z}from"./chunk.CV5E5W6I.js";import{d as Y}from"./chunk.VEVOKTUX.js";import{d as q}from"./chunk.SFFYXKJW.js";import{b as a}from"./chunk.54QFNVMG.js";import{c as C}from"./chunk.D3DLVPPE.js";import{e as i}from"./chunk.7JTKKFL4.js";import{d as I}from"./chunk.K753A3KI.js";import{b as n}from"./chunk.XYBFFTXS.js";import{b as W}from"./chunk.WAEWHBHE.js";import{d as X}from"./chunk.5GFDXNIU.js";import{d as P}from"./chunk.MNBJMPJ6.js";import{d as oo}from"./chunk.ESW45SN4.js";import{d as $}from"./chunk.RS5NH2NG.js";import{b as Z}from"./chunk.OHCHNL3V.js";import{d as S}from"./chunk.35U4OX7S.js";import{b}from"./chunk.JXQZMASB.js";import{e as x}from"./chunk.DRFU6POI.js";import{b as g}from"./chunk.G5BCWBD5.js";import{f}from"./chunk.QXLPBYMX.js";import{e as J}from"./chunk.DGQAYNAF.js";import{d as T}from"./chunk.OUEF6VQ6.js";import{l as r}from"./chunk.7TQYFMM4.js";import{b as o}from"./chunk.HN4PXH3D.js";var Ao=[p,S,s,P,A,D,M,b,E,F,L,O,h,c,u,d,I,V,y,v,R,e,G,H,N,t,K,Q,io,r,g,U,_,j,n,C,i,q,z,J,W,X,Y,oo,$,m,mo,to,ro,fo,x,Co,w,f,po,no,eo,a,xo,ao,co,lo,k,So,Bo,uo,l,so,Po,Z,T,To,go,B];function Mr(){o(Ao)}export{Mr as a};
7
- /**
8
- * @license
9
- * Copyright (c) 2022 Tyler Technologies, Inc.
10
- * License: Apache-2.0
11
- */
12
- //# sourceMappingURL=chunk.52JUDHTJ.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{g as l}from"./chunk.G76HB2FK.js";var M=/^([\+-]?\d{4}(?!\d{2}\b))((-?)((0[1-9]|1[0-2])(\3([12]\d|0[1-9]|3[01]))?|W([0-4]\d|5[0-2])(-?[1-7])?|(00[1-9]|0[1-9]\d|[12]\d{2}|3([0-5]\d|6[1-6])))([T\s]((([01]\d|2[0-3])((:?)[0-5]\d)?|24\:?00)([\.,]\d+(?!:))?)?(\17[0-5]\d([\.,]\d+)?)?([zZ]|([\+-])([01]\d|2[0-3]):?([0-5]\d)?)?)?)?$/,T=/a-z/i,g=10;function A(e){if(e=e.replace(/_|\s/g,""),M.test(e)){let a=new Date(e);if(T.test(e)||a.setMinutes(a.getMinutes()+a.getTimezoneOffset()),l(a))return a}let t=[];e.indexOf("/")!==-1?t=e.split("/"):e.indexOf("-")!==-1?t=e.split("-"):(e.length===6||e.length===8)&&!isNaN(+e)&&(t=[e.substring(0,2),e.substring(2,4),e.substring(4)]);let i=t.length===3,[n,s,r]=t;if(n==="0"&&(n="1"),s==="0"&&(s="1"),typeof r=="string"&&r.length===3&&(r=r.padEnd(4,"0")),i){let a=n.length===1||n.length===2,c=s.length===1||s.length===2,p=r.length===2||r.length===4;if(!a||!c||!p)return null}else return null;if(r.length===2){let a=new Date().getFullYear()-(100-g),c=new Date().getFullYear()+g,p=String(a).slice(0,2),b=String(c).slice(0,2),S=+String(c).slice(2);r=+r<=S?`${b}${r}`:`${p}${r}`}let o=+n,u=+s,d=+r;o>12&&(o=12);let f=new Date(d,o,0).getDate();u>f&&(u=f);let m=new Date(d,o-1,u,0,0,0,0);return l(m)?m:null}function C(e){let t=String(e.getMonth()+1).padStart(2,"0"),i=String(e.getDate()).padStart(2,"0"),n=e.getFullYear();return[t,i,n].join("/")}function I(e,t){return!e&&!t?!0:!e||!t||!l(e)||!l(t)?!1:e.setHours(0,0,0,0)===t.setHours(0,0,0,0)}function D(e,t){return new Date(t!=null?t:1970,e+1,0)}function _(e,t){return D(e,t).getDate()}function O(e,t){let i=document.createElement("div");i.innerHTML=e;for(let s=i.childNodes.length-1;s>=0;s--)i.childNodes[s].nodeName.toLowerCase()!=="svg"&&i.removeChild(i.childNodes[s]);let n=i.firstElementChild;return n&&n.nodeName.toLowerCase()==="svg"&&h(n)?(t&&n.setAttribute("viewBox",t),!n.hasAttribute("viewBox")&&t&&n.setAttribute("viewBox",t),n.removeAttribute("height"),n.removeAttribute("width"),n):null}function h(e){if(e.nodeType!==1)return!0;if(e.nodeName.toLowerCase()==="script")return!1;let t=Array.from(e.attributes);for(let n of t)if(typeof n.name=="string"&&n.name.toLowerCase().startsWith("on"))return!1;let i=Array.from(e.childNodes);for(let n of i)if(!h(n))return!1;return!0}var x=/^(0?[0-9]|1\d|2[0-3]):([0-5]\d)(:([0-5]\d))?$/,E=/^(0?[1-9]|1[0-2]):([0-5]\d)(:([0-5]\d))?\s*([AaPp][Mm])?$/,L=/^(\d\d?):?(\d\d?)(:?(\d?\d?))?\s*([AaPp][Mm]?)?$/;function Y(e){let t=e.match(x)||[null,0,0,null,0],i=t[1],n=t[2],s=t[4];return{hours:i,minutes:n,seconds:s}}function R(e){let t=e.match(E)||[null,0,0,null,0,"AM"],i=t[1],n=t[2],s=t[4],r=t[5];return{hours:i,minutes:n,seconds:s,meridiem:r}}function P(e){return x.test(e)||E.test(e)}function $(e,t,i){if(e=e&&typeof e=="string"?e.replace(/_|\s/g,""):"",/^\s*$/.test(e))return"";let n=e.match(L);if(!n)return"";let s=n[1],r=n[2],o=n[4],u=n[5];t?u="":/[AaPp][Mm]/.test(u)?u=u.toUpperCase():/^[AaPp]/.test(u)?u.toLowerCase().startsWith("a")?u="AM":u.toLowerCase().startsWith("p")&&(u="PM"):u="";let d=+s||0,f=+r||0,m=!u||t?23:12;if(d>=m?s=String(m):d<0&&(s="00"),r!==void 0&&(f>59?r="59":f<0?r="00":r=r.padStart(2,"0")),o!==void 0){let c=+o||0;c>59?o="59":c<0?o="00":o=o.padStart(2,"0")}let a=s;return r!==void 0&&(a+=`:${r}`,o===void 0&&i&&(o="00")),o!==void 0&&(a+=`:${o}`),u&&(a+=` ${u}`),a}function H(e,t){let n=e.toLowerCase().indexOf(t.toLowerCase());if(n!==-1){let s=n+t.length,r=document.createElement("span"),o=document.createElement("span");return o.style.fontWeight="bold",o.textContent=e.substring(n,s),r.appendChild(document.createTextNode(e.substring(0,n))),r.appendChild(o),r.appendChild(document.createTextNode(e.substring(s))),r}}function V(e,{capture:t=!0,pointerenter:i=!0,focusin:n=!0}={}){return new Promise(s=>{let r={once:!0,capture:t},o=()=>{n&&e.removeEventListener("focusin",u,r),s("pointerenter")},u=()=>{i&&e.removeEventListener("pointerenter",o,r),s("focusin")};i&&e.addEventListener("pointerenter",o,r),n&&e.addEventListener("focusin",u,r)})}function G(e,t){return t===0?0:e/100*t}function v(e,t){return t===0?0:e*100/t}function W(e,t,i,n=0,s=100){let r=i-t,o=e-t;return!r||!o?n:o*s/r+n}function U(...e){return Math.min(...e.map(t=>t!=null?t:Number.POSITIVE_INFINITY))}function z(...e){return Math.max(...e.map(t=>t!=null?t:Number.NEGATIVE_INFINITY))}export{M as a,T as b,A as c,C as d,I as e,D as f,_ as g,O as h,h as i,x as j,E as k,L as l,Y as m,R as n,P as o,$ as p,H as q,V as r,G as s,v as t,W as u,U as v,z as w};
7
- //# sourceMappingURL=chunk.AABG6MSC.js.map
@@ -1,7 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2022 Tyler Technologies, Inc.
4
- * License: Apache-2.0
5
- */
6
- import{a as k}from"./chunk.UUX4QJ4D.js";import{a as L}from"./chunk.A23NSEWA.js";import{a as r}from"./chunk.B3IJU6XJ.js";import{a as I,b as N}from"./chunk.BSZ2LBJX.js";import{a as A}from"./chunk.3E5QKMHL.js";import{a as T,e as x,g as y,i as h,k as w}from"./chunk.HN4PXH3D.js";import{a as u,c as E,f as m,g,i as P,r as C,s as b}from"./chunk.R4NDFXVA.js";import{b as _,k as l}from"./chunk.G76HB2FK.js";import{f as s}from"./chunk.MCIQXNKY.js";var p=`${N}popup`,f={CONTAINER:"forge-popup",OPEN:"open",PLACEMENT:"placement",MANAGE_FOCUS:"manage-focus",ANIMATION_TYPE:"animation-type",STATIC:"static",HIDE_WHEN_CLIPPED:"hide-when-clipped",HOST:"forge-popup-host",INITIAL_FOCUS:"forge-popup-focus"},M={OPEN:"forge-popup--open",OPENING:"forge-popup--opening",CLOSED:"forge-popup--closed",SELECT:"forge-popup--select"},F={HOST:`.forge-popup-host, [${f.HOST}]`,CONTAINER:".forge-popup",INITIAL_FOCUS:`[${f.INITIAL_FOCUS}]`},H={OPEN:`${p}-open`,CLOSE:`${p}-close`,POSITION:`${p}-position`,BLUR:`${p}-blur`},B={ANIMATION_DURATION:120},o={elementName:p,classes:M,selectors:F,attributes:f,events:H,numbers:B},O=(i=>(i.None="none",i.Menu="menu",i.Dropdown="dropdown",i))(O||{});var c=class extends L{constructor(e){super(e);this._rootElement=y(e,o.selectors.CONTAINER)}setAttribute(e,i,a){a?a.setAttribute(e,i):this._component.setAttribute(e,i)}removeAttribute(e,i){i?i.removeAttribute(e):this._component.removeAttribute(e)}async positionPopup(){let e={element:this._component,targetElement:this._component.targetElement,placement:this._component.placement,hide:this._component.hideWhenClipped};this._component.offset&&(e.offset=this._component.offset);let i=await k(e);h(this._component,o.events.POSITION,i)}addPopup(e,i){this._component.setAttribute("tabindex","-1"),this._component.setAttribute(o.attributes.HOST,"");let a=e.ownerDocument||document;this._hostElement=w(o.selectors.HOST,e)||a.body,this._hostElement.appendChild(this._component),this.positionPopup(),i&&(this._previouslyFocusedElement=b(),this._component.focus())}removePopup(e){P(this._component),e&&window.requestAnimationFrame(()=>{if(this._previouslyFocusedElement){let i=b();(!i||i===document.body)&&this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=void 0}}),this._hostElement=void 0}manageWindowEvents(e=!1){e?(this._windowEventCallback=i=>this._windowInteraction(i),window.addEventListener("scroll",this._windowEventCallback,!0),window.addEventListener("resize",this._windowEventCallback,!0)):this._windowEventCallback&&(window.removeEventListener("scroll",this._windowEventCallback,!0),window.removeEventListener("resize",this._windowEventCallback,!0),this._windowEventCallback=void 0)}dispatchEvent(e,i,a,S){return this._component.targetElement?!h(this._component.targetElement,e,i,a,S):!1}addClass(e){m(e,this._rootElement)}removeClass(e){g(e,this._rootElement)}setAnimationEndListener(e,i){window.requestAnimationFrame(()=>{i&&i.length&&m(i,this._rootElement),this._rootElement.addEventListener("transitionend",e)})}removeEventListener(e,i){this._rootElement.removeEventListener(e,i)}setBlurListener(e){return E(this._component,i=>{this._component.contains(i)||e()},!0)}trySetInitialFocus(){window.requestAnimationFrame(()=>{let e=C(this._component,o.selectors.INITIAL_FOCUS);e&&e.length&&e[e.length-1].focus()})}_windowInteraction(e){if(!!this._component.open)switch(e.type){case"scroll":case"resize":this.positionPopup();break;default:break}}};var d=class{constructor(t){this._adapter=t;this._placement="bottom-start";this._open=!1;this._manageFocus=!1;this._animationType="none";this._static=!1;this._hideWhenClipped=!1;this._blurListener=()=>this._onBlur()}disconnect(){this.open&&(this.open=!1)}_openPopup(){this._animationType!=="none"?(this._applyOpenAnimation(),this._animationType==="dropdown"&&this._adapter.addClass(o.classes.SELECT)):this._adapter.addClass(o.classes.OPEN),this._adapter.setAttribute(o.attributes.OPEN,""),this._adapter.addPopup(this.targetElement,this._manageFocus),this._adapter.trySetInitialFocus(),this._destroyBlurListener&&this._destroyBlurListener(),this._static||(this._destroyBlurListener=this._adapter.setBlurListener(this._blurListener)),this._adapter.manageWindowEvents(!0),this._adapter.dispatchEvent(o.events.OPEN)}_closePopup(){this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0),this._animationType!=="none"?this._applyCloseAnimation():this._destroyPopup()}_destroyPopup(){this._adapter.manageWindowEvents(!1),this._adapter.removePopup(this._manageFocus),this._adapter.dispatchEvent(o.events.CLOSE),this._adapter.removeAttribute(o.attributes.OPEN)}_applyOpenAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.addClass(o.classes.OPENING);let t=e=>{e.propertyName==="transform"&&(this._adapter.removeClass(o.classes.OPENING),this._adapter.removeEventListener("transitionend",t))};this._adapter.setAnimationEndListener(t,o.classes.OPEN);break}}_applyCloseAnimation(){switch(this._animationType){case"dropdown":case"menu":this._adapter.removeClass(o.classes.OPEN),this._adapter.addClass(o.classes.CLOSED);let t=i=>{i.propertyName==="opacity"&&(e&&clearTimeout(e),this._destroyPopup())};this._adapter.setAnimationEndListener(t);let e=setTimeout(()=>this._destroyPopup(),o.numbers.ANIMATION_DURATION);break}}_onBlur(){this._adapter.dispatchEvent(o.events.BLUR,void 0,!0,!0)||(this.open=!1)}_applyOpen(){if(this._open){if(!this.targetElement||!u(this.targetElement))throw new Error("targetElement on Popup component must be an HTMLElement");typeof this._openCallback=="function"?this._executeOpenCallback():this._openPopup()}else typeof this._closeCallback=="function"?this._executeCloseCallback():this._closePopup()}async _executeOpenCallback(){try{await Promise.resolve(this._openCallback())!==!1?this._openPopup():this._open=!1}catch(t){this._open=!1}}async _executeCloseCallback(){try{await Promise.resolve(this._closeCallback())!==!1?this._closePopup():this._open=!0}catch(t){this._open=!0}}get targetElement(){return this._targetElement}set targetElement(t){if(!t||!u(t))throw new Error("targetElement on Popup component must be an HTMLElement");this._targetElement=t}get placement(){return this._placement}set placement(t){this._placement!==t&&(this._placement=t||"bottom-start",this._adapter.setAttribute(o.attributes.PLACEMENT,this._placement))}get open(){return this._open}set open(t){t=Boolean(t),this._open!==t&&(this._open=t,this._applyOpen())}get manageFocus(){return this._manageFocus}set manageFocus(t){this._manageFocus!==t&&(this._manageFocus=t)}get animationType(){return this._animationType}set animationType(t){this._animationType!==t&&(this._animationType=t)}get static(){return this._static}set static(t){this._static!==t&&(this._static=t,this._static&&this._destroyBlurListener&&(this._destroyBlurListener(),this._destroyBlurListener=void 0))}get hideWhenClipped(){return this._hideWhenClipped}set hideWhenClipped(t){this._hideWhenClipped!==t&&(this._hideWhenClipped=t)}get offset(){var t;return(t=this._offset)!=null?t:{x:0,y:0}}set offset(t){var e,i;t?this._offset={x:(e=t.x)!=null?e:0,y:(i=t.y)!=null?i:0}:this._offset=void 0,this._open&&this._adapter.positionPopup()}get openCallback(){return this._openCallback}set openCallback(t){this._openCallback=t}get closeCallback(){return this._closeCallback}set closeCallback(t){this._closeCallback=t}position(){this._adapter.positionPopup()}};var D='<template><div class="forge-popup" part="root"><slot></slot></div></template>',W=".forge-popup{min-width:112px;min-width:var(--min-width,112px);background-color:#fff;background-color:var(--forge-theme-elevated-surface,#fff);-webkit-box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);box-shadow:0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12);-webkit-box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));box-shadow:var(--forge-theme-popup-elevation,0 3px 1px -2px rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12));color:#000;color:var(--mdc-theme-on-surface,#000);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:none;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:100%;margin:0;padding:0;-webkit-transform:scale(1);transform:scale(1);-webkit-transform-origin:50% 24px 0;transform-origin:50% 24px 0;opacity:0;will-change:transform,opacity;-webkit-transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,-webkit-transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1);transition:opacity 120ms linear,transform 120ms cubic-bezier(0, 0, .2, 1),-webkit-transform 120ms cubic-bezier(0, 0, .2, 1)}.forge-popup::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-popup::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-popup::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-popup::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-popup::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}.forge-popup--opening{display:block;-webkit-transform:scale(.8);transform:scale(.8);opacity:0}.forge-popup--closed{display:block;opacity:0;-webkit-transition:opacity 120ms linear;transition:opacity 120ms linear}.forge-popup--open{display:block;-webkit-transform:scale(1);transform:scale(1);opacity:1}.forge-popup--select{border-top-left-radius:0;border-top-right-radius:0;max-height:256px;overflow-y:auto}:host{z-index:10;z-index:var(--forge-z-index-popup,10);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;position:absolute;overflow:visible}:host([hidden]){display:none}",n=class extends A{constructor(){super();x(this,D,W),this._foundation=new d(new c(this))}static get observedAttributes(){return[o.attributes.OPEN,o.attributes.PLACEMENT,o.attributes.MANAGE_FOCUS,o.attributes.ANIMATION_TYPE,o.attributes.STATIC,o.attributes.HIDE_WHEN_CLIPPED]}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,i,a){switch(e){case o.attributes.OPEN:this.open=_(a);break;case o.attributes.PLACEMENT:this.placement=a;break;case o.attributes.MANAGE_FOCUS:this.manageFocus=l(a);break;case o.attributes.ANIMATION_TYPE:this.animationType=a;break;case o.attributes.STATIC:this.static=l(a);break;case o.attributes.HIDE_WHEN_CLIPPED:this.hideWhenClipped=l(a);break}}position(){this._foundation.position()}};s([r()],n.prototype,"targetElement",2),s([r()],n.prototype,"placement",2),s([r()],n.prototype,"open",2),s([r()],n.prototype,"manageFocus",2),s([r()],n.prototype,"animationType",2),s([r()],n.prototype,"static",2),s([r()],n.prototype,"hideWhenClipped",2),s([r()],n.prototype,"openCallback",2),s([r()],n.prototype,"closeCallback",2),s([r()],n.prototype,"offset",2),n=s([I({name:o.elementName})],n);function fe(){T(n)}export{o as a,O as b,c,d,n as e,fe as f};
7
- //# sourceMappingURL=chunk.DRFU6POI.js.map