@tylertech/forge 3.8.0-dev.2 → 3.8.0-dev.4
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 +1725 -928
- package/dist/app-bar/forge-app-bar.css +20 -3
- package/dist/forge.css +2 -2
- package/dist/lib.js +20 -20
- package/dist/lib.js.map +4 -4
- package/dist/table/forge-table.css +2 -2
- package/dist/vscode.css-custom-data.json +94 -84
- package/dist/vscode.html-custom-data.json +190 -65
- package/esm/app-bar/app-bar/app-bar-constants.d.ts +2 -0
- package/esm/app-bar/app-bar/app-bar-constants.js +2 -1
- package/esm/app-bar/app-bar/app-bar-core.d.ts +5 -1
- package/esm/app-bar/app-bar/app-bar-core.js +10 -0
- package/esm/app-bar/app-bar/app-bar.d.ts +9 -1
- package/esm/app-bar/app-bar/app-bar.js +15 -2
- package/esm/app-bar/help-button/app-bar-help-button.js +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.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
- package/esm/app-bar/search/app-bar-search.js +1 -1
- package/esm/autocomplete/autocomplete-core.js +5 -0
- package/esm/avatar/avatar.d.ts +7 -4
- package/esm/avatar/avatar.js +10 -6
- package/esm/badge/badge.d.ts +7 -3
- package/esm/badge/badge.js +9 -4
- package/esm/button/button-constants.d.ts +1 -1
- package/esm/button/button.js +1 -1
- package/esm/card/card.d.ts +7 -3
- package/esm/card/card.js +8 -3
- package/esm/core/base/base-lit-element.d.ts +9 -0
- package/esm/core/base/base-lit-element.js +12 -0
- package/esm/core/utils/lit-utils.d.ts +11 -0
- package/esm/core/utils/lit-utils.js +31 -0
- package/esm/dialog/dialog-adapter.d.ts +0 -1
- package/esm/dialog/dialog-adapter.js +4 -39
- package/esm/dialog/dialog-constants.d.ts +6 -2
- package/esm/dialog/dialog-constants.js +4 -4
- package/esm/dialog/dialog-core.d.ts +3 -3
- package/esm/dialog/dialog-core.js +8 -7
- package/esm/dialog/dialog.d.ts +3 -3
- package/esm/dialog/dialog.js +3 -3
- package/esm/icon-button/icon-button-constants.d.ts +1 -1
- package/esm/icon-button/icon-button.js +1 -1
- package/esm/key/key/index.js +2 -2
- package/esm/key/key/key.d.ts +7 -2
- package/esm/key/key/key.js +10 -3
- package/esm/key/key-item/index.js +2 -2
- package/esm/key/key-item/key-item.d.ts +7 -2
- package/esm/key/key-item/key-item.js +10 -3
- package/esm/list-dropdown/list-dropdown-aware-core.d.ts +22 -0
- package/esm/list-dropdown/list-dropdown-aware-core.js +30 -0
- package/esm/list-dropdown/list-dropdown-aware.d.ts +35 -0
- package/esm/list-dropdown/list-dropdown-aware.js +35 -16
- package/esm/list-dropdown/list-dropdown-constants.d.ts +22 -3
- package/esm/list-dropdown/list-dropdown-constants.js +9 -1
- package/esm/list-dropdown/list-dropdown-utils.js +6 -0
- package/esm/menu/menu-core.js +2 -0
- package/esm/menu/menu.js +1 -0
- package/esm/meter/meter/meter.d.ts +7 -2
- package/esm/meter/meter/meter.js +10 -3
- package/esm/meter/meter-group/index.js +2 -2
- package/esm/meter/meter-group/meter-group.d.ts +7 -2
- package/esm/meter/meter-group/meter-group.js +10 -4
- package/esm/overlay/base/overlay-aware.d.ts +4 -4
- package/esm/overlay/base/overlay-aware.js +3 -3
- package/esm/select/core/base-select-core.js +5 -0
- package/esm/select/select/select.d.ts +25 -1
- package/esm/select/select/select.js +26 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/tabs/tab-bar/tab-bar.js +1 -1
- package/package.json +1 -1
- package/sass/app-bar/app-bar/_core.scss +0 -1
- package/sass/app-bar/app-bar/app-bar.scss +51 -7
- package/sass/app-bar/forge-app-bar.scss +41 -11
- package/sass/app-bar/search/app-bar-search.scss +3 -0
- package/sass/button/button.scss +24 -0
- package/sass/core/styles/scrollbar/index.scss +14 -0
- package/sass/core/styles/tokens/app-bar/app-bar/_tokens.scss +4 -1
- package/sass/icon-button/icon-button.scss +14 -0
- package/sass/table/_core.scss +1 -1
- package/sass/tabs/tab-bar/tab-bar.scss +24 -0
|
@@ -9,42 +9,46 @@ import { BaseComponent } from '../core/base/base-component';
|
|
|
9
9
|
import { LIST_DROPDOWN_CONSTANTS } from './list-dropdown-constants';
|
|
10
10
|
export class ListDropdownAware extends BaseComponent {
|
|
11
11
|
static get observedAttributes() {
|
|
12
|
-
return
|
|
13
|
-
LIST_DROPDOWN_CONSTANTS.attributes.POPUP_CLASSES,
|
|
14
|
-
LIST_DROPDOWN_CONSTANTS.attributes.OPTION_LIMIT,
|
|
15
|
-
LIST_DROPDOWN_CONSTANTS.attributes.OBSERVE_SCROLL,
|
|
16
|
-
LIST_DROPDOWN_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,
|
|
17
|
-
LIST_DROPDOWN_CONSTANTS.attributes.SYNC_POPUP_WIDTH,
|
|
18
|
-
LIST_DROPDOWN_CONSTANTS.attributes.CONSTRAIN_POPUP_WIDTH,
|
|
19
|
-
LIST_DROPDOWN_CONSTANTS.attributes.WRAP_OPTION_TEXT
|
|
20
|
-
];
|
|
12
|
+
return Object.values(LIST_DROPDOWN_CONSTANTS.observedAttributes);
|
|
21
13
|
}
|
|
22
14
|
constructor() {
|
|
23
15
|
super();
|
|
24
16
|
}
|
|
25
17
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
26
18
|
switch (name) {
|
|
27
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
19
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.POPUP_CLASSES:
|
|
28
20
|
this.popupClasses = newValue;
|
|
29
21
|
break;
|
|
30
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
22
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.OPTION_LIMIT:
|
|
31
23
|
this.optionLimit = coerceNumber(newValue);
|
|
32
24
|
break;
|
|
33
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
25
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.OBSERVE_SCROLL:
|
|
34
26
|
this.observeScroll = coerceBoolean(newValue);
|
|
35
27
|
break;
|
|
36
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
28
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.OBSERVE_SCROLL_THRESHOLD:
|
|
37
29
|
this.observeScrollThreshold = coerceNumber(newValue);
|
|
38
30
|
break;
|
|
39
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
31
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.SYNC_POPUP_WIDTH:
|
|
40
32
|
this.syncPopupWidth = coerceBoolean(newValue);
|
|
41
33
|
break;
|
|
42
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
34
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.CONSTRAIN_POPUP_WIDTH:
|
|
43
35
|
this.constrainPopupWidth = coerceBoolean(newValue);
|
|
44
36
|
break;
|
|
45
|
-
case LIST_DROPDOWN_CONSTANTS.
|
|
37
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.WRAP_OPTION_TEXT:
|
|
46
38
|
this.wrapOptionText = coerceBoolean(newValue);
|
|
47
39
|
break;
|
|
40
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.POPOVER_PLACEMENT:
|
|
41
|
+
this.popoverPlacement = newValue;
|
|
42
|
+
break;
|
|
43
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.POPOVER_OFFSET:
|
|
44
|
+
this.popoverOffset = JSON.parse(newValue);
|
|
45
|
+
break;
|
|
46
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.POPOVER_FLIP:
|
|
47
|
+
this.popoverFlip = newValue;
|
|
48
|
+
break;
|
|
49
|
+
case LIST_DROPDOWN_CONSTANTS.observedAttributes.POPOVER_SHIFT:
|
|
50
|
+
this.popoverShift = newValue;
|
|
51
|
+
break;
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
}
|
|
@@ -75,3 +79,18 @@ __decorate([
|
|
|
75
79
|
__decorate([
|
|
76
80
|
coreProperty()
|
|
77
81
|
], ListDropdownAware.prototype, "wrapOptionText", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
coreProperty()
|
|
84
|
+
], ListDropdownAware.prototype, "popoverPlacement", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
coreProperty()
|
|
87
|
+
], ListDropdownAware.prototype, "popoverOffset", void 0);
|
|
88
|
+
__decorate([
|
|
89
|
+
coreProperty()
|
|
90
|
+
], ListDropdownAware.prototype, "popoverFlip", void 0);
|
|
91
|
+
__decorate([
|
|
92
|
+
coreProperty()
|
|
93
|
+
], ListDropdownAware.prototype, "popoverShift", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
coreProperty()
|
|
96
|
+
], ListDropdownAware.prototype, "popoverFallbackPlacements", void 0);
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import type { IIconComponent } from '../icon';
|
|
7
|
-
import type { IOverlayOffset } from '../overlay/overlay-constants';
|
|
7
|
+
import type { IOverlayOffset, OverlayFlipState, OverlayShiftState } from '../overlay/overlay-constants';
|
|
8
8
|
import { PositionPlacement } from '../core/utils/position-utils';
|
|
9
9
|
import { TooltipPlacement, TooltipType } from '../tooltip';
|
|
10
10
|
export declare const LIST_DROPDOWN_CONSTANTS: {
|
|
11
|
-
|
|
11
|
+
observedAttributes: {
|
|
12
12
|
POPUP_CLASSES: string;
|
|
13
13
|
OPTION_LIMIT: string;
|
|
14
14
|
OBSERVE_SCROLL: string;
|
|
@@ -16,8 +16,25 @@ export declare const LIST_DROPDOWN_CONSTANTS: {
|
|
|
16
16
|
SYNC_POPUP_WIDTH: string;
|
|
17
17
|
CONSTRAIN_POPUP_WIDTH: string;
|
|
18
18
|
WRAP_OPTION_TEXT: string;
|
|
19
|
+
POPOVER_PLACEMENT: string;
|
|
20
|
+
POPOVER_OFFSET: string;
|
|
21
|
+
POPOVER_FLIP: string;
|
|
22
|
+
POPOVER_SHIFT: string;
|
|
23
|
+
};
|
|
24
|
+
attributes: {
|
|
19
25
|
CHECKBOX_ELEMENT: string;
|
|
20
26
|
DATA_ALLOW_FOCUS: string;
|
|
27
|
+
POPUP_CLASSES: string;
|
|
28
|
+
OPTION_LIMIT: string;
|
|
29
|
+
OBSERVE_SCROLL: string;
|
|
30
|
+
OBSERVE_SCROLL_THRESHOLD: string;
|
|
31
|
+
SYNC_POPUP_WIDTH: string;
|
|
32
|
+
CONSTRAIN_POPUP_WIDTH: string;
|
|
33
|
+
WRAP_OPTION_TEXT: string;
|
|
34
|
+
POPOVER_PLACEMENT: string;
|
|
35
|
+
POPOVER_OFFSET: string;
|
|
36
|
+
POPOVER_FLIP: string;
|
|
37
|
+
POPOVER_SHIFT: string;
|
|
21
38
|
};
|
|
22
39
|
classes: {
|
|
23
40
|
GROUP_WRAPPER: string;
|
|
@@ -85,7 +102,9 @@ export interface IListDropdownConfig<T = any> {
|
|
|
85
102
|
popupOffset?: IOverlayOffset;
|
|
86
103
|
popupStatic?: boolean;
|
|
87
104
|
popupPlacement?: PositionPlacement;
|
|
88
|
-
|
|
105
|
+
popupFlip?: OverlayFlipState;
|
|
106
|
+
popupShift?: OverlayShiftState;
|
|
107
|
+
popupFallbackPlacements?: PositionPlacement[] | null;
|
|
89
108
|
optionLimit?: number;
|
|
90
109
|
optionBuilder?: ListDropdownOptionBuilder;
|
|
91
110
|
observeScroll?: boolean;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
const
|
|
6
|
+
const observedAttributes = {
|
|
7
7
|
POPUP_CLASSES: 'popup-classes',
|
|
8
8
|
OPTION_LIMIT: 'option-limit',
|
|
9
9
|
OBSERVE_SCROLL: 'observe-scroll',
|
|
@@ -11,6 +11,13 @@ const attributes = {
|
|
|
11
11
|
SYNC_POPUP_WIDTH: 'sync-popup-width',
|
|
12
12
|
CONSTRAIN_POPUP_WIDTH: 'constrain-popup-width',
|
|
13
13
|
WRAP_OPTION_TEXT: 'wrap-option-text',
|
|
14
|
+
POPOVER_PLACEMENT: 'popover-placement',
|
|
15
|
+
POPOVER_OFFSET: 'popover-offset',
|
|
16
|
+
POPOVER_FLIP: 'popover-flip',
|
|
17
|
+
POPOVER_SHIFT: 'popover-shift'
|
|
18
|
+
};
|
|
19
|
+
const attributes = {
|
|
20
|
+
...observedAttributes,
|
|
14
21
|
// Internal
|
|
15
22
|
CHECKBOX_ELEMENT: 'data-list-dropdown-checkbox',
|
|
16
23
|
DATA_ALLOW_FOCUS: 'data-list-dropdown-allow-focus'
|
|
@@ -19,6 +26,7 @@ const classes = {
|
|
|
19
26
|
GROUP_WRAPPER: 'forge-list-dropdown__group-wrapper'
|
|
20
27
|
};
|
|
21
28
|
export const LIST_DROPDOWN_CONSTANTS = {
|
|
29
|
+
observedAttributes,
|
|
22
30
|
attributes,
|
|
23
31
|
classes
|
|
24
32
|
};
|
|
@@ -60,6 +60,12 @@ export function createPopupDropdown(config, targetElement) {
|
|
|
60
60
|
if (config.popupOffset) {
|
|
61
61
|
popoverElement.offset = config.popupOffset;
|
|
62
62
|
}
|
|
63
|
+
if (config.popupFlip) {
|
|
64
|
+
popoverElement.flip = config.popupFlip;
|
|
65
|
+
}
|
|
66
|
+
if (config.popupShift !== undefined) {
|
|
67
|
+
popoverElement.shift = config.popupShift;
|
|
68
|
+
}
|
|
63
69
|
// Set the animations based on our type
|
|
64
70
|
if (config.type === ListDropdownType.None) {
|
|
65
71
|
popoverElement.animationType = 'none';
|
package/esm/menu/menu-core.js
CHANGED
|
@@ -238,6 +238,8 @@ export class MenuCore extends CascadingListDropdownAwareCore {
|
|
|
238
238
|
observeScroll: this._observeScroll,
|
|
239
239
|
observeScrollThreshold: this._observeScrollThreshold,
|
|
240
240
|
popupPlacement: this._placement,
|
|
241
|
+
popupFlip: this._popoverFlip,
|
|
242
|
+
popupShift: this._popoverShift,
|
|
241
243
|
popupFallbackPlacements: this._fallbackPlacements,
|
|
242
244
|
activeStartIndex: fromKeyboard ? 0 : undefined,
|
|
243
245
|
popupClasses: [MENU_CONSTANTS.classes.POPUP, ...this._popupClasses],
|
package/esm/menu/menu.js
CHANGED
|
@@ -25,6 +25,7 @@ const styles = ':host{display:inline-flex}:host([hidden]){display:none}';
|
|
|
25
25
|
let MenuComponent = class MenuComponent extends ListDropdownAware {
|
|
26
26
|
static get observedAttributes() {
|
|
27
27
|
return [
|
|
28
|
+
...ListDropdownAware.observedAttributes,
|
|
28
29
|
MENU_CONSTANTS.attributes.OPEN,
|
|
29
30
|
MENU_CONSTANTS.attributes.PLACEMENT,
|
|
30
31
|
MENU_CONSTANTS.attributes.SELECTED_INDEX,
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { PropertyValues, TemplateResult } from 'lit';
|
|
7
7
|
import { Theme } from '../../constants';
|
|
8
|
+
import { CUSTOM_ELEMENT_NAME_PROPERTY } from '@tylertech/forge-core';
|
|
9
|
+
import { BaseLitElement } from '../../core/base/base-lit-element';
|
|
10
|
+
export declare const METER_TAG_NAME: keyof HTMLElementTagNameMap;
|
|
8
11
|
export type MeterDirection = 'horizontal' | 'vertical';
|
|
9
12
|
export type MeterDensity = 'default' | 'small' | 'medium' | 'large';
|
|
10
13
|
export type MeterShape = 'default' | 'round' | 'squared';
|
|
@@ -47,9 +50,11 @@ export type MeterValueMode = 'manual' | 'percentage' | 'value';
|
|
|
47
50
|
* @slot - The default slot for the meter's label.
|
|
48
51
|
* @slot value - A textual representation of the meter's value.
|
|
49
52
|
*/
|
|
50
|
-
export declare class MeterComponent extends
|
|
53
|
+
export declare class MeterComponent extends BaseLitElement {
|
|
51
54
|
static styles: import("lit").CSSResult;
|
|
52
55
|
static formAssociated: boolean;
|
|
56
|
+
/** @deprecated Used for compatibility with legacy Forge @customElement decorator. */
|
|
57
|
+
static [CUSTOM_ELEMENT_NAME_PROPERTY]: keyof HTMLElementTagNameMap;
|
|
53
58
|
/**
|
|
54
59
|
* The current value of the meter.
|
|
55
60
|
* @default 0
|
package/esm/meter/meter/meter.js
CHANGED
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
var _a;
|
|
6
7
|
import { __decorate } from "tslib";
|
|
7
|
-
import {
|
|
8
|
+
import { html, unsafeCSS } from 'lit';
|
|
8
9
|
import { customElement, property, queryAssignedNodes, state } from 'lit/decorators.js';
|
|
9
10
|
import { classMap } from 'lit/directives/class-map.js';
|
|
10
11
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
11
12
|
import { setDefaultAria } from '../../core/utils/a11y-utils';
|
|
12
13
|
import { toggleState } from '../../core/utils/utils';
|
|
14
|
+
import { CUSTOM_ELEMENT_NAME_PROPERTY } from '@tylertech/forge-core';
|
|
15
|
+
import { BaseLitElement } from '../../core/base/base-lit-element';
|
|
13
16
|
const styles = ':host{display:inline}.forge-meter{--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-low, #e8ebff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary, #3d5afe));--_meter-height:var(--forge-meter-height, var(--forge-spacing-medium, 16px));--_meter-shape:var(--forge-meter-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_meter-inner-shape:var(--forge-meter-inner-shape, 0);--_meter-inner-elevation:var(--forge-meter-inner-elevation, 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12));--_meter-tickmarks:var(--forge-meter-tickmarks, 10);--_meter-tickmark-opacity:var(--forge-meter-tickmark-opacity, 54%);--_meter-transition-duration:var(--forge-meter-transition-duration, var(--forge-animation-duration-short4, 200ms));--_meter-transition-timing:var(--forge-meter-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-meter{box-sizing:border-box}.forge-meter .heading{-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);display:flex;align-items:center;justify-content:space-between;line-height:normal}.forge-meter .heading.not-empty{margin-bottom:var(--forge-spacing-xxsmall,4px)}.forge-meter .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forge-meter .value{color:var(--forge-theme-text-medium,rgba(0,0,0,.6))}.forge-meter .track{position:relative;block-size:var(--_meter-height);border-radius:var(--_meter-shape);overflow:hidden;background:var(--_meter-background)}.forge-meter .track.segmented{--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-low, #f9e9e0));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning, #d14900));transition-property:background;transition-duration:var(--_meter-transition-duration);transition-timing-function:var(--_meter-transition-timing)}.forge-meter .track.segmented.least-optimal{--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-low, #f6e0e4));--_meter-color:var(--forge-meter-color, var(--forge-theme-error, #b00020))}.forge-meter .track.segmented.optimal{--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-low, #e6efe6));--_meter-color:var(--forge-meter-color, var(--forge-theme-success, #2e7d32))}.forge-meter .track.segmented .bar{transition-property:translate,box-shadow,background;transition-duration:var(--_meter-transition-duration);transition-timing-function:var(--_meter-transition-timing)}.forge-meter .track.lowest{--_meter-inner-elevation:var(--forge-meter-inner-elevation, 0)}.forge-meter .track.tickmarks::after{content:\"\";position:relative;display:block;width:100%;height:100%;margin-left:2px;background:repeating-linear-gradient(90deg,var(--_meter-color) 0,var(--_meter-color) 1px,var(--_meter-background) 1px,var(--_meter-background) 2px,transparent 2px,transparent calc(100% / (var(--_meter-tickmarks) + 1) + 0px));background-position-x:-2px;opacity:var(--_meter-tickmark-opacity);pointer-events:none;transition-property:background;transition-duration:var(--_meter-transition-duration);transition-timing-function:var(--_meter-transition-timing)}.forge-meter .bar{position:absolute;left:-100%;width:100%;height:100%;border-radius:var(--_meter-inner-shape);box-shadow:var(--_meter-inner-elevation);background:var(--_meter-color);translate:var(--_meter-percentage) 0;transition-property:translate,box-shadow;transition-duration:var(--_meter-transition-duration);transition-timing-function:var(--_meter-transition-timing)}.forge-meter.grouped{display:block;position:absolute;z-index:var(--_meter-z-index);top:0;left:var(--_meter-inset);width:calc(var(--_meter-percentage) + var(--_meter-group-height) * .5);height:100%;border-radius:var(--_meter-inner-shape);border-top-left-radius:0;border-bottom-left-radius:0;margin-left:calc(-1 * var(--_meter-group-height) * .5);background:var(--_meter-color);box-shadow:var(--_meter-inner-elevation)}.forge-meter.grouped.muted{--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}.forge-meter.density--small{--_meter-height:var(--forge-meter-height, var(--forge-spacing-xsmall, 8px))}.forge-meter.density--medium{--_meter-height:var(--forge-meter-height, var(--forge-spacing-medium, 16px))}.forge-meter.density--large{--_meter-height:var(--forge-meter-height, var(--forge-spacing-large, 24px))}.forge-meter.shape--default{--_meter-shape:var(--forge-meter-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)))}.forge-meter.shape--rounded{--_meter-shape:var(--forge-meter-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)))}.forge-meter.shape--squared{--_meter-shape:var(--forge-meter-shape, 0)}.forge-meter.inner-shape--inherit{--_meter-inner-shape:var(--_meter-shape)}.forge-meter.muted .track{--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-minimum, #f7f8ff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}.forge-meter.muted .track.segmented{--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-minimum, #fdf8f5));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning-container-high, #eeba9e))}.forge-meter.muted .track.segmented.least-optimal{--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-minimum, #fcf5f6));--_meter-color:var(--forge-meter-color, var(--forge-theme-error-container-high, #e19eaa))}.forge-meter.muted .track.segmented.optimal{--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-minimum, #f7faf7));--_meter-color:var(--forge-meter-color, var(--forge-theme-success-container-high, #b0ceb1))}:host(:is(:state(vertical),:--vertical)){display:block}:host(:is(:state(vertical),:--vertical)) .forge-meter{display:flex;flex-direction:row-reverse;align-items:end;width:fit-content;height:100%;max-width:100%}:host(:is(:state(vertical),:--vertical)) .forge-meter .heading{flex-direction:column;align-items:start}:host(:is(:state(vertical),:--vertical)) .forge-meter .heading.not-empty{margin-bottom:0;margin-left:var(--forge-spacing-xsmall,8px)}:host(:is(:state(vertical),:--vertical)) .forge-meter .track{width:var(--_meter-height);height:100%}:host(:is(:state(vertical),:--vertical)) .forge-meter .track.tickmarks::after{margin-top:-2px;margin-left:0;background:repeating-linear-gradient(0,var(--_meter-color) 0,var(--_meter-color) 1px,var(--_meter-background) 1px,var(--_meter-background) 2px,transparent 2px,transparent calc(100% / (var(--_meter-tickmarks) + 1) + 0px));background-position-x:0;background-position-y:2px}:host(:is(:state(vertical),:--vertical)) .forge-meter .bar{left:initial;top:100%;translate:0 calc(-1 * var(--_meter-percentage))}:host(:is(:state(vertical),:--vertical)) .forge-meter.grouped{display:block;top:calc(100% - var(--_meter-percentage) - var(--_meter-inset));left:0;width:100%;height:calc(var(--_meter-percentage) + var(--_meter-group-height) * .5);max-width:initial;border-radius:var(--_meter-inner-shape);border-bottom-left-radius:0;border-bottom-right-radius:0;margin-left:0;margin-bottom:calc(-1 * var(--_meter-group-height) * .5)}.theme--primary:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-primary-container-low, #e8eaf6));--_meter-color:var(--forge-meter-color, var(--forge-theme-primary, #3f51b5))}.theme--primary:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-primary-container-low, #e8eaf6));--_meter-color:var(--forge-meter-color, var(--forge-theme-primary, #3f51b5))}.theme--primary.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-primary-container-minimum, #f7f8fc));--_meter-color:var(--forge-meter-color, var(--forge-theme-primary-container-high, #b6bde3))}.theme--primary.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-primary-container-minimum, #f7f8fc));--_meter-color:var(--forge-meter-color, var(--forge-theme-primary-container-high, #b6bde3))}.theme--secondary:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-secondary-container-low, #fff8e1));--_meter-color:var(--forge-meter-color, var(--forge-theme-secondary, #ffc107))}.theme--secondary:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-secondary-container-low, #fff8e1));--_meter-color:var(--forge-meter-color, var(--forge-theme-secondary, #ffc107))}.theme--secondary.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-secondary-container-minimum, #fffdf5));--_meter-color:var(--forge-meter-color, var(--forge-theme-secondary-container-high, #ffe7a1))}.theme--secondary.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-secondary-container-minimum, #fffdf5));--_meter-color:var(--forge-meter-color, var(--forge-theme-secondary-container-high, #ffe7a1))}.theme--tertiary:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-low, #e8ebff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary, #3d5afe))}.theme--tertiary:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-low, #e8ebff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary, #3d5afe))}.theme--tertiary.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-minimum, #f7f8ff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}.theme--tertiary.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-tertiary-container-minimum, #f7f8ff));--_meter-color:var(--forge-meter-color, var(--forge-theme-tertiary-container-high, #b5c0ff))}.theme--success:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-low, #e6efe6));--_meter-color:var(--forge-meter-color, var(--forge-theme-success, #2e7d32))}.theme--success:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-low, #e6efe6));--_meter-color:var(--forge-meter-color, var(--forge-theme-success, #2e7d32))}.theme--success.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-minimum, #f7faf7));--_meter-color:var(--forge-meter-color, var(--forge-theme-success-container-high, #b0ceb1))}.theme--success.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-success-container-minimum, #f7faf7));--_meter-color:var(--forge-meter-color, var(--forge-theme-success-container-high, #b0ceb1))}.theme--warning:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-low, #f9e9e0));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning, #d14900))}.theme--warning:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-low, #f9e9e0));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning, #d14900))}.theme--warning.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-minimum, #fdf8f5));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning-container-high, #eeba9e))}.theme--warning.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-warning-container-minimum, #fdf8f5));--_meter-color:var(--forge-meter-color, var(--forge-theme-warning-container-high, #eeba9e))}.theme--error:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-low, #f6e0e4));--_meter-color:var(--forge-meter-color, var(--forge-theme-error, #b00020))}.theme--error:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-low, #f6e0e4));--_meter-color:var(--forge-meter-color, var(--forge-theme-error, #b00020))}.theme--error.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-minimum, #fcf5f6));--_meter-color:var(--forge-meter-color, var(--forge-theme-error-container-high, #e19eaa))}.theme--error.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-error-container-minimum, #fcf5f6));--_meter-color:var(--forge-meter-color, var(--forge-theme-error-container-high, #e19eaa))}.theme--info:not(.muted) .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-info-container-low, #e3edf7));--_meter-color:var(--forge-meter-color, var(--forge-theme-info, #1565c0))}.theme--info:not(.muted).grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-info-container-low, #e3edf7));--_meter-color:var(--forge-meter-color, var(--forge-theme-info, #1565c0))}.theme--info.muted .track:not(.segmented){--_meter-background:var(--forge-meter-background, var(--forge-theme-info-container-minimum, #f6f9fc));--_meter-color:var(--forge-meter-color, var(--forge-theme-info-container-high, #a6c4e7))}.theme--info.muted .grouped{--_meter-background:var(--forge-meter-background, var(--forge-theme-info-container-minimum, #f6f9fc));--_meter-color:var(--forge-meter-color, var(--forge-theme-info-container-high, #a6c4e7))}@media (prefers-reduced-motion:reduce){.track{--_meter-transition-duration:var(--forge-meter-transition-duration, 0)}}@media (forced-colors:active){.track{border:1px solid CanvasText}.track .bar{background:CanvasText}.grouped{border-inline-end:1px solid Canvas!important;background:CanvasText!important}:host(:is(:state(vertical),:--vertical)) .grouped{border-block-start:1px solid CanvasText!important;border-inline-end:initial!important}}';
|
|
17
|
+
export const METER_TAG_NAME = 'forge-meter';
|
|
14
18
|
const VALUE_STATE_MAP = new Map([
|
|
15
19
|
['optimal', 'optimum-value'],
|
|
16
20
|
['suboptimal', 'suboptimum-value'],
|
|
@@ -51,7 +55,7 @@ const VALUE_STATE_MAP = new Map([
|
|
|
51
55
|
* @slot - The default slot for the meter's label.
|
|
52
56
|
* @slot value - A textual representation of the meter's value.
|
|
53
57
|
*/
|
|
54
|
-
let MeterComponent = class MeterComponent extends
|
|
58
|
+
let MeterComponent = class MeterComponent extends BaseLitElement {
|
|
55
59
|
/**
|
|
56
60
|
* Gets the percentage of the meter that's filled.
|
|
57
61
|
* @readonly
|
|
@@ -289,8 +293,11 @@ let MeterComponent = class MeterComponent extends LitElement {
|
|
|
289
293
|
VALUE_STATE_MAP.forEach((value, status) => toggleState(this._internals, value, this._status === status));
|
|
290
294
|
}
|
|
291
295
|
};
|
|
296
|
+
_a = CUSTOM_ELEMENT_NAME_PROPERTY;
|
|
292
297
|
MeterComponent.styles = unsafeCSS(styles);
|
|
293
298
|
MeterComponent.formAssociated = true;
|
|
299
|
+
/** @deprecated Used for compatibility with legacy Forge @customElement decorator. */
|
|
300
|
+
MeterComponent[_a] = METER_TAG_NAME;
|
|
294
301
|
__decorate([
|
|
295
302
|
property({ type: Number })
|
|
296
303
|
], MeterComponent.prototype, "value", void 0);
|
|
@@ -355,6 +362,6 @@ __decorate([
|
|
|
355
362
|
queryAssignedNodes({ slot: 'value' })
|
|
356
363
|
], MeterComponent.prototype, "_valueNodes", void 0);
|
|
357
364
|
MeterComponent = __decorate([
|
|
358
|
-
customElement(
|
|
365
|
+
customElement(METER_TAG_NAME)
|
|
359
366
|
], MeterComponent);
|
|
360
367
|
export { MeterComponent };
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { tryDefine } from '@tylertech/forge-core';
|
|
7
|
-
import { MeterGroupComponent } from './meter-group';
|
|
7
|
+
import { METER_GROUP_TAG_NAME, MeterGroupComponent } from './meter-group';
|
|
8
8
|
export * from './meter-group';
|
|
9
9
|
export function defineMeterGroupComponent() {
|
|
10
|
-
tryDefine(
|
|
10
|
+
tryDefine(METER_GROUP_TAG_NAME, MeterGroupComponent);
|
|
11
11
|
}
|
|
@@ -3,8 +3,11 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { CUSTOM_ELEMENT_NAME_PROPERTY } from '@tylertech/forge-core';
|
|
7
|
+
import { PropertyValues, TemplateResult } from 'lit';
|
|
7
8
|
import { MeterDensity, MeterDirection, MeterInnerShape, MeterShape } from '../meter/meter';
|
|
9
|
+
import { BaseLitElement } from '../../core/base/base-lit-element';
|
|
10
|
+
export declare const METER_GROUP_TAG_NAME: keyof HTMLElementTagNameMap;
|
|
8
11
|
/**
|
|
9
12
|
* @tag forge-meter-group
|
|
10
13
|
*
|
|
@@ -26,9 +29,11 @@ import { MeterDensity, MeterDirection, MeterInnerShape, MeterShape } from '../me
|
|
|
26
29
|
* @slot label - Positions a label above the meter group.
|
|
27
30
|
* @slot value - A textual representation of the meter's value.
|
|
28
31
|
*/
|
|
29
|
-
export declare class MeterGroupComponent extends
|
|
32
|
+
export declare class MeterGroupComponent extends BaseLitElement {
|
|
30
33
|
static styles: import("lit").CSSResult;
|
|
31
34
|
static formAssociated: boolean;
|
|
35
|
+
/** @deprecated Used for compatibility with legacy Forge @customElement decorator. */
|
|
36
|
+
static [CUSTOM_ELEMENT_NAME_PROPERTY]: keyof HTMLElementTagNameMap;
|
|
32
37
|
/**
|
|
33
38
|
* The minimum value of each meter in the group.
|
|
34
39
|
* @default 0
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
var _a;
|
|
6
7
|
import { __decorate } from "tslib";
|
|
7
|
-
import { debounce } from '@tylertech/forge-core';
|
|
8
|
-
import { html,
|
|
8
|
+
import { CUSTOM_ELEMENT_NAME_PROPERTY, debounce } from '@tylertech/forge-core';
|
|
9
|
+
import { html, unsafeCSS } from 'lit';
|
|
9
10
|
import { customElement, property, queryAssignedElements, queryAssignedNodes, state } from 'lit/decorators.js';
|
|
10
11
|
import { classMap } from 'lit/directives/class-map.js';
|
|
11
12
|
import { setDefaultAria } from '../../core/utils/a11y-utils';
|
|
12
13
|
import { toggleState } from '../../core/utils/utils';
|
|
14
|
+
import { BaseLitElement } from '../../core/base/base-lit-element';
|
|
13
15
|
const styles = ':host{display:inline}.forge-meter-group{--_meter-group-background:var(--forge-meter-group-background, var(--forge-theme-surface-container-low, #ebebeb));--_meter-group-height:var(--forge-meter-group-height, var(--forge-spacing-medium, 16px));--_meter-group-shape:var(--forge-meter-group-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)));--_meter-group-tickmarks:var(--forge-meter-group-tickmarks, 10);--_meter-group-tickmark-color:var(--forge-meter-group-tickmark-color, var(--forge-theme-outline-high, #212121));--_meter-group-tickmark-opacity:var(--forge-meter-group-tickmark-opacity, 54%)}.forge-meter-group{box-sizing:border-box}.forge-meter-group .heading{-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);display:flex;align-items:center;justify-content:space-between;line-height:normal}.forge-meter-group .heading.not-empty{margin-bottom:var(--forge-spacing-xxsmall,4px)}.forge-meter-group .label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forge-meter-group .value{color:var(--forge-theme-text-medium,rgba(0,0,0,.6))}.forge-meter-group .track{position:relative;height:var(--_meter-group-height);border-radius:var(--_meter-group-shape);overflow:hidden;background:var(--_meter-group-background)}.forge-meter-group .track.tickmarks::after{content:\"\";position:relative;display:block;z-index:9999;width:100%;height:100%;margin-left:-1px;background:repeating-linear-gradient(90deg,var(--_meter-group-tickmark-color) 0,var(--_meter-group-tickmark-color) 1px,transparent 1px,transparent calc(100% / (var(--_meter-group-tickmarks) + 1) + 0px));opacity:var(--_meter-group-tickmark-opacity);pointer-events:none}.forge-meter-group .track.inner-shape--inherit{--forge-meter-inner-shape:var(--_meter-group-shape)}.forge-meter-group .track.shape--default{--_meter-group-shape:var(--forge-meter-group-shape, calc(var(--forge-shape-medium, 4px) * var(--forge-shape-factor, 1)))}.forge-meter-group .track.shape--rounded{--_meter-group-shape:var(--forge-meter-group-shape, calc(var(--forge-shape-full, 9999px) * var(--forge-shape-factor, 1)))}.forge-meter-group .track.shape--squared{--_meter-group-shape:var(--forge-meter-group-shape, 0)}.forge-meter-group .track.density--small{--_meter-group-height:var(--forge-meter-group-height, var(--forge-spacing-xsmall, 8px))}.forge-meter-group .track.density--medium{--_meter-group-height:var(--forge-meter-group-height, var(--forge-spacing-medium, 16px))}.forge-meter-group .track.density--large{--_meter-group-height:var(--forge-meter-group-height, var(--forge-spacing-large, 24px))}:host(:is(:state(vertical),:--vertical)){display:block}:host(:is(:state(vertical),:--vertical)) .forge-meter-group{display:flex;flex-direction:row-reverse;align-items:end;width:fit-content;height:100%;max-width:100%}:host(:is(:state(vertical),:--vertical)) .forge-meter-group .heading{flex-direction:column;align-items:start}:host(:is(:state(vertical),:--vertical)) .forge-meter-group .heading.not-empty{margin-bottom:0;margin-left:var(--forge-spacing-xsmall,8px)}:host(:is(:state(vertical),:--vertical)) .forge-meter-group .track{width:var(--_meter-group-height);height:100%}:host(:is(:state(vertical),:--vertical)) .forge-meter-group .track.tickmarks::after{margin-top:1px;margin-left:0;background:repeating-linear-gradient(90deg,var(--_meter-group-tickmark-color),true 0,var(--_meter-group-tickmark-color),true 1px,transparent 1px,transparent calc(100% / (var(--_meter-group-tickmarks) + 1) + 0px))}@media (forced-colors:active){.track{border:1px solid CanvasText}}';
|
|
16
|
+
export const METER_GROUP_TAG_NAME = 'forge-meter-group';
|
|
14
17
|
/**
|
|
15
18
|
* @tag forge-meter-group
|
|
16
19
|
*
|
|
@@ -32,7 +35,7 @@ const styles = ':host{display:inline}.forge-meter-group{--_meter-group-backgroun
|
|
|
32
35
|
* @slot label - Positions a label above the meter group.
|
|
33
36
|
* @slot value - A textual representation of the meter's value.
|
|
34
37
|
*/
|
|
35
|
-
let MeterGroupComponent = class MeterGroupComponent extends
|
|
38
|
+
let MeterGroupComponent = class MeterGroupComponent extends BaseLitElement {
|
|
36
39
|
get labels() {
|
|
37
40
|
return this._internals.labels;
|
|
38
41
|
}
|
|
@@ -157,9 +160,12 @@ let MeterGroupComponent = class MeterGroupComponent extends LitElement {
|
|
|
157
160
|
this._hasSlottedHeadingContent = !!nodes.length;
|
|
158
161
|
}
|
|
159
162
|
};
|
|
163
|
+
_a = CUSTOM_ELEMENT_NAME_PROPERTY;
|
|
160
164
|
/* @ignore */
|
|
161
165
|
MeterGroupComponent.styles = unsafeCSS(styles);
|
|
162
166
|
MeterGroupComponent.formAssociated = true;
|
|
167
|
+
/** @deprecated Used for compatibility with legacy Forge @customElement decorator. */
|
|
168
|
+
MeterGroupComponent[_a] = METER_GROUP_TAG_NAME;
|
|
163
169
|
__decorate([
|
|
164
170
|
property({ type: Number })
|
|
165
171
|
], MeterGroupComponent.prototype, "min", void 0);
|
|
@@ -194,6 +200,6 @@ __decorate([
|
|
|
194
200
|
queryAssignedElements({ selector: 'forge-meter' })
|
|
195
201
|
], MeterGroupComponent.prototype, "_meters", void 0);
|
|
196
202
|
MeterGroupComponent = __decorate([
|
|
197
|
-
customElement(
|
|
203
|
+
customElement(METER_GROUP_TAG_NAME)
|
|
198
204
|
], MeterGroupComponent);
|
|
199
205
|
export { MeterGroupComponent };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { BaseComponent, IBaseComponent } from '../../core/base/base-component';
|
|
7
7
|
import { IOverlayComponent } from '../overlay';
|
|
8
8
|
import { IOverlayAwareCore } from './overlay-aware-core';
|
|
9
|
-
import { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy } from '../overlay-constants';
|
|
9
|
+
import { IOverlayOffset, OverlayFlipState, OverlayHideState, OverlayPlacement, OverlayPositionStrategy, OverlayShiftState } from '../overlay-constants';
|
|
10
10
|
import { PositionPlacement, VirtualElement } from '../../core/utils/position-utils';
|
|
11
11
|
import { IBaseOverlay } from './base-overlay';
|
|
12
12
|
export interface IOverlayAware extends IBaseComponent, IBaseOverlay {
|
|
@@ -21,7 +21,7 @@ export interface IOverlayAware extends IBaseComponent, IBaseOverlay {
|
|
|
21
21
|
* @property {OverlayPlacement} [placement="bottom"] - The placement of the overlay.
|
|
22
22
|
* @property {OverlayPositionStrategy} [positionStrategy="fixed"] - The position strategy of the overlay.
|
|
23
23
|
* @property {IOverlayOffset} [offset={}] - The offset of the overlay.
|
|
24
|
-
* @property {
|
|
24
|
+
* @property {OverlayShiftState} [shift="auto"] - Whether the overlay should shift to fit within the viewport.
|
|
25
25
|
* @property {OverlayHideState} [hide="anchor-hidden"] - The hide state of the overlay.
|
|
26
26
|
* @property {boolean} [persistent=false] - Whether the overlay should persist when the anchor is removed.
|
|
27
27
|
* @property {OverlayFlipState} [flip="auto"] - Whether the overlay should flip placements to another side fit within the viewport.
|
|
@@ -37,7 +37,7 @@ export interface IOverlayAware extends IBaseComponent, IBaseOverlay {
|
|
|
37
37
|
* @attribute {OverlayPlacement} [placement="bottom"] - The placement of the overlay.
|
|
38
38
|
* @attribute {OverlayPositionStrategy} [position-strategy="fixed"] - The position strategy of the overlay.
|
|
39
39
|
* @attribute {IOverlayOffset} offset - The offset of the overlay.
|
|
40
|
-
* @attribute {
|
|
40
|
+
* @attribute {OverlayShiftState} [shift="auto"] - Whether the overlay should shift to fit within the viewport.
|
|
41
41
|
* @attribute {OverlayHideState} [hide="anchor-hidden"] - The hide state of the overlay.
|
|
42
42
|
* @attribute {boolean} [persistent=false] - Whether the overlay should persist when the anchor is removed.
|
|
43
43
|
* @attribute {OverlayFlipState} [flip="auto"] - Whether the overlay should flip placements to another side fit within the viewport.
|
|
@@ -60,7 +60,7 @@ export declare abstract class OverlayAware<T extends IOverlayAwareCore> extends
|
|
|
60
60
|
placement: OverlayPlacement;
|
|
61
61
|
positionStrategy: OverlayPositionStrategy;
|
|
62
62
|
offset: IOverlayOffset;
|
|
63
|
-
shift:
|
|
63
|
+
shift: OverlayShiftState;
|
|
64
64
|
hide: OverlayHideState;
|
|
65
65
|
persistent: boolean;
|
|
66
66
|
flip: OverlayFlipState;
|
|
@@ -16,7 +16,7 @@ import { OVERLAY_CONSTANTS } from '../overlay-constants';
|
|
|
16
16
|
* @property {OverlayPlacement} [placement="bottom"] - The placement of the overlay.
|
|
17
17
|
* @property {OverlayPositionStrategy} [positionStrategy="fixed"] - The position strategy of the overlay.
|
|
18
18
|
* @property {IOverlayOffset} [offset={}] - The offset of the overlay.
|
|
19
|
-
* @property {
|
|
19
|
+
* @property {OverlayShiftState} [shift="auto"] - Whether the overlay should shift to fit within the viewport.
|
|
20
20
|
* @property {OverlayHideState} [hide="anchor-hidden"] - The hide state of the overlay.
|
|
21
21
|
* @property {boolean} [persistent=false] - Whether the overlay should persist when the anchor is removed.
|
|
22
22
|
* @property {OverlayFlipState} [flip="auto"] - Whether the overlay should flip placements to another side fit within the viewport.
|
|
@@ -32,7 +32,7 @@ import { OVERLAY_CONSTANTS } from '../overlay-constants';
|
|
|
32
32
|
* @attribute {OverlayPlacement} [placement="bottom"] - The placement of the overlay.
|
|
33
33
|
* @attribute {OverlayPositionStrategy} [position-strategy="fixed"] - The position strategy of the overlay.
|
|
34
34
|
* @attribute {IOverlayOffset} offset - The offset of the overlay.
|
|
35
|
-
* @attribute {
|
|
35
|
+
* @attribute {OverlayShiftState} [shift="auto"] - Whether the overlay should shift to fit within the viewport.
|
|
36
36
|
* @attribute {OverlayHideState} [hide="anchor-hidden"] - The hide state of the overlay.
|
|
37
37
|
* @attribute {boolean} [persistent=false] - Whether the overlay should persist when the anchor is removed.
|
|
38
38
|
* @attribute {OverlayFlipState} [flip="auto"] - Whether the overlay should flip placements to another side fit within the viewport.
|
|
@@ -75,7 +75,7 @@ export class OverlayAware extends BaseComponent {
|
|
|
75
75
|
this.persistent = coerceBoolean(newValue);
|
|
76
76
|
break;
|
|
77
77
|
case OVERLAY_CONSTANTS.observedAttributes.SHIFT:
|
|
78
|
-
this.shift =
|
|
78
|
+
this.shift = newValue;
|
|
79
79
|
break;
|
|
80
80
|
case OVERLAY_CONSTANTS.observedAttributes.FLIP:
|
|
81
81
|
this.flip = newValue;
|
|
@@ -127,6 +127,11 @@ export class BaseSelectCore extends ListDropdownAwareCore {
|
|
|
127
127
|
scrollEndListener: this._dropdownScrollEndListener,
|
|
128
128
|
activeChangeCallback: this._activeChangeListener,
|
|
129
129
|
targetWidthCallback: this._targetWidthCallback,
|
|
130
|
+
popupPlacement: this._popoverPlacement,
|
|
131
|
+
popupOffset: this._popoverOffset,
|
|
132
|
+
popupFlip: this._popoverFlip,
|
|
133
|
+
popupShift: this._popoverShift,
|
|
134
|
+
popupFallbackPlacements: this._popoverFallbackPlacements,
|
|
130
135
|
popupClasses: this._popupClasses,
|
|
131
136
|
optionLimit: this._optionLimit,
|
|
132
137
|
headerBuilder: this._popupHeaderBuilder,
|
|
@@ -14,7 +14,8 @@ import { FieldDensity, FieldLabelPosition } from '../../field';
|
|
|
14
14
|
import { IWithBaseField } from '../../field/base/with-base-field';
|
|
15
15
|
import { BaseSelectComponent, IBaseSelectComponent } from '../core';
|
|
16
16
|
import { SelectCore } from './select-core';
|
|
17
|
-
|
|
17
|
+
import { IListDropdownAware } from '../../list-dropdown/list-dropdown-aware';
|
|
18
|
+
export interface ISelectComponent extends IWithFormAssociation, IWithFocusable, IWithLabelAwareness, IWithElementInternals, IWithDefaultAria, IWithBaseField, IBaseSelectComponent, IListDropdownAware {
|
|
18
19
|
label: string;
|
|
19
20
|
placeholder: string;
|
|
20
21
|
setFormValue(value: FormValue | null, state?: FormValue | null | undefined): void;
|
|
@@ -63,6 +64,20 @@ declare const SelectComponent_base: import("../../constants").AbstractConstructo
|
|
|
63
64
|
* @property {SelectOptionBuilder} optionBuilder - Gets/sets the option builder function.
|
|
64
65
|
* @property {SelectSelectedTextBuilder} selectedTextBuilder - Gets/sets the selected text builder function.
|
|
65
66
|
* @property {SelectBeforeValueChangeCallback<any>} beforeValueChange - Gets/sets the before value change callback.
|
|
67
|
+
* @property {string | string[]; - } popupClasses - Gets/sets the list of classes to apply to the popup element.
|
|
68
|
+
* @property {ListDropdownHeaderBuilder} popupHeaderBuilder - Gets/sets the callback function for generating header content within the popup.
|
|
69
|
+
* @property {ListDropdownFooterBuilder} popupFooterBuilder - Gets/sets the callback function for generating header content within the popup.
|
|
70
|
+
* @property {boolean} [syncPopupWidth=false] - Gets/sets whether the popup width is synchronized with the popup target width.
|
|
71
|
+
* @property {number} optionLimit - Gets/sets the maximum number of options to display in the dropdown.
|
|
72
|
+
* @property {boolean} [observeScroll=false] - Controls the observation of scroll events on the dropdown.
|
|
73
|
+
* @property {number} [observeScrollThreshold=0] - The number of pixels from the bottom to trigger the scroll bottom event. Only applicable if `observeScroll` is true.
|
|
74
|
+
* @property {boolean} [constrainPopupWidth=true] - Gets/sets whether the popup width will be constrained to a max width of the viewport width (default: `100vw`).
|
|
75
|
+
* @property {boolean} [wrapOptionText=false] - Gets/sets whether the options will wrap their text or not. This only applies if `constrainPopupWidth` is `true`, if there is an explicit width set via CSS.
|
|
76
|
+
* @property {OverlayPlacement} [popoverPlacement="bottom"] - Gets/sets the placement of the popover.
|
|
77
|
+
* @property {IOverlayOffset} popoverOffset - Gets/sets the offset of the popover.
|
|
78
|
+
* @property {OverlayFlipState} [popoverFlip="auto"] - Gets/sets the flip state of the popover.
|
|
79
|
+
* @property {OverlayShiftState} [popoverShift="auto"] - Gets/sets whether the popover should shift to fit within the viewport.
|
|
80
|
+
* @property {PositionPlacement | null} popoverFallbackPlacements - Gets/sets the fallback placements of the popover.
|
|
66
81
|
*
|
|
67
82
|
* @attribute {string} label - Controls the label text.
|
|
68
83
|
* @attribute {string} placeholder - Controls the placeholder text.
|
|
@@ -70,6 +85,15 @@ declare const SelectComponent_base: import("../../constants").AbstractConstructo
|
|
|
70
85
|
* @attribute {number | number[]} selected-index - Gets/sets the selected index.
|
|
71
86
|
* @attribute {boolean} multiple - Gets/sets the multiple select state.
|
|
72
87
|
* @attribute {boolean} open - Gets/sets the open state.
|
|
88
|
+
* @attribute {boolean} [sync-popup-width=false] - Gets/sets whether the popup width is synchronized with the popup target width.
|
|
89
|
+
* @attribute {number} option-limit - Gets/sets the maximum number of options to display in the dropdown.
|
|
90
|
+
* @attribute {boolean} [observe-scroll=false] - Controls the observation of scroll events on the dropdown.
|
|
91
|
+
* @attribute {number} [observe-scroll-threshold=0] - The number of pixels from the bottom to trigger the scroll bottom event. Only applicable if `observeScroll` is true.
|
|
92
|
+
* @attribute {boolean} [wrap-option-text=false] - Gets/sets whether the options will wrap their text or not. This only applies if `constrainPopupWidth` is `true`, if there is an explicit width set via CSS.
|
|
93
|
+
* @attribute {OverlayPlacement} [popover-placement="bottom"] - Gets/sets the placement of the popover.
|
|
94
|
+
* @attribute {IOverlayOffset} popover-offset - Gets/sets the offset of the popover.
|
|
95
|
+
* @attribute {OverlayFlipState} [popover-flip="auto"] - Gets/sets the flip state of the popover.
|
|
96
|
+
* @attribute {OverlayShiftState} [popover-shift="auto"] - Gets/sets whether the popover should shift to fit within the viewport.
|
|
73
97
|
*
|
|
74
98
|
* @cssproperty --forge-select-placeholder-color - The color of the placeholder text.
|
|
75
99
|
* @cssproperty --forge-field-background - The background of the field surface.
|
|
@@ -27,7 +27,8 @@ import { OptionGroupComponent } from '../option-group';
|
|
|
27
27
|
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
|
+
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>';
|
|
31
32
|
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}';
|
|
32
33
|
/**
|
|
33
34
|
* @tag forge-select
|
|
@@ -60,6 +61,20 @@ const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge
|
|
|
60
61
|
* @property {SelectOptionBuilder} optionBuilder - Gets/sets the option builder function.
|
|
61
62
|
* @property {SelectSelectedTextBuilder} selectedTextBuilder - Gets/sets the selected text builder function.
|
|
62
63
|
* @property {SelectBeforeValueChangeCallback<any>} beforeValueChange - Gets/sets the before value change callback.
|
|
64
|
+
* @property {string | string[]; - } popupClasses - Gets/sets the list of classes to apply to the popup element.
|
|
65
|
+
* @property {ListDropdownHeaderBuilder} popupHeaderBuilder - Gets/sets the callback function for generating header content within the popup.
|
|
66
|
+
* @property {ListDropdownFooterBuilder} popupFooterBuilder - Gets/sets the callback function for generating header content within the popup.
|
|
67
|
+
* @property {boolean} [syncPopupWidth=false] - Gets/sets whether the popup width is synchronized with the popup target width.
|
|
68
|
+
* @property {number} optionLimit - Gets/sets the maximum number of options to display in the dropdown.
|
|
69
|
+
* @property {boolean} [observeScroll=false] - Controls the observation of scroll events on the dropdown.
|
|
70
|
+
* @property {number} [observeScrollThreshold=0] - The number of pixels from the bottom to trigger the scroll bottom event. Only applicable if `observeScroll` is true.
|
|
71
|
+
* @property {boolean} [constrainPopupWidth=true] - Gets/sets whether the popup width will be constrained to a max width of the viewport width (default: `100vw`).
|
|
72
|
+
* @property {boolean} [wrapOptionText=false] - Gets/sets whether the options will wrap their text or not. This only applies if `constrainPopupWidth` is `true`, if there is an explicit width set via CSS.
|
|
73
|
+
* @property {OverlayPlacement} [popoverPlacement="bottom"] - Gets/sets the placement of the popover.
|
|
74
|
+
* @property {IOverlayOffset} popoverOffset - Gets/sets the offset of the popover.
|
|
75
|
+
* @property {OverlayFlipState} [popoverFlip="auto"] - Gets/sets the flip state of the popover.
|
|
76
|
+
* @property {OverlayShiftState} [popoverShift="auto"] - Gets/sets whether the popover should shift to fit within the viewport.
|
|
77
|
+
* @property {PositionPlacement | null} popoverFallbackPlacements - Gets/sets the fallback placements of the popover.
|
|
63
78
|
*
|
|
64
79
|
* @attribute {string} label - Controls the label text.
|
|
65
80
|
* @attribute {string} placeholder - Controls the placeholder text.
|
|
@@ -67,6 +82,15 @@ const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge
|
|
|
67
82
|
* @attribute {number | number[]} selected-index - Gets/sets the selected index.
|
|
68
83
|
* @attribute {boolean} multiple - Gets/sets the multiple select state.
|
|
69
84
|
* @attribute {boolean} open - Gets/sets the open state.
|
|
85
|
+
* @attribute {boolean} [sync-popup-width=false] - Gets/sets whether the popup width is synchronized with the popup target width.
|
|
86
|
+
* @attribute {number} option-limit - Gets/sets the maximum number of options to display in the dropdown.
|
|
87
|
+
* @attribute {boolean} [observe-scroll=false] - Controls the observation of scroll events on the dropdown.
|
|
88
|
+
* @attribute {number} [observe-scroll-threshold=0] - The number of pixels from the bottom to trigger the scroll bottom event. Only applicable if `observeScroll` is true.
|
|
89
|
+
* @attribute {boolean} [wrap-option-text=false] - Gets/sets whether the options will wrap their text or not. This only applies if `constrainPopupWidth` is `true`, if there is an explicit width set via CSS.
|
|
90
|
+
* @attribute {OverlayPlacement} [popover-placement="bottom"] - Gets/sets the placement of the popover.
|
|
91
|
+
* @attribute {IOverlayOffset} popover-offset - Gets/sets the offset of the popover.
|
|
92
|
+
* @attribute {OverlayFlipState} [popover-flip="auto"] - Gets/sets the flip state of the popover.
|
|
93
|
+
* @attribute {OverlayShiftState} [popover-shift="auto"] - Gets/sets whether the popover should shift to fit within the viewport.
|
|
70
94
|
*
|
|
71
95
|
* @cssproperty --forge-select-placeholder-color - The color of the placeholder text.
|
|
72
96
|
* @cssproperty --forge-field-background - The background of the field surface.
|
|
@@ -135,6 +159,7 @@ const styles = ':host{display:block;outline:0}:host([hidden]){display:none}forge
|
|
|
135
159
|
let SelectComponent = class SelectComponent extends WithFormAssociation(WithLabelAwareness(WithFocusable(WithDefaultAria(WithElementInternals(WithBaseField((BaseSelectComponent))))))) {
|
|
136
160
|
static get observedAttributes() {
|
|
137
161
|
return [
|
|
162
|
+
...ListDropdownAware.observedAttributes,
|
|
138
163
|
...Object.values(BASE_FIELD_CONSTANTS.observedAttributes),
|
|
139
164
|
...Object.values(SELECT_CONSTANTS.observedAttributes),
|
|
140
165
|
...Object.values(BASE_SELECT_CONSTANTS.observedAttributes)
|
|
@@ -13,7 +13,7 @@ import { SplitViewPanelCore } from './split-view-panel-core';
|
|
|
13
13
|
import { SplitViewPanelAdapter } from './split-view-panel-adapter';
|
|
14
14
|
import { IconComponent, IconRegistry } from '../../icon';
|
|
15
15
|
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>';
|
|
16
|
-
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:
|
|
16
|
+
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:u0bbjid;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes u0bbjid{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:u0bbjj1;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes u0bbjj1{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:u0bbjjn;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1));animation-direction:reverse}@keyframes u0bbjjn{from{transform:none}to{transform:translateX(-100%)}}.forge-split-view-panel[orientation=horizontal].forge-split-view-panel--opening[resizable=start]{position:absolute;top:0;right:0;animation-name:u0bbjjq;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1));animation-direction:reverse}@keyframes u0bbjjq{from{transform:none}to{transform:translateX(100%)}}.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:u0bbjkj;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes u0bbjkj{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:u0bbjkk;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes u0bbjkk{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:u0bbjkm;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1));animation-direction:reverse}@keyframes u0bbjkm{from{transform:none}to{transform:translateY(-100%)}}.forge-split-view-panel[orientation=vertical].forge-split-view-panel--opening[resizable=start]{position:absolute;bottom:0;left:0;animation-name:u0bbjl9;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1));animation-direction:reverse}@keyframes u0bbjl9{from{transform:none}to{transform:translateY(100%)}}: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}';
|
|
17
17
|
import { StateLayerComponent } from '../../state-layer';
|
|
18
18
|
import { FocusIndicatorComponent } from '../../focus-indicator';
|
|
19
19
|
/**
|