@sbb-esta/lyne-elements-dev 5.0.0-next.1-dev.1777534945 → 5.0.0-next.1-dev.1777543026
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/autocomplete/autocomplete-base-element.js +1 -1
- package/autocomplete/autocomplete.component.js +1 -1
- package/{autocomplete-base-element-CSCv_WVh.js → autocomplete-base-element-BiLyvcN-.js} +1 -1
- package/autocomplete.js +1 -1
- package/autocomplete.pure.js +1 -1
- package/core/styles/mixins/scrollbar.scss +0 -6
- package/core/styles/scrollbar.scss +19 -24
- package/core/styles/styles.js +2 -2
- package/core.css +0 -37
- package/core.js +2 -2
- package/custom-elements.json +66 -16
- package/development/autocomplete/autocomplete-base-element.js +1 -1
- package/development/autocomplete/autocomplete.component.js +1 -1
- package/development/{autocomplete-base-element-Bwkns3IL.js → autocomplete-base-element-BxBpn8_e.js} +2 -2
- package/development/autocomplete.js +1 -1
- package/development/autocomplete.pure.js +1 -1
- package/development/core/styles/styles.d.ts +1 -0
- package/development/core/styles/styles.d.ts.map +1 -1
- package/development/core/styles/styles.js +2 -2
- package/development/core.js +2 -2
- package/development/dialog/dialog-content/dialog-content.component.d.ts +1 -0
- package/development/dialog/dialog-content/dialog-content.component.d.ts.map +1 -1
- package/development/dialog/dialog-content/dialog-content.component.js +1 -1
- package/development/{dialog-content.component-B7Grxjk6.js → dialog-content.component-Bzt-PL6f.js} +10 -3
- package/development/dialog.js +1 -1
- package/development/dialog.pure.js +1 -1
- package/development/file-selector/common/file-selector-common.d.ts +1 -2
- package/development/file-selector/common/file-selector-common.d.ts.map +1 -1
- package/development/file-selector/common/file-selector-common.js +2 -2
- package/development/file-selector/file-selector/file-selector.component.d.ts +1 -2
- package/development/file-selector/file-selector/file-selector.component.d.ts.map +1 -1
- package/development/file-selector/file-selector/file-selector.component.js +3 -6
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.d.ts.map +1 -1
- package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/development/file-selector-common-BH_iIjcB.js +417 -0
- package/development/{file-selector-dropzone.component-DRUUWI1A.js → file-selector-dropzone.component-ZCanLwF-.js} +4 -8
- package/development/file-selector.js +3 -3
- package/development/file-selector.pure.js +3 -3
- package/development/map-container/map-container.component.d.ts.map +1 -1
- package/development/map-container/map-container.component.js +1 -1
- package/development/map-container.component-DoFCVBoh.js +180 -0
- package/development/map-container.js +1 -1
- package/development/map-container.pure.js +1 -1
- package/development/menu/menu/menu.component.d.ts.map +1 -1
- package/development/menu/menu/menu.component.js +1 -1
- package/development/menu.component-CDBUaD8s.js +369 -0
- package/development/menu.js +1 -1
- package/development/menu.pure.js +1 -1
- package/development/navigation/navigation/navigation.component.d.ts.map +1 -1
- package/development/navigation/navigation/navigation.component.js +1 -1
- package/development/navigation/navigation-section/navigation-section.component.d.ts.map +1 -1
- package/development/navigation/navigation-section/navigation-section.component.js +1 -1
- package/development/navigation-section.component-D3_XVwyt.js +350 -0
- package/development/navigation.component-Cco4llBt.js +319 -0
- package/development/navigation.js +2 -2
- package/development/navigation.pure.js +2 -2
- package/development/overlay/overlay.component.d.ts.map +1 -1
- package/development/overlay/overlay.component.js +1 -1
- package/development/overlay.component-DBzb0PdD.js +206 -0
- package/development/overlay.js +1 -1
- package/development/overlay.pure.js +1 -1
- package/development/popover/popover.component.d.ts +1 -0
- package/development/popover/popover.component.d.ts.map +1 -1
- package/development/popover/popover.component.js +1 -1
- package/development/popover.component-Dj0INQsI.js +564 -0
- package/development/popover.js +1 -1
- package/development/popover.pure.js +1 -1
- package/development/select/select.component.js +1 -1
- package/development/{select.component-C1Xfvvii.js → select.component-D_9pjl7T.js} +2 -2
- package/development/select.js +1 -1
- package/development/select.pure.js +1 -1
- package/development/sidebar/sidebar/sidebar.component.d.ts.map +1 -1
- package/development/sidebar/sidebar/sidebar.component.js +1 -1
- package/development/sidebar.component-CYLbI1Vp.js +356 -0
- package/development/sidebar.js +1 -1
- package/development/sidebar.pure.js +1 -1
- package/development/styles-B_IWjHc5.js +22 -0
- package/development/table/table-wrapper/table-wrapper.component.js +1 -1
- package/development/table-wrapper.component-D8IFPow6.js +119 -0
- package/development/table.js +1 -1
- package/development/table.pure.js +1 -1
- package/dialog/dialog-content/dialog-content.component.js +1 -1
- package/{dialog-content.component-are-UBx3.js → dialog-content.component-iRLHPKPb.js} +7 -2
- package/dialog.js +1 -1
- package/dialog.pure.js +1 -1
- package/file-selector/common/file-selector-common.js +2 -2
- package/file-selector/file-selector/file-selector.component.js +10 -13
- package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
- package/{file-selector-common-jpJmVqAw.js → file-selector-common-PcqPdsnN.js} +44 -38
- package/{file-selector-dropzone.component-DDRTu6p2.js → file-selector-dropzone.component-2XUfh1NC.js} +20 -24
- package/file-selector.js +5 -5
- package/file-selector.pure.js +4 -4
- package/map-container/map-container.component.js +1 -1
- package/{map-container.component-Btnl3n9d.js → map-container.component-5I5DW5dJ.js} +23 -16
- package/map-container.js +1 -1
- package/map-container.pure.js +1 -1
- package/menu/menu/menu.component.js +1 -1
- package/{menu.component-CpNMheMG.js → menu.component-Bd37u3Ps.js} +26 -22
- package/menu.js +1 -1
- package/menu.pure.js +1 -1
- package/navigation/navigation/navigation.component.js +1 -1
- package/navigation/navigation-section/navigation-section.component.js +1 -1
- package/{navigation-section.component-219JlVIe.js → navigation-section.component-B_0xi30L.js} +24 -20
- package/{navigation.component-gLrMCbh9.js → navigation.component-CmrLIeDB.js} +24 -20
- package/navigation.js +2 -2
- package/navigation.pure.js +2 -2
- package/off-brand-theme.css +33 -134
- package/overlay/overlay.component.js +1 -1
- package/overlay.component-D2jtCeeb.js +156 -0
- package/overlay.js +1 -1
- package/overlay.pure.js +1 -1
- package/package.json +2 -2
- package/popover/popover.component.js +1 -1
- package/{popover.component-DnY9obd7.js → popover.component-CiMeNnO-.js} +27 -24
- package/popover.js +1 -1
- package/popover.pure.js +1 -1
- package/safety-theme.css +33 -134
- package/scrollbar.css +33 -97
- package/select/select.component.js +1 -1
- package/{select.component-Bhvd_sUV.js → select.component-BXPU7X_X.js} +1 -1
- package/select.js +1 -1
- package/select.pure.js +1 -1
- package/sidebar/sidebar/sidebar.component.js +1 -1
- package/{sidebar.component-Dpf9jZ1P.js → sidebar.component-CeUPJaqy.js} +28 -21
- package/sidebar.js +1 -1
- package/sidebar.pure.js +1 -1
- package/standard-theme.css +33 -134
- package/styles-Cb4jdMeE.js +5 -0
- package/table/table-wrapper/table-wrapper.component.js +1 -1
- package/{table-wrapper.component-DGL8RaxF.js → table-wrapper.component-CZ90q3pY.js} +1 -1
- package/table.js +1 -1
- package/table.pure.js +1 -1
- package/development/file-selector-common-BwkZZzA0.js +0 -409
- package/development/map-container.component-BLF21LG7.js +0 -173
- package/development/menu.component-BpKGNICN.js +0 -365
- package/development/navigation-section.component-DumXFFfg.js +0 -346
- package/development/navigation.component-CpoBEP55.js +0 -315
- package/development/overlay.component-CC_quHYI.js +0 -206
- package/development/popover.component-DT-cfDqo.js +0 -561
- package/development/sidebar.component-DR2JGwnM.js +0 -349
- package/development/styles-6T7UvhxK.js +0 -18
- package/development/table-wrapper.component-CjMOENHV.js +0 -119
- package/overlay.component-B00EoAd5.js +0 -156
- package/styles-D5okOWF1.js +0 -5
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { html, isServer, unsafeCSS } from "lit";
|
|
3
|
+
import { eventOptions, property } from "lit/decorators.js";
|
|
4
|
+
import { SbbAnimationCompleteMixin, SbbEscapableOverlayController, SbbFocusTrapController, SbbOpenCloseBaseElement, boxSizingStyles, forceType, handleDistinctChange, isZeroAnimationDuration, scrollbarStyles } from "./core.js";
|
|
5
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
6
|
+
//#region src/elements/sidebar/sidebar/sidebar.scss?inline
|
|
7
|
+
var sidebar_default = ":host {\n --sbb-link-text-decoration-line: none;\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n --sbb-sidebar-scrollbar-placeholder-width: var(--sbb-spacing-fixed-3x);\n --_sbb-sidebar-margin: 0;\n --_sbb-sidebar-margin-block-start: var(--sbb-sidebar-margin);\n --_sbb-sidebar-translate-x: -100%;\n --_sbb-sidebar-z-index: 2;\n --_sbb-sidebar-padding-inline-end: var(--sbb-sidebar-padding);\n --_sbb-sidebar-padding-block-start: var(--sbb-sidebar-padding);\n --_sbb-sidebar-border-radius-start: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-border-radius-end: 0;\n --_sbb-sidebar-close-button-size: var(--sbb-size-element-xs);\n --_sbb-sidebar-max-width: calc(100% - 2 * var(--_sbb-sidebar-margin));\n display: block;\n width: 20rem;\n}\n@supports (scrollbar-gutter: stable) and (not (-webkit-touch-callout: none)) {\n :host {\n --_sbb-sidebar-padding-inline-end: calc(\n var(--sbb-sidebar-padding) - var(--sbb-sidebar-scrollbar-placeholder-width)\n );\n }\n}\n\n:host([color=white]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-1);\n}\n\n:host([color=milk]) {\n --sbb-sidebar-background-color: var(--sbb-background-color-3);\n}\n\n:host(:is([mode=over], :is(:state(mode-over-forced),[state--mode-over-forced]):not(:is(:state(mode-over-forced-closing),[state--mode-over-forced-closing])))) {\n --_sbb-sidebar-margin: var(--sbb-sidebar-margin);\n --_sbb-sidebar-border-radius-end: var(--sbb-sidebar-border-radius);\n --_sbb-sidebar-z-index: 3;\n}\n\n:host(:is(:dir(rtl), [position=end])) {\n --_sbb-sidebar-translate-x: 100%;\n}\n\n:host(:dir(rtl)[position=end]) {\n --_sbb-sidebar-translate-x: -100%;\n}\n\n.sbb-sidebar {\n width: inherit;\n max-width: var(--_sbb-sidebar-max-width);\n background-color: var(--sbb-sidebar-background-color);\n display: flex;\n flex-direction: column;\n position: absolute;\n overflow: hidden;\n inset-block: 0;\n z-index: var(--_sbb-sidebar-z-index);\n border-start-start-radius: var(--_sbb-sidebar-border-radius-start);\n border-start-end-radius: var(--_sbb-sidebar-border-radius-start);\n border-end-start-radius: var(--_sbb-sidebar-border-radius-end);\n border-end-end-radius: var(--_sbb-sidebar-border-radius-end);\n margin: var(--_sbb-sidebar-margin);\n margin-block-start: var(--_sbb-sidebar-margin-block-start);\n transition-duration: var(--sbb-sidebar-container-animation-duration);\n transition-timing-function: var(--sbb-sidebar-container-animation-easing);\n transition-property: width, translate;\n translate: none;\n}\n:host([position=end]) .sbb-sidebar {\n inset-inline-end: 0;\n}\n:host(:is(:state(state-closed),[state--state-closed])) .sbb-sidebar {\n visibility: hidden;\n}\n:host(:is(:is(:state(state-closing),[state--state-closing]), :is(:state(state-closed),[state--state-closed]))) .sbb-sidebar {\n translate: var(--_sbb-sidebar-translate-x) 0;\n}\n\n.sbb-sidebar-title-section {\n display: flex;\n width: 100%;\n gap: var(--sbb-sidebar-title-gap);\n background-color: var(--sbb-sidebar-background-color);\n padding-inline: var(--sbb-sidebar-padding);\n transition: box-shadow var(--sbb-animation-easing) var(--sbb-sidebar-container-animation-duration);\n box-shadow: none;\n}\n:host(:is(:state(scrolled),[state--scrolled])) .sbb-sidebar-title-section {\n box-shadow: var(--sbb-box-shadow-level-5-soft);\n}\n\n.sbb-sidebar-content-section {\n padding-block-start: var(--_sbb-sidebar-padding-block-start);\n padding-inline: var(--sbb-sidebar-padding) var(--_sbb-sidebar-padding-inline-end);\n overflow-y: auto;\n flex-grow: 1;\n outline-color: var(--sbb-focus-outline-color);\n}\n@supports (scrollbar-gutter: stable) {\n .sbb-sidebar-content-section {\n scrollbar-gutter: stable;\n }\n}\n\n::slotted(sbb-sidebar-title) {\n flex-grow: 1;\n margin-block: var(--sbb-sidebar-title-padding-block);\n}\n\n::slotted(sbb-sidebar-close-button) {\n order: 1;\n margin-inline-end: calc(-1 * (var(--sbb-sidebar-padding) - var(--sbb-sidebar-title-padding-block)));\n margin-block: var(--sbb-sidebar-title-padding-block);\n inset-inline-end: var(--sbb-sidebar-padding);\n}";
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/elements/sidebar/sidebar/sidebar.component.ts
|
|
10
|
+
/**
|
|
11
|
+
* This component corresponds to a sidebar that can be opened on the sidebar container.
|
|
12
|
+
*
|
|
13
|
+
* @slot - Use the unnamed slot to slot any content into the sidebar.
|
|
14
|
+
* @slot title - Use the title slot to add an <sbb-title>.
|
|
15
|
+
*/
|
|
16
|
+
var SbbSidebarElement = (() => {
|
|
17
|
+
let _classSuper = SbbAnimationCompleteMixin(SbbOpenCloseBaseElement);
|
|
18
|
+
let _instanceExtraInitializers = [];
|
|
19
|
+
let _color_decorators;
|
|
20
|
+
let _color_initializers = [];
|
|
21
|
+
let _color_extraInitializers = [];
|
|
22
|
+
let _mode_decorators;
|
|
23
|
+
let _mode_initializers = [];
|
|
24
|
+
let _mode_extraInitializers = [];
|
|
25
|
+
let _position_decorators;
|
|
26
|
+
let _position_initializers = [];
|
|
27
|
+
let _position_extraInitializers = [];
|
|
28
|
+
let _opened_decorators;
|
|
29
|
+
let _opened_initializers = [];
|
|
30
|
+
let _opened_extraInitializers = [];
|
|
31
|
+
let _focusOnOpen_decorators;
|
|
32
|
+
let _focusOnOpen_initializers = [];
|
|
33
|
+
let _focusOnOpen_extraInitializers = [];
|
|
34
|
+
let __detectScrolledState_decorators;
|
|
35
|
+
return class SbbSidebarElement extends _classSuper {
|
|
36
|
+
static {
|
|
37
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
38
|
+
_color_decorators = [property({ reflect: true })];
|
|
39
|
+
_mode_decorators = [forceType((v) => v === "over" ? "over" : "side"), property({ reflect: true })];
|
|
40
|
+
_position_decorators = [
|
|
41
|
+
forceType((v) => v === "end" ? "end" : "start"),
|
|
42
|
+
handleDistinctChange((instance, _newValue, oldValue) => instance._updateSidebarWidth(oldValue)),
|
|
43
|
+
property({ reflect: true })
|
|
44
|
+
];
|
|
45
|
+
_opened_decorators = [forceType(), property({
|
|
46
|
+
type: Boolean,
|
|
47
|
+
reflect: true
|
|
48
|
+
})];
|
|
49
|
+
_focusOnOpen_decorators = [forceType(), property({
|
|
50
|
+
type: Boolean,
|
|
51
|
+
attribute: "focus-on-open"
|
|
52
|
+
})];
|
|
53
|
+
__detectScrolledState_decorators = [eventOptions({ passive: true })];
|
|
54
|
+
__esDecorate(this, null, _color_decorators, {
|
|
55
|
+
kind: "accessor",
|
|
56
|
+
name: "color",
|
|
57
|
+
static: false,
|
|
58
|
+
private: false,
|
|
59
|
+
access: {
|
|
60
|
+
has: (obj) => "color" in obj,
|
|
61
|
+
get: (obj) => obj.color,
|
|
62
|
+
set: (obj, value) => {
|
|
63
|
+
obj.color = value;
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
metadata: _metadata
|
|
67
|
+
}, _color_initializers, _color_extraInitializers);
|
|
68
|
+
__esDecorate(this, null, _mode_decorators, {
|
|
69
|
+
kind: "accessor",
|
|
70
|
+
name: "mode",
|
|
71
|
+
static: false,
|
|
72
|
+
private: false,
|
|
73
|
+
access: {
|
|
74
|
+
has: (obj) => "mode" in obj,
|
|
75
|
+
get: (obj) => obj.mode,
|
|
76
|
+
set: (obj, value) => {
|
|
77
|
+
obj.mode = value;
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
metadata: _metadata
|
|
81
|
+
}, _mode_initializers, _mode_extraInitializers);
|
|
82
|
+
__esDecorate(this, null, _position_decorators, {
|
|
83
|
+
kind: "accessor",
|
|
84
|
+
name: "position",
|
|
85
|
+
static: false,
|
|
86
|
+
private: false,
|
|
87
|
+
access: {
|
|
88
|
+
has: (obj) => "position" in obj,
|
|
89
|
+
get: (obj) => obj.position,
|
|
90
|
+
set: (obj, value) => {
|
|
91
|
+
obj.position = value;
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
metadata: _metadata
|
|
95
|
+
}, _position_initializers, _position_extraInitializers);
|
|
96
|
+
__esDecorate(this, null, _opened_decorators, {
|
|
97
|
+
kind: "accessor",
|
|
98
|
+
name: "opened",
|
|
99
|
+
static: false,
|
|
100
|
+
private: false,
|
|
101
|
+
access: {
|
|
102
|
+
has: (obj) => "opened" in obj,
|
|
103
|
+
get: (obj) => obj.opened,
|
|
104
|
+
set: (obj, value) => {
|
|
105
|
+
obj.opened = value;
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
metadata: _metadata
|
|
109
|
+
}, _opened_initializers, _opened_extraInitializers);
|
|
110
|
+
__esDecorate(this, null, _focusOnOpen_decorators, {
|
|
111
|
+
kind: "accessor",
|
|
112
|
+
name: "focusOnOpen",
|
|
113
|
+
static: false,
|
|
114
|
+
private: false,
|
|
115
|
+
access: {
|
|
116
|
+
has: (obj) => "focusOnOpen" in obj,
|
|
117
|
+
get: (obj) => obj.focusOnOpen,
|
|
118
|
+
set: (obj, value) => {
|
|
119
|
+
obj.focusOnOpen = value;
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
metadata: _metadata
|
|
123
|
+
}, _focusOnOpen_initializers, _focusOnOpen_extraInitializers);
|
|
124
|
+
__esDecorate(this, null, __detectScrolledState_decorators, {
|
|
125
|
+
kind: "method",
|
|
126
|
+
name: "_detectScrolledState",
|
|
127
|
+
static: false,
|
|
128
|
+
private: false,
|
|
129
|
+
access: {
|
|
130
|
+
has: (obj) => "_detectScrolledState" in obj,
|
|
131
|
+
get: (obj) => obj._detectScrolledState
|
|
132
|
+
},
|
|
133
|
+
metadata: _metadata
|
|
134
|
+
}, null, _instanceExtraInitializers);
|
|
135
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
136
|
+
enumerable: true,
|
|
137
|
+
configurable: true,
|
|
138
|
+
writable: true,
|
|
139
|
+
value: _metadata
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
static {
|
|
143
|
+
this.elementName = "sbb-sidebar";
|
|
144
|
+
}
|
|
145
|
+
static {
|
|
146
|
+
this.styles = [
|
|
147
|
+
boxSizingStyles,
|
|
148
|
+
scrollbarStyles,
|
|
149
|
+
unsafeCSS(sidebar_default)
|
|
150
|
+
];
|
|
151
|
+
}
|
|
152
|
+
#color_accessor_storage;
|
|
153
|
+
/** Background color of the sidebar. Either `white` or `milk`. */
|
|
154
|
+
get color() {
|
|
155
|
+
return this.#color_accessor_storage;
|
|
156
|
+
}
|
|
157
|
+
set color(value) {
|
|
158
|
+
this.#color_accessor_storage = value;
|
|
159
|
+
}
|
|
160
|
+
#mode_accessor_storage;
|
|
161
|
+
/** Mode of the sidebar; one of 'side' or 'over'. */
|
|
162
|
+
get mode() {
|
|
163
|
+
return this.#mode_accessor_storage;
|
|
164
|
+
}
|
|
165
|
+
set mode(value) {
|
|
166
|
+
this.#mode_accessor_storage = value;
|
|
167
|
+
}
|
|
168
|
+
#position_accessor_storage;
|
|
169
|
+
/** The side that the sidebar is attached to. */
|
|
170
|
+
get position() {
|
|
171
|
+
return this.#position_accessor_storage;
|
|
172
|
+
}
|
|
173
|
+
set position(value) {
|
|
174
|
+
this.#position_accessor_storage = value;
|
|
175
|
+
}
|
|
176
|
+
#opened_accessor_storage;
|
|
177
|
+
/**
|
|
178
|
+
* Whether the sidebar is opened or closed.
|
|
179
|
+
* Can be used to initially set the opened state, where
|
|
180
|
+
* the animation will be skipped.
|
|
181
|
+
*/
|
|
182
|
+
get opened() {
|
|
183
|
+
return this.#opened_accessor_storage;
|
|
184
|
+
}
|
|
185
|
+
set opened(value) {
|
|
186
|
+
this.#opened_accessor_storage = value;
|
|
187
|
+
}
|
|
188
|
+
#focusOnOpen_accessor_storage;
|
|
189
|
+
/**
|
|
190
|
+
* Whether the sidebar should focus the first focusable element automatically when opened.
|
|
191
|
+
* Defaults to false in when mode is set to `side`, otherwise defaults to true.
|
|
192
|
+
* If explicitly enabled, focus will be moved into the sidebar in `side` mode as well.
|
|
193
|
+
*/
|
|
194
|
+
get focusOnOpen() {
|
|
195
|
+
return this.#focusOnOpen_accessor_storage;
|
|
196
|
+
}
|
|
197
|
+
set focusOnOpen(value) {
|
|
198
|
+
this.#focusOnOpen_accessor_storage = value;
|
|
199
|
+
}
|
|
200
|
+
/** Returns the SbbSidebarContainerElement where this sidebar is contained. */
|
|
201
|
+
get container() {
|
|
202
|
+
return this._container;
|
|
203
|
+
}
|
|
204
|
+
constructor() {
|
|
205
|
+
super();
|
|
206
|
+
this.#color_accessor_storage = (__runInitializers(this, _instanceExtraInitializers), __runInitializers(this, _color_initializers, "white"));
|
|
207
|
+
this.#mode_accessor_storage = (__runInitializers(this, _color_extraInitializers), __runInitializers(this, _mode_initializers, "side"));
|
|
208
|
+
this.#position_accessor_storage = (__runInitializers(this, _mode_extraInitializers), __runInitializers(this, _position_initializers, "start"));
|
|
209
|
+
this.#opened_accessor_storage = (__runInitializers(this, _position_extraInitializers), __runInitializers(this, _opened_initializers, false));
|
|
210
|
+
this.#focusOnOpen_accessor_storage = (__runInitializers(this, _opened_extraInitializers), __runInitializers(this, _focusOnOpen_initializers, false));
|
|
211
|
+
this._container = (__runInitializers(this, _focusOnOpen_extraInitializers), null);
|
|
212
|
+
this._lastFocusedElement = null;
|
|
213
|
+
this._focusTrapController = new SbbFocusTrapController(this);
|
|
214
|
+
this._escapableOverlayController = new SbbEscapableOverlayController(this);
|
|
215
|
+
this._closeOnNavigation = () => {
|
|
216
|
+
if (this._isModeOver() && this.isOpen) this.close();
|
|
217
|
+
};
|
|
218
|
+
this.addController(new ResizeController(this, {
|
|
219
|
+
skipInitial: true,
|
|
220
|
+
callback: () => this._updateSidebarWidth()
|
|
221
|
+
}));
|
|
222
|
+
this.addEventListener?.("click", (e) => {
|
|
223
|
+
if (e.target?.localName === "sbb-sidebar-close-button") this.close();
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
connectedCallback() {
|
|
227
|
+
super.connectedCallback();
|
|
228
|
+
this._container = this.closest?.("sbb-sidebar-container");
|
|
229
|
+
this._updateSidebarWidth();
|
|
230
|
+
if (this.isOpen && this._isModeOver()) this._takeFocus();
|
|
231
|
+
if (!isServer) if (window.navigation) window.navigation.addEventListener("navigate", this._closeOnNavigation);
|
|
232
|
+
else window.addEventListener("popstate", this._closeOnNavigation);
|
|
233
|
+
}
|
|
234
|
+
disconnectedCallback() {
|
|
235
|
+
super.disconnectedCallback();
|
|
236
|
+
this.container?.style.removeProperty(this._buildCssWidthVar());
|
|
237
|
+
this._container = null;
|
|
238
|
+
if (!isServer) if (window.navigation) window.navigation.removeEventListener("navigate", this._closeOnNavigation);
|
|
239
|
+
else window.removeEventListener("popstate", this._closeOnNavigation);
|
|
240
|
+
}
|
|
241
|
+
willUpdate(changedProperties) {
|
|
242
|
+
super.willUpdate(changedProperties);
|
|
243
|
+
if (changedProperties.has("opened")) {
|
|
244
|
+
if (this.opened) this.open();
|
|
245
|
+
else if (!this.opened) this.close();
|
|
246
|
+
}
|
|
247
|
+
if (changedProperties.has("mode")) if (this.mode === "over" && this.isOpen) this._takeFocus();
|
|
248
|
+
else this.cedeFocus();
|
|
249
|
+
}
|
|
250
|
+
firstUpdated(changedProperties) {
|
|
251
|
+
super.firstUpdated(changedProperties);
|
|
252
|
+
this._updateSidebarWidth();
|
|
253
|
+
}
|
|
254
|
+
/** Toggles the sidebar visibility. */
|
|
255
|
+
toggle() {
|
|
256
|
+
if (this.state === "opening" || this.state === "opened") this.close();
|
|
257
|
+
else this.open();
|
|
258
|
+
}
|
|
259
|
+
/** Opens the sidebar. */
|
|
260
|
+
open() {
|
|
261
|
+
if (this.state === "opening" || this.state === "opened" || !this.dispatchBeforeOpenEvent()) return;
|
|
262
|
+
this.startAnimation();
|
|
263
|
+
if (!isServer && document.activeElement?.localName !== "body") this._lastFocusedElement = document.activeElement;
|
|
264
|
+
this.opened = true;
|
|
265
|
+
this.state = "opening";
|
|
266
|
+
const isZeroAnimationDuration = this._isZeroAnimationDuration() || !this.isConnected;
|
|
267
|
+
const isDuringInitialization = !this.hasUpdated;
|
|
268
|
+
if (!(isDuringInitialization || isZeroAnimationDuration)) return;
|
|
269
|
+
this.internals.states.add("skip-animation");
|
|
270
|
+
if (isDuringInitialization) this.updateComplete.then(() => this._handleOpening());
|
|
271
|
+
else this._handleOpening();
|
|
272
|
+
}
|
|
273
|
+
_isZeroAnimationDuration() {
|
|
274
|
+
return isZeroAnimationDuration(this, "--sbb-sidebar-container-animation-duration");
|
|
275
|
+
}
|
|
276
|
+
_handleOpening() {
|
|
277
|
+
this.state = "opened";
|
|
278
|
+
setTimeout(() => this.internals.states.delete("skip-animation"));
|
|
279
|
+
this._takeFocus();
|
|
280
|
+
this.stopAnimation();
|
|
281
|
+
this.dispatchOpenEvent();
|
|
282
|
+
}
|
|
283
|
+
/** Closes the sidebar. */
|
|
284
|
+
close() {
|
|
285
|
+
if (this.state === "closing" || this.state === "closed" || !this.dispatchBeforeCloseEvent()) return;
|
|
286
|
+
this.startAnimation();
|
|
287
|
+
const isZeroAnimationDuration = this._isZeroAnimationDuration();
|
|
288
|
+
if (!this.hasUpdated || isZeroAnimationDuration) this.internals.states.add("skip-animation");
|
|
289
|
+
else this.state = "closing";
|
|
290
|
+
this.opened = false;
|
|
291
|
+
if (!this.hasUpdated || isZeroAnimationDuration) this._handleClosing();
|
|
292
|
+
}
|
|
293
|
+
_handleClosing() {
|
|
294
|
+
this.state = "closed";
|
|
295
|
+
setTimeout(() => this.internals.states.delete("skip-animation"));
|
|
296
|
+
this.cedeFocus();
|
|
297
|
+
if (!isServer && (this.contains(document.activeElement) || this._isModeOver())) if (this._lastFocusedElement) this._lastFocusedElement?.focus();
|
|
298
|
+
else document.activeElement.blur();
|
|
299
|
+
this._lastFocusedElement = null;
|
|
300
|
+
this.stopAnimation();
|
|
301
|
+
this.dispatchCloseEvent();
|
|
302
|
+
}
|
|
303
|
+
_takeFocus() {
|
|
304
|
+
if (!this.isConnected) return;
|
|
305
|
+
const isModeOver = this._isModeOver();
|
|
306
|
+
if (isModeOver || this.focusOnOpen) this._focusTrapController.focusInitialElement();
|
|
307
|
+
if (isModeOver) {
|
|
308
|
+
this._escapableOverlayController.connect();
|
|
309
|
+
this._focusTrapController.enabled = true;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
cedeFocus() {
|
|
313
|
+
this._focusTrapController.enabled = false;
|
|
314
|
+
this._escapableOverlayController.disconnect();
|
|
315
|
+
}
|
|
316
|
+
_updateSidebarWidth(oldPosition) {
|
|
317
|
+
const container = this.container;
|
|
318
|
+
if (!container) return;
|
|
319
|
+
if (oldPosition) container.style.removeProperty(this._buildCssWidthVar(oldPosition));
|
|
320
|
+
const width = this.offsetWidth;
|
|
321
|
+
if (!width) return;
|
|
322
|
+
const newValue = `${width}px`;
|
|
323
|
+
if (container.style.getPropertyValue(this._buildCssWidthVar()) === newValue) return;
|
|
324
|
+
container.style.setProperty(this._buildCssWidthVar(), newValue);
|
|
325
|
+
}
|
|
326
|
+
_buildCssWidthVar(position = this.position) {
|
|
327
|
+
return `--_sbb-sidebar-container-${position}-width`;
|
|
328
|
+
}
|
|
329
|
+
_isModeOver() {
|
|
330
|
+
return this.mode === "over" || this.matches(":is(:state(mode-over-forced),[state--mode-over-forced])");
|
|
331
|
+
}
|
|
332
|
+
_onTransitionEnd(event) {
|
|
333
|
+
if (event.propertyName !== "translate" || event.target !== event.currentTarget) return;
|
|
334
|
+
if (this.state === "opening") this._handleOpening();
|
|
335
|
+
else if (this.state === "closing") this._handleClosing();
|
|
336
|
+
}
|
|
337
|
+
_detectScrolledState() {
|
|
338
|
+
this.toggleState("scrolled", (this.shadowRoot?.querySelector(".sbb-sidebar-content-section")?.scrollTop ?? 0) > 0);
|
|
339
|
+
}
|
|
340
|
+
render() {
|
|
341
|
+
return html`<div class="sbb-sidebar" @transitionend=${this._onTransitionEnd}>
|
|
342
|
+
<div class="sbb-sidebar-title-section"><slot name="title-section"></slot></div>
|
|
343
|
+
<div
|
|
344
|
+
class="sbb-sidebar-content-section sbb-scrollbar"
|
|
345
|
+
@scroll=${() => this._detectScrolledState()}
|
|
346
|
+
>
|
|
347
|
+
<slot></slot>
|
|
348
|
+
</div>
|
|
349
|
+
</div>`;
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
})();
|
|
353
|
+
//#endregion
|
|
354
|
+
export { SbbSidebarElement as t };
|
|
355
|
+
|
|
356
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci5jb21wb25lbnQtQ1lMYkkxVnAuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3NpZGViYXIvc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWxpbmstdGV4dC1kZWNvcmF0aW9uLWxpbmU6IG5vbmU7XG4gIC0tc2JiLXNpZGViYXItYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMSk7XG4gIC0tc2JiLXNpZGViYXItc2Nyb2xsYmFyLXBsYWNlaG9sZGVyLXdpZHRoOiB2YXIoLS1zYmItc3BhY2luZy1maXhlZC0zeCk7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogMDtcbiAgLS1fc2JiLXNpZGViYXItbWFyZ2luLWJsb2NrLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1tYXJnaW4pO1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG4gIC0tX3NiYi1zaWRlYmFyLXotaW5kZXg6IDI7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctaW5saW5lLWVuZDogdmFyKC0tc2JiLXNpZGViYXItcGFkZGluZyk7XG4gIC0tX3NiYi1zaWRlYmFyLXBhZGRpbmctYmxvY2stc3RhcnQ6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICAtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLXN0YXJ0OiB2YXIoLS1zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IDA7XG4gIC0tX3NiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbi1zaXplOiB2YXIoLS1zYmItc2l6ZS1lbGVtZW50LXhzKTtcbiAgLS1fc2JiLXNpZGViYXItbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyICogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbikpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogI3tzYmIucHgtdG8tcmVtLWJ1aWxkKDMyMCl9O1xuXG4gIC8vIFN1YnRyYWN0IHRoZSB3aWR0aCBvZiB0aGUgc2Nyb2xsYmFyIGZyb20gdGhlIHBhZGRpbmcgKEV4Y2x1ZGUgaU9TIGJyb3dzZXJzIGJlY2F1c2UgdGhleSB1c2Ugb3ZlcmxheSBzY3JvbGxiYXJzKVxuICBAc3VwcG9ydHMgKHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSkgYW5kIChub3QgKC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZSkpIHtcbiAgICAtLV9zYmItc2lkZWJhci1wYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXNjcm9sbGJhci1wbGFjZWhvbGRlci13aWR0aClcbiAgICApO1xuICB9XG59XG5cbjpob3N0KFtjb2xvcj0nd2hpdGUnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbY29sb3I9J21pbGsnXSkge1xuICAtLXNiYi1zaWRlYmFyLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTMpO1xufVxuXG46aG9zdCg6aXMoW21vZGU9J292ZXInXSwgOnN0YXRlKG1vZGUtb3Zlci1mb3JjZWQpOm5vdCg6c3RhdGUobW9kZS1vdmVyLWZvcmNlZC1jbG9zaW5nKSkpKSB7XG4gIC0tX3NiYi1zaWRlYmFyLW1hcmdpbjogdmFyKC0tc2JiLXNpZGViYXItbWFyZ2luKTtcbiAgLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQ6IHZhcigtLXNiYi1zaWRlYmFyLWJvcmRlci1yYWRpdXMpO1xuICAtLV9zYmItc2lkZWJhci16LWluZGV4OiAzO1xufVxuXG46aG9zdCg6aXMoOmRpcihydGwpLCBbcG9zaXRpb249J2VuZCddKSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogMTAwJTtcbn1cblxuOmhvc3QoOmRpcihydGwpW3Bvc2l0aW9uPSdlbmQnXSkge1xuICAtLV9zYmItc2lkZWJhci10cmFuc2xhdGUteDogLTEwMCU7XG59XG5cbi5zYmItc2lkZWJhciB7XG4gIHdpZHRoOiBpbmhlcml0O1xuICBtYXgtd2lkdGg6IHZhcigtLV9zYmItc2lkZWJhci1tYXgtd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBpbnNldC1ibG9jazogMDtcbiAgei1pbmRleDogdmFyKC0tX3NiYi1zaWRlYmFyLXotaW5kZXgpO1xuICBib3JkZXItc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1zdGFydCk7XG4gIGJvcmRlci1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1fc2JiLXNpZGViYXItYm9yZGVyLXJhZGl1cy1lbmQpO1xuICBib3JkZXItZW5kLWVuZC1yYWRpdXM6IHZhcigtLV9zYmItc2lkZWJhci1ib3JkZXItcmFkaXVzLWVuZCk7XG4gIG1hcmdpbjogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbik7XG4gIG1hcmdpbi1ibG9jay1zdGFydDogdmFyKC0tX3NiYi1zaWRlYmFyLW1hcmdpbi1ibG9jay1zdGFydCk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1zaWRlYmFyLWNvbnRhaW5lci1hbmltYXRpb24tZHVyYXRpb24pO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tc2JiLXNpZGViYXItY29udGFpbmVyLWFuaW1hdGlvbi1lYXNpbmcpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgdHJhbnNsYXRlO1xuICB0cmFuc2xhdGU6IG5vbmU7XG5cbiAgOmhvc3QoW3Bvc2l0aW9uPSdlbmQnXSkgJiB7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMDtcbiAgfVxuXG4gIDpob3N0KDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSAmIHtcbiAgICAvLyBTdG9wcyB0aGUgc2lkZW5hdiBmcm9tIHBva2luZyBvdXQgKGUuZy4gd2l0aCB0aGUgYm94IHNoYWRvdykgd2hpbGUgaXQncyBvZmYtc2NyZWVuLlxuICAgIC8vIFdlIGNhbid0IHVzZSBgZGlzcGxheWAgYmVjYXVzZSBpdCBpbnRlcnJ1cHRzIHRoZSB0cmFuc2l0aW9uIGFuZCBgdHJhbnNpdGlvbi1iZWhhdmlvcmBcbiAgICAvLyBpc24ndCBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIDpob3N0KDppcyg6c3RhdGUoc3RhdGUtY2xvc2luZyksIDpzdGF0ZShzdGF0ZS1jbG9zZWQpKSkgJiB7XG4gICAgdHJhbnNsYXRlOiB2YXIoLS1fc2JiLXNpZGViYXItdHJhbnNsYXRlLXgpIDA7XG4gIH1cbn1cblxuLnNiYi1zaWRlYmFyLXRpdGxlLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgZ2FwOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1nYXApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItc2lkZWJhci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1zaWRlYmFyLXBhZGRpbmcpO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKSB2YXIoLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcblxuICA6aG9zdCg6c3RhdGUoc2Nyb2xsZWQpKSAmIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zYmItYm94LXNoYWRvdy1sZXZlbC01LXNvZnQpO1xuICB9XG59XG5cbi5zYmItc2lkZWJhci1jb250ZW50LXNlY3Rpb24ge1xuICBwYWRkaW5nLWJsb2NrLXN0YXJ0OiB2YXIoLS1fc2JiLXNpZGViYXItcGFkZGluZy1ibG9jay1zdGFydCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSB2YXIoLS1fc2JiLXNpZGViYXItcGFkZGluZy1pbmxpbmUtZW5kKTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZmxleC1ncm93OiAxO1xuXG4gIC8vIElmIHRoZSBlbGVtZW50IGlzIHNjcm9sbGFibGUgYW5kIGhhcyBubyBmb2N1c2FibGUgY29udGVudCwgaXQgZ2V0cyBmb2N1c2VkLlxuICAvLyBUbyBhZGFwdCB0byBseW5lIHN0eWxlcyB3ZSBjb2xvcml6ZSBpdFxuICBvdXRsaW5lLWNvbG9yOiB2YXIoLS1zYmItZm9jdXMtb3V0bGluZS1jb2xvcik7XG5cbiAgQHN1cHBvcnRzIChzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGUpIHtcbiAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGU7XG4gIH1cbn1cblxuOjpzbG90dGVkKHNiYi1zaWRlYmFyLXRpdGxlKSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgbWFyZ2luLWJsb2NrOiB2YXIoLS1zYmItc2lkZWJhci10aXRsZS1wYWRkaW5nLWJsb2NrKTtcbn1cblxuOjpzbG90dGVkKHNiYi1zaWRlYmFyLWNsb3NlLWJ1dHRvbikge1xuICBvcmRlcjogMTtcblxuICAvLyBEdWUgdG8gZGVzaWduIG5lZWRzLCB3ZSBoYXZlIHRvIHRyYW5zbGF0ZSB0aGUgY2xvc2UgYnV0dG9uIHRvIHRoZSByaWdodFxuICBtYXJnaW4taW5saW5lLWVuZDogY2FsYyhcbiAgICAtMSAqICh2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKSAtIHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spKVxuICApO1xuICBtYXJnaW4tYmxvY2s6IHZhcigtLXNiYi1zaWRlYmFyLXRpdGxlLXBhZGRpbmctYmxvY2spO1xuICBpbnNldC1pbmxpbmUtZW5kOiB2YXIoLS1zYmItc2lkZWJhci1wYWRkaW5nKTtcbn1cbiIsImltcG9ydCB7IFJlc2l6ZUNvbnRyb2xsZXIgfSBmcm9tICdAbGl0LWxhYnMvb2JzZXJ2ZXJzL3Jlc2l6ZS1jb250cm9sbGVyLmpzJztcbmltcG9ydCB7XG4gIHR5cGUgQ1NTUmVzdWx0R3JvdXAsXG4gIGh0bWwsXG4gIGlzU2VydmVyLFxuICB0eXBlIFByb3BlcnR5VmFsdWVzLFxuICB0eXBlIFRlbXBsYXRlUmVzdWx0LFxuICB1bnNhZmVDU1MsXG59IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBldmVudE9wdGlvbnMsIHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQge1xuICBib3hTaXppbmdTdHlsZXMsXG4gIGZvcmNlVHlwZSxcbiAgaGFuZGxlRGlzdGluY3RDaGFuZ2UsXG4gIGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uLFxuICBTYmJBbmltYXRpb25Db21wbGV0ZU1peGluLFxuICBTYmJFc2NhcGFibGVPdmVybGF5Q29udHJvbGxlcixcbiAgU2JiRm9jdXNUcmFwQ29udHJvbGxlcixcbiAgU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQsXG4gIHNjcm9sbGJhclN0eWxlcyxcbn0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYlNpZGViYXJDb250YWluZXJFbGVtZW50IH0gZnJvbSAnLi4vc2lkZWJhci1jb250YWluZXIvc2lkZWJhci1jb250YWluZXIuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vc2lkZWJhci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgY29ycmVzcG9uZHMgdG8gYSBzaWRlYmFyIHRoYXQgY2FuIGJlIG9wZW5lZCBvbiB0aGUgc2lkZWJhciBjb250YWluZXIuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBzbG90IGFueSBjb250ZW50IGludG8gdGhlIHNpZGViYXIuXG4gKiBAc2xvdCB0aXRsZSAtIFVzZSB0aGUgdGl0bGUgc2xvdCB0byBhZGQgYW4gPHNiYi10aXRsZT4uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJTaWRlYmFyRWxlbWVudCBleHRlbmRzIFNiYkFuaW1hdGlvbkNvbXBsZXRlTWl4aW4oU2JiT3BlbkNsb3NlQmFzZUVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1zaWRlYmFyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW1xuICAgIGJveFNpemluZ1N0eWxlcyxcbiAgICBzY3JvbGxiYXJTdHlsZXMsXG4gICAgdW5zYWZlQ1NTKHN0eWxlKSxcbiAgXTtcblxuICAvKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgc2lkZWJhci4gRWl0aGVyIGB3aGl0ZWAgb3IgYG1pbGtgLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBjb2xvcjogJ3doaXRlJyB8ICdtaWxrJyA9ICd3aGl0ZSc7XG5cbiAgLyoqIE1vZGUgb2YgdGhlIHNpZGViYXI7IG9uZSBvZiAnc2lkZScgb3IgJ292ZXInLiAqL1xuICBAZm9yY2VUeXBlKCh2KSA9PiAodiA9PT0gJ292ZXInID8gJ292ZXInIDogJ3NpZGUnKSlcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgbW9kZTogJ3NpZGUnIHwgJ292ZXInID0gJ3NpZGUnO1xuXG4gIC8qKiBUaGUgc2lkZSB0aGF0IHRoZSBzaWRlYmFyIGlzIGF0dGFjaGVkIHRvLiAqL1xuICBAZm9yY2VUeXBlKCh2KSA9PiAodiA9PT0gJ2VuZCcgPyAnZW5kJyA6ICdzdGFydCcpKVxuICBAaGFuZGxlRGlzdGluY3RDaGFuZ2UoKGluc3RhbmNlLCBfbmV3VmFsdWUsIG9sZFZhbHVlKSA9PiBpbnN0YW5jZS5fdXBkYXRlU2lkZWJhcldpZHRoKG9sZFZhbHVlKSlcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KVxuICBwdWJsaWMgYWNjZXNzb3IgcG9zaXRpb246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHNpZGViYXIgaXMgb3BlbmVkIG9yIGNsb3NlZC5cbiAgICogQ2FuIGJlIHVzZWQgdG8gaW5pdGlhbGx5IHNldCB0aGUgb3BlbmVkIHN0YXRlLCB3aGVyZVxuICAgKiB0aGUgYW5pbWF0aW9uIHdpbGwgYmUgc2tpcHBlZC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBvcGVuZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2lkZWJhciBzaG91bGQgZm9jdXMgdGhlIGZpcnN0IGZvY3VzYWJsZSBlbGVtZW50IGF1dG9tYXRpY2FsbHkgd2hlbiBvcGVuZWQuXG4gICAqIERlZmF1bHRzIHRvIGZhbHNlIGluIHdoZW4gbW9kZSBpcyBzZXQgdG8gYHNpZGVgLCBvdGhlcndpc2UgZGVmYXVsdHMgdG8gdHJ1ZS5cbiAgICogSWYgZXhwbGljaXRseSBlbmFibGVkLCBmb2N1cyB3aWxsIGJlIG1vdmVkIGludG8gdGhlIHNpZGViYXIgaW4gYHNpZGVgIG1vZGUgYXMgd2VsbC5cbiAgICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdmb2N1cy1vbi1vcGVuJyB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNPbk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogUmV0dXJucyB0aGUgU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQgd2hlcmUgdGhpcyBzaWRlYmFyIGlzIGNvbnRhaW5lZC4gKi9cbiAgcHVibGljIGdldCBjb250YWluZXIoKTogU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fY29udGFpbmVyO1xuICB9XG4gIHByaXZhdGUgX2NvbnRhaW5lcjogU2JiU2lkZWJhckNvbnRhaW5lckVsZW1lbnQgfCBudWxsID0gbnVsbDtcblxuICBwcml2YXRlIF9sYXN0Rm9jdXNlZEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2ZvY3VzVHJhcENvbnRyb2xsZXIgPSBuZXcgU2JiRm9jdXNUcmFwQ29udHJvbGxlcih0aGlzKTtcbiAgcHJpdmF0ZSBfZXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIgPSBuZXcgU2JiRXNjYXBhYmxlT3ZlcmxheUNvbnRyb2xsZXIodGhpcyk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX3VwZGF0ZVNpZGViYXJXaWR0aCgpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsIChlKSA9PiB7XG4gICAgICBpZiAoKGUudGFyZ2V0IGFzIEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkKT8ubG9jYWxOYW1lID09PSAnc2JiLXNpZGViYXItY2xvc2UtYnV0dG9uJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKTtcblxuICAgIHRoaXMuX2NvbnRhaW5lciA9IHRoaXMuY2xvc2VzdD8uKCdzYmItc2lkZWJhci1jb250YWluZXInKTtcbiAgICB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKTtcblxuICAgIGlmICh0aGlzLmlzT3BlbiAmJiB0aGlzLl9pc01vZGVPdmVyKCkpIHtcbiAgICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgIH1cblxuICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgIGlmICh3aW5kb3cubmF2aWdhdGlvbikge1xuICAgICAgICB3aW5kb3cubmF2aWdhdGlvbi5hZGRFdmVudExpc3RlbmVyKCduYXZpZ2F0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX2Nsb3NlT25OYXZpZ2F0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmNvbnRhaW5lcj8uc3R5bGUucmVtb3ZlUHJvcGVydHkodGhpcy5fYnVpbGRDc3NXaWR0aFZhcigpKTtcbiAgICB0aGlzLl9jb250YWluZXIgPSBudWxsO1xuXG4gICAgaWYgKCFpc1NlcnZlcikge1xuICAgICAgaWYgKHdpbmRvdy5uYXZpZ2F0aW9uKSB7XG4gICAgICAgIHdpbmRvdy5uYXZpZ2F0aW9uLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ25hdmlnYXRlJywgdGhpcy5fY2xvc2VPbk5hdmlnYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgdGhpcy5fY2xvc2VPbk5hdmlnYXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlT25OYXZpZ2F0aW9uID0gKCk6IHZvaWQgPT4ge1xuICAgIGlmICh0aGlzLl9pc01vZGVPdmVyKCkgJiYgdGhpcy5pc09wZW4pIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHdpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXM6IFByb3BlcnR5VmFsdWVzPHRoaXM+KTogdm9pZCB7XG4gICAgc3VwZXIud2lsbFVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAoY2hhbmdlZFByb3BlcnRpZXMuaGFzKCdvcGVuZWQnKSkge1xuICAgICAgaWYgKHRoaXMub3BlbmVkKSB7XG4gICAgICAgIHRoaXMub3BlbigpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5vcGVuZWQpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcy5oYXMoJ21vZGUnKSkge1xuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ292ZXInICYmIHRoaXMuaXNPcGVuKSB7XG4gICAgICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jZWRlRm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgZmlyc3RVcGRhdGVkKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLmZpcnN0VXBkYXRlZChjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICB0aGlzLl91cGRhdGVTaWRlYmFyV2lkdGgoKTtcbiAgfVxuXG4gIC8qKiBUb2dnbGVzIHRoZSBzaWRlYmFyIHZpc2liaWxpdHkuICovXG4gIHB1YmxpYyB0b2dnbGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdvcGVuaW5nJyB8fCB0aGlzLnN0YXRlID09PSAnb3BlbmVkJykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZW4oKTtcbiAgICB9XG4gIH1cblxuICAvKiogT3BlbnMgdGhlIHNpZGViYXIuICovXG4gIHB1YmxpYyBvcGVuKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnb3BlbmluZycgfHwgdGhpcy5zdGF0ZSA9PT0gJ29wZW5lZCcgfHwgIXRoaXMuZGlzcGF0Y2hCZWZvcmVPcGVuRXZlbnQoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc3RhcnRBbmltYXRpb24oKTtcblxuICAgIGlmICghaXNTZXJ2ZXIgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8ubG9jYWxOYW1lICE9PSAnYm9keScpIHtcbiAgICAgIHRoaXMuX2xhc3RGb2N1c2VkRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmluZyc7XG5cbiAgICBjb25zdCBpc1plcm9BbmltYXRpb25EdXJhdGlvbiA9IHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkgfHwgIXRoaXMuaXNDb25uZWN0ZWQ7XG4gICAgY29uc3QgaXNEdXJpbmdJbml0aWFsaXphdGlvbiA9ICF0aGlzLmhhc1VwZGF0ZWQ7XG5cbiAgICBpZiAoIShpc0R1cmluZ0luaXRpYWxpemF0aW9uIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKCdza2lwLWFuaW1hdGlvbicpO1xuXG4gICAgLy8gV2UgaGF2ZSB0byB3YWl0IGZvciB0aGUgZmlyc3QgdXBkYXRlIHRvIGJlIGNvbXBsZXRlZFxuICAgIC8vIGluIG9yZGVyIHRvIGhhdmUgdGhlIHNpemUgb2YgdGhlIHNpZGViYXIgcmVhZHkgZm9yIHRoZSBhbmltYXRpb24uXG4gICAgaWYgKGlzRHVyaW5nSW5pdGlhbGl6YXRpb24pIHtcbiAgICAgIHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKSA9PiB0aGlzLl9oYW5kbGVPcGVuaW5nKCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGUgYW5pbWF0aW9uIGR1cmF0aW9uIGlzIHplcm8sIHRoZSBhbmltYXRpb25lbmQgZXZlbnQgaXMgbm90IGFsd2F5cyBmaXJlZCByZWxpYWJseS5cbiAgICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1plcm9BbmltYXRpb25EdXJhdGlvbih0aGlzLCAnLS1zYmItc2lkZWJhci1jb250YWluZXItYW5pbWF0aW9uLWR1cmF0aW9uJyk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVPcGVuaW5nKCk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGUgPSAnb3BlbmVkJztcblxuICAgIC8vIFdlIGhhdmUgdG8gZW5zdXJlIHRoYXQgcmVtb3ZpbmcgdGhlIGFuaW1hdGlvbiBza2lwIGluc3RydWN0aW9uIGlzIGRvbmUgYSB0aWNrIGxhdGVyLlxuICAgIC8vIE90aGVyd2lzZSwgaXQncyByZW1vdmVkIHRvbyBlYXJseSBhbmQgaXQgZG9lc24ndCBoYXZlIGFueSBlZmZlY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdza2lwLWFuaW1hdGlvbicpKTtcblxuICAgIHRoaXMuX3Rha2VGb2N1cygpO1xuICAgIHRoaXMuc3RvcEFuaW1hdGlvbigpO1xuICAgIHRoaXMuZGlzcGF0Y2hPcGVuRXZlbnQoKTtcbiAgfVxuXG4gIC8qKiBDbG9zZXMgdGhlIHNpZGViYXIuICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ2Nsb3NpbmcnIHx8IHRoaXMuc3RhdGUgPT09ICdjbG9zZWQnIHx8ICF0aGlzLmRpc3BhdGNoQmVmb3JlQ2xvc2VFdmVudCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5zdGFydEFuaW1hdGlvbigpO1xuXG4gICAgY29uc3QgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24gPSB0aGlzLl9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24pIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoJ3NraXAtYW5pbWF0aW9uJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc3RhdGUgPSAnY2xvc2luZyc7XG4gICAgfVxuXG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcblxuICAgIC8vIElmIHRoZSBhbmltYXRpb24gZHVyYXRpb24gaXMgemVybywgdGhlIGFuaW1hdGlvbmVuZCBldmVudCBpcyBub3QgYWx3YXlzIGZpcmVkIHJlbGlhYmx5LlxuICAgIC8vIEluIHRoaXMgY2FzZSB3ZSBkaXJlY3RseSBzZXQgdGhlIGBvcGVuZWRgIHN0YXRlLlxuICAgIGlmICghdGhpcy5oYXNVcGRhdGVkIHx8IGlzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfaGFuZGxlQ2xvc2luZygpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlID0gJ2Nsb3NlZCc7XG4gICAgLy8gV2UgaGF2ZSB0byBlbnN1cmUgdGhhdCByZW1vdmluZyB0aGUgYW5pbWF0aW9uIHNraXAgaW5zdHJ1Y3Rpb24gaXMgZG9uZSBhIHRpY2sgbGF0ZXIuXG4gICAgLy8gT3RoZXJ3aXNlLCBpdCdzIHJlbW92ZWQgdG9vIGVhcmx5IGFuZCBpdCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5kZWxldGUoJ3NraXAtYW5pbWF0aW9uJykpO1xuICAgIHRoaXMuY2VkZUZvY3VzKCk7XG5cbiAgICBpZiAoIWlzU2VydmVyICYmICh0aGlzLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHx8IHRoaXMuX2lzTW9kZU92ZXIoKSkpIHtcbiAgICAgIGlmICh0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5fbGFzdEZvY3VzZWRFbGVtZW50Py5mb2N1cygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgZG9uJ3Qga25vdyB3aGVyZSB0byBzZXQgdGhlIGZvY3VzLCBidXQgaGF2ZSB0byByZW1vdmUgaXQsIHNvIHdlIGNhbGwgYmx1clxuICAgICAgICAoZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuYmx1cigpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9sYXN0Rm9jdXNlZEVsZW1lbnQgPSBudWxsO1xuXG4gICAgdGhpcy5zdG9wQW5pbWF0aW9uKCk7XG4gICAgdGhpcy5kaXNwYXRjaENsb3NlRXZlbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3Rha2VGb2N1cygpOiB2b2lkIHtcbiAgICAvLyBXZSBwcmV2ZW50IGNhbGxpbmcgdGhlIGZvY3VzIHN0dWZmIHdoZW4gbm90IG5lZWRlZFxuICAgIGlmICghdGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBpc01vZGVPdmVyID0gdGhpcy5faXNNb2RlT3ZlcigpO1xuXG4gICAgaWYgKGlzTW9kZU92ZXIgfHwgdGhpcy5mb2N1c09uT3Blbikge1xuICAgICAgdGhpcy5fZm9jdXNUcmFwQ29udHJvbGxlci5mb2N1c0luaXRpYWxFbGVtZW50KCk7XG4gICAgfVxuXG4gICAgaWYgKGlzTW9kZU92ZXIpIHtcbiAgICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmNvbm5lY3QoKTtcbiAgICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gSW50ZXJuYWwgbWV0aG9kIHRoYXQgd2UgdXNlIGV4dGVybmFsbHkuIGBwcm90ZWN0ZWRgIHByZXNlcnZlcyB0eXBlIGluZm9ybWF0aW9uIGZvciB0eXBlIHNhZmUgYWNjZXNzLlxuICBwcm90ZWN0ZWQgY2VkZUZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvY3VzVHJhcENvbnRyb2xsZXIuZW5hYmxlZCA9IGZhbHNlO1xuICAgIHRoaXMuX2VzY2FwYWJsZU92ZXJsYXlDb250cm9sbGVyLmRpc2Nvbm5lY3QoKTtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZVNpZGViYXJXaWR0aChvbGRQb3NpdGlvbj86IHRoaXNbJ3Bvc2l0aW9uJ10pOiB2b2lkIHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmNvbnRhaW5lcjtcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChvbGRQb3NpdGlvbikge1xuICAgICAgY29udGFpbmVyLnN0eWxlLnJlbW92ZVByb3BlcnR5KHRoaXMuX2J1aWxkQ3NzV2lkdGhWYXIob2xkUG9zaXRpb24pKTtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMub2Zmc2V0V2lkdGg7XG4gICAgaWYgKCF3aWR0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7d2lkdGh9cHhgO1xuICAgIGNvbnN0IGFjdHVhbFZhbHVlID0gY29udGFpbmVyLnN0eWxlLmdldFByb3BlcnR5VmFsdWUodGhpcy5fYnVpbGRDc3NXaWR0aFZhcigpKTtcblxuICAgIGlmIChhY3R1YWxWYWx1ZSA9PT0gbmV3VmFsdWUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb250YWluZXIuc3R5bGUuc2V0UHJvcGVydHkodGhpcy5fYnVpbGRDc3NXaWR0aFZhcigpLCBuZXdWYWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9idWlsZENzc1dpZHRoVmFyKHBvc2l0aW9uID0gdGhpcy5wb3NpdGlvbik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAtLV9zYmItc2lkZWJhci1jb250YWluZXItJHtwb3NpdGlvbn0td2lkdGhgO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNNb2RlT3ZlcigpOiBib29sZWFuIHtcbiAgICAvLyBJZiB0aGUgbWluaW11bSBzcGFjZSBhdHRyaWJ1dGUgaXMgc2V0LCB0aGUgc2lkZWJhciBzaG91bGQgYmVoYXZlIGxpa2UgaW4gbW9kZSBvdmVyLlxuICAgIHJldHVybiB0aGlzLm1vZGUgPT09ICdvdmVyJyB8fCB0aGlzLm1hdGNoZXMoJzpzdGF0ZShtb2RlLW92ZXItZm9yY2VkKScpO1xuICB9XG5cbiAgcHJpdmF0ZSBfb25UcmFuc2l0aW9uRW5kKGV2ZW50OiBUcmFuc2l0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBXZSBlbnN1cmUgdGhhdCB3ZSByZWFjdCB0byB0aGUgZmFkZSBpbiB0cmFuc2l0aW9uIG9uIHRoZSBzYmItc2lkZWJhciBkaXZcbiAgICBpZiAoZXZlbnQucHJvcGVydHlOYW1lICE9PSAndHJhbnNsYXRlJyB8fCBldmVudC50YXJnZXQgIT09IGV2ZW50LmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW5pbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVPcGVuaW5nKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlID09PSAnY2xvc2luZycpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBAZXZlbnRPcHRpb25zKHsgcGFzc2l2ZTogdHJ1ZSB9KVxuICBwcml2YXRlIF9kZXRlY3RTY3JvbGxlZFN0YXRlKCk6IHZvaWQge1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoXG4gICAgICAnc2Nyb2xsZWQnLFxuICAgICAgKHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcignLnNiYi1zaWRlYmFyLWNvbnRlbnQtc2VjdGlvbicpPy5zY3JvbGxUb3AgPz8gMCkgPiAwLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8ZGl2IGNsYXNzPVwic2JiLXNpZGViYXJcIiBAdHJhbnNpdGlvbmVuZD0ke3RoaXMuX29uVHJhbnNpdGlvbkVuZH0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2JiLXNpZGViYXItdGl0bGUtc2VjdGlvblwiPjxzbG90IG5hbWU9XCJ0aXRsZS1zZWN0aW9uXCI+PC9zbG90PjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cInNiYi1zaWRlYmFyLWNvbnRlbnQtc2VjdGlvbiBzYmItc2Nyb2xsYmFyXCJcbiAgICAgICAgQHNjcm9sbD0keygpID0+IHRoaXMuX2RldGVjdFNjcm9sbGVkU3RhdGUoKX1cbiAgICAgID5cbiAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXNpZGViYXInOiBTYmJTaWRlYmFyRWxlbWVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7SUNnQ2EsMkJBQWlCO21CQUFTLDBCQUEwQix3QkFBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQUE1RSwwQkFB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
|
package/development/sidebar.js
CHANGED
|
@@ -2,7 +2,7 @@ import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.compon
|
|
|
2
2
|
import { t as SbbSidebarContainerElement } from "./sidebar-container.component-t80DrAww.js";
|
|
3
3
|
import { t as SbbSidebarContentElement } from "./sidebar-content.component-CpaONvN0.js";
|
|
4
4
|
import { t as SbbSidebarTitleElement } from "./sidebar-title.component-BGlNsXi6.js";
|
|
5
|
-
import { t as SbbSidebarElement } from "./sidebar.component-
|
|
5
|
+
import { t as SbbSidebarElement } from "./sidebar.component-CYLbI1Vp.js";
|
|
6
6
|
import "./sidebar.pure.js";
|
|
7
7
|
//#region src/elements/sidebar.ts
|
|
8
8
|
/** @entrypoint */
|
|
@@ -2,5 +2,5 @@ import { t as SbbSidebarCloseButtonElement } from "./sidebar-close-button.compon
|
|
|
2
2
|
import { t as SbbSidebarContainerElement } from "./sidebar-container.component-t80DrAww.js";
|
|
3
3
|
import { t as SbbSidebarContentElement } from "./sidebar-content.component-CpaONvN0.js";
|
|
4
4
|
import { t as SbbSidebarTitleElement } from "./sidebar-title.component-BGlNsXi6.js";
|
|
5
|
-
import { t as SbbSidebarElement } from "./sidebar.component-
|
|
5
|
+
import { t as SbbSidebarElement } from "./sidebar.component-CYLbI1Vp.js";
|
|
6
6
|
export { SbbSidebarCloseButtonElement, SbbSidebarContainerElement, SbbSidebarContentElement, SbbSidebarElement, SbbSidebarTitleElement };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { unsafeCSS } from "lit";
|
|
2
|
+
//#region src/elements/core/styles/box-sizing.scss?inline
|
|
3
|
+
var box_sizing_default = "*,\n::before,\n::after {\n box-sizing: border-box;\n}";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/elements/core/styles/host-scrollbar.scss?inline
|
|
6
|
+
var host_scrollbar_default = ":host {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n}\n:host::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:host::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n:host::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n:host::-webkit-scrollbar-button, :host::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n :host {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}";
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/elements/core/styles/screen-reader-only.scss?inline
|
|
9
|
+
var screen_reader_only_default = ".sbb-screen-reader-only {\n border: 0;\n clip-path: rect(0 0 0 0);\n height: 1px;\n margin: -1px;\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n}";
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/elements/core/styles/scrollbar.scss?inline
|
|
12
|
+
var scrollbar_default = ":is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible) {\n --sbb-scrollbar-width: var(--sbb-spacing-fixed-3x);\n --sbb-scrollbar-thumb-width: 0.125rem;\n --sbb-scrollbar-thumb-width-hover: 0.25rem;\n --sbb-scrollbar-width-firefox: thin;\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-black) 30%, transparent);\n --sbb-scrollbar-color: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 30%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 30%, transparent)\n );\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-black) 60%, transparent);\n --sbb-scrollbar-color-hover: light-dark(\n color-mix(in srgb, var(--sbb-color-black) 60%, transparent),\n color-mix(in srgb, var(--sbb-color-white) 60%, transparent)\n );\n}\n:is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar {\n width: var(--sbb-scrollbar-width);\n height: var(--sbb-scrollbar-width);\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar-corner {\n background-color: var(--sbb-scrollbar-track-color, transparent);\n}\n:is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar-thumb {\n background-color: var(--sbb-scrollbar-color, currentcolor);\n border: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;\n border-radius: var(--sbb-border-radius-4x);\n background-clip: padding-box;\n}\n:is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar-thumb:hover {\n background-color: var(--sbb-scrollbar-color-hover, currentcolor);\n border-width: calc(0.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)));\n}\n:is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar-button, :is(.sbb-scrollbar,\n.sbb-scrollbar-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-track-visible,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible)::-webkit-scrollbar-corner {\n display: none;\n}\n@supports not selector(::-webkit-scrollbar) {\n :is(.sbb-scrollbar,\n .sbb-scrollbar-negative,\n .sbb-scrollbar-thick,\n .sbb-scrollbar-thick-negative,\n .sbb-scrollbar-track-visible,\n .sbb-scrollbar-negative-track-visible,\n .sbb-scrollbar-thick-track-visible,\n .sbb-scrollbar-thick-negative-track-visible) {\n scrollbar-width: var(--sbb-scrollbar-width-firefox);\n scrollbar-color: var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent);\n }\n}\n\n:is(.sbb-scrollbar-negative,\n.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-negative-track-visible,\n.sbb-scrollbar-thick-negative-track-visible) {\n --sbb-scrollbar-color: color-mix(in srgb, var(--sbb-color-white) 30%, transparent);\n --sbb-scrollbar-color-hover: color-mix(in srgb, var(--sbb-color-white) 60%, transparent);\n}\n\n:is(.sbb-scrollbar-thick-negative,\n.sbb-scrollbar-thick,\n.sbb-scrollbar-thick-track-visible,\n.sbb-scrollbar-thick-negative-track-visible) {\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\n}\n\n:is(.sbb-scrollbar-track-visible, .sbb-scrollbar-thick-track-visible) {\n --sbb-scrollbar-track-color: var(--sbb-background-color-4);\n}\n\n:is(.sbb-scrollbar-negative-track-visible, .sbb-scrollbar-thick-negative-track-visible) {\n --sbb-scrollbar-track-color: var(--sbb-background-color-4-negative);\n}";
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region src/elements/core/styles/styles.ts
|
|
15
|
+
var boxSizingStyles = unsafeCSS(box_sizing_default);
|
|
16
|
+
var hostScrollbarStyles = unsafeCSS(host_scrollbar_default);
|
|
17
|
+
var screenReaderOnlyStyles = unsafeCSS(screen_reader_only_default);
|
|
18
|
+
var scrollbarStyles = unsafeCSS(scrollbar_default);
|
|
19
|
+
//#endregion
|
|
20
|
+
export { scrollbarStyles as i, hostScrollbarStyles as n, screenReaderOnlyStyles as r, boxSizingStyles as t };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLUJfSVdqSGM1LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9ib3gtc2l6aW5nLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL2hvc3Qtc2Nyb2xsYmFyLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2NvcmUvc3R5bGVzL3NjcmVlbi1yZWFkZXItb25seS5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9jb3JlL3N0eWxlcy9zY3JvbGxiYXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9zdHlsZXMvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4vbWl4aW5zL2hlbHBlcnMnO1xuXG5AaW5jbHVkZSBoZWxwZXJzLmJveC1zaXppbmc7XG4iLCJAdXNlICcuL21peGlucy9zY3JvbGxiYXInO1xuXG46aG9zdCB7XG4gIEBpbmNsdWRlIHNjcm9sbGJhci5zY3JvbGxiYXItdmFyaWFibGVzO1xuICBAaW5jbHVkZSBzY3JvbGxiYXIuc2Nyb2xsYmFyLXJ1bGVzO1xufVxuIiwiQHVzZSAnLi9taXhpbnMvYTExeSc7XG5cbi5zYmItc2NyZWVuLXJlYWRlci1vbmx5IHtcbiAgQGluY2x1ZGUgYTExeS5zY3JlZW4tcmVhZGVyLW9ubHk7XG59XG4iLCJAdXNlICcuL21peGlucy9zY3JvbGxiYXInO1xuXG46aXMoXG4gIC5zYmItc2Nyb2xsYmFyLFxuICAuc2JiLXNjcm9sbGJhci1uZWdhdGl2ZSxcbiAgLnNiYi1zY3JvbGxiYXItdGhpY2ssXG4gIC5zYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLFxuICAuc2JiLXNjcm9sbGJhci10cmFjay12aXNpYmxlLFxuICAuc2JiLXNjcm9sbGJhci1uZWdhdGl2ZS10cmFjay12aXNpYmxlLFxuICAuc2JiLXNjcm9sbGJhci10aGljay10cmFjay12aXNpYmxlLFxuICAuc2JiLXNjcm9sbGJhci10aGljay1uZWdhdGl2ZS10cmFjay12aXNpYmxlXG4pIHtcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyLnNjcm9sbGJhci12YXJpYWJsZXM7XG4gIEBpbmNsdWRlIHNjcm9sbGJhci5zY3JvbGxiYXItcnVsZXM7XG59XG5cbjppcyhcbiAgLnNiYi1zY3JvbGxiYXItbmVnYXRpdmUsXG4gIC5zYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLFxuICAuc2JiLXNjcm9sbGJhci1uZWdhdGl2ZS10cmFjay12aXNpYmxlLFxuICAuc2JiLXNjcm9sbGJhci10aGljay1uZWdhdGl2ZS10cmFjay12aXNpYmxlXG4pIHtcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlO1xufVxuXG46aXMoXG4gIC5zYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLFxuICAuc2JiLXNjcm9sbGJhci10aGljayxcbiAgLnNiYi1zY3JvbGxiYXItdGhpY2stdHJhY2stdmlzaWJsZSxcbiAgLnNiYi1zY3JvbGxiYXItdGhpY2stbmVnYXRpdmUtdHJhY2stdmlzaWJsZVxuKSB7XG4gIEBpbmNsdWRlIHNjcm9sbGJhci5zY3JvbGxiYXItdmFyaWFibGVzLS1zaXplLXRoaWNrO1xufVxuXG46aXMoLnNiYi1zY3JvbGxiYXItdHJhY2stdmlzaWJsZSwgLnNiYi1zY3JvbGxiYXItdGhpY2stdHJhY2stdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzY3JvbGxiYXIuc2Nyb2xsYmFyLXZhcmlhYmxlcy0tY29sb3ItcG9zaXRpdmUtdHJhY2stdmlzaWJsZTtcbn1cblxuOmlzKC5zYmItc2Nyb2xsYmFyLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUsIC5zYmItc2Nyb2xsYmFyLXRoaWNrLW5lZ2F0aXZlLXRyYWNrLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2Nyb2xsYmFyLnNjcm9sbGJhci12YXJpYWJsZXMtLWNvbG9yLW5lZ2F0aXZlLXRyYWNrLXZpc2libGU7XG59XG4iLCJpbXBvcnQgeyB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgYm94U2l6aW5nU3R5bGVzU3RyaW5nIGZyb20gJy4vYm94LXNpemluZy5zY3NzP2lubGluZSc7XG5pbXBvcnQgaG9zdFNjcm9sbGJhclN0eWxlc1N0cmluZyBmcm9tICcuL2hvc3Qtc2Nyb2xsYmFyLnNjc3M/aW5saW5lJztcbmltcG9ydCBzY3JlZW5SZWFkZXJPbmx5U3R5bGVzU3RyaW5nIGZyb20gJy4vc2NyZWVuLXJlYWRlci1vbmx5LnNjc3M/aW5saW5lJztcbmltcG9ydCBzY3JvbGxiYXJTdHlsZXNTdHJpbmcgZnJvbSAnLi9zY3JvbGxiYXIuc2Nzcz9pbmxpbmUnO1xuXG5leHBvcnQgY29uc3QgYm94U2l6aW5nU3R5bGVzID0gdW5zYWZlQ1NTKGJveFNpemluZ1N0eWxlc1N0cmluZyk7XG5leHBvcnQgY29uc3QgaG9zdFNjcm9sbGJhclN0eWxlcyA9IHVuc2FmZUNTUyhob3N0U2Nyb2xsYmFyU3R5bGVzU3RyaW5nKTtcbmV4cG9ydCBjb25zdCBzY3JlZW5SZWFkZXJPbmx5U3R5bGVzID0gdW5zYWZlQ1NTKHNjcmVlblJlYWRlck9ubHlTdHlsZXNTdHJpbmcpO1xuZXhwb3J0IGNvbnN0IHNjcm9sbGJhclN0eWxlcyA9IHVuc2FmZUNTUyhzY3JvbGxiYXJTdHlsZXNTdHJpbmcpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBSU9BLElBQWEsa0JBQWtCLFVBQVUsbUJBQXNCO0FBQy9ELElBQWEsc0JBQXNCLFVBQVUsdUJBQTBCO0FBQ3ZFLElBQWEseUJBQXlCLFVBQVUsMkJBQTZCO0FBQzdFLElBQWEsa0JBQWtCLFVBQVUsa0JBQXNCIn0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTableWrapperElement } from "../../table-wrapper.component-
|
|
1
|
+
import { t as SbbTableWrapperElement } from "../../table-wrapper.component-D8IFPow6.js";
|
|
2
2
|
export { SbbTableWrapperElement };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
+
import { html, isServer, unsafeCSS } from "lit";
|
|
3
|
+
import { property } from "lit/decorators.js";
|
|
4
|
+
import { SbbElement, SbbNegativeMixin, forceType, hostScrollbarStyles } from "./core.js";
|
|
5
|
+
import { ResizeController } from "@lit-labs/observers/resize-controller.js";
|
|
6
|
+
//#region src/elements/table/table-wrapper/table-wrapper.scss?inline
|
|
7
|
+
var table_wrapper_default = ":host {\n display: block;\n overflow: auto;\n --sbb-scrollbar-thumb-width: 0.5rem;\n --sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);\n --sbb-scrollbar-width-firefox: auto;\n --sbb-scrollbar-track-color: var(--sbb-background-color-4);\n}\n\n:host(:focus-visible) {\n outline-offset: var(--sbb-focus-outline-offset);\n outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);\n}\n\n::slotted(.sbb-table) {\n width: 100%;\n}\n\n:host([negative]) {\n --sbb-scrollbar-track-color: var(--sbb-background-color-4-negative);\n}";
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/elements/table/table-wrapper/table-wrapper.component.ts
|
|
10
|
+
/**
|
|
11
|
+
* Wraps a table to enhance its functionality.
|
|
12
|
+
*
|
|
13
|
+
* @slot - Use the unnamed slot to add the table.
|
|
14
|
+
*/
|
|
15
|
+
var SbbTableWrapperElement = (() => {
|
|
16
|
+
let _classSuper = SbbNegativeMixin(SbbElement);
|
|
17
|
+
let _focusable_decorators;
|
|
18
|
+
let _focusable_initializers = [];
|
|
19
|
+
let _focusable_extraInitializers = [];
|
|
20
|
+
return class SbbTableWrapperElement extends _classSuper {
|
|
21
|
+
static {
|
|
22
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
23
|
+
_focusable_decorators = [forceType(), property({
|
|
24
|
+
reflect: true,
|
|
25
|
+
type: Boolean
|
|
26
|
+
})];
|
|
27
|
+
__esDecorate(this, null, _focusable_decorators, {
|
|
28
|
+
kind: "accessor",
|
|
29
|
+
name: "focusable",
|
|
30
|
+
static: false,
|
|
31
|
+
private: false,
|
|
32
|
+
access: {
|
|
33
|
+
has: (obj) => "focusable" in obj,
|
|
34
|
+
get: (obj) => obj.focusable,
|
|
35
|
+
set: (obj, value) => {
|
|
36
|
+
obj.focusable = value;
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
metadata: _metadata
|
|
40
|
+
}, _focusable_initializers, _focusable_extraInitializers);
|
|
41
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, {
|
|
42
|
+
enumerable: true,
|
|
43
|
+
configurable: true,
|
|
44
|
+
writable: true,
|
|
45
|
+
value: _metadata
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
static {
|
|
49
|
+
this.elementName = "sbb-table-wrapper";
|
|
50
|
+
}
|
|
51
|
+
static {
|
|
52
|
+
this.role = "section";
|
|
53
|
+
}
|
|
54
|
+
static {
|
|
55
|
+
this.styles = [hostScrollbarStyles, unsafeCSS(table_wrapper_default)];
|
|
56
|
+
}
|
|
57
|
+
#focusable_accessor_storage = __runInitializers(this, _focusable_initializers, false);
|
|
58
|
+
/** Whether the table wrapper is focusable. */
|
|
59
|
+
get focusable() {
|
|
60
|
+
return this.#focusable_accessor_storage;
|
|
61
|
+
}
|
|
62
|
+
set focusable(value) {
|
|
63
|
+
this.#focusable_accessor_storage = value;
|
|
64
|
+
}
|
|
65
|
+
constructor() {
|
|
66
|
+
super();
|
|
67
|
+
__runInitializers(this, _focusable_extraInitializers);
|
|
68
|
+
this.addController(new ResizeController(this, {
|
|
69
|
+
skipInitial: true,
|
|
70
|
+
callback: () => this._checkHorizontalScrollbarOffset()
|
|
71
|
+
}));
|
|
72
|
+
this.addEventListener?.("scroll", () => this._checkHorizontalScrollbarOffset(), { passive: true });
|
|
73
|
+
}
|
|
74
|
+
connectedCallback() {
|
|
75
|
+
super.connectedCallback();
|
|
76
|
+
this._updateScrollbarClass();
|
|
77
|
+
}
|
|
78
|
+
willUpdate(changedProperties) {
|
|
79
|
+
super.willUpdate(changedProperties);
|
|
80
|
+
if (changedProperties.has("focusable")) if (this.focusable) {
|
|
81
|
+
if (!this.hasAttribute("tabindex")) this.setAttribute("tabindex", "0");
|
|
82
|
+
} else this.removeAttribute("tabindex");
|
|
83
|
+
if (changedProperties.has("negative")) this._updateScrollbarClass();
|
|
84
|
+
}
|
|
85
|
+
_updateScrollbarClass() {
|
|
86
|
+
if (isServer) return;
|
|
87
|
+
if (this.negative) {
|
|
88
|
+
this.classList.remove("sbb-scrollbar-thick-track-visible");
|
|
89
|
+
this.classList.add("sbb-scrollbar-thick-negative-track-visible");
|
|
90
|
+
} else {
|
|
91
|
+
this.classList.remove("sbb-scrollbar-thick-negative-track-visible");
|
|
92
|
+
this.classList.add("sbb-scrollbar-thick-track-visible");
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Calculates whether the table is horizontally scrolled and adds the
|
|
97
|
+
* corresponding class `sbb-table-wrapper-offset-${none | left | right | both}`
|
|
98
|
+
*/
|
|
99
|
+
_checkHorizontalScrollbarOffset() {
|
|
100
|
+
const state = this._calculateScrollOffset();
|
|
101
|
+
this.classList.remove(`sbb-table-wrapper-offset-none`, `sbb-table-wrapper-offset-left`, `sbb-table-wrapper-offset-right`, `sbb-table-wrapper-offset-both`);
|
|
102
|
+
this.classList.add(`sbb-table-wrapper-offset-${state}`);
|
|
103
|
+
}
|
|
104
|
+
_calculateScrollOffset() {
|
|
105
|
+
if (this.scrollWidth === this.offsetWidth) return "none";
|
|
106
|
+
const isAtStart = this.scrollLeft === 0;
|
|
107
|
+
const isAtEnd = this.scrollWidth - this.scrollLeft - this.offsetWidth <= 1;
|
|
108
|
+
if (isAtStart) return isAtEnd ? "none" : "right";
|
|
109
|
+
return isAtEnd ? "left" : "both";
|
|
110
|
+
}
|
|
111
|
+
render() {
|
|
112
|
+
return html`<slot></slot>`;
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
})();
|
|
116
|
+
//#endregion
|
|
117
|
+
export { SbbTableWrapperElement as t };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtd3JhcHBlci5jb21wb25lbnQtRDhJRlBvdzYuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL3RhYmxlL3RhYmxlLXdyYXBwZXIvdGFibGUtd3JhcHBlci5zY3NzP2lubGluZSIsIi4uLy4uLy4uL3NyYy9lbGVtZW50cy90YWJsZS90YWJsZS13cmFwcGVyL3RhYmxlLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuXG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXItdmFyaWFibGVzLS1zaXplLXRoaWNrO1xuICBAaW5jbHVkZSBzYmIuc2Nyb2xsYmFyLXZhcmlhYmxlcy0tY29sb3ItcG9zaXRpdmUtdHJhY2stdmlzaWJsZTtcbn1cblxuOmhvc3QoOmZvY3VzLXZpc2libGUpIHtcbiAgQGluY2x1ZGUgc2JiLmZvY3VzLW91dGxpbmU7XG59XG5cbjo6c2xvdHRlZCguc2JiLXRhYmxlKSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIEBpbmNsdWRlIHNiYi5zY3JvbGxiYXItdmFyaWFibGVzLS1jb2xvci1uZWdhdGl2ZS10cmFjay12aXNpYmxlO1xufVxuIiwiaW1wb3J0IHsgUmVzaXplQ29udHJvbGxlciB9IGZyb20gJ0BsaXQtbGFicy9vYnNlcnZlcnMvcmVzaXplLWNvbnRyb2xsZXIuanMnO1xuaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgaHRtbCxcbiAgaXNTZXJ2ZXIsXG4gIHR5cGUgUHJvcGVydHlWYWx1ZXMsXG4gIHR5cGUgVGVtcGxhdGVSZXN1bHQsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcbmltcG9ydCB7IHByb3BlcnR5IH0gZnJvbSAnbGl0L2RlY29yYXRvcnMuanMnO1xuXG5pbXBvcnQgeyBmb3JjZVR5cGUsIGhvc3RTY3JvbGxiYXJTdHlsZXMsIFNiYkVsZW1lbnQsIFNiYk5lZ2F0aXZlTWl4aW4gfSBmcm9tICcuLi8uLi9jb3JlLnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vdGFibGUtd3JhcHBlci5zY3NzP2lubGluZSc7XG5cbi8qKlxuICogV3JhcHMgYSB0YWJsZSB0byBlbmhhbmNlIGl0cyBmdW5jdGlvbmFsaXR5LlxuICpcbiAqIEBzbG90IC0gVXNlIHRoZSB1bm5hbWVkIHNsb3QgdG8gYWRkIHRoZSB0YWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYlRhYmxlV3JhcHBlckVsZW1lbnQgZXh0ZW5kcyBTYmJOZWdhdGl2ZU1peGluKFNiYkVsZW1lbnQpIHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi10YWJsZS13cmFwcGVyJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSByb2xlID0gJ3NlY3Rpb24nO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbaG9zdFNjcm9sbGJhclN0eWxlcywgdW5zYWZlQ1NTKHN0eWxlKV07XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHRhYmxlIHdyYXBwZXIgaXMgZm9jdXNhYmxlLiAqL1xuICBAZm9yY2VUeXBlKClcbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgYWNjZXNzb3IgZm9jdXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hZGRDb250cm9sbGVyKFxuICAgICAgbmV3IFJlc2l6ZUNvbnRyb2xsZXIodGhpcywge1xuICAgICAgICBza2lwSW5pdGlhbDogdHJ1ZSxcbiAgICAgICAgY2FsbGJhY2s6ICgpID0+IHRoaXMuX2NoZWNrSG9yaXpvbnRhbFNjcm9sbGJhck9mZnNldCgpLFxuICAgICAgfSksXG4gICAgKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzY3JvbGwnLCAoKSA9PiB0aGlzLl9jaGVja0hvcml6b250YWxTY3JvbGxiYXJPZmZzZXQoKSwge1xuICAgICAgcGFzc2l2ZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuXG4gICAgLy8gV2hlbiBpbmNsdWRpbmcgdGhlIHNjcm9sbGJhciBzdHlsZXMgb24gdGhlIGhvc3QsIHRoZXJlIGlzIG5vIGhvdmVyIGVmZmVjdCBvZiB0aGUgc2Nyb2xsYmFyIHBvc3NpYmxlLlxuICAgIC8vIEluIG1vc3QgY2FzZXMsIHRoZSBjb21wb25lbnQgd2lsbCBiZSB1c2VkIGluIExpZ2h0IERPTS4gVG8gYWxzbyBzdXBwb3J0IHRoZSBob3ZlciBlZmZlY3QsXG4gICAgLy8gd2UgYWRkaXRpb25hbGx5IGFkZCB0aGUgc2Nyb2xsYmFyIENTUyBjbGFzc2VzIHRvIHRoZSBob3N0LlxuICAgIC8vIFRoaXMgaXMgYW4gZXhjZXB0aW9uIGFzIHdlIG5vcm1hbGx5IGRvbid0IGFsdGVyIHRoZSBjbGFzc0xpc3Qgb2YgdGhlIGhvc3QuXG4gICAgdGhpcy5fdXBkYXRlU2Nyb2xsYmFyQ2xhc3MoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSB3aWxsVXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIHN1cGVyLndpbGxVcGRhdGUoY2hhbmdlZFByb3BlcnRpZXMpO1xuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnZm9jdXNhYmxlJykpIHtcbiAgICAgIGlmICh0aGlzLmZvY3VzYWJsZSkge1xuICAgICAgICBpZiAoIXRoaXMuaGFzQXR0cmlidXRlKCd0YWJpbmRleCcpKSB7XG4gICAgICAgICAgdGhpcy5zZXRBdHRyaWJ1dGUoJ3RhYmluZGV4JywgJzAnKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZW1vdmVBdHRyaWJ1dGUoJ3RhYmluZGV4Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZWRQcm9wZXJ0aWVzLmhhcygnbmVnYXRpdmUnKSkge1xuICAgICAgdGhpcy5fdXBkYXRlU2Nyb2xsYmFyQ2xhc3MoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTY3JvbGxiYXJDbGFzcygpOiB2b2lkIHtcbiAgICBpZiAoaXNTZXJ2ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMubmVnYXRpdmUpIHtcbiAgICAgIHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgnc2JiLXNjcm9sbGJhci10aGljay10cmFjay12aXNpYmxlJyk7XG4gICAgICB0aGlzLmNsYXNzTGlzdC5hZGQoJ3NiYi1zY3JvbGxiYXItdGhpY2stbmVnYXRpdmUtdHJhY2stdmlzaWJsZScpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNsYXNzTGlzdC5yZW1vdmUoJ3NiYi1zY3JvbGxiYXItdGhpY2stbmVnYXRpdmUtdHJhY2stdmlzaWJsZScpO1xuICAgICAgdGhpcy5jbGFzc0xpc3QuYWRkKCdzYmItc2Nyb2xsYmFyLXRoaWNrLXRyYWNrLXZpc2libGUnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogIENhbGN1bGF0ZXMgd2hldGhlciB0aGUgdGFibGUgaXMgaG9yaXpvbnRhbGx5IHNjcm9sbGVkIGFuZCBhZGRzIHRoZVxuICAgKiAgY29ycmVzcG9uZGluZyBjbGFzcyBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LSR7bm9uZSB8IGxlZnQgfCByaWdodCB8IGJvdGh9YFxuICAgKi9cbiAgcHJpdmF0ZSBfY2hlY2tIb3Jpem9udGFsU2Nyb2xsYmFyT2Zmc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fY2FsY3VsYXRlU2Nyb2xsT2Zmc2V0KCk7XG4gICAgdGhpcy5jbGFzc0xpc3QucmVtb3ZlKFxuICAgICAgYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC1ub25lYCxcbiAgICAgIGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtbGVmdGAsXG4gICAgICBgc2JiLXRhYmxlLXdyYXBwZXItb2Zmc2V0LXJpZ2h0YCxcbiAgICAgIGBzYmItdGFibGUtd3JhcHBlci1vZmZzZXQtYm90aGAsXG4gICAgKTtcbiAgICB0aGlzLmNsYXNzTGlzdC5hZGQoYHNiYi10YWJsZS13cmFwcGVyLW9mZnNldC0ke3N0YXRlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBfY2FsY3VsYXRlU2Nyb2xsT2Zmc2V0KCk6ICdub25lJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCAnYm90aCcge1xuICAgIGlmICh0aGlzLnNjcm9sbFdpZHRoID09PSB0aGlzLm9mZnNldFdpZHRoKSB7XG4gICAgICByZXR1cm4gJ25vbmUnO1xuICAgIH1cbiAgICBjb25zdCBpc0F0U3RhcnQgPSB0aGlzLnNjcm9sbExlZnQgPT09IDA7XG4gICAgLy8gSW4gc29tZSBjYXNlcyB0aGUgY29tYmluZWQgdmFsdWUgb2Ygc2Nyb2xsTGVmdCBhbmQgb2Zmc2V0V2lkdGggaXMgb2ZmIGJ5XG4gICAgLy8gMSBwaXhlbCBmcm9tIHRoZSBzY3JvbGxXaWR0aC5cbiAgICBjb25zdCBpc0F0RW5kID0gdGhpcy5zY3JvbGxXaWR0aCAtIHRoaXMuc2Nyb2xsTGVmdCAtIHRoaXMub2Zmc2V0V2lkdGggPD0gMTtcblxuICAgIGlmIChpc0F0U3RhcnQpIHtcbiAgICAgIHJldHVybiBpc0F0RW5kID8gJ25vbmUnIDogJ3JpZ2h0JztcbiAgICB9XG4gICAgcmV0dXJuIGlzQXRFbmQgPyAnbGVmdCcgOiAnYm90aCc7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVuZGVyKCk6IFRlbXBsYXRlUmVzdWx0IHtcbiAgICByZXR1cm4gaHRtbGA8c2xvdD48L3Nsb3Q+YDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLXRhYmxlLXdyYXBwZXInOiBTYmJUYWJsZVdyYXBwZXJFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0lDb0JhLGdDQUFzQjttQkFBUyxpQkFBaUIsV0FBVzs7OztjQUEzRCwrQkFBK0IsWUFBNEI7Ozs0QkFNckUsV0FBVyxFQUNYLFNBQVM7SUFBRSxTQUFTO0lBQU0sTUFBTTtJQUFTLENBQUMsQ0FBQTtBQUMzQyxnQkFBQSxNQUFBLE1BQUEsdUJBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxlQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQVMsTUFBQSxLQUFBLFVBQUE7QUFBQSxVQUFULFlBQVM7O0tBQUE7SUFBQSxVQUFBO0lBQUEsRUFBQSx5QkFBQSw2QkFBQTs7Ozs7Ozs7O0FBUE8sUUFBQSxjQUFzQjs7O0FBQ3RCLFFBQUEsT0FBTzs7O0FBQ2hCLFFBQUEsU0FBeUIsQ0FBQyxxQkFBcUIsVUFBVSxzQkFBTSxDQUFDOztFQUt2Riw4QkFBQSxrQkFBQSxNQUFBLHlCQUFxQyxNQUFLOztFQUExQyxJQUFnQixZQUFTO0FBQUEsVUFBQSxNQUFBOztFQUF6QixJQUFnQixVQUFTLE9BQUE7QUFBQSxTQUFBLDZCQUFBOztFQUV6QixjQUFBO0FBQ0UsVUFBTzs7QUFDUCxRQUFLLGNBQ0gsSUFBSSxpQkFBaUIsTUFBTTtJQUN6QixhQUFhO0lBQ2IsZ0JBQWdCLEtBQUssaUNBQUE7SUFDdEIsQ0FBQyxDQUNIO0FBRUQsUUFBSyxtQkFBbUIsZ0JBQWdCLEtBQUssaUNBQWlDLEVBQUUsRUFDOUUsU0FBUyxNQUNWLENBQUM7O0VBR1ksb0JBQWlCO0FBQy9CLFNBQU0sbUJBQW1CO0FBTXpCLFFBQUssdUJBQXVCOztFQUdYLFdBQVcsbUJBQXVDO0FBQ25FLFNBQU0sV0FBVyxrQkFBa0I7QUFFbkMsT0FBSSxrQkFBa0IsSUFBSSxZQUFZLENBQ3BDLEtBQUksS0FBSztRQUNILENBQUMsS0FBSyxhQUFhLFdBQVcsQ0FDaEMsTUFBSyxhQUFhLFlBQVksSUFBSTtTQUdwQyxNQUFLLGdCQUFnQixXQUFXO0FBSXBDLE9BQUksa0JBQWtCLElBQUksV0FBVyxDQUNuQyxNQUFLLHVCQUF1Qjs7RUFJeEIsd0JBQXFCO0FBQzNCLE9BQUksU0FDRjtBQUVGLE9BQUksS0FBSyxVQUFVO0FBQ2pCLFNBQUssVUFBVSxPQUFPLG9DQUFvQztBQUMxRCxTQUFLLFVBQVUsSUFBSSw2Q0FBNkM7VUFDM0Q7QUFDTCxTQUFLLFVBQVUsT0FBTyw2Q0FBNkM7QUFDbkUsU0FBSyxVQUFVLElBQUksb0NBQW9DOzs7Ozs7O0VBUW5ELGtDQUErQjtHQUNyQyxNQUFNLFFBQVEsS0FBSyx3QkFBd0I7QUFDM0MsUUFBSyxVQUFVLE9BQ2IsaUNBQ0EsaUNBQ0Esa0NBQ0EsZ0NBQ0Q7QUFDRCxRQUFLLFVBQVUsSUFBSSw0QkFBNEIsUUFBUTs7RUFHakQseUJBQXNCO0FBQzVCLE9BQUksS0FBSyxnQkFBZ0IsS0FBSyxZQUM1QixRQUFPO0dBRVQsTUFBTSxZQUFZLEtBQUssZUFBZTtHQUd0QyxNQUFNLFVBQVUsS0FBSyxjQUFjLEtBQUssYUFBYSxLQUFLLGVBQWU7QUFFekUsT0FBSSxVQUNGLFFBQU8sVUFBVSxTQUFTO0FBRTVCLFVBQU8sVUFBVSxTQUFTOztFQUdULFNBQU07QUFDdkIsVUFBTyxJQUFJIn0=
|
package/development/table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as SbbTableWrapperElement } from "./table-wrapper.component-
|
|
1
|
+
import { t as SbbTableWrapperElement } from "./table-wrapper.component-D8IFPow6.js";
|
|
2
2
|
export { SbbTableWrapperElement };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../dialog-content.component-
|
|
1
|
+
import { t as e } from "../../dialog-content.component-iRLHPKPb.js";
|
|
2
2
|
export { e as SbbDialogContentElement };
|