@tylertech/forge 3.10.5 → 3.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +341 -139
- package/dist/app-bar/forge-app-bar.css +11 -5
- package/dist/button/forge-button.css +12 -6
- package/dist/checkbox/forge-checkbox.css +21 -17
- package/dist/chips/forge-chips.css +10 -4
- package/dist/field/forge-field.css +7 -5
- package/dist/floating-action-button/forge-floating-action-button.css +10 -6
- package/dist/forge.css +6 -1
- package/dist/icon-button/forge-icon-button.css +10 -4
- package/dist/lib.js +22 -22
- package/dist/lib.js.map +4 -4
- package/dist/list/forge-list.css +57 -3
- package/dist/radio/forge-radio.css +20 -12
- package/dist/skip-link/forge-skip-link.css +36 -32
- package/dist/switch/forge-switch.css +7 -5
- package/dist/table/forge-table.css +6 -1
- package/dist/vscode.html-custom-data.json +53 -43
- package/esm/accordion/accordion.d.ts +2 -0
- package/esm/accordion/accordion.js +2 -0
- package/esm/app-bar/app-bar/app-bar-adapter.js +2 -2
- package/esm/app-bar/app-bar/app-bar.d.ts +1 -1
- package/esm/app-bar/app-bar/app-bar.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button.d.ts +1 -1
- package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.js +1 -1
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.js +2 -0
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +2 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +2 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +2 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +2 -0
- package/esm/app-bar/search/app-bar-search.d.ts +2 -0
- package/esm/app-bar/search/app-bar-search.js +2 -0
- package/esm/autocomplete/autocomplete.d.ts +2 -0
- package/esm/autocomplete/autocomplete.js +2 -0
- package/esm/backdrop/backdrop.d.ts +2 -0
- package/esm/backdrop/backdrop.js +2 -0
- package/esm/badge/badge.d.ts +2 -0
- package/esm/badge/badge.js +2 -0
- package/esm/button/base/base-button-adapter.js +2 -2
- package/esm/button-area/button-area-adapter.js +2 -2
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +2 -2
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +2 -0
- package/esm/button-toggle/button-toggle/button-toggle.js +2 -0
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +1 -1
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.js +1 -1
- package/esm/calendar/calendar.d.ts +2 -0
- package/esm/calendar/calendar.js +3 -1
- package/esm/card/card.d.ts +2 -0
- package/esm/card/card.js +2 -0
- package/esm/chip-field/chip-field.d.ts +2 -0
- package/esm/chip-field/chip-field.js +2 -0
- package/esm/chips/chip/chip-adapter.js +2 -2
- package/esm/chips/chip/chip.d.ts +2 -0
- package/esm/chips/chip/chip.js +2 -0
- package/esm/color-picker/color-picker.d.ts +2 -0
- package/esm/color-picker/color-picker.js +3 -1
- package/esm/core/utils/a11y-utils.js +17 -0
- package/esm/core/utils/utils.js +8 -2
- package/esm/date-picker/date-picker.d.ts +2 -0
- package/esm/date-picker/date-picker.js +2 -0
- package/esm/date-range-picker/date-range-picker.d.ts +2 -0
- package/esm/date-range-picker/date-range-picker.js +2 -0
- package/esm/deprecated/button/deprecated-button.js +3 -3
- package/esm/deprecated/icon-button/deprecated-icon-button.js +2 -2
- package/esm/drawer/drawer/drawer.d.ts +2 -0
- package/esm/drawer/drawer/drawer.js +3 -1
- package/esm/drawer/mini-drawer/mini-drawer.d.ts +2 -0
- package/esm/drawer/mini-drawer/mini-drawer.js +3 -1
- package/esm/drawer/modal-drawer/modal-drawer.d.ts +2 -0
- package/esm/drawer/modal-drawer/modal-drawer.js +3 -1
- package/esm/field/field-adapter.js +2 -2
- package/esm/field/field-core.d.ts +3 -3
- package/esm/focus-indicator/focus-indicator-constants.d.ts +1 -11
- package/esm/focus-indicator/focus-indicator-constants.js +2 -17
- package/esm/focus-indicator/focus-indicator.d.ts +52 -25
- package/esm/focus-indicator/focus-indicator.js +137 -61
- package/esm/focus-indicator/index.d.ts +0 -2
- package/esm/focus-indicator/index.js +0 -2
- package/esm/icon-button/icon-button.d.ts +2 -0
- package/esm/icon-button/icon-button.js +2 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.d.ts +2 -0
- package/esm/keyboard-shortcut/keyboard-shortcut.js +2 -0
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item-constants.js +1 -1
- package/esm/list/list-item/list-item-core.d.ts +2 -0
- package/esm/list/list-item/list-item-core.js +29 -6
- package/esm/list/list-item/list-item.d.ts +1 -0
- package/esm/list/list-item/list-item.js +2 -1
- package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -0
- package/esm/list-dropdown/list-dropdown-constants.js +6 -1
- package/esm/list-dropdown/list-dropdown-utils.js +28 -1
- package/esm/menu/menu.d.ts +2 -0
- package/esm/menu/menu.js +2 -0
- package/esm/page-state/page-state.d.ts +2 -1
- package/esm/page-state/page-state.js +2 -1
- package/esm/paginator/paginator.d.ts +2 -0
- package/esm/paginator/paginator.js +2 -0
- package/esm/popover/popover.js +1 -1
- package/esm/profile-card/profile-card.d.ts +2 -0
- package/esm/profile-card/profile-card.js +2 -0
- package/esm/select/core/base-select-constants.d.ts +4 -0
- package/esm/select/core/base-select-core.d.ts +22 -2
- package/esm/select/core/base-select-core.js +217 -40
- package/esm/select/option/option.d.ts +2 -0
- package/esm/select/option/option.js +2 -0
- package/esm/select/option-group/option-group.d.ts +2 -0
- package/esm/select/option-group/option-group.js +2 -0
- package/esm/select/select/select-constants.d.ts +5 -0
- package/esm/select/select/select-constants.js +5 -2
- package/esm/select/select/select.d.ts +14 -2
- package/esm/select/select/select.js +22 -1
- package/esm/select/select-dropdown/select-dropdown.d.ts +2 -0
- package/esm/select/select-dropdown/select-dropdown.js +2 -0
- package/esm/split-button/split-button.js +1 -1
- package/esm/split-view/split-view/split-view.d.ts +2 -0
- package/esm/split-view/split-view/split-view.js +2 -0
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +2 -0
- package/esm/split-view/split-view-panel/split-view-panel.js +3 -1
- package/esm/stepper/step/step.d.ts +2 -0
- package/esm/stepper/step/step.js +3 -1
- package/esm/stepper/stepper/stepper.d.ts +2 -0
- package/esm/stepper/stepper/stepper.js +2 -0
- package/esm/table/table-utils.js +3 -0
- package/esm/table/table.d.ts +2 -0
- package/esm/table/table.js +4 -1
- package/esm/tabs/tab/tab-adapter.js +2 -2
- package/esm/tabs/tab/tab.d.ts +2 -0
- package/esm/tabs/tab/tab.js +2 -0
- package/esm/time-picker/time-picker.d.ts +2 -0
- package/esm/time-picker/time-picker.js +2 -0
- package/esm/tooltip/tooltip-adapter.d.ts +6 -0
- package/esm/tooltip/tooltip-adapter.js +9 -0
- package/esm/tooltip/tooltip-constants.d.ts +1 -0
- package/esm/tooltip/tooltip-constants.js +2 -1
- package/esm/tooltip/tooltip-core.d.ts +20 -0
- package/esm/tooltip/tooltip-core.js +96 -2
- package/esm/tooltip/tooltip.js +1 -1
- package/esm/view-switcher/view/view.d.ts +2 -0
- package/esm/view-switcher/view/view.js +2 -0
- package/esm/view-switcher/view-switcher.d.ts +2 -0
- package/esm/view-switcher/view-switcher.js +2 -0
- package/package.json +4 -4
- package/sass/focus-indicator/focus-indicator.scss +1 -1
- package/sass/icon-button/forge-icon-button.scss +3 -3
- package/sass/list/forge-list.scss +6 -6
- package/sass/table/_core.scss +13 -1
- package/sass/tooltip/_core.scss +0 -2
- package/esm/focus-indicator/focus-indicator-adapter.d.ts +0 -29
- package/esm/focus-indicator/focus-indicator-adapter.js +0 -37
- package/esm/focus-indicator/focus-indicator-core.d.ts +0 -48
- package/esm/focus-indicator/focus-indicator-core.js +0 -129
|
@@ -15,6 +15,8 @@ export declare const SELECT_CONSTANTS: {
|
|
|
15
15
|
PLACEHOLDER: string;
|
|
16
16
|
OBSERVE_SCROLL: string;
|
|
17
17
|
OBSERVE_SCROLL_THRESHOLD: string;
|
|
18
|
+
SHOW_SELECT_ALL: string;
|
|
19
|
+
SELECT_ALL_LABEL: string;
|
|
18
20
|
};
|
|
19
21
|
attributes: {
|
|
20
22
|
OPEN: string;
|
|
@@ -26,6 +28,8 @@ export declare const SELECT_CONSTANTS: {
|
|
|
26
28
|
PLACEHOLDER: string;
|
|
27
29
|
OBSERVE_SCROLL: string;
|
|
28
30
|
OBSERVE_SCROLL_THRESHOLD: string;
|
|
31
|
+
SHOW_SELECT_ALL: string;
|
|
32
|
+
SELECT_ALL_LABEL: string;
|
|
29
33
|
};
|
|
30
34
|
selectors: {
|
|
31
35
|
FIELD: string;
|
|
@@ -34,6 +38,7 @@ export declare const SELECT_CONSTANTS: {
|
|
|
34
38
|
};
|
|
35
39
|
events: {
|
|
36
40
|
SCROLLED_BOTTOM: string;
|
|
41
|
+
SELECT_ALL: string;
|
|
37
42
|
};
|
|
38
43
|
};
|
|
39
44
|
export { type FieldDensity as SelectDensityType, type FieldShape as SelectShapeType } from '../../field/base/base-field-constants';
|
|
@@ -19,13 +19,16 @@ const observedAttributes = {
|
|
|
19
19
|
DISABLED: 'disabled',
|
|
20
20
|
PLACEHOLDER: 'placeholder',
|
|
21
21
|
OBSERVE_SCROLL: 'observe-scroll',
|
|
22
|
-
OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'
|
|
22
|
+
OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold',
|
|
23
|
+
SHOW_SELECT_ALL: 'show-select-all',
|
|
24
|
+
SELECT_ALL_LABEL: 'select-all-label'
|
|
23
25
|
};
|
|
24
26
|
const attributes = {
|
|
25
27
|
...observedAttributes
|
|
26
28
|
};
|
|
27
29
|
const events = {
|
|
28
|
-
SCROLLED_BOTTOM: `${elementName}-scrolled-bottom
|
|
30
|
+
SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`,
|
|
31
|
+
SELECT_ALL: `${elementName}-select-all`
|
|
29
32
|
};
|
|
30
33
|
export const SELECT_CONSTANTS = {
|
|
31
34
|
elementName,
|
|
@@ -12,12 +12,14 @@ import { IWithElementInternals } from '../../core/mixins/internals/with-element-
|
|
|
12
12
|
import { IWithLabelAwareness } from '../../core/mixins/label/with-label-aware';
|
|
13
13
|
import { FieldDensity, FieldLabelPosition } from '../../field';
|
|
14
14
|
import { IWithBaseField } from '../../field/base/with-base-field';
|
|
15
|
-
import { BaseSelectComponent, IBaseSelectComponent } from '../core';
|
|
15
|
+
import { BaseSelectComponent, IBaseSelectComponent, SelectSelectAllEventData } from '../core';
|
|
16
16
|
import { SelectCore } from './select-core';
|
|
17
17
|
import { IListDropdownAware } from '../../list-dropdown/list-dropdown-aware';
|
|
18
18
|
export interface ISelectComponent extends IWithFormAssociation, IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria, IWithBaseField, IBaseSelectComponent, IListDropdownAware {
|
|
19
19
|
label: string;
|
|
20
20
|
placeholder: string;
|
|
21
|
+
showSelectAll: boolean;
|
|
22
|
+
selectAllLabel: string;
|
|
21
23
|
setFormValue(value: FormValue | null, state?: FormValue | null | undefined): void;
|
|
22
24
|
[setValidity](): void;
|
|
23
25
|
}
|
|
@@ -27,15 +29,18 @@ declare global {
|
|
|
27
29
|
}
|
|
28
30
|
interface HTMLElementEventMap {
|
|
29
31
|
'forge-select-scrolled-bottom': CustomEvent<void>;
|
|
32
|
+
'forge-select-all': CustomEvent<SelectSelectAllEventData>;
|
|
30
33
|
change: CustomEvent<any>;
|
|
31
34
|
}
|
|
32
35
|
}
|
|
33
36
|
declare const SelectComponent_base: import("../../constants").AbstractConstructor<import("../../core/mixins/form/with-form-associated").WithFormAssociationContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/label/with-label-aware").WithLabelAwarenessContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/focus/with-focusable").WithFocusableContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/internals/with-default-aria").WithDefaultAriaContract> & import("../../constants").AbstractConstructor<import("../../core/mixins/internals/with-element-internals").WithElementInternalsContract> & import("../../constants").AbstractConstructor<import("../../field/base/with-base-field").WithBaseFieldContract> & ((abstract new () => BaseSelectComponent<SelectCore>) & {
|
|
34
|
-
|
|
37
|
+
get observedAttributes(): string[];
|
|
35
38
|
});
|
|
36
39
|
/**
|
|
37
40
|
* @tag forge-select
|
|
38
41
|
*
|
|
42
|
+
* @summary Selects present a list of options to users for single or multi-selection.
|
|
43
|
+
*
|
|
39
44
|
* @dependency forge-field
|
|
40
45
|
* @dependency forge-option
|
|
41
46
|
* @dependency forge-option-group
|
|
@@ -53,9 +58,12 @@ declare const SelectComponent_base: import("../../constants").AbstractConstructo
|
|
|
53
58
|
*
|
|
54
59
|
* @event {CustomEvent<void>} forge-select-scrolled-bottom - Dispatched when the dropdown list has scrolled to the bottom.
|
|
55
60
|
* @event {CustomEvent<any>} change - Dispatched when the user selects a value.
|
|
61
|
+
* @event {CustomEvent<SelectSelectAllEventData>} forge-select-all - Dispatched when the select all option is toggled.
|
|
56
62
|
*
|
|
57
63
|
* @property {string} label - Controls the label text.
|
|
58
64
|
* @property {string} placeholder - Controls the placeholder text.
|
|
65
|
+
* @property {boolean} showSelectAll - Gets/sets whether to show the select all option when in multiple mode.
|
|
66
|
+
* @property {string} selectAllLabel - Gets/sets the label for the select all option.
|
|
59
67
|
* @property {any} value - Gets/sets the value.
|
|
60
68
|
* @property {number | number[]} selectedIndex - Gets/sets the selected index.
|
|
61
69
|
* @property {ISelectOption[] | ISelectOptionGroup[]} options - Gets/sets the available options.
|
|
@@ -81,6 +89,8 @@ declare const SelectComponent_base: import("../../constants").AbstractConstructo
|
|
|
81
89
|
*
|
|
82
90
|
* @attribute {string} label - Controls the label text.
|
|
83
91
|
* @attribute {string} placeholder - Controls the placeholder text.
|
|
92
|
+
* @attribute {boolean} show-select-all - Gets/sets whether to show the select all option when in multiple mode.
|
|
93
|
+
* @attribute {string} select-all-label - Gets/sets the label for the select all option.
|
|
84
94
|
* @attribute {any} value - Gets/sets the value.
|
|
85
95
|
* @attribute {number | number[]} selected-index - Gets/sets the selected index.
|
|
86
96
|
* @attribute {boolean} multiple - Gets/sets the multiple select state.
|
|
@@ -174,6 +184,8 @@ export declare class SelectComponent extends SelectComponent_base implements ISe
|
|
|
174
184
|
label: string;
|
|
175
185
|
placeholder: string;
|
|
176
186
|
readonly: boolean;
|
|
187
|
+
showSelectAll: boolean;
|
|
188
|
+
selectAllLabel: string;
|
|
177
189
|
get floatLabel(): boolean;
|
|
178
190
|
set floatLabel(value: boolean);
|
|
179
191
|
get density(): FieldDensity;
|
|
@@ -28,11 +28,14 @@ import { SelectAdapter } from './select-adapter';
|
|
|
28
28
|
import { SELECT_CONSTANTS } from './select-constants';
|
|
29
29
|
import { SelectCore } from './select-core';
|
|
30
30
|
import { ListDropdownAware } from '../../list-dropdown/list-dropdown-aware';
|
|
31
|
+
import { DividerComponent } from '../../divider/divider';
|
|
31
32
|
const template = '<template><forge-field id=\"field\" popover-icon focus-indicator-allow-focus focus-indicator-focus-mode=\"focus\"><span id=\"select-label\" slot=\"label\"></span><slot slot=\"start\" name=\"start\"></slot><div data-forge-field-input class=\"selected-text-container\" part=\"text-container\" aria-live=\"assertive\" aria-atomic=\"true\"><slot name=\"value\"><span id=\"selected-text\" class=\"selected-text\" part=\"text\"></span></slot></div><slot slot=\"end\" name=\"end\"></slot><slot slot=\"accessory\" name=\"accessory\"></slot><slot slot=\"support-text\" name=\"support-text\"></slot><slot slot=\"support-text-end\" name=\"support-text-end\"></slot><slot slot=\"start\" name=\"leading\"></slot><slot slot=\"end\" name=\"trailing\"></slot><slot slot=\"accessory\" name=\"addon-end\"></slot><slot slot=\"support-text\" name=\"helper-text\"></slot></forge-field></template>';
|
|
32
33
|
const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge-field{--_select-placeholder-color:var(--forge-select-placeholder-color, var(--forge-field-placeholder-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6))))}.selected-text-container{display:grid;align-items:center;cursor:pointer}.selected-text,::slotted([slot=value]){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.selected-text:empty::before{content:attr(placeholder);color:var(--_select-placeholder-color);font-size:inherit}:host([disabled]) .selected-text-container{cursor:not-allowed}forge-field{display:contents}';
|
|
33
34
|
/**
|
|
34
35
|
* @tag forge-select
|
|
35
36
|
*
|
|
37
|
+
* @summary Selects present a list of options to users for single or multi-selection.
|
|
38
|
+
*
|
|
36
39
|
* @dependency forge-field
|
|
37
40
|
* @dependency forge-option
|
|
38
41
|
* @dependency forge-option-group
|
|
@@ -50,9 +53,12 @@ const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge
|
|
|
50
53
|
*
|
|
51
54
|
* @event {CustomEvent<void>} forge-select-scrolled-bottom - Dispatched when the dropdown list has scrolled to the bottom.
|
|
52
55
|
* @event {CustomEvent<any>} change - Dispatched when the user selects a value.
|
|
56
|
+
* @event {CustomEvent<SelectSelectAllEventData>} forge-select-all - Dispatched when the select all option is toggled.
|
|
53
57
|
*
|
|
54
58
|
* @property {string} label - Controls the label text.
|
|
55
59
|
* @property {string} placeholder - Controls the placeholder text.
|
|
60
|
+
* @property {boolean} showSelectAll - Gets/sets whether to show the select all option when in multiple mode.
|
|
61
|
+
* @property {string} selectAllLabel - Gets/sets the label for the select all option.
|
|
56
62
|
* @property {any} value - Gets/sets the value.
|
|
57
63
|
* @property {number | number[]} selectedIndex - Gets/sets the selected index.
|
|
58
64
|
* @property {ISelectOption[] | ISelectOptionGroup[]} options - Gets/sets the available options.
|
|
@@ -78,6 +84,8 @@ const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge
|
|
|
78
84
|
*
|
|
79
85
|
* @attribute {string} label - Controls the label text.
|
|
80
86
|
* @attribute {string} placeholder - Controls the placeholder text.
|
|
87
|
+
* @attribute {boolean} show-select-all - Gets/sets whether to show the select all option when in multiple mode.
|
|
88
|
+
* @attribute {string} select-all-label - Gets/sets the label for the select all option.
|
|
81
89
|
* @attribute {any} value - Gets/sets the value.
|
|
82
90
|
* @attribute {number | number[]} selected-index - Gets/sets the selected index.
|
|
83
91
|
* @attribute {boolean} multiple - Gets/sets the multiple select state.
|
|
@@ -194,6 +202,12 @@ let SelectComponent = class SelectComponent extends WithFormAssociation(WithLabe
|
|
|
194
202
|
case SELECT_CONSTANTS.observedAttributes.PLACEHOLDER:
|
|
195
203
|
this.placeholder = newValue;
|
|
196
204
|
return;
|
|
205
|
+
case SELECT_CONSTANTS.observedAttributes.SHOW_SELECT_ALL:
|
|
206
|
+
this.showSelectAll = coerceBoolean(newValue);
|
|
207
|
+
return;
|
|
208
|
+
case SELECT_CONSTANTS.observedAttributes.SELECT_ALL_LABEL:
|
|
209
|
+
this.selectAllLabel = newValue;
|
|
210
|
+
return;
|
|
197
211
|
}
|
|
198
212
|
super.attributeChangedCallback(name, oldValue, newValue);
|
|
199
213
|
}
|
|
@@ -274,6 +288,12 @@ __decorate([
|
|
|
274
288
|
__decorate([
|
|
275
289
|
coreProperty()
|
|
276
290
|
], SelectComponent.prototype, "readonly", void 0);
|
|
291
|
+
__decorate([
|
|
292
|
+
coreProperty()
|
|
293
|
+
], SelectComponent.prototype, "showSelectAll", void 0);
|
|
294
|
+
__decorate([
|
|
295
|
+
coreProperty()
|
|
296
|
+
], SelectComponent.prototype, "selectAllLabel", void 0);
|
|
277
297
|
SelectComponent = __decorate([
|
|
278
298
|
customElement({
|
|
279
299
|
name: SELECT_CONSTANTS.elementName,
|
|
@@ -288,7 +308,8 @@ SelectComponent = __decorate([
|
|
|
288
308
|
IconComponent,
|
|
289
309
|
ScaffoldComponent,
|
|
290
310
|
ToolbarComponent,
|
|
291
|
-
IconButtonComponent
|
|
311
|
+
IconButtonComponent,
|
|
312
|
+
DividerComponent
|
|
292
313
|
]
|
|
293
314
|
})
|
|
294
315
|
], SelectComponent);
|
|
@@ -20,6 +20,8 @@ declare global {
|
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* @tag forge-select-dropdown
|
|
23
|
+
*
|
|
24
|
+
* @summary A dropdown variant of the select component that renders options in a popover.
|
|
23
25
|
*/
|
|
24
26
|
export declare class SelectDropdownComponent extends BaseSelectComponent<SelectDropdownCore> implements ISelectDropdownComponent {
|
|
25
27
|
static get observedAttributes(): string[];
|
|
@@ -22,6 +22,8 @@ const template = '<template></template>';
|
|
|
22
22
|
const styles = ':host{display:none}';
|
|
23
23
|
/**
|
|
24
24
|
* @tag forge-select-dropdown
|
|
25
|
+
*
|
|
26
|
+
* @summary A dropdown variant of the select component that renders options in a popover.
|
|
25
27
|
*/
|
|
26
28
|
let SelectDropdownComponent = class SelectDropdownComponent extends BaseSelectComponent {
|
|
27
29
|
static get observedAttributes() {
|
|
@@ -11,7 +11,7 @@ import { SplitButtonAdapter } from './split-button-adapter';
|
|
|
11
11
|
import { SPLIT_BUTTON_CONSTANTS } from './split-button-constants';
|
|
12
12
|
import { SplitButtonCore } from './split-button-core';
|
|
13
13
|
const template = '<template><slot></slot></template>';
|
|
14
|
-
const styles = ':host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:inline-flex;justify-content:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined])
|
|
14
|
+
const styles = ':host{--_split-button-min-width:var(--forge-split-button-min-width, 0);--_split-button-gap:var(--forge-split-button-gap, var(--forge-border-thin, 1px));--_split-button-focus-indicator-offset:var(--forge-split-button-focus-indicator-offset, var(--forge-button-focus-indicator-offset, 4px));--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, var(--_split-button-gap));--_split-button-focus-indicator-offset-adjusted:calc(var(--_split-button-focus-indicator-offset) + var(--_split-button-focus-indicator-divider-offset) * 2)}:host{display:inline-flex;justify-content:center;align-items:center}:host([hidden]){display:none}::slotted(*){--forge-button-min-width:var(--_split-button-min-width);--forge-button-focus-indicator-offset:var(--_split-button-focus-indicator-offset)}::slotted(:first-child){--forge-button-shape-start-end-radius:0;--forge-button-shape-end-end-radius:0;--forge-focus-indicator-shape-start-end:0;--forge-focus-indicator-shape-end-end:0;--forge-focus-indicator-offset-inline:0 var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:not(:first-child):not(:last-child)){--forge-button-shape:0;--forge-focus-indicator-shape:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted)}::slotted(:last-child){--forge-button-shape-start-start-radius:0;--forge-button-shape-end-start-radius:0;--forge-focus-indicator-shape-start-start:0;--forge-focus-indicator-shape-end-start:0;--forge-focus-indicator-offset-inline:var(--_split-button-focus-indicator-offset-adjusted) 0}:host([variant=outlined]) ::slotted(:not(:first-child)){margin-inline-start:calc(-1 * var(--_split-button-gap))}:host([variant=outlined]){--_split-button-focus-indicator-divider-offset:var(--forge-split-button-focus-indicator-divider-offset, 0px)}:host(:is([variant=tonal],[variant=filled],[variant=raised],:not([variant]))) ::slotted(:not(:last-child)){margin-inline-end:var(--_split-button-gap)}';
|
|
15
15
|
/**
|
|
16
16
|
* @tag forge-split-button
|
|
17
17
|
*
|
|
@@ -21,6 +21,8 @@ declare global {
|
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
23
|
* @tag forge-split-view
|
|
24
|
+
*
|
|
25
|
+
* @summary Split views create resizable panels that allow users to adjust the space between content areas.
|
|
24
26
|
*/
|
|
25
27
|
export declare class SplitViewComponent extends BaseComponent implements ISplitViewComponent {
|
|
26
28
|
static get observedAttributes(): string[];
|
|
@@ -14,6 +14,8 @@ const template = '<template><div class=\"forge-split-view\" id=\"root\" part=\"r
|
|
|
14
14
|
const styles = '.forge-split-view{display:flex;width:100%;height:100%}:host{--forge-split-view-handle-width:8px;display:block;height:100%;width:100%;overflow:hidden}:host([hidden]){display:none}:host([orientation=horizontal]) .forge-split-view{flex-direction:row}:host([orientation=vertical]) .forge-split-view{flex-direction:column}';
|
|
15
15
|
/**
|
|
16
16
|
* @tag forge-split-view
|
|
17
|
+
*
|
|
18
|
+
* @summary Split views create resizable panels that allow users to adjust the space between content areas.
|
|
17
19
|
*/
|
|
18
20
|
let SplitViewComponent = class SplitViewComponent extends BaseComponent {
|
|
19
21
|
static get observedAttributes() {
|
|
@@ -14,10 +14,12 @@ import { IconComponent, IconRegistry } from '../../icon';
|
|
|
14
14
|
import { StateLayerComponent } from '../../state-layer';
|
|
15
15
|
import { FocusIndicatorComponent } from '../../focus-indicator';
|
|
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-state-layer target=\"handle\" id=\"state-layer\" exportparts=\"surface:state-layer\"></forge-state-layer><forge-focus-indicator inward target=\"handle\" part=\"focus-indicator\"></forge-focus-indicator></div><div class=\"forge-split-view-panel__content\" id=\"content\" part=\"content\" role=\"group\"><slot></slot></div></div></template>';
|
|
17
|
-
const styles = '.forge-split-view-panel{display:flex;width:100%;height:100%;overflow:hidden}.forge-split-view-panel__handle{color:var(--forge-theme-text-medium,rgba(0,0,0,.6));background-color:var(--forge-theme-outline,#e0e0e0);position:relative;display:flex;flex-shrink:0;justify-content:center;align-items:center;outline:0}.forge-split-view-panel__content{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:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{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;animation-name:
|
|
17
|
+
const styles = '.forge-split-view-panel{display:flex;width:100%;height:100%;overflow:hidden}.forge-split-view-panel__handle{color:var(--forge-theme-text-medium,rgba(0,0,0,.6));background-color:var(--forge-theme-outline,#e0e0e0);position:relative;display:flex;flex-shrink:0;justify-content:center;align-items:center;outline:0}.forge-split-view-panel__content{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:var(--forge-split-view-handle-width,8px);width:calc(var(--forge-split-view-panel-size,unset) + var(--forge-split-view-handle-width,8px));flex-direction:row}.forge-split-view-panel[orientation=horizontal] .forge-split-view-panel__handle{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;animation-name:unrnngv;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnngv{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--closing[resizable=start]{position:absolute;top:0;right:0;animation-name:unrnnhr;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnhr{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:unrnni8;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnni8{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;animation-name:unrnnj6;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnj6{from{transform:none}to{transform:translateX(100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical]{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));flex-direction:column}.forge-split-view-panel[orientation=vertical] .forge-split-view-panel__handle{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;animation-name:unrnnjr;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnjr{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--closing[resizable=start]{position:absolute;bottom:0;left:0;animation-name:unrnnk3;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnk3{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{position:absolute;top:0;left:0;animation-name:unrnnke;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnke{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=end]{animation-direction:reverse}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;animation-name:unrnnla;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes unrnnla{from{transform:none}to{transform:translateY(100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{animation-direction:reverse}:host{z-index:var(--forge-split-view-animating-layer)!important;display:block;position:relative;height:100%;width:100%;flex:0}:host([hidden]){display:none}:host(:not([resizable=start],[resizable=end])){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}forge-focus-indicator{--forge-focus-indicator-active-width:2px}';
|
|
18
18
|
/**
|
|
19
19
|
* @tag forge-split-view-panel
|
|
20
20
|
*
|
|
21
|
+
* @summary Individual panels within split views that can be resized and collapsed.
|
|
22
|
+
*
|
|
21
23
|
* @dependency forge-icon
|
|
22
24
|
* @dependency forge-state-layer
|
|
23
25
|
* @dependency forge-focus-indicator
|
|
@@ -29,6 +29,8 @@ declare global {
|
|
|
29
29
|
/**
|
|
30
30
|
* @tag forge-step
|
|
31
31
|
*
|
|
32
|
+
* @summary Individual steps within a stepper component that represent progress in a multi-step process.
|
|
33
|
+
*
|
|
32
34
|
* @property {boolean} [alternative=false] - Whether the step is in the alternative style.
|
|
33
35
|
* @property {boolean} [completed=false] - Whether the step is completed.
|
|
34
36
|
* @property {boolean} [editable=false] - Whether the step is editable.
|
package/esm/stepper/step/step.js
CHANGED
|
@@ -15,10 +15,12 @@ import { ExpansionPanelComponent } from '../../expansion-panel';
|
|
|
15
15
|
import { StateLayerComponent } from '../../state-layer';
|
|
16
16
|
import { FocusIndicatorComponent } from '../../focus-indicator';
|
|
17
17
|
const template = '<template><div class=\"container\" part=\"root\"><div class=\"forge-step\" part=\"step\"><div class=\"before\" part=\"before\"></div><div class=\"icon-container\" part=\"icon-container\"><div class=\"icon-content\" part=\"icon-content\"><span class=\"index\" part=\"index\"></span><forge-icon class=\"icon\" part=\"icon\"></forge-icon></div></div><div class=\"text-container\" part=\"text-container\"><div class=\"title\" part=\"title-container\"><slot></slot></div><div class=\"subtitle\" part=\"subtitle-container\"><slot name=\"optional\"></slot></div></div><div class=\"after\" part=\"after\"></div><forge-state-layer exportparts=\"surface:state-layer\" target=\":host\"></forge-state-layer><forge-focus-indicator part=\"focus-indicator\" target=\":host\" inward></forge-focus-indicator></div></div></template>';
|
|
18
|
-
const styles = ':host{--_step-primary-color:var(--forge-step-primary-color, var(--forge-theme-primary, #3f51b5));--_step-text-color:var(--forge-step-text-color, var(--forge-theme-on-primary, #ffffff));--_step-border-radius:var(--forge-step-border-radius, calc(var(--forge-shape-extra-large, 16px) * var(--forge-shape-factor, 1)));--_step-border-radius-vertical:var(--forge-step-border-radius-vertical, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_step-disabled-text-color:var(--forge-step-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_step-disabled-color:var(--forge-step-disabled-color, var(--forge-theme-surface-container-minimum, #f5f5f5));--_step-icon-fill:var(--forge-step-icon-fill, unset);--_step-icon-fill-active:var(--forge-step-icon-fill-active, var(--_step-primary-color));--_step-icon-text-color:var(--forge-step-icon-text-color, var(--forge-theme-primary, #3f51b5));--_step-icon-text-color-active:var(--forge-step-icon-text-color-active, var(--forge-theme-on-primary, #ffffff));--_step-icon-content-size:var(--forge-step-icon-content-size, 24px);--_step-icon-size:var(--forge-step-icon-size, calc(var(--forge-typography-font-size, 1rem) * 0.875));--_step-icon-transition-duration:var(--forge-step-icon-transition-duration, var(--forge-animation-duration-medium4, 400ms));--_step-icon-transition-easing:var(--forge-step-icon-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_step-line-color:var(--forge-step-line-color, var(--forge-theme-outline, #e0e0e0));--_step-line-min-width:var(--forge-step-line-min-width, 10px);--_step-line-min-width-clustered:var(--forge-step-line-min-width-clustered, 25px);--_step-label-color:var(--forge-step-label-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_step-sub-label-color:var(--forge-step-sub-label-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_step-error-color:var(--forge-step-error-color, var(--forge-theme-error, #b00020));--_step-error-text-color:var(--forge-step-error-text-color, var(--forge-theme-on-error, #ffffff));--_step-expansion-panel-border-left-width:var(--forge-step-expansion-panel-border-left-width, 1px);--_step-expansion-panel-margin-bottom:var(--forge-step-expansion-panel-margin-bottom, 4px);--_step-expansion-panel-margin-left:var(--forge-step-expansion-panel-margin-left, 60px);--_step-expansion-panel-margin-top:var(--forge-step-expansion-panel-margin-top, 4px);--_step-expansion-panel-icon-color:var(--forge-step-expansion-panel-icon-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)))}:host(:focus){outline:0}:host([error]){--forge-state-layer-color:var(--_step-error-color)}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:is(:first-child)):host(:not([vertical]))::after{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host([vertical]){flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{--_step-border-radius:var(--_step-border-radius-vertical);width:100%;min-height:52px}:host([vertical]) .forge-step .text-container{white-space:normal}:host([vertical]) .icon-container .icon-content{margin:0 16px 0 0}:host([vertical]) .expansion-panel{display:none}:host([vertical]) .expanded-icon{color:var(--_step-expansion-panel-icon-color);display:none;margin-left:auto}:host([vertical][expandable]) .expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step .expanded-icon{display:none}forge-expansion-panel::part(root){border-color:var(--_step-line-color);margin-left:var(--_step-expansion-panel-margin-left);margin-top:var(--_step-expansion-panel-margin-top);margin-bottom:var(--_step-expansion-panel-margin-bottom);border-left-width:var(--_step-expansion-panel-border-left-width);border-left-style:solid}forge-focus-indicator{--forge-focus-indicator-color:var(--_step-primary-color);--forge-focus-indicator-shape:16px}.container{display:contents}.forge-step{-webkit-tap-highlight-color:transparent;padding:12px 16px;outline:0;background:0 0;border:none;border-radius:var(--_step-border-radius);position:relative;display:flex;overflow:hidden;align-items:center;box-sizing:border-box;cursor:pointer}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step.error forge-focus-indicator{--forge-focus-indicator-color:var(--_step-error-color)}.forge-step.vertical forge-focus-indicator{--forge-focus-indicator-shape:4px}.forge-step.selected:not(.disabled){--forge-state-layer-color:var(--_step-primary-color)}.forge-step.selected:not(.disabled)::before{background-color:var(--_step-primary-color);content:\"\";position:absolute;inset:0;opacity:.08;height:100%;width:100%}.forge-step.selected:not(.disabled).error{--_step-primary-color:var(--_step-error-color)}.forge-step .title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);color:var(--_step-label-color);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle ::slotted(*){color:var(--_step-sub-label-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit)}.forge-step .icon-container .icon-content{color:var(--_step-icon-text-color);background-color:var(--_step-icon-fill);height:var(--_step-icon-content-size);width:var(--_step-icon-content-size);border-style:solid;border-width:2px;border-color:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);margin:0 8px 0 0;flex:none}.forge-step .icon-container .icon-content forge-icon{font-size:var(--_step-icon-size)}.forge-step.disabled{color:var(--_step-disabled-text-color);cursor:not-allowed}.forge-step.disabled.forge-step .icon-container .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .title{color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .subtitle ::slotted(*){color:var(--_step-disabled-text-color)}.forge-step.alternative{flex-direction:column}.forge-step.alternative .icon-container .icon-content{margin:0}.forge-step.alternative .text-container{margin-top:8px;place-items:center}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content{border-color:var(--_step-primary-color)}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content .index,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content .index{color:var(--_step-primary-color)}.forge-step.selected.disabled .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.selected:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.selected:not(.disabled) .title{color:var(--_step-primary-color);font-weight:500}.forge-step.selected:not(.disabled) .subtitle ::slotted(*){color:var(--_step-primary-color);font-weight:500}.forge-step.error:not(.disabled) .title{color:var(--_step-error-color)}.forge-step.error:not(.disabled) .subtitle ::slotted(*){color:var(--_step-error-color)}.forge-step.error:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-error-color);--_step-icon-text-color:var(--_step-error-text-color)}.forge-step.completed:not(.disabled):not(.error):not(.editable) .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.completed:not(.disabled):not(.error).editable .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.expandable .expanded-icon{display:inline-block;transition:transform .3s ease-in-out}.forge-step.expandable.expanded .expanded-icon{transform:rotate(180deg)}.forge-step.expandable .icon-container .icon-content{margin:0 16px 0 0}.forge-step .text-container{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not(:last-child)[clustered])::after{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:last-child[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}';
|
|
18
|
+
const styles = ':host{--_step-primary-color:var(--forge-step-primary-color, var(--forge-theme-primary, #3f51b5));--_step-text-color:var(--forge-step-text-color, var(--forge-theme-on-primary, #ffffff));--_step-border-radius:var(--forge-step-border-radius, calc(var(--forge-shape-extra-large, 16px) * var(--forge-shape-factor, 1)));--_step-border-radius-vertical:var(--forge-step-border-radius-vertical, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_step-disabled-text-color:var(--forge-step-disabled-text-color, var(--forge-theme-text-low, rgba(0, 0, 0, 0.38)));--_step-disabled-color:var(--forge-step-disabled-color, var(--forge-theme-surface-container-minimum, #f5f5f5));--_step-icon-fill:var(--forge-step-icon-fill, unset);--_step-icon-fill-active:var(--forge-step-icon-fill-active, var(--_step-primary-color));--_step-icon-text-color:var(--forge-step-icon-text-color, var(--forge-theme-primary, #3f51b5));--_step-icon-text-color-active:var(--forge-step-icon-text-color-active, var(--forge-theme-on-primary, #ffffff));--_step-icon-content-size:var(--forge-step-icon-content-size, 24px);--_step-icon-size:var(--forge-step-icon-size, calc(var(--forge-typography-font-size, 1rem) * 0.875));--_step-icon-transition-duration:var(--forge-step-icon-transition-duration, var(--forge-animation-duration-medium4, 400ms));--_step-icon-transition-easing:var(--forge-step-icon-transition-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)));--_step-line-color:var(--forge-step-line-color, var(--forge-theme-outline, #e0e0e0));--_step-line-min-width:var(--forge-step-line-min-width, 10px);--_step-line-min-width-clustered:var(--forge-step-line-min-width-clustered, 25px);--_step-label-color:var(--forge-step-label-color, var(--forge-theme-text-high, rgba(0, 0, 0, 0.87)));--_step-sub-label-color:var(--forge-step-sub-label-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)));--_step-error-color:var(--forge-step-error-color, var(--forge-theme-error, #b00020));--_step-error-text-color:var(--forge-step-error-text-color, var(--forge-theme-on-error, #ffffff));--_step-expansion-panel-border-left-width:var(--forge-step-expansion-panel-border-left-width, 1px);--_step-expansion-panel-margin-bottom:var(--forge-step-expansion-panel-margin-bottom, 4px);--_step-expansion-panel-margin-left:var(--forge-step-expansion-panel-margin-left, 60px);--_step-expansion-panel-margin-top:var(--forge-step-expansion-panel-margin-top, 4px);--_step-expansion-panel-icon-color:var(--forge-step-expansion-panel-icon-color, var(--forge-theme-text-medium, rgba(0, 0, 0, 0.6)))}:host(:focus){outline:0}:host([error]){--forge-state-layer-color:var(--_step-error-color)}:host(:first-child[alternative])::after{align-self:flex-start;top:22px;margin:0}:host(:last-child[alternative])::before{align-self:flex-start;top:22px;margin:0}:host(:not(:first-child):not(:last-child)[alternative])::after,:host(:not(:first-child):not(:last-child)[alternative])::before{align-self:flex-start;top:22px;min-width:7px;margin:0}:host(:not(:last-child)[alternative]) .after{align-self:flex-start;top:22px;position:absolute;width:calc(50% - 18px);left:calc(50% + 18px);height:0;right:0}:host(:not(:first-child)[alternative]) .before{align-self:flex-start;top:22px;position:absolute;left:0;width:calc(50% - 18px);height:0}:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::after,:host(:not(:first-child):not(:last-child)):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host(:last-child):host(:not([vertical]))::before{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px 0 0}:host(:is(:first-child)):host(:not([vertical]))::after{border-color:var(--_step-line-color);min-width:var(--_step-line-min-width);content:\"\";position:relative;height:0;flex:1;flex-basis:0.000000001px;border-top-style:solid;border-top-width:1px;border-radius:1px 0 0 1px;margin:0 -10px}:host([vertical]){flex-direction:column}:host([vertical])::after{content:none}:host([vertical])::before{content:none}:host([vertical]) .forge-step{--_step-border-radius:var(--_step-border-radius-vertical);width:100%;min-height:52px}:host([vertical]) .forge-step .text-container{white-space:normal}:host([vertical]) .icon-container .icon-content{margin:0 16px 0 0}:host([vertical]) .expansion-panel{display:none}:host([vertical]) .expanded-icon{color:var(--_step-expansion-panel-icon-color);display:none;margin-left:auto}:host([vertical][expandable]) .expansion-panel{display:block}:host([ignore-user-expansion]) .forge-step .expanded-icon{display:none}forge-expansion-panel::part(root){border-color:var(--_step-line-color);margin-left:var(--_step-expansion-panel-margin-left);margin-top:var(--_step-expansion-panel-margin-top);margin-bottom:var(--_step-expansion-panel-margin-bottom);border-left-width:var(--_step-expansion-panel-border-left-width);border-left-style:solid}forge-focus-indicator{--forge-focus-indicator-color:var(--_step-primary-color);--forge-focus-indicator-shape:16px}.container{display:contents}.forge-step{-webkit-tap-highlight-color:transparent;padding:12px 16px;outline:0;background:0 0;border:none;border-radius:var(--_step-border-radius);position:relative;display:flex;overflow:hidden;align-items:center;box-sizing:border-box}.forge-step:focus{outline:0}.forge-step::-moz-focus-inner,.forge-step::-moz-focus-outer{padding:0;border:0}.forge-step{cursor:pointer}.forge-step.error forge-focus-indicator{--forge-focus-indicator-color:var(--_step-error-color)}.forge-step.vertical forge-focus-indicator{--forge-focus-indicator-shape:4px}.forge-step.selected:not(.disabled){--forge-state-layer-color:var(--_step-primary-color)}.forge-step.selected:not(.disabled)::before{background-color:var(--_step-primary-color);content:\"\";position:absolute;inset:0;opacity:.08;height:100%;width:100%}.forge-step.selected:not(.disabled).error{--_step-primary-color:var(--_step-error-color)}.forge-step .title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-body1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-body1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-font-size-scale, .875)));font-weight:var(--forge-typography-body1-font-weight,400);line-height:var(--forge-typography-body1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-body-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-body1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-body1-text-transform,inherit);text-decoration:var(--forge-typography-body1-text-decoration,inherit);color:var(--_step-label-color);text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle{text-align:left;overflow:hidden;text-overflow:ellipsis}.forge-step .subtitle ::slotted(*){color:var(--_step-sub-label-color);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label1-font-family, var(--forge-typography-font-family, \"Roboto\", sans-serif));font-size:var(--forge-typography-label1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label1-font-weight,400);line-height:var(--forge-typography-label1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label1-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label1-text-transform,inherit);text-decoration:var(--forge-typography-label1-text-decoration,inherit)}.forge-step .icon-container .icon-content{color:var(--_step-icon-text-color);background-color:var(--_step-icon-fill);height:var(--_step-icon-content-size);width:var(--_step-icon-content-size);border-style:solid;border-width:2px;border-color:transparent;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color var(--_step-icon-transition-duration) var(--_step-icon-transition-easing);margin:0 8px 0 0;flex:none}.forge-step .icon-container .icon-content forge-icon{font-size:var(--_step-icon-size)}.forge-step.disabled{color:var(--_step-disabled-text-color);cursor:not-allowed}.forge-step.disabled.forge-step .icon-container .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .title{color:var(--_step-disabled-text-color)}.forge-step.disabled .text-container .subtitle ::slotted(*){color:var(--_step-disabled-text-color)}.forge-step.alternative{flex-direction:column}.forge-step.alternative .icon-container .icon-content{margin:0}.forge-step.alternative .text-container{margin-top:8px;place-items:center}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content{border-color:var(--_step-primary-color)}.forge-step:not(.selected):not(.disabled).editable:not(.completed):not(.error) .icon-content .index,.forge-step:not(.selected):not(.disabled):not(.editable):not(.completed):not(.error) .icon-content .index{color:var(--_step-primary-color)}.forge-step.selected.disabled .icon-content{--_step-icon-fill:var(--_step-disabled-color);--_step-icon-text-color:var(--_step-disabled-text-color)}.forge-step.selected:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.selected:not(.disabled) .title{color:var(--_step-primary-color);font-weight:500}.forge-step.selected:not(.disabled) .subtitle ::slotted(*){color:var(--_step-primary-color);font-weight:500}.forge-step.error:not(.disabled) .title{color:var(--_step-error-color)}.forge-step.error:not(.disabled) .subtitle ::slotted(*){color:var(--_step-error-color)}.forge-step.error:not(.disabled) .icon-container .icon-content{--_step-icon-fill:var(--_step-error-color);--_step-icon-text-color:var(--_step-error-text-color)}.forge-step.completed:not(.disabled):not(.error):not(.editable) .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.completed:not(.disabled):not(.error).editable .icon-content{--_step-icon-fill:var(--_step-icon-fill-active);--_step-icon-text-color:var(--_step-icon-text-color-active)}.forge-step.expandable .expanded-icon{display:inline-block;transition:transform .3s ease-in-out}.forge-step.expandable.expanded .expanded-icon{transform:rotate(180deg)}.forge-step.expandable .icon-container .icon-content{margin:0 16px 0 0}.forge-step .text-container{display:flex;flex-direction:column;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host(:not(:last-child)[clustered])::after{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:last-child[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}:host(:not(:first-child):not(:last-child)[clustered])::after,:host(:not(:first-child):not(:last-child)[clustered])::before{--_step-line-min-width:var(--_step-line-min-width-clustered)}';
|
|
19
19
|
/**
|
|
20
20
|
* @tag forge-step
|
|
21
21
|
*
|
|
22
|
+
* @summary Individual steps within a stepper component that represent progress in a multi-step process.
|
|
23
|
+
*
|
|
22
24
|
* @property {boolean} [alternative=false] - Whether the step is in the alternative style.
|
|
23
25
|
* @property {boolean} [completed=false] - Whether the step is completed.
|
|
24
26
|
* @property {boolean} [editable=false] - Whether the step is editable.
|
|
@@ -23,6 +23,8 @@ declare global {
|
|
|
23
23
|
/**
|
|
24
24
|
* @tag forge-stepper
|
|
25
25
|
*
|
|
26
|
+
* @summary Steppers guide users through multi-step processes by breaking them into logical steps.
|
|
27
|
+
*
|
|
26
28
|
* @dependency forge-step
|
|
27
29
|
*
|
|
28
30
|
* @event {CustomEvent<number>} forge-step-select - Emits the index when a step is selected.
|
|
@@ -15,6 +15,8 @@ const styles = ':host{display:block}:host([hidden]){display:none}:host([vertical
|
|
|
15
15
|
/**
|
|
16
16
|
* @tag forge-stepper
|
|
17
17
|
*
|
|
18
|
+
* @summary Steppers guide users through multi-step processes by breaking them into logical steps.
|
|
19
|
+
*
|
|
18
20
|
* @dependency forge-step
|
|
19
21
|
*
|
|
20
22
|
* @event {CustomEvent<number>} forge-step-select - Emits the index when a step is selected.
|
package/esm/table/table-utils.js
CHANGED
|
@@ -144,6 +144,9 @@ export class TableUtils {
|
|
|
144
144
|
if (columnConfig.sortable) {
|
|
145
145
|
cellContainer = document.createElement('button');
|
|
146
146
|
cellContainer.type = 'button';
|
|
147
|
+
const focusIndicator = document.createElement('forge-focus-indicator');
|
|
148
|
+
focusIndicator.inward = true;
|
|
149
|
+
cellContainer.appendChild(focusIndicator);
|
|
147
150
|
cellContainer.addEventListener('keydown', tableConfiguration.sortableHeadCellKeydownListener);
|
|
148
151
|
}
|
|
149
152
|
else {
|
package/esm/table/table.d.ts
CHANGED
package/esm/table/table.js
CHANGED
|
@@ -15,7 +15,10 @@ import { IconRegistry, IconComponent } from '../icon';
|
|
|
15
15
|
import { BaseComponent } from '../core/base/base-component';
|
|
16
16
|
import { CellAlign } from './types';
|
|
17
17
|
import { TooltipComponent } from '../tooltip';
|
|
18
|
+
import { FocusIndicatorComponent } from '../focus-indicator';
|
|
18
19
|
/**
|
|
20
|
+
* @summary A comprehensive data table component with features for selection, sorting, filtering, resizing, and row expansion functionality.
|
|
21
|
+
*
|
|
19
22
|
* @tag forge-table
|
|
20
23
|
*
|
|
21
24
|
* @dependency forge-expansion-panel
|
|
@@ -309,7 +312,7 @@ __decorate([
|
|
|
309
312
|
TableComponent = __decorate([
|
|
310
313
|
customElement({
|
|
311
314
|
name: TABLE_CONSTANTS.elementName,
|
|
312
|
-
dependencies: [ExpansionPanelComponent, IconComponent, CheckboxComponent, TooltipComponent]
|
|
315
|
+
dependencies: [ExpansionPanelComponent, IconComponent, CheckboxComponent, TooltipComponent, FocusIndicatorComponent]
|
|
313
316
|
})
|
|
314
317
|
], TableComponent);
|
|
315
318
|
export { TableComponent };
|
|
@@ -8,12 +8,12 @@ import { STATE_LAYER_CONSTANTS } from '../../state-layer';
|
|
|
8
8
|
import { BaseAdapter } from '../../core/base/base-adapter';
|
|
9
9
|
import { TAB_BAR_CONSTANTS } from '../tab-bar/tab-bar-constants';
|
|
10
10
|
import { TAB_CONSTANTS } from './tab-constants';
|
|
11
|
-
import {
|
|
11
|
+
import { FOCUS_INDICATOR_TAG_NAME } from '../../focus-indicator';
|
|
12
12
|
export class TabAdapter extends BaseAdapter {
|
|
13
13
|
constructor(component) {
|
|
14
14
|
super(component);
|
|
15
15
|
this._tabIndicatorElement = getShadowElement(this._component, TAB_CONSTANTS.selectors.INDICATOR);
|
|
16
|
-
this._focusIndicatorElement = getShadowElement(this._component,
|
|
16
|
+
this._focusIndicatorElement = getShadowElement(this._component, FOCUS_INDICATOR_TAG_NAME);
|
|
17
17
|
this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName);
|
|
18
18
|
}
|
|
19
19
|
initialize() {
|
package/esm/tabs/tab/tab.d.ts
CHANGED
package/esm/tabs/tab/tab.js
CHANGED
|
@@ -16,6 +16,8 @@ const styles = ':host{display:inline-flex;outline:0;-webkit-tap-highlight-color:
|
|
|
16
16
|
/**
|
|
17
17
|
* @tag forge-tab
|
|
18
18
|
*
|
|
19
|
+
* @summary Individual tab elements that provide navigation between different content panels.
|
|
20
|
+
*
|
|
19
21
|
* @dependency forge-focus-indicator
|
|
20
22
|
* @dependency forge-state-layer
|
|
21
23
|
*
|
|
@@ -44,6 +44,8 @@ declare global {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
+
* @summary A time input component with integrated dropdown for selecting time values with support for various formats, masking, and validation options.
|
|
48
|
+
*
|
|
47
49
|
* @tag forge-time-picker
|
|
48
50
|
*/
|
|
49
51
|
export declare class TimePickerComponent extends BaseComponent implements ITimePickerComponent {
|
|
@@ -18,6 +18,8 @@ import { PopoverComponent } from '../popover/popover';
|
|
|
18
18
|
const template = '<template><slot></slot></template>';
|
|
19
19
|
const styles = ':host{display:block}:host([hidden]){display:none}';
|
|
20
20
|
/**
|
|
21
|
+
* @summary A time input component with integrated dropdown for selecting time values with support for various formats, masking, and validation options.
|
|
22
|
+
*
|
|
21
23
|
* @tag forge-time-picker
|
|
22
24
|
*/
|
|
23
25
|
let TimePickerComponent = class TimePickerComponent extends BaseComponent {
|
|
@@ -17,6 +17,9 @@ export interface ITooltipAdapter extends IBaseAdapter<ITooltipComponent> {
|
|
|
17
17
|
removeAnchorListener(type: string, listener: EventListener): void;
|
|
18
18
|
addLightDismissListener(listener: EventListener): void;
|
|
19
19
|
removeLightDismissListener(listener: EventListener): void;
|
|
20
|
+
addTooltipListener(type: string, listener: EventListener, opts?: AddEventListenerOptions): void;
|
|
21
|
+
removeTooltipListener(type: string, listener: EventListener): void;
|
|
22
|
+
isKeyboardFocused(): boolean;
|
|
20
23
|
show(): void;
|
|
21
24
|
hide(): void;
|
|
22
25
|
}
|
|
@@ -41,6 +44,9 @@ export declare class TooltipAdapter extends BaseAdapter<ITooltipComponent> imple
|
|
|
41
44
|
removeAnchorListener(type: string, listener: EventListener): void;
|
|
42
45
|
addLightDismissListener(listener: EventListener): void;
|
|
43
46
|
removeLightDismissListener(listener: EventListener): void;
|
|
47
|
+
addTooltipListener(type: string, listener: EventListener, opts?: AddEventListenerOptions): void;
|
|
48
|
+
removeTooltipListener(type: string, listener: EventListener): void;
|
|
49
|
+
isKeyboardFocused(): boolean;
|
|
44
50
|
show(): void;
|
|
45
51
|
hide(): void;
|
|
46
52
|
/**
|
|
@@ -80,6 +80,15 @@ export class TooltipAdapter extends BaseAdapter {
|
|
|
80
80
|
removeLightDismissListener(listener) {
|
|
81
81
|
this._overlayElement?.removeEventListener(OVERLAY_CONSTANTS.events.LIGHT_DISMISS, listener);
|
|
82
82
|
}
|
|
83
|
+
addTooltipListener(type, listener, opts) {
|
|
84
|
+
this.hostElement?.addEventListener(type, listener, opts);
|
|
85
|
+
}
|
|
86
|
+
removeTooltipListener(type, listener) {
|
|
87
|
+
this.hostElement?.removeEventListener(type, listener);
|
|
88
|
+
}
|
|
89
|
+
isKeyboardFocused() {
|
|
90
|
+
return !!this._anchorElement?.matches(':focus-visible');
|
|
91
|
+
}
|
|
83
92
|
show() {
|
|
84
93
|
// Tooltips are shown above all content via <forge-overlay>
|
|
85
94
|
// We do this by dynamically creating an overlay element and appending it to the shadow root
|
|
@@ -39,8 +39,17 @@ export declare class TooltipCore extends TooltipCore_base implements ITooltipCor
|
|
|
39
39
|
private _hoverStartListener;
|
|
40
40
|
private _hoverEndListener;
|
|
41
41
|
private _hoverTimeout;
|
|
42
|
+
private _hoverOutsideTimeout;
|
|
43
|
+
private _isHoveringTooltip;
|
|
44
|
+
private _isHoveringAnchor;
|
|
45
|
+
private _tooltipHoverStartListener;
|
|
46
|
+
private _tooltipHoverEndListener;
|
|
47
|
+
private _anchorOpenHoverStartListener;
|
|
48
|
+
private _anchorOpenHoverEndListener;
|
|
42
49
|
private _focusListener;
|
|
43
50
|
private _blurListener;
|
|
51
|
+
private _keyboardFocusListener;
|
|
52
|
+
private _keyboardBlurListener;
|
|
44
53
|
private _longpressVisibilityTimeout;
|
|
45
54
|
private _scrollListener;
|
|
46
55
|
private _mouseDownListener;
|
|
@@ -56,10 +65,21 @@ export declare class TooltipCore extends TooltipCore_base implements ITooltipCor
|
|
|
56
65
|
private _hide;
|
|
57
66
|
private _attachDismissListeners;
|
|
58
67
|
private _detachDismissListeners;
|
|
68
|
+
private _attachTooltipHoverListeners;
|
|
69
|
+
private _detachTooltipHoverListeners;
|
|
70
|
+
private _attachAnchorOpenHoverListeners;
|
|
71
|
+
private _detachAnchorOpenHoverListeners;
|
|
59
72
|
private _onHoverStart;
|
|
60
73
|
private _onHoverEnd;
|
|
61
74
|
private _onFocus;
|
|
62
75
|
private _onBlur;
|
|
76
|
+
private _onKeyboardFocus;
|
|
77
|
+
private _onKeyboardBlur;
|
|
78
|
+
private _onTooltipHoverStart;
|
|
79
|
+
private _onTooltipHoverEnd;
|
|
80
|
+
private _onAnchorOpenHoverStart;
|
|
81
|
+
private _onAnchorOpenHoverEnd;
|
|
82
|
+
private _scheduleHideIfOutsideHoverRegion;
|
|
63
83
|
protected _onLongpress(): void;
|
|
64
84
|
protected _onLongpressEnd(evt: PointerEvent | TouchEvent): void;
|
|
65
85
|
private _onTryShow;
|