@tylertech/forge 3.9.0-dev.1 → 3.9.0-dev.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +2659 -2634
- package/dist/lib.js +102 -24
- package/dist/lib.js.map +3 -3
- package/dist/vscode.css-custom-data.json +177 -157
- package/dist/vscode.html-custom-data.json +228 -228
- package/esm/avatar/index.js +3 -3
- package/esm/badge/index.js +3 -3
- package/esm/card/index.d.ts +1 -1
- package/esm/card/index.js +4 -4
- package/esm/core/utils/dismissible-stack.js +5 -2
- package/esm/key/key/index.js +3 -3
- package/esm/key/key-item/index.js +3 -3
- package/esm/meter/meter/index.js +2 -2
- package/esm/meter/meter-group/index.js +3 -3
- package/esm/popover/popover-constants.d.ts +0 -1
- package/esm/popover/popover-constants.js +1 -2
- package/esm/popover/popover-core.js +7 -12
- package/esm/popover/popover.d.ts +2 -2
- package/esm/popover/popover.js +3 -3
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/table/table-constants.d.ts +1 -0
- package/esm/table/table-constants.js +2 -1
- package/esm/table/table-core.js +2 -0
- package/esm/table/table.d.ts +2 -0
- package/esm/table/table.js +1 -0
- package/esm/view-switcher/view-switcher.d.ts +5 -0
- package/esm/view-switcher/view-switcher.js +6 -1
- package/package.json +1 -1
- package/sass/view-switcher/view-switcher.scss +13 -7
package/esm/avatar/index.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { AvatarComponent } from './avatar';
|
|
8
8
|
export * from './avatar';
|
|
9
9
|
export * from './avatar-constants';
|
|
10
10
|
export function defineAvatarComponent() {
|
|
11
|
-
|
|
11
|
+
defineCustomElement(AvatarComponent);
|
|
12
12
|
}
|
package/esm/badge/index.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { BadgeComponent } from './badge';
|
|
8
8
|
export * from './badge-component-delegate';
|
|
9
9
|
export * from './badge-constants';
|
|
10
10
|
export * from './badge';
|
|
11
11
|
export function defineBadgeComponent() {
|
|
12
|
-
|
|
12
|
+
defineCustomElement(BadgeComponent);
|
|
13
13
|
}
|
package/esm/card/index.d.ts
CHANGED
package/esm/card/index.js
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
export * from './card-constants';
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { CardComponent } from './card';
|
|
9
8
|
export * from './card';
|
|
9
|
+
export * from './card-constants';
|
|
10
10
|
export function defineCardComponent() {
|
|
11
|
-
|
|
11
|
+
defineCustomElement(CardComponent);
|
|
12
12
|
}
|
|
@@ -50,8 +50,11 @@ export class DismissibleStack {
|
|
|
50
50
|
* @param state The state to pass to the dismiss method of each element
|
|
51
51
|
*/
|
|
52
52
|
async dismiss(el, state) {
|
|
53
|
-
const elements =
|
|
54
|
-
const elementsAfter = elements
|
|
53
|
+
const elements = DismissibleStack.instance.getAll();
|
|
54
|
+
const elementsAfter = elements
|
|
55
|
+
.slice(elements.indexOf(el))
|
|
56
|
+
.filter(element => element === el || element.contains(el))
|
|
57
|
+
.reverse();
|
|
55
58
|
for (const element of elementsAfter) {
|
|
56
59
|
if (!element[tryDismiss](state)) {
|
|
57
60
|
break;
|
package/esm/key/key/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { KeyComponent } from './key';
|
|
8
8
|
export * from './key';
|
|
9
9
|
export function defineKeyComponent() {
|
|
10
|
-
|
|
10
|
+
defineCustomElement(KeyComponent);
|
|
11
11
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { KeyItemComponent } from './key-item';
|
|
8
8
|
export * from './key-item';
|
|
9
9
|
export function defineKeyItemComponent() {
|
|
10
|
-
|
|
10
|
+
defineCustomElement(KeyItemComponent);
|
|
11
11
|
}
|
package/esm/meter/meter/index.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
7
|
import { MeterComponent } from './meter';
|
|
8
8
|
export * from './meter';
|
|
9
9
|
export function defineMeterComponent() {
|
|
10
|
-
|
|
10
|
+
defineCustomElement(MeterComponent);
|
|
11
11
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { MeterGroupComponent } from './meter-group';
|
|
8
8
|
export * from './meter-group';
|
|
9
9
|
export function defineMeterGroupComponent() {
|
|
10
|
-
|
|
10
|
+
defineCustomElement(MeterGroupComponent);
|
|
11
11
|
}
|
|
@@ -103,10 +103,13 @@ export class PopoverCore extends WithLongpressListener((OverlayAwareCore)) {
|
|
|
103
103
|
}
|
|
104
104
|
this._previouslyFocusedElement = this._adapter.captureFocusedElement();
|
|
105
105
|
this._adapter.setOverlayOpen(true);
|
|
106
|
-
|
|
106
|
+
// Popovers can be distinct from each other, meaning that only one popover with the same distinct
|
|
107
|
+
// value can be open at a time. Let's capture the distinct group context and close any other popovers
|
|
108
|
+
// that are open in the same context.
|
|
109
|
+
if (this._distinct != null) {
|
|
107
110
|
const allPopovers = DismissibleStack.instance.getAll().filter(el => el.tagName.toLowerCase() === 'forge-popover');
|
|
108
|
-
const contextPopovers = allPopovers.filter(popover => popover.distinct === this._distinct);
|
|
109
|
-
contextPopovers.filter(popover => popover !== this._adapter.hostElement).forEach(popover =>
|
|
111
|
+
const contextPopovers = allPopovers.filter(popover => popover.distinct === this._distinct && !popover.persistent);
|
|
112
|
+
contextPopovers.filter(popover => popover !== this._adapter.hostElement).forEach(popover => popover.hideAsync());
|
|
110
113
|
}
|
|
111
114
|
if (!this.overlayElement.persistent) {
|
|
112
115
|
DismissibleStack.instance.add(this._adapter.hostElement);
|
|
@@ -528,14 +531,6 @@ export class PopoverCore extends WithLongpressListener((OverlayAwareCore)) {
|
|
|
528
531
|
return this._distinct;
|
|
529
532
|
}
|
|
530
533
|
set distinct(value) {
|
|
531
|
-
|
|
532
|
-
if (this._distinct !== value) {
|
|
533
|
-
if (this._adapter.hasHostAttribute(POPOVER_CONSTANTS.attributes.DISTINCT) && !value) {
|
|
534
|
-
this._distinct = POPOVER_CONSTANTS.defaults.DISTINCT;
|
|
535
|
-
}
|
|
536
|
-
else {
|
|
537
|
-
this._distinct = value;
|
|
538
|
-
}
|
|
539
|
-
}
|
|
534
|
+
this._distinct = value;
|
|
540
535
|
}
|
|
541
536
|
}
|
package/esm/popover/popover.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ declare global {
|
|
|
45
45
|
* @property {number} [hoverDismissDelay=500] - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
|
|
46
46
|
* @property {number} [hoverDelay=0] - The delay in milliseconds before the popover is shown.
|
|
47
47
|
* @property {PopoverPreset} [preset="popover"] - The preset to use for the popover.
|
|
48
|
-
* @property {string | null} [distinct=null] - Enforces that this popover should be the only one open
|
|
48
|
+
* @property {string | null} [distinct=null] - Enforces that this popover should be the only one open with the same unique value.
|
|
49
49
|
*
|
|
50
50
|
* @globalconfig placement
|
|
51
51
|
* @globalconfig animationType
|
|
@@ -66,7 +66,7 @@ declare global {
|
|
|
66
66
|
* @attribute {string} [hover-dismiss-delay=500] - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
|
|
67
67
|
* @attribute {number} [hover-delay=0] - The delay in milliseconds before the popover is shown.
|
|
68
68
|
* @attribute {string} [preset="popover"] - The preset to use for the popover.
|
|
69
|
-
* @attribute {string | null} [distinct=null] - Enforces that this popover should be the only one open
|
|
69
|
+
* @attribute {string | null} [distinct=null] - Enforces that this popover should be the only one open with the same unique value.
|
|
70
70
|
*
|
|
71
71
|
* @event {CustomEvent<IPopoverToggleEventData>} forge-popover-beforetoggle - Dispatches before the popover is toggled, and is cancelable.
|
|
72
72
|
* @event {CustomEvent<IPopoverToggleEventData>} forge-popover-toggle - Dispatches after the popover is toggled.
|
package/esm/popover/popover.js
CHANGED
|
@@ -29,7 +29,7 @@ const styles = '@keyframes zoomin{from{transform:scale(.8)}to{transform:scale(1)
|
|
|
29
29
|
* @property {number} [hoverDismissDelay=500] - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
|
|
30
30
|
* @property {number} [hoverDelay=0] - The delay in milliseconds before the popover is shown.
|
|
31
31
|
* @property {PopoverPreset} [preset="popover"] - The preset to use for the popover.
|
|
32
|
-
* @property {string | null} [distinct=null] - Enforces that this popover should be the only one open
|
|
32
|
+
* @property {string | null} [distinct=null] - Enforces that this popover should be the only one open with the same unique value.
|
|
33
33
|
*
|
|
34
34
|
* @globalconfig placement
|
|
35
35
|
* @globalconfig animationType
|
|
@@ -50,7 +50,7 @@ const styles = '@keyframes zoomin{from{transform:scale(.8)}to{transform:scale(1)
|
|
|
50
50
|
* @attribute {string} [hover-dismiss-delay=500] - The delay in milliseconds before the popover is dismissed when the user hovers outside of the popover.
|
|
51
51
|
* @attribute {number} [hover-delay=0] - The delay in milliseconds before the popover is shown.
|
|
52
52
|
* @attribute {string} [preset="popover"] - The preset to use for the popover.
|
|
53
|
-
* @attribute {string | null} [distinct=null] - Enforces that this popover should be the only one open
|
|
53
|
+
* @attribute {string | null} [distinct=null] - Enforces that this popover should be the only one open with the same unique value.
|
|
54
54
|
*
|
|
55
55
|
* @event {CustomEvent<IPopoverToggleEventData>} forge-popover-beforetoggle - Dispatches before the popover is toggled, and is cancelable.
|
|
56
56
|
* @event {CustomEvent<IPopoverToggleEventData>} forge-popover-toggle - Dispatches after the popover is toggled.
|
|
@@ -142,7 +142,7 @@ let PopoverComponent = class PopoverComponent extends OverlayAware {
|
|
|
142
142
|
this.preset = newValue;
|
|
143
143
|
return;
|
|
144
144
|
case POPOVER_CONSTANTS.observedAttributes.DISTINCT:
|
|
145
|
-
this.distinct =
|
|
145
|
+
this.distinct = newValue;
|
|
146
146
|
return;
|
|
147
147
|
}
|
|
148
148
|
super.attributeChangedCallback(name, oldValue, newValue);
|
|
@@ -14,7 +14,7 @@ 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:ud3jlhz;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes ud3jlhz{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:ud3jli1;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes ud3jli1{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:ud3jliz;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 ud3jliz{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:ud3jlj0;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 ud3jlj0{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:ud3jlje;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes ud3jlje{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:ud3jljg;animation-duration:var(--forge-animation-duration-medium2, 300ms);animation-timing-function:var(--forge-animation-easing-standard,cubic-bezier(0.2,0,0,1))}@keyframes ud3jljg{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:ud3jljo;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 ud3jljo{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:ud3jlk5;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 ud3jlk5{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}';
|
|
18
18
|
/**
|
|
19
19
|
* @tag forge-split-view-panel
|
|
20
20
|
*
|
|
@@ -89,7 +89,8 @@ const events = {
|
|
|
89
89
|
SORT: `${elementName}-sort`,
|
|
90
90
|
FILTER: `${elementName}-filter`,
|
|
91
91
|
INITIALIZED: `${elementName}-initialized`,
|
|
92
|
-
COLUMN_RESIZE: `${elementName}-column-resize
|
|
92
|
+
COLUMN_RESIZE: `${elementName}-column-resize`,
|
|
93
|
+
BODY_RENDERED: `${elementName}-body-rendered`
|
|
93
94
|
};
|
|
94
95
|
const strings = {
|
|
95
96
|
SELECT_ALL: 'select-all',
|
package/esm/table/table-core.js
CHANGED
|
@@ -443,6 +443,7 @@ export class TableCore {
|
|
|
443
443
|
this._adapter.createTable(this._tableConfiguration);
|
|
444
444
|
this._renderSelections();
|
|
445
445
|
this._rendered = true;
|
|
446
|
+
this._adapter.emitHostEvent(TABLE_CONSTANTS.events.BODY_RENDERED, undefined, false);
|
|
446
447
|
}
|
|
447
448
|
/**
|
|
448
449
|
* Renders the table body only.
|
|
@@ -453,6 +454,7 @@ export class TableCore {
|
|
|
453
454
|
}
|
|
454
455
|
this._adapter.recreateTableBody(this._tableConfiguration);
|
|
455
456
|
this._renderSelections();
|
|
457
|
+
this._adapter.emitHostEvent(TABLE_CONSTANTS.events.BODY_RENDERED, undefined, false);
|
|
456
458
|
}
|
|
457
459
|
_renderSelections() {
|
|
458
460
|
if (this.select) {
|
package/esm/table/table.d.ts
CHANGED
|
@@ -59,6 +59,7 @@ declare global {
|
|
|
59
59
|
'forge-table-filter': CustomEvent<ITableFilterEventData>;
|
|
60
60
|
'forge-table-initialized': CustomEvent<void>;
|
|
61
61
|
'forge-table-column-resize': CustomEvent<ITableColumnResizeEventData>;
|
|
62
|
+
'forge-table-body-rendered': CustomEvent<void>;
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
@@ -77,6 +78,7 @@ declare global {
|
|
|
77
78
|
* @event {CustomEvent<ITableFilterEventData>} forge-table-filter - Dispatched when a column is filtered. Only applies when `filter` is specified.
|
|
78
79
|
* @event {CustomEvent<void>} forge-table-initialized - Dispatched when the table is initialized in the DOM for the first time.
|
|
79
80
|
* @event {CustomEvent<ITableColumnResizeEventData>} forge-table-column-resize - Dispatched when a column is resized.
|
|
81
|
+
* @event {CustomEvent<void>} forge-table-body-rendered - Dispatched when the table body is rendered.
|
|
80
82
|
*
|
|
81
83
|
* @cssclass forge-data-table - The base table class.
|
|
82
84
|
*/
|
package/esm/table/table.js
CHANGED
|
@@ -31,6 +31,7 @@ import { TooltipComponent } from '../tooltip';
|
|
|
31
31
|
* @event {CustomEvent<ITableFilterEventData>} forge-table-filter - Dispatched when a column is filtered. Only applies when `filter` is specified.
|
|
32
32
|
* @event {CustomEvent<void>} forge-table-initialized - Dispatched when the table is initialized in the DOM for the first time.
|
|
33
33
|
* @event {CustomEvent<ITableColumnResizeEventData>} forge-table-column-resize - Dispatched when a column is resized.
|
|
34
|
+
* @event {CustomEvent<void>} forge-table-body-rendered - Dispatched when the table body is rendered.
|
|
34
35
|
*
|
|
35
36
|
* @cssclass forge-data-table - The base table class.
|
|
36
37
|
*/
|
|
@@ -22,6 +22,11 @@ declare global {
|
|
|
22
22
|
* @tag forge-view-switcher
|
|
23
23
|
*
|
|
24
24
|
* @dependency forge-view
|
|
25
|
+
*
|
|
26
|
+
* @cssproperty --forge-view-switcher-height - The `height` of the view switcher.
|
|
27
|
+
* @cssproperty --forge-view-switcher-width - The `width` of the view switcher.
|
|
28
|
+
* @cssproperty --forge-view-switcher-animation-duration - The duration of view switching animations.
|
|
29
|
+
* @cssproperty --forge-view-switcher-animation-easing - The timing function of view switching animations.
|
|
25
30
|
*/
|
|
26
31
|
export declare class ViewSwitcherComponent extends BaseComponent implements IViewSwitcherComponent {
|
|
27
32
|
static get observedAttributes(): string[];
|
|
@@ -11,11 +11,16 @@ import { VIEW_SWITCHER_CONSTANTS } from './view-switcher-constants';
|
|
|
11
11
|
import { ViewComponent } from './view/view';
|
|
12
12
|
import { BaseComponent } from '../core/base/base-component';
|
|
13
13
|
const template = '<template><div class=\"forge-view-switcher\" part=\"root\"><slot></slot></div></template>';
|
|
14
|
-
const styles = ':host{height:var(--_view-switcher-height);width:var(--_view-switcher-width);display:block}:host
|
|
14
|
+
const styles = ':host{height:var(--_view-switcher-height);width:var(--_view-switcher-width);display:block}:host{--_view-switcher-height:var(--forge-view-switcher-height, auto);--_view-switcher-width:var(--forge-view-switcher-width, auto)}:host([hidden]){display:none}.forge-view-switcher{--_view-switcher-animation-duration:var(--forge-view-switcher-animation-duration, var(--forge-animation-duration-medium2, 300ms));--_view-switcher-animation-easing:var(--forge-view-switcher-animation-easing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-view-switcher{height:var(--_view-switcher-height);width:var(--_view-switcher-width);position:relative;overflow:hidden;transition-property:height;transition-duration:var(--_view-switcher-animation-duration);transition-timing-function:var(--_view-switcher-animation-easing)}.forge-view-switcher ::slotted(.forge-view-switcher__view--hidden){position:absolute;top:0;right:0;bottom:0;left:0}:host(.slide) ::slotted(forge-view){transition-property:transform;transition-duration:var(--_view-switcher-animation-duration);transition-timing-function:var(--_view-switcher-animation-easing);will-change:transform}:host(.fade) ::slotted(forge-view){transition-property:opacity;transition-duration:var(--_view-switcher-animation-duration);transition-timing-function:var(--_view-switcher-animation-easing);will-change:opacity}:host(.fade) ::slotted(.forge-view-switcher__view--hidden){opacity:0}';
|
|
15
15
|
/**
|
|
16
16
|
* @tag forge-view-switcher
|
|
17
17
|
*
|
|
18
18
|
* @dependency forge-view
|
|
19
|
+
*
|
|
20
|
+
* @cssproperty --forge-view-switcher-height - The `height` of the view switcher.
|
|
21
|
+
* @cssproperty --forge-view-switcher-width - The `width` of the view switcher.
|
|
22
|
+
* @cssproperty --forge-view-switcher-animation-duration - The duration of view switching animations.
|
|
23
|
+
* @cssproperty --forge-view-switcher-animation-easing - The timing function of view switching animations.
|
|
19
24
|
*/
|
|
20
25
|
let ViewSwitcherComponent = class ViewSwitcherComponent extends BaseComponent {
|
|
21
26
|
static get observedAttributes() {
|
package/package.json
CHANGED
|
@@ -3,14 +3,20 @@
|
|
|
3
3
|
* Copyright Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
@use './core'
|
|
6
|
+
@use './core' as *;
|
|
7
7
|
|
|
8
8
|
//
|
|
9
9
|
// Host
|
|
10
10
|
//
|
|
11
11
|
|
|
12
|
+
$host-tokens: (height, width);
|
|
13
|
+
|
|
14
|
+
:host {
|
|
15
|
+
@include host;
|
|
16
|
+
}
|
|
17
|
+
|
|
12
18
|
:host {
|
|
13
|
-
@include
|
|
19
|
+
@include tokens($includes: $host-tokens);
|
|
14
20
|
}
|
|
15
21
|
|
|
16
22
|
:host([hidden]) {
|
|
@@ -22,14 +28,14 @@
|
|
|
22
28
|
//
|
|
23
29
|
|
|
24
30
|
.forge-view-switcher {
|
|
25
|
-
@include
|
|
31
|
+
@include tokens($excludes: $host-tokens);
|
|
26
32
|
}
|
|
27
33
|
|
|
28
34
|
.forge-view-switcher {
|
|
29
|
-
@include
|
|
35
|
+
@include base;
|
|
30
36
|
|
|
31
37
|
::slotted(.forge-view-switcher__view--hidden) {
|
|
32
|
-
@include
|
|
38
|
+
@include view-hidden;
|
|
33
39
|
}
|
|
34
40
|
}
|
|
35
41
|
|
|
@@ -39,7 +45,7 @@
|
|
|
39
45
|
|
|
40
46
|
:host(.slide) {
|
|
41
47
|
::slotted(forge-view) {
|
|
42
|
-
@include
|
|
48
|
+
@include view-slidable;
|
|
43
49
|
}
|
|
44
50
|
}
|
|
45
51
|
|
|
@@ -49,7 +55,7 @@
|
|
|
49
55
|
|
|
50
56
|
:host(.fade) {
|
|
51
57
|
::slotted(forge-view) {
|
|
52
|
-
@include
|
|
58
|
+
@include view-fadeable;
|
|
53
59
|
}
|
|
54
60
|
|
|
55
61
|
::slotted(.forge-view-switcher__view--hidden) {
|