@tylertech/forge 2.15.0 → 2.16.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 (140) hide show
  1. package/custom-elements.json +240 -86
  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/autocomplete/index.js +1 -1
  6. package/dist/esm/chip-field/index.js +1 -1
  7. package/dist/esm/chunks/{chunk.YBEBD4CN.js → chunk.22OZJNVS.js} +2 -2
  8. package/dist/esm/chunks/chunk.26XTVQKW.js +7 -0
  9. package/dist/esm/chunks/chunk.26XTVQKW.js.map +7 -0
  10. package/dist/esm/chunks/{chunk.X5LGVZGO.js → chunk.27TSALYN.js} +2 -2
  11. package/dist/esm/chunks/chunk.27TSALYN.js.map +7 -0
  12. package/dist/esm/chunks/{chunk.7HQCLSUK.js → chunk.6LMDKS5P.js} +2 -2
  13. package/dist/esm/chunks/{chunk.7HQCLSUK.js.map → chunk.6LMDKS5P.js.map} +1 -1
  14. package/dist/esm/chunks/{chunk.J2H5RXTX.js → chunk.7BESNUTG.js} +2 -2
  15. package/dist/esm/chunks/chunk.7LI25R6R.js +7 -0
  16. package/dist/esm/chunks/chunk.7LI25R6R.js.map +7 -0
  17. package/dist/esm/chunks/chunk.A47X5VG3.js +7 -0
  18. package/dist/esm/chunks/chunk.A47X5VG3.js.map +7 -0
  19. package/dist/esm/chunks/{chunk.MXTDW27J.js → chunk.BUCIIOGE.js} +2 -2
  20. package/dist/esm/chunks/chunk.EE25TGNW.js +7 -0
  21. package/dist/esm/chunks/chunk.EE25TGNW.js.map +7 -0
  22. package/dist/esm/chunks/chunk.GCR7QZRO.js +7 -0
  23. package/dist/esm/chunks/chunk.GCR7QZRO.js.map +7 -0
  24. package/dist/esm/chunks/{chunk.XHV3GQ7L.js → chunk.HI2DQJZG.js} +2 -2
  25. package/dist/esm/chunks/{chunk.44IJE5UL.js → chunk.HMCOY5WC.js} +2 -2
  26. package/dist/esm/chunks/chunk.HMCOY5WC.js.map +7 -0
  27. package/dist/esm/chunks/{chunk.E6CYXNS2.js → chunk.IJW7Z6YD.js} +2 -2
  28. package/dist/esm/chunks/{chunk.RHFNK6EE.js → chunk.K4DGAJOM.js} +2 -2
  29. package/dist/esm/chunks/{chunk.JE7CPIR4.js → chunk.K4M53T3A.js} +2 -2
  30. package/dist/esm/chunks/{chunk.ESR2NHOS.js → chunk.KKMKGN2I.js} +2 -2
  31. package/dist/esm/chunks/{chunk.MHOS3IHQ.js → chunk.MUEXD4SD.js} +2 -2
  32. package/dist/esm/chunks/{chunk.O73S5LF3.js → chunk.P4EW5GAS.js} +2 -2
  33. package/dist/esm/chunks/{chunk.OZ5BPXNV.js → chunk.REH25ELY.js} +2 -2
  34. package/dist/esm/chunks/chunk.TQCGXWZF.js +7 -0
  35. package/dist/esm/chunks/chunk.TQCGXWZF.js.map +7 -0
  36. package/dist/esm/chunks/{chunk.HU27X3IT.js → chunk.UDAWTDPV.js} +2 -2
  37. package/dist/esm/chunks/chunk.VPH7GX4C.js +7 -0
  38. package/dist/esm/chunks/chunk.VPH7GX4C.js.map +7 -0
  39. package/dist/esm/chunks/chunk.XZOIRI4V.js +7 -0
  40. package/dist/esm/chunks/chunk.XZOIRI4V.js.map +7 -0
  41. package/dist/esm/chunks/chunk.Y5A7RQ5M.js +7 -0
  42. package/dist/esm/chunks/chunk.Y5A7RQ5M.js.map +7 -0
  43. package/dist/esm/chunks/{chunk.DFJUCHEO.js → chunk.YUCLBBES.js} +2 -2
  44. package/dist/esm/chunks/chunk.YWVKDJXZ.js +7 -0
  45. package/dist/esm/chunks/chunk.YWVKDJXZ.js.map +7 -0
  46. package/dist/esm/date-picker/index.js +1 -1
  47. package/dist/esm/date-range-picker/index.js +1 -1
  48. package/dist/esm/expansion-panel/index.js +1 -1
  49. package/dist/esm/index.js +1 -1
  50. package/dist/esm/list-dropdown/index.js +1 -1
  51. package/dist/esm/menu/index.js +1 -1
  52. package/dist/esm/paginator/index.js +1 -1
  53. package/dist/esm/select/core/index.js +1 -1
  54. package/dist/esm/select/index.js +1 -1
  55. package/dist/esm/select/select/index.js +1 -1
  56. package/dist/esm/select/select-dropdown/index.js +1 -1
  57. package/dist/esm/split-view/index.js +1 -1
  58. package/dist/esm/split-view/split-view/index.js +1 -1
  59. package/dist/esm/split-view/split-view-panel/index.js +1 -1
  60. package/dist/esm/stack/index.js +1 -1
  61. package/dist/esm/stepper/index.js +1 -1
  62. package/dist/esm/stepper/step/index.js +1 -1
  63. package/dist/esm/stepper/stepper/index.js +1 -1
  64. package/dist/esm/table/index.js +1 -1
  65. package/dist/esm/text-field/index.js +1 -1
  66. package/dist/esm/time-picker/index.js +1 -1
  67. package/esm/autocomplete/autocomplete-constants.d.ts +1 -0
  68. package/esm/autocomplete/autocomplete-constants.js +1 -0
  69. package/esm/autocomplete/autocomplete-foundation.d.ts +5 -0
  70. package/esm/autocomplete/autocomplete-foundation.js +19 -2
  71. package/esm/autocomplete/autocomplete.d.ts +3 -0
  72. package/esm/autocomplete/autocomplete.js +7 -0
  73. package/esm/chip-field/chip-field-foundation.d.ts +1 -1
  74. package/esm/date-picker/base/base-date-picker-adapter.d.ts +2 -2
  75. package/esm/date-picker/base/base-date-picker-foundation.d.ts +2 -2
  76. package/esm/date-picker/base/base-date-picker-foundation.js +8 -5
  77. package/esm/date-picker/date-picker-adapter.js +5 -7
  78. package/esm/date-range-picker/date-range-picker-adapter.d.ts +4 -2
  79. package/esm/date-range-picker/date-range-picker-adapter.js +20 -18
  80. package/esm/date-range-picker/date-range-picker-foundation.d.ts +4 -1
  81. package/esm/date-range-picker/date-range-picker-foundation.js +48 -14
  82. package/esm/expansion-panel/expansion-panel-constants.d.ts +2 -0
  83. package/esm/expansion-panel/expansion-panel-constants.js +3 -1
  84. package/esm/expansion-panel/expansion-panel-foundation.js +4 -1
  85. package/esm/expansion-panel/expansion-panel.js +1 -1
  86. package/esm/field/field-adapter.d.ts +4 -2
  87. package/esm/field/field-adapter.js +5 -2
  88. package/esm/field/field-foundation.d.ts +2 -2
  89. package/esm/field/field-foundation.js +7 -9
  90. package/esm/select/core/base-select-foundation.js +8 -3
  91. package/esm/split-view/split-view/split-view-adapter.js +3 -1
  92. package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
  93. package/esm/stack/stack-constants.d.ts +2 -0
  94. package/esm/stack/stack-constants.js +1 -0
  95. package/esm/stack/stack-foundation.d.ts +4 -4
  96. package/esm/stack/stack-foundation.js +2 -2
  97. package/esm/stack/stack.d.ts +3 -3
  98. package/esm/stack/stack.js +1 -1
  99. package/esm/text-field/text-field-adapter.d.ts +1 -1
  100. package/esm/text-field/text-field-adapter.js +4 -3
  101. package/esm/time-picker/time-picker-adapter.js +4 -7
  102. package/esm/time-picker/time-picker-foundation.js +9 -6
  103. package/package.json +1 -1
  104. package/styles/stack/_mixins.scss +1 -1
  105. package/styles/stack/stack.scss +4 -3
  106. package/dist/esm/chunks/chunk.44IJE5UL.js.map +0 -7
  107. package/dist/esm/chunks/chunk.DQJPIDVW.js +0 -7
  108. package/dist/esm/chunks/chunk.DQJPIDVW.js.map +0 -7
  109. package/dist/esm/chunks/chunk.HV6SPRC4.js +0 -7
  110. package/dist/esm/chunks/chunk.HV6SPRC4.js.map +0 -7
  111. package/dist/esm/chunks/chunk.II4Q4QKJ.js +0 -7
  112. package/dist/esm/chunks/chunk.II4Q4QKJ.js.map +0 -7
  113. package/dist/esm/chunks/chunk.LDN4HLF7.js +0 -7
  114. package/dist/esm/chunks/chunk.LDN4HLF7.js.map +0 -7
  115. package/dist/esm/chunks/chunk.LFLREB3C.js +0 -7
  116. package/dist/esm/chunks/chunk.LFLREB3C.js.map +0 -7
  117. package/dist/esm/chunks/chunk.NW7NV2A2.js +0 -7
  118. package/dist/esm/chunks/chunk.NW7NV2A2.js.map +0 -7
  119. package/dist/esm/chunks/chunk.SAQVWOVK.js +0 -7
  120. package/dist/esm/chunks/chunk.SAQVWOVK.js.map +0 -7
  121. package/dist/esm/chunks/chunk.SN5XYZZP.js +0 -7
  122. package/dist/esm/chunks/chunk.SN5XYZZP.js.map +0 -7
  123. package/dist/esm/chunks/chunk.UF43SSFY.js +0 -7
  124. package/dist/esm/chunks/chunk.UF43SSFY.js.map +0 -7
  125. package/dist/esm/chunks/chunk.ULIFS3UR.js +0 -7
  126. package/dist/esm/chunks/chunk.ULIFS3UR.js.map +0 -7
  127. package/dist/esm/chunks/chunk.X5LGVZGO.js.map +0 -7
  128. /package/dist/esm/chunks/{chunk.YBEBD4CN.js.map → chunk.22OZJNVS.js.map} +0 -0
  129. /package/dist/esm/chunks/{chunk.J2H5RXTX.js.map → chunk.7BESNUTG.js.map} +0 -0
  130. /package/dist/esm/chunks/{chunk.MXTDW27J.js.map → chunk.BUCIIOGE.js.map} +0 -0
  131. /package/dist/esm/chunks/{chunk.XHV3GQ7L.js.map → chunk.HI2DQJZG.js.map} +0 -0
  132. /package/dist/esm/chunks/{chunk.E6CYXNS2.js.map → chunk.IJW7Z6YD.js.map} +0 -0
  133. /package/dist/esm/chunks/{chunk.RHFNK6EE.js.map → chunk.K4DGAJOM.js.map} +0 -0
  134. /package/dist/esm/chunks/{chunk.JE7CPIR4.js.map → chunk.K4M53T3A.js.map} +0 -0
  135. /package/dist/esm/chunks/{chunk.ESR2NHOS.js.map → chunk.KKMKGN2I.js.map} +0 -0
  136. /package/dist/esm/chunks/{chunk.MHOS3IHQ.js.map → chunk.MUEXD4SD.js.map} +0 -0
  137. /package/dist/esm/chunks/{chunk.O73S5LF3.js.map → chunk.P4EW5GAS.js.map} +0 -0
  138. /package/dist/esm/chunks/{chunk.OZ5BPXNV.js.map → chunk.REH25ELY.js.map} +0 -0
  139. /package/dist/esm/chunks/{chunk.HU27X3IT.js.map → chunk.UDAWTDPV.js.map} +0 -0
  140. /package/dist/esm/chunks/{chunk.DFJUCHEO.js.map → chunk.YUCLBBES.js.map} +0 -0
@@ -17,7 +17,7 @@ export declare class ChipFieldFoundation extends FieldFoundation implements IChi
17
17
  initialize(): void;
18
18
  disconnect(): void;
19
19
  private _onInputContainerMouseDown;
20
- protected _onBlur(event: Event): void;
20
+ protected _onBlur(event: FocusEvent): void;
21
21
  private _onRootKeyDown;
22
22
  private _onKeyDown;
23
23
  private _focusNextMember;
@@ -24,7 +24,7 @@ export interface IBaseDatePickerAdapter extends IBaseAdapter {
24
24
  tryFocusInput(): void;
25
25
  tryBlurInput(): void;
26
26
  isInputDisabled(): boolean;
27
- isInputFocused(): boolean;
27
+ isInputFocused(target?: EventTarget | null): boolean;
28
28
  setDisabled(value: boolean): void;
29
29
  getInputValue(): string;
30
30
  setInputValue(value: string, emitEvents: boolean): void;
@@ -63,7 +63,7 @@ export declare abstract class BaseDatePickerAdapter<T extends BaseComponent> ext
63
63
  abstract tryFocusInput(): void;
64
64
  abstract tryBlurInput(): void;
65
65
  abstract isInputDisabled(): boolean;
66
- abstract isInputFocused(): boolean;
66
+ abstract isInputFocused(target?: EventTarget | null): boolean;
67
67
  abstract setDisabled(value: boolean): void;
68
68
  abstract addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;
69
69
  abstract removeInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;
@@ -88,8 +88,8 @@ export declare abstract class BaseDatePickerFoundation<TAdapter extends IBaseDat
88
88
  protected _removeInputChangeListeners(): void;
89
89
  protected _destroyListeners(): void;
90
90
  protected _onInput(evt: Event): void;
91
- protected _onInputFocus(evt: Event): void;
92
- protected _onInputBlur(evt: Event): void;
91
+ protected _onInputFocus(evt: FocusEvent): void;
92
+ protected _onInputBlur(evt: FocusEvent): void;
93
93
  protected _openCalendar(emitOpenEvent?: boolean): void;
94
94
  protected _closeCalendar(emitCloseEvent?: boolean): void;
95
95
  protected _onInputKeydown(evt: KeyboardEvent): void;
@@ -93,8 +93,14 @@ export class BaseDatePickerFoundation {
93
93
  }
94
94
  _onInputFocus(evt) {
95
95
  this._adapter.selectInputText();
96
+ if (this.masked && this.showMaskFormat) {
97
+ this._applyMask();
98
+ }
96
99
  }
97
100
  _onInputBlur(evt) {
101
+ if (this.masked && this.showMaskFormat) {
102
+ this._applyMask();
103
+ }
98
104
  this._formatInputValue();
99
105
  if (this._open && !this._adapter.isInputFocused()) {
100
106
  this._closeCalendar(true);
@@ -326,7 +332,7 @@ export class BaseDatePickerFoundation {
326
332
  }
327
333
  }
328
334
  _isDateValueAcceptable(value) {
329
- if (!value) {
335
+ if (!value || this._allowInvalidDate) {
330
336
  return true;
331
337
  }
332
338
  const passesMinDate = () => this._min && !this._allowInvalidDate ? this._min.getTime() <= value.getTime() : true;
@@ -339,7 +345,7 @@ export class BaseDatePickerFoundation {
339
345
  }
340
346
  _initializeMask() {
341
347
  const options = {
342
- showMaskFormat: this._showMaskFormat,
348
+ showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),
343
349
  pattern: this._maskFormat,
344
350
  onChange: (value) => this._handleInput(value)
345
351
  };
@@ -515,9 +521,6 @@ export class BaseDatePickerFoundation {
515
521
  set showMaskFormat(value) {
516
522
  if (this._showMaskFormat !== value) {
517
523
  this._showMaskFormat = value;
518
- if (this._isInitialized) {
519
- this._applyMask();
520
- }
521
524
  }
522
525
  }
523
526
  get notifyInputValueChanges() {
@@ -21,16 +21,14 @@ export class DatePickerAdapter extends BaseDatePickerAdapter {
21
21
  this._calendarDropdown = new CalendarDropdown(targetElement, this._dropdownIdentifier);
22
22
  }
23
23
  initializeMask(options) {
24
- if (this._inputMask) {
25
- this._inputMask.destroy();
26
- }
24
+ var _a;
25
+ (_a = this._inputMask) === null || _a === void 0 ? void 0 : _a.destroy();
27
26
  this._inputMask = new DateInputMask(this._inputElement, options);
28
27
  }
29
28
  destroyMask() {
30
- if (this._inputMask) {
31
- this._inputMask.destroy();
32
- this._inputMask = undefined;
33
- }
29
+ var _a;
30
+ (_a = this._inputMask) === null || _a === void 0 ? void 0 : _a.destroy();
31
+ this._inputMask = undefined;
34
32
  }
35
33
  initializeAccessibility() {
36
34
  this._inputElement.setAttribute('autocomplete', 'off');
@@ -20,6 +20,7 @@ export interface IDateRangePickerAdapter extends IBaseDatePickerAdapter {
20
20
  tryFocusInput(): void;
21
21
  tryBlurInput(): void;
22
22
  selectToInputText(): void;
23
+ destroyToMask(): void;
23
24
  }
24
25
  export declare class DateRangePickerAdapter extends BaseDatePickerAdapter<IDateRangePickerComponent> implements IDateRangePickerAdapter {
25
26
  private _fromInputElement;
@@ -32,9 +33,10 @@ export declare class DateRangePickerAdapter extends BaseDatePickerAdapter<IDateR
32
33
  protected _initializeInput(): void;
33
34
  protected _initializeCalendarDropdown(): void;
34
35
  initializeMask(fromOptions: IDateInputMaskOptions): void;
36
+ destroyMask(): void;
35
37
  initializeToMask(toOptions: IDateInputMaskOptions): void;
38
+ destroyToMask(): void;
36
39
  destroy(): void;
37
- destroyMask(): void;
38
40
  private _destroyToValueChangeListener;
39
41
  initializeAccessibility(): void;
40
42
  addInputListener(type: string, listener: (event: Event) => void, capture?: boolean): void;
@@ -50,7 +52,7 @@ export declare class DateRangePickerAdapter extends BaseDatePickerAdapter<IDateR
50
52
  setInputValue(value: string, emitEvents: boolean): void;
51
53
  setToInputValue(value: string, emitEvents: boolean): void;
52
54
  isInputDisabled(): boolean;
53
- isInputFocused(): boolean;
55
+ isInputFocused(target?: EventTarget | null): boolean;
54
56
  getInputValue(): string;
55
57
  getToInputValue(): string;
56
58
  setDisabled(isDisabled: boolean): void;
@@ -26,31 +26,29 @@ export class DateRangePickerAdapter extends BaseDatePickerAdapter {
26
26
  this._calendarDropdown = new CalendarDropdown(targetElement, this._dropdownIdentifier);
27
27
  }
28
28
  initializeMask(fromOptions) {
29
- if (this._fromInputMask) {
30
- this._fromInputMask.destroy();
31
- }
29
+ var _a;
30
+ (_a = this._fromInputMask) === null || _a === void 0 ? void 0 : _a.destroy();
32
31
  this._fromInputMask = new DateInputMask(this._fromInputElement, fromOptions);
33
32
  }
33
+ destroyMask() {
34
+ var _a;
35
+ (_a = this._fromInputMask) === null || _a === void 0 ? void 0 : _a.destroy();
36
+ this._fromInputMask = undefined;
37
+ }
34
38
  initializeToMask(toOptions) {
35
- if (this._toInputMask) {
36
- this._toInputMask.destroy();
37
- }
39
+ var _a;
40
+ (_a = this._toInputMask) === null || _a === void 0 ? void 0 : _a.destroy();
38
41
  this._toInputMask = new DateInputMask(this._toInputElement, toOptions);
39
42
  }
43
+ destroyToMask() {
44
+ var _a;
45
+ (_a = this._toInputMask) === null || _a === void 0 ? void 0 : _a.destroy();
46
+ this._toInputMask = undefined;
47
+ }
40
48
  destroy() {
41
49
  super.destroy();
42
50
  this._destroyToValueChangeListener();
43
51
  }
44
- destroyMask() {
45
- if (this._fromInputMask) {
46
- this._fromInputMask.destroy();
47
- this._fromInputMask = undefined;
48
- }
49
- if (this._toInputMask) {
50
- this._toInputMask.destroy();
51
- this._toInputMask = undefined;
52
- }
53
- }
54
52
  _destroyToValueChangeListener() {
55
53
  if (typeof this._toValueChangeListener === 'function') {
56
54
  this._toValueChangeListener();
@@ -142,8 +140,12 @@ export class DateRangePickerAdapter extends BaseDatePickerAdapter {
142
140
  isInputDisabled() {
143
141
  return this._fromInputElement.disabled;
144
142
  }
145
- isInputFocused() {
146
- return this._toInputElement === getActiveElement() || this._fromInputElement === getActiveElement();
143
+ isInputFocused(target) {
144
+ if (target && this._toInputElement === target || this._fromInputElement === target) {
145
+ return true;
146
+ }
147
+ const activeEl = getActiveElement();
148
+ return this._toInputElement === activeEl || this._fromInputElement === activeEl;
147
149
  }
148
150
  getInputValue() {
149
151
  return this._fromInputElement.value;
@@ -33,6 +33,7 @@ export declare class DateRangePickerFoundation extends BaseDatePickerFoundation<
33
33
  protected _onToday(): void;
34
34
  protected _onClear(): void;
35
35
  protected _getCurrentValue(): IDatePickerRange | null | undefined;
36
+ private _applyToMask;
36
37
  private _formatToInputValue;
37
38
  protected _setFormattedInputValue(suppressValueChanges?: boolean): void;
38
39
  private _setFormattedToInputValue;
@@ -42,7 +43,7 @@ export declare class DateRangePickerFoundation extends BaseDatePickerFoundation<
42
43
  protected _onDateSelected(event: ICalendarDateSelectEventData): void;
43
44
  protected _applyMin(): void;
44
45
  protected _applyMax(): void;
45
- protected _initializeMask(): void;
46
+ protected _initializeToMask(): void;
46
47
  protected _applyDisabledDates(): void;
47
48
  protected _applyDisabledDaysOfWeek(): void;
48
49
  private _onToInput;
@@ -50,6 +51,8 @@ export declare class DateRangePickerFoundation extends BaseDatePickerFoundation<
50
51
  private _handleToInput;
51
52
  private _onToInputFocus;
52
53
  private _onToInputBlur;
54
+ protected _onInputFocus(evt: FocusEvent): void;
55
+ protected _onInputBlur(evt: FocusEvent): void;
53
56
  protected _onInputValueChanged(value: string): void;
54
57
  private _onToInputValueChanged;
55
58
  get value(): IDatePickerRange | null | undefined;
@@ -21,6 +21,7 @@ export class DateRangePickerFoundation extends BaseDatePickerFoundation {
21
21
  this._toInputBlurListener = evt => this._onToInputBlur(evt);
22
22
  }
23
23
  _initializeState() {
24
+ this._applyToMask();
24
25
  if (!this._from) {
25
26
  this._from = this._coerceDateValue(this._adapter.getInputValue());
26
27
  }
@@ -92,6 +93,15 @@ export class DateRangePickerFoundation extends BaseDatePickerFoundation {
92
93
  _getCurrentValue() {
93
94
  return this._value;
94
95
  }
96
+ _applyToMask() {
97
+ if (this._masked) {
98
+ this._initializeToMask();
99
+ }
100
+ else {
101
+ this._adapter.destroyToMask();
102
+ this._formatToInputValue();
103
+ }
104
+ }
95
105
  _formatToInputValue() {
96
106
  const inputValue = this._adapter.getToInputValue();
97
107
  if (inputValue) {
@@ -201,22 +211,21 @@ export class DateRangePickerFoundation extends BaseDatePickerFoundation {
201
211
  }
202
212
  super._applyMax();
203
213
  }
204
- _initializeMask() {
205
- super._initializeMask();
206
- // We also need to initialize our mask for the "to" input
207
- if (this._masked) {
208
- const options = {
209
- showMaskFormat: this._showMaskFormat,
210
- pattern: this._maskFormat,
211
- onChange: (value) => this._handleToInput(value)
214
+ _initializeToMask() {
215
+ if (!this._masked) {
216
+ return;
217
+ }
218
+ const options = {
219
+ showMaskFormat: this._showMaskFormat && this._adapter.isInputFocused(),
220
+ pattern: this._maskFormat,
221
+ onChange: (value) => this._handleToInput(value)
222
+ };
223
+ if (this._prepareMaskCallback) {
224
+ options.prepareCallback = (value, masked, flags, maskInstance) => {
225
+ return this._prepareMaskCallback.call(null, value, masked, flags, maskInstance);
212
226
  };
213
- if (this._prepareMaskCallback) {
214
- options.prepareCallback = (value, masked, flags, maskInstance) => {
215
- return this._prepareMaskCallback.call(null, value, masked, flags, maskInstance);
216
- };
217
- }
218
- this._adapter.initializeToMask(options);
219
227
  }
228
+ this._adapter.initializeToMask(options);
220
229
  }
221
230
  _applyDisabledDates() {
222
231
  if (this._from && !this._isDateValueAcceptable(this._from)) {
@@ -263,13 +272,38 @@ export class DateRangePickerFoundation extends BaseDatePickerFoundation {
263
272
  }
264
273
  _onToInputFocus() {
265
274
  this._adapter.selectToInputText();
275
+ if (this.masked && this._showMaskFormat) {
276
+ this._initializeMask();
277
+ this._initializeToMask();
278
+ }
266
279
  }
267
280
  _onToInputBlur(evt) {
281
+ if (this._masked && !this._adapter.isInputFocused(evt.relatedTarget)) {
282
+ this._initializeMask();
283
+ this._initializeToMask();
284
+ }
268
285
  this._formatToInputValue();
269
286
  if (this._open) {
270
287
  this._closeCalendar(true);
271
288
  }
272
289
  }
290
+ _onInputFocus(evt) {
291
+ this._adapter.selectInputText();
292
+ if (this.masked && this._showMaskFormat) {
293
+ this._initializeMask();
294
+ this._initializeToMask();
295
+ }
296
+ }
297
+ _onInputBlur(evt) {
298
+ if (this.masked && !this._adapter.isInputFocused(evt.relatedTarget)) {
299
+ this._initializeMask();
300
+ this._initializeToMask();
301
+ }
302
+ this._formatInputValue();
303
+ if (this._open && !this._adapter.isInputFocused(evt.relatedTarget)) {
304
+ this._closeCalendar(true);
305
+ }
306
+ }
273
307
  _onInputValueChanged(value) {
274
308
  if (this._masked) {
275
309
  return;
@@ -24,6 +24,8 @@ export declare const EXPANSION_PANEL_CONSTANTS: {
24
24
  OPEN: string;
25
25
  ORIENTATION: string;
26
26
  USE_ANIMATIONS: string;
27
+ IGNORE: string;
28
+ IGNORE_ALT: string;
27
29
  };
28
30
  numbers: {
29
31
  COLLAPSE_ANIMATION_DURATION: number;
@@ -24,7 +24,9 @@ const events = {
24
24
  const attributes = {
25
25
  OPEN: 'open',
26
26
  ORIENTATION: 'orientation',
27
- USE_ANIMATIONS: 'use-animations'
27
+ USE_ANIMATIONS: 'use-animations',
28
+ IGNORE: 'data-forge-ignore',
29
+ IGNORE_ALT: 'forge-ignore'
28
30
  };
29
31
  const numbers = {
30
32
  COLLAPSE_ANIMATION_DURATION: 400,
@@ -3,7 +3,7 @@
3
3
  * Copyright 2023 Tyler Technologies, Inc.
4
4
  * License: Apache-2.0
5
5
  */
6
- import { debounce } from '@tylertech/forge-core';
6
+ import { debounce, getEventPath } from '@tylertech/forge-core';
7
7
  import { EXPANSION_PANEL_CONSTANTS } from './expansion-panel-constants';
8
8
  export class ExpansionPanelFoundation {
9
9
  constructor(_adapter) {
@@ -115,6 +115,9 @@ export class ExpansionPanelFoundation {
115
115
  * @param {MouseEvent} evt The click event.
116
116
  */
117
117
  _onClick(evt) {
118
+ if (getEventPath(evt).find(p => p.nodeType === 1 && (p.hasAttribute(EXPANSION_PANEL_CONSTANTS.attributes.IGNORE) || p.hasAttribute(EXPANSION_PANEL_CONSTANTS.attributes.IGNORE_ALT)))) {
119
+ return;
120
+ }
118
121
  evt.stopPropagation();
119
122
  this._toggle();
120
123
  this._emitEvent();
@@ -9,7 +9,7 @@ import { BaseComponent } from '../core/base/base-component';
9
9
  import { ExpansionPanelAdapter } from './expansion-panel-adapter';
10
10
  import { EXPANSION_PANEL_CONSTANTS } from './expansion-panel-constants';
11
11
  import { ExpansionPanelFoundation } from './expansion-panel-foundation';
12
- const template = '<template><div class=\"forge-expansion-panel\" part=\"root\"><div class=\"forge-expansion-panel__header\" role=\"button\" aria-controls=\"content\" aria-expanded=\"false\" part=\"header\"><slot name=\"header\"></slot></div><div id=\"content\" role=\"group\" class=\"forge-expansion-panel__content\" style=\"height: 0; opacity: 0; visibility: hidden;\" part=\"content\"><slot></slot></div></div></template>';
12
+ const template = '<template><div class=\"forge-expansion-panel\" part=\"root\"><div class=\"forge-expansion-panel__header\" part=\"header\"><slot name=\"header\"></slot></div><div class=\"forge-expansion-panel__content\" style=\"height: 0; opacity: 0; visibility: hidden;\" part=\"content\"><slot></slot></div></div></template>';
13
13
  const styles = '.forge-expansion-panel{display:block;display:var(--forge-expansion-panel-display,block);height:auto;height:var(--forge-expansion-panel-height,auto)}.forge-expansion-panel__header{outline:0}.forge-expansion-panel__header:hover{cursor:pointer}.forge-expansion-panel__header forge-open-icon{margin-left:auto}.forge-expansion-panel__content{overflow:hidden;overflow:var(--forge-expansion-panel-content-overflow,hidden);max-height:none;max-height:var(--forge-expansion-panel-content-max-height,none)}.forge-expansion-panel__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-expansion-panel__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-expansion-panel__content::-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-expansion-panel__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}:host{display:block}:host([hidden]){display:none}';
14
14
  /**
15
15
  * A web component that encapsulates the functionality of expanding/collapsing content when clicked.
@@ -18,6 +18,7 @@ export interface IFieldAdapter extends IBaseAdapter {
18
18
  removeLabelSlotListener(listener: (evt: Event) => void): void;
19
19
  setLabelClass(name: string): void;
20
20
  removeLabelClass(name: string): void;
21
+ isLabelFloating(): boolean;
21
22
  addLeadingSlotListener(listener: (evt: Event) => void): void;
22
23
  removeLeadingSlotListener(listener: (evt: Event) => void): void;
23
24
  addTrailingSlotListener(listener: (evt: Event) => void): void;
@@ -29,7 +30,7 @@ export interface IFieldAdapter extends IBaseAdapter {
29
30
  hasLeadingNodes(): boolean;
30
31
  hasPlaceholder(): boolean;
31
32
  hasTrailingNodes(): boolean;
32
- inputHasFocus(): boolean;
33
+ inputHasFocus(target?: EventTarget | null): boolean;
33
34
  inputHasValue(): boolean;
34
35
  fieldHasValue(): boolean;
35
36
  isDisabled(): boolean;
@@ -81,9 +82,10 @@ export declare class FieldAdapter extends BaseAdapter<IFieldComponent> implement
81
82
  inputHasValue(): boolean;
82
83
  fieldHasValue(): boolean;
83
84
  hasPlaceholder(): boolean;
84
- inputHasFocus(): boolean;
85
+ inputHasFocus(target?: EventTarget | null): boolean;
85
86
  setLabelClass(name: string): void;
86
87
  removeLabelClass(name: string): void;
88
+ isLabelFloating(): boolean;
87
89
  setRoomy(isRoomy: boolean): void;
88
90
  setDense(isDense: boolean): void;
89
91
  hasLeadingNodes(): boolean;
@@ -104,8 +104,8 @@ export class FieldAdapter extends BaseAdapter {
104
104
  hasPlaceholder() {
105
105
  return this._inputElement.placeholder ? this._inputElement.placeholder.trim().length > 0 : false;
106
106
  }
107
- inputHasFocus() {
108
- return this._inputElement === getActiveElement();
107
+ inputHasFocus(target) {
108
+ return this._inputElement === target || this._inputElement === getActiveElement();
109
109
  }
110
110
  setLabelClass(name) {
111
111
  if (this._labelElement) {
@@ -117,6 +117,9 @@ export class FieldAdapter extends BaseAdapter {
117
117
  this._labelElement.classList.remove(name);
118
118
  }
119
119
  }
120
+ isLabelFloating() {
121
+ return this._component.hasAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);
122
+ }
120
123
  setRoomy(isRoomy) {
121
124
  toggleClass(this._rootElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);
122
125
  }
@@ -55,8 +55,8 @@ export declare class FieldFoundation {
55
55
  protected _detectTrailingContent(): void;
56
56
  protected _detectAddonEndContent(): void;
57
57
  protected _detectSlottedContent(): void;
58
- protected _onFocus(event: Event): void;
59
- protected _onBlur(event: Event): void;
58
+ protected _onFocus(evt: FocusEvent): void;
59
+ protected _onBlur(evt: FocusEvent): void;
60
60
  protected _onValueChanged(value: any): void;
61
61
  protected _onInputAttributeChanged(name: string, value: string | null): void;
62
62
  protected _setShapeType(): void;
@@ -144,14 +144,12 @@ export class FieldFoundation {
144
144
  }
145
145
  }
146
146
  floatLabel(value) {
147
- var _a;
148
- if (((_a = this._floatingLabel) === null || _a === void 0 ? void 0 : _a.isFloating) === value) {
147
+ var _a, _b;
148
+ if (((_a = this._floatingLabel) === null || _a === void 0 ? void 0 : _a.isFloating) === value || this._adapter.isLabelFloating() === value) {
149
149
  return;
150
150
  }
151
151
  if (!value && this._floatLabelType === 'always') {
152
- if (this._floatingLabel) {
153
- this._floatingLabel.float(true, true);
154
- }
152
+ (_b = this._floatingLabel) === null || _b === void 0 ? void 0 : _b.float(true, true);
155
153
  this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING, '');
156
154
  return;
157
155
  }
@@ -228,20 +226,20 @@ export class FieldFoundation {
228
226
  this._detectTrailingContent();
229
227
  this._detectAddonEndContent();
230
228
  }
231
- _onFocus(event) {
229
+ _onFocus(evt) {
232
230
  this._adapter.setRootClass(FIELD_CONSTANTS.classes.FOCUSED);
233
231
  this._adapter.setLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);
234
232
  this.floatLabel(true);
235
233
  }
236
- _onBlur(event) {
237
- if (this._adapter.inputHasFocus()) {
234
+ _onBlur(evt) {
235
+ if (this._adapter.inputHasFocus(evt.relatedTarget)) {
238
236
  return;
239
237
  }
240
238
  this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);
241
239
  this._adapter.removeLabelClass(FIELD_CONSTANTS.classes.LABEL_FOCUSED);
242
240
  if (!this._adapter.fieldHasValue() && !this._adapter.hasPlaceholder()) {
243
- this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);
244
241
  this.floatLabel(false);
242
+ this._adapter.removeHostAttribute(FIELD_CONSTANTS.attributes.HOST_LABEL_FLOATING);
245
243
  }
246
244
  }
247
245
  _onValueChanged(value) {
@@ -291,7 +291,12 @@ export class BaseSelectFoundation extends ListDropdownAwareFoundation {
291
291
  }
292
292
  if (this._multiple) {
293
293
  if (this._selectedLabels.length) {
294
- return `${this._selectedLabels.length} ${this._selectedLabels.length === 1 ? 'option' : 'options'} selected`;
294
+ if (this._selectedLabels.length === 1) {
295
+ return this._selectedLabels[0];
296
+ }
297
+ else {
298
+ return `${this._selectedLabels.length} options selected`;
299
+ }
295
300
  }
296
301
  else {
297
302
  return '';
@@ -439,8 +444,8 @@ export class BaseSelectFoundation extends ListDropdownAwareFoundation {
439
444
  this._filterTimeout = undefined;
440
445
  }, 300);
441
446
  this._options = this._adapter.getOptions();
442
- // TODO(kieran.nichols): Enhance this to cycle through closest matches (see the native select)
443
- const matchedOption = this._flatOptions.find(option => !option.disabled && option.label.toLowerCase().startsWith(this._filterString));
447
+ // TODO: Enhance this to cycle through closest matches (see the native select)
448
+ const matchedOption = this._flatOptions.find(option => !option.disabled && option.label.toLowerCase().startsWith(this._filterString.toLowerCase()));
444
449
  if (matchedOption) {
445
450
  const optionIndex = this._flatOptions.indexOf(matchedOption);
446
451
  if (this._open) {
@@ -33,7 +33,9 @@ export class SplitViewAdapter extends BaseAdapter {
33
33
  */
34
34
  getSlottedPanels() {
35
35
  const nodeList = this._component.querySelectorAll(SPLIT_VIEW_CONSTANTS.selectors.PANEL);
36
- return Array.from(nodeList);
36
+ const panelArray = Array.from(nodeList);
37
+ const immediateChildPanels = panelArray.filter(panel => panel.parentElement === this._component);
38
+ return immediateChildPanels;
37
39
  }
38
40
  refitSlottedPanels(orientation) {
39
41
  // Check if the combined panel size is greater than the split view size along the relevant axis
@@ -14,7 +14,7 @@ import { SplitViewPanelAdapter } from './split-view-panel-adapter';
14
14
  import { IconComponent, IconRegistry } from '../../icon';
15
15
  import { RippleComponent } from '../../ripple';
16
16
  const template = '<template><div class=\"forge-split-view-panel\" id=\"root\" part=\"root\"><div class=\"forge-split-view-panel__handle\" id=\"handle\" part=\"handle\" role=\"separator\" aria-controls=\"content\" aria-grabbed=\"false\" tabindex=\"0\"><forge-icon class=\"forge-split-view-panel__icon\" id=\"icon\" part=\"icon\"></forge-icon><forge-ripple id=\"ripple\" part=\"ripple\"></forge-ripple></div><div class=\"forge-split-view-panel__content\" id=\"content\" part=\"content\" role=\"group\"><slot></slot></div></div></template>';
17
- const styles = '@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:\"\"}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-split-view-panel{display:-webkit-box;display:flex;width:100%;height:100%;overflow:hidden;contain:paint size}.forge-split-view-panel__handle{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-light,rgba(0,0,0,.54));background-color:#e0e0e0;background-color:var(--forge-theme-border-color,#e0e0e0);display:-webkit-box;display:flex;flex-shrink:0;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;outline:0}.forge-split-view-panel__content{-webkit-box-flex:1;flex:1;overflow:hidden}.forge-split-view-panel--closed{display:none}.forge-split-view-panel--disabled #handle{pointer-events:none}.forge-split-view-panel--disabled .forge-split-view-panel__icon{display:none}.forge-split-view-panel[orientation=horizontal]{min-width:8px;min-width:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{width:8px;width:var(--forge-split-view-handle-width,8px);cursor:var(--forge-split-view-panel-cursor)}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=end]{position:absolute;top:0;left:0;-webkit-animation-name:utlyfvf;animation-name:utlyfvf;-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 utlyfvf{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes utlyfvf{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:utlyfw4;animation-name:utlyfw4;-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 utlyfw4{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes utlyfw4{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:utlyfwc;animation-name:utlyfwc;-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 utlyfwc{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes utlyfwc{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:utlyfwy;animation-name:utlyfwy;-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 utlyfwy{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes utlyfwy{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:utlyfx9;animation-name:utlyfx9;-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 utlyfx9{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes utlyfx9{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:utlyfxr;animation-name:utlyfxr;-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 utlyfxr{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes utlyfxr{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:utlyfxw;animation-name:utlyfxw;-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 utlyfxw{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes utlyfxw{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:utlyfys;animation-name:utlyfys;-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 utlyfys{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes utlyfys{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:un5krnz;animation-name:un5krnz;-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 un5krnz{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes un5krnz{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:un5kror;animation-name:un5kror;-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 un5kror{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes un5kror{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:un5kroy;animation-name:un5kroy;-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 un5kroy{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes un5kroy{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:un5krpx;animation-name:un5krpx;-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 un5krpx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes un5krpx{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:un5krqv;animation-name:un5krqv;-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 un5krqv{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes un5krqv{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:un5krqx;animation-name:un5krqx;-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 un5krqx{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes un5krqx{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:un5krru;animation-name:un5krru;-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 un5krru{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes un5krru{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:un5krs8;animation-name:un5krs8;-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 un5krs8{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes un5krs8{from{-webkit-transform:none;transform:none}to{-webkit-transform:translateY(100%);transform:translateY(100%)}}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;-webkit-box-flex:0;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){-webkit-box-flex:1;flex:1}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel{width:100%;height:100%;min-width:0;min-height:0}:host(:not([resizable=start],[resizable=end])) .forge-split-view-panel__handle{display:none}';
18
18
  /**
19
19
  * The custom element class behind the `<forge-split-view-panel>` element.
20
20
  *
@@ -22,6 +22,8 @@ export declare const STACK_CONSTANTS: {
22
22
  DEFAULT_GAP: string;
23
23
  };
24
24
  };
25
+ export declare type StackAlignment = 'start' | 'center' | 'end';
26
+ /** @deprecated Use `StackAlignment` instead. */
25
27
  export declare enum StackAlignMode {
26
28
  Start = "start",
27
29
  Center = "center",
@@ -28,6 +28,7 @@ export const STACK_CONSTANTS = {
28
28
  selectors,
29
29
  strings
30
30
  };
31
+ /** @deprecated Use `StackAlignment` instead. */
31
32
  export var StackAlignMode;
32
33
  (function (StackAlignMode) {
33
34
  StackAlignMode["Start"] = "start";
@@ -5,13 +5,13 @@
5
5
  */
6
6
  import { ICustomElementFoundation } from '@tylertech/forge-core';
7
7
  import { IStackAdapter } from './stack-adapter';
8
- import { StackAlignMode } from './stack-constants';
8
+ import { StackAlignment } from './stack-constants';
9
9
  export interface IStackFoundation extends ICustomElementFoundation {
10
10
  inline: boolean;
11
11
  wrap: boolean;
12
12
  stretch: boolean;
13
13
  gap: string;
14
- alignment: StackAlignMode;
14
+ alignment: StackAlignment;
15
15
  }
16
16
  export declare class StackFoundation implements IStackFoundation {
17
17
  private _adapter;
@@ -34,6 +34,6 @@ export declare class StackFoundation implements IStackFoundation {
34
34
  get gap(): string;
35
35
  set gap(value: string);
36
36
  /** Controls the alignment of children */
37
- get alignment(): StackAlignMode;
38
- set alignment(value: StackAlignMode);
37
+ get alignment(): StackAlignment;
38
+ set alignment(value: StackAlignment);
39
39
  }