@deepfuture/dui-components 0.0.12 → 0.0.13
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/_deprecated/center/center.js +2 -2
- package/_deprecated/hstack/hstack.js +79 -33
- package/_deprecated/page-inset/page-inset.js +104 -56
- package/_deprecated/vstack/vstack.js +61 -19
- package/accordion/accordion-item.js +217 -147
- package/accordion/accordion.js +214 -149
- package/alert-dialog/alert-dialog-close.js +2 -2
- package/alert-dialog/alert-dialog-popup.js +230 -166
- package/alert-dialog/alert-dialog-trigger.js +2 -2
- package/alert-dialog/alert-dialog.js +128 -73
- package/avatar/avatar.js +175 -115
- package/badge/badge.js +2 -2
- package/breadcrumb/breadcrumb-ellipsis.js +2 -2
- package/breadcrumb/breadcrumb-item.js +2 -2
- package/breadcrumb/breadcrumb-link.js +2 -2
- package/breadcrumb/breadcrumb-page.js +2 -2
- package/breadcrumb/breadcrumb-separator.js +2 -2
- package/breadcrumb/breadcrumb.js +2 -2
- package/button/button.js +109 -65
- package/calendar/calendar.js +368 -290
- package/checkbox/checkbox-group.js +146 -87
- package/checkbox/checkbox.js +232 -167
- package/collapsible/collapsible.js +210 -132
- package/combobox/combobox.js +318 -252
- package/command/command-empty.js +67 -25
- package/command/command-group.js +87 -47
- package/command/command-input.js +84 -44
- package/command/command-item.js +168 -124
- package/command/command-list.js +60 -18
- package/command/command-separator.js +2 -2
- package/command/command-shortcut.js +2 -2
- package/command/command.js +297 -232
- package/data-table/data-table.js +225 -153
- package/dialog/dialog-close.js +2 -2
- package/dialog/dialog-popup.js +247 -181
- package/dialog/dialog-trigger.js +2 -2
- package/dialog/dialog.js +128 -73
- package/dropzone/dropzone.js +310 -249
- package/icon/icon.js +2 -2
- package/input/input.js +204 -143
- package/link/link.js +62 -24
- package/menu/menu-item.js +66 -24
- package/menu/menu.js +189 -136
- package/menubar/menubar.js +142 -91
- package/number-field/number-field.js +277 -204
- package/package.json +2 -2
- package/popover/popover-close.js +2 -2
- package/popover/popover-popup.js +126 -76
- package/popover/popover-trigger.js +2 -2
- package/popover/popover.js +181 -120
- package/portal/portal.js +128 -86
- package/preview-card/preview-card-popup.js +114 -66
- package/preview-card/preview-card-trigger.js +2 -2
- package/preview-card/preview-card.js +211 -142
- package/progress/progress.js +91 -45
- package/radio/radio-group.js +153 -90
- package/radio/radio.js +137 -94
- package/scroll-area/scroll-area.js +382 -283
- package/select/select.js +260 -203
- package/separator/separator.js +60 -18
- package/sidebar/sidebar-content.js +2 -2
- package/sidebar/sidebar-footer.js +2 -2
- package/sidebar/sidebar-group-label.js +2 -2
- package/sidebar/sidebar-group.js +2 -2
- package/sidebar/sidebar-header.js +2 -2
- package/sidebar/sidebar-inset.js +2 -2
- package/sidebar/sidebar-menu-button.js +118 -74
- package/sidebar/sidebar-menu-item.js +2 -2
- package/sidebar/sidebar-menu.js +2 -2
- package/sidebar/sidebar-provider.js +202 -129
- package/sidebar/sidebar-separator.js +2 -2
- package/sidebar/sidebar-trigger.js +2 -2
- package/sidebar/sidebar.js +150 -85
- package/slider/slider.js +217 -159
- package/spinner/spinner.js +70 -28
- package/switch/switch.js +174 -111
- package/tabs/tab.js +89 -47
- package/tabs/tabs-indicator.js +2 -2
- package/tabs/tabs-list.js +92 -54
- package/tabs/tabs-panel.js +90 -44
- package/tabs/tabs.js +130 -71
- package/textarea/textarea.js +153 -95
- package/toggle/toggle-group.js +184 -125
- package/toggle/toggle.js +131 -76
- package/toolbar/toolbar.js +79 -33
- package/tooltip/tooltip-popup.js +108 -60
- package/tooltip/tooltip-trigger.js +93 -55
- package/tooltip/tooltip.js +225 -154
- package/trunc/trunc.js +78 -34
|
@@ -1,12 +1,44 @@
|
|
|
1
1
|
/** Ported from original DUI: deep-future-app/app/client/components/dui/accordion */
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
36
|
+
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
37
|
+
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
38
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
7
39
|
};
|
|
8
40
|
import { css, html, LitElement, nothing } from "lit";
|
|
9
|
-
import { property } from "lit/decorators.js";
|
|
41
|
+
import { property, state } from "lit/decorators.js";
|
|
10
42
|
import { consume } from "@lit/context";
|
|
11
43
|
import { base } from "@deepfuture/dui-core/base";
|
|
12
44
|
import { customEvent } from "@deepfuture/dui-core/event";
|
|
@@ -58,145 +90,190 @@ const chevronSvg = html `<svg
|
|
|
58
90
|
>
|
|
59
91
|
<path d="m6 9 6 6 6-6" />
|
|
60
92
|
</svg>`;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
93
|
+
let DuiAccordionItem = (() => {
|
|
94
|
+
let _classSuper = LitElement;
|
|
95
|
+
let _value_decorators;
|
|
96
|
+
let _value_initializers = [];
|
|
97
|
+
let _value_extraInitializers = [];
|
|
98
|
+
let _disabled_decorators;
|
|
99
|
+
let _disabled_initializers = [];
|
|
100
|
+
let _disabled_extraInitializers = [];
|
|
101
|
+
let __ctx_decorators;
|
|
102
|
+
let __ctx_initializers = [];
|
|
103
|
+
let __ctx_extraInitializers = [];
|
|
104
|
+
let _private_starting_decorators;
|
|
105
|
+
let _private_starting_initializers = [];
|
|
106
|
+
let _private_starting_extraInitializers = [];
|
|
107
|
+
let _private_starting_descriptor;
|
|
108
|
+
let _private_ending_decorators;
|
|
109
|
+
let _private_ending_initializers = [];
|
|
110
|
+
let _private_ending_extraInitializers = [];
|
|
111
|
+
let _private_ending_descriptor;
|
|
112
|
+
let _private_panelHeight_decorators;
|
|
113
|
+
let _private_panelHeight_initializers = [];
|
|
114
|
+
let _private_panelHeight_extraInitializers = [];
|
|
115
|
+
let _private_panelHeight_descriptor;
|
|
116
|
+
let _private_visible_decorators;
|
|
117
|
+
let _private_visible_initializers = [];
|
|
118
|
+
let _private_visible_extraInitializers = [];
|
|
119
|
+
let _private_visible_descriptor;
|
|
120
|
+
return class DuiAccordionItem extends _classSuper {
|
|
121
|
+
static {
|
|
122
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
123
|
+
_value_decorators = [property({ type: String })];
|
|
124
|
+
_disabled_decorators = [property({ type: Boolean })];
|
|
125
|
+
__ctx_decorators = [consume({ context: accordionContext, subscribe: true })];
|
|
126
|
+
_private_starting_decorators = [state()];
|
|
127
|
+
_private_ending_decorators = [state()];
|
|
128
|
+
_private_panelHeight_decorators = [state()];
|
|
129
|
+
_private_visible_decorators = [state()];
|
|
130
|
+
__esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
|
|
131
|
+
__esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
|
|
132
|
+
__esDecorate(this, null, __ctx_decorators, { kind: "accessor", name: "_ctx", static: false, private: false, access: { has: obj => "_ctx" in obj, get: obj => obj._ctx, set: (obj, value) => { obj._ctx = value; } }, metadata: _metadata }, __ctx_initializers, __ctx_extraInitializers);
|
|
133
|
+
__esDecorate(this, _private_starting_descriptor = { get: __setFunctionName(function () { return this.#starting_accessor_storage; }, "#starting", "get"), set: __setFunctionName(function (value) { this.#starting_accessor_storage = value; }, "#starting", "set") }, _private_starting_decorators, { kind: "accessor", name: "#starting", static: false, private: true, access: { has: obj => #starting in obj, get: obj => obj.#starting, set: (obj, value) => { obj.#starting = value; } }, metadata: _metadata }, _private_starting_initializers, _private_starting_extraInitializers);
|
|
134
|
+
__esDecorate(this, _private_ending_descriptor = { get: __setFunctionName(function () { return this.#ending_accessor_storage; }, "#ending", "get"), set: __setFunctionName(function (value) { this.#ending_accessor_storage = value; }, "#ending", "set") }, _private_ending_decorators, { kind: "accessor", name: "#ending", static: false, private: true, access: { has: obj => #ending in obj, get: obj => obj.#ending, set: (obj, value) => { obj.#ending = value; } }, metadata: _metadata }, _private_ending_initializers, _private_ending_extraInitializers);
|
|
135
|
+
__esDecorate(this, _private_panelHeight_descriptor = { get: __setFunctionName(function () { return this.#panelHeight_accessor_storage; }, "#panelHeight", "get"), set: __setFunctionName(function (value) { this.#panelHeight_accessor_storage = value; }, "#panelHeight", "set") }, _private_panelHeight_decorators, { kind: "accessor", name: "#panelHeight", static: false, private: true, access: { has: obj => #panelHeight in obj, get: obj => obj.#panelHeight, set: (obj, value) => { obj.#panelHeight = value; } }, metadata: _metadata }, _private_panelHeight_initializers, _private_panelHeight_extraInitializers);
|
|
136
|
+
__esDecorate(this, _private_visible_descriptor = { get: __setFunctionName(function () { return this.#visible_accessor_storage; }, "#visible", "get"), set: __setFunctionName(function (value) { this.#visible_accessor_storage = value; }, "#visible", "set") }, _private_visible_decorators, { kind: "accessor", name: "#visible", static: false, private: true, access: { has: obj => #visible in obj, get: obj => obj.#visible, set: (obj, value) => { obj.#visible = value; } }, metadata: _metadata }, _private_visible_initializers, _private_visible_extraInitializers);
|
|
137
|
+
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
138
|
+
}
|
|
139
|
+
static tagName = "dui-accordion-item";
|
|
140
|
+
static styles = [base, styles];
|
|
141
|
+
#value_accessor_storage = __runInitializers(this, _value_initializers, "");
|
|
142
|
+
get value() { return this.#value_accessor_storage; }
|
|
143
|
+
set value(value) { this.#value_accessor_storage = value; }
|
|
144
|
+
#disabled_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _disabled_initializers, false));
|
|
145
|
+
get disabled() { return this.#disabled_accessor_storage; }
|
|
146
|
+
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
147
|
+
#_ctx_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, __ctx_initializers, void 0));
|
|
148
|
+
get _ctx() { return this.#_ctx_accessor_storage; }
|
|
149
|
+
set _ctx(value) { this.#_ctx_accessor_storage = value; }
|
|
150
|
+
#starting_accessor_storage = (__runInitializers(this, __ctx_extraInitializers), __runInitializers(this, _private_starting_initializers, false));
|
|
151
|
+
get #starting() { return _private_starting_descriptor.get.call(this); }
|
|
152
|
+
set #starting(value) { return _private_starting_descriptor.set.call(this, value); }
|
|
153
|
+
#ending_accessor_storage = (__runInitializers(this, _private_starting_extraInitializers), __runInitializers(this, _private_ending_initializers, false));
|
|
154
|
+
get #ending() { return _private_ending_descriptor.get.call(this); }
|
|
155
|
+
set #ending(value) { return _private_ending_descriptor.set.call(this, value); }
|
|
156
|
+
#panelHeight_accessor_storage = (__runInitializers(this, _private_ending_extraInitializers), __runInitializers(this, _private_panelHeight_initializers, "0"));
|
|
157
|
+
get #panelHeight() { return _private_panelHeight_descriptor.get.call(this); }
|
|
158
|
+
set #panelHeight(value) { return _private_panelHeight_descriptor.set.call(this, value); }
|
|
159
|
+
#visible_accessor_storage = (__runInitializers(this, _private_panelHeight_extraInitializers), __runInitializers(this, _private_visible_initializers, false));
|
|
160
|
+
get #visible() { return _private_visible_descriptor.get.call(this); }
|
|
161
|
+
set #visible(value) { return _private_visible_descriptor.set.call(this, value); }
|
|
162
|
+
#prevOpen = (__runInitializers(this, _private_visible_extraInitializers), undefined);
|
|
163
|
+
#animGen = 0;
|
|
164
|
+
get #open() {
|
|
165
|
+
return this._ctx?.openValues.includes(this.value) ?? false;
|
|
166
|
+
}
|
|
167
|
+
get #isDisabled() {
|
|
168
|
+
return this.disabled || this._ctx?.disabled;
|
|
169
|
+
}
|
|
170
|
+
get #triggerId() {
|
|
171
|
+
return `dui-trigger-${this.value}`;
|
|
172
|
+
}
|
|
173
|
+
get #panelId() {
|
|
174
|
+
return `dui-panel-${this.value}`;
|
|
112
175
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
176
|
+
connectedCallback() {
|
|
177
|
+
super.connectedCallback();
|
|
178
|
+
this._ctx?.registerItem(this.value, this);
|
|
179
|
+
}
|
|
180
|
+
disconnectedCallback() {
|
|
181
|
+
super.disconnectedCallback();
|
|
182
|
+
this._ctx?.unregisterItem(this.value);
|
|
183
|
+
}
|
|
184
|
+
willUpdate() {
|
|
185
|
+
const isOpen = this.#open;
|
|
186
|
+
if (this.#prevOpen === undefined) {
|
|
187
|
+
this.#visible = isOpen;
|
|
188
|
+
this.#panelHeight = isOpen ? "auto" : "0";
|
|
116
189
|
}
|
|
117
|
-
else {
|
|
118
|
-
|
|
190
|
+
else if (this.#prevOpen !== isOpen) {
|
|
191
|
+
if (isOpen) {
|
|
192
|
+
this.#startOpenAnimation();
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
this.#startCloseAnimation();
|
|
196
|
+
}
|
|
197
|
+
this.dispatchEvent(openChangeEvent({ value: this.value, open: isOpen }));
|
|
119
198
|
}
|
|
120
|
-
this
|
|
199
|
+
this.#prevOpen = isOpen;
|
|
121
200
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
201
|
+
#startOpenAnimation() {
|
|
202
|
+
const gen = ++this.#animGen;
|
|
203
|
+
this.#ending = false;
|
|
204
|
+
this.#visible = true;
|
|
205
|
+
this.#starting = true;
|
|
206
|
+
this.#panelHeight = "0";
|
|
207
|
+
requestAnimationFrame(() => {
|
|
208
|
+
if (this.#animGen !== gen)
|
|
209
|
+
return;
|
|
210
|
+
const panel = this.shadowRoot?.querySelector("[part='panel']");
|
|
211
|
+
if (panel) {
|
|
212
|
+
this.#panelHeight = `${panel.scrollHeight}px`;
|
|
213
|
+
}
|
|
214
|
+
this.#starting = false;
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
#startCloseAnimation() {
|
|
218
|
+
const gen = ++this.#animGen;
|
|
219
|
+
this.#starting = false;
|
|
133
220
|
const panel = this.shadowRoot?.querySelector("[part='panel']");
|
|
134
221
|
if (panel) {
|
|
135
222
|
this.#panelHeight = `${panel.scrollHeight}px`;
|
|
136
223
|
}
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
const panel = this.shadowRoot?.querySelector("[part='panel']");
|
|
144
|
-
if (panel) {
|
|
145
|
-
this.#panelHeight = `${panel.scrollHeight}px`;
|
|
224
|
+
requestAnimationFrame(() => {
|
|
225
|
+
if (this.#animGen !== gen)
|
|
226
|
+
return;
|
|
227
|
+
this.#ending = true;
|
|
228
|
+
this.#panelHeight = "0";
|
|
229
|
+
});
|
|
146
230
|
}
|
|
147
|
-
|
|
148
|
-
if (
|
|
231
|
+
#onTransitionEnd = (event) => {
|
|
232
|
+
if (event.propertyName !== "height")
|
|
149
233
|
return;
|
|
150
|
-
this.#ending
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (event.propertyName !== "height")
|
|
156
|
-
return;
|
|
157
|
-
if (this.#ending) {
|
|
158
|
-
this.#ending = false;
|
|
159
|
-
if (!this._ctx?.keepMounted) {
|
|
160
|
-
this.#visible = false;
|
|
234
|
+
if (this.#ending) {
|
|
235
|
+
this.#ending = false;
|
|
236
|
+
if (!this._ctx?.keepMounted) {
|
|
237
|
+
this.#visible = false;
|
|
238
|
+
}
|
|
161
239
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
return html `
|
|
240
|
+
else if (this.#open) {
|
|
241
|
+
this.#panelHeight = "auto";
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
#onClick = () => {
|
|
245
|
+
if (this.#isDisabled)
|
|
246
|
+
return;
|
|
247
|
+
this._ctx.toggle(this.value);
|
|
248
|
+
};
|
|
249
|
+
#onKeyDown = (event) => {
|
|
250
|
+
if (this.#isDisabled)
|
|
251
|
+
return;
|
|
252
|
+
const isVertical = this._ctx.orientation === "vertical";
|
|
253
|
+
const nextKey = isVertical ? "ArrowDown" : "ArrowRight";
|
|
254
|
+
const prevKey = isVertical ? "ArrowUp" : "ArrowLeft";
|
|
255
|
+
switch (event.key) {
|
|
256
|
+
case nextKey:
|
|
257
|
+
event.preventDefault();
|
|
258
|
+
this._ctx.focusItem(this.value, "next");
|
|
259
|
+
break;
|
|
260
|
+
case prevKey:
|
|
261
|
+
event.preventDefault();
|
|
262
|
+
this._ctx.focusItem(this.value, "prev");
|
|
263
|
+
break;
|
|
264
|
+
case "Home":
|
|
265
|
+
event.preventDefault();
|
|
266
|
+
this._ctx.focusItem(this.value, "first");
|
|
267
|
+
break;
|
|
268
|
+
case "End":
|
|
269
|
+
event.preventDefault();
|
|
270
|
+
this._ctx.focusItem(this.value, "last");
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
render() {
|
|
275
|
+
const shouldRender = this.#visible || this._ctx?.keepMounted;
|
|
276
|
+
return html `
|
|
200
277
|
<div
|
|
201
278
|
part="item"
|
|
202
279
|
?data-open=${this.#open}
|
|
@@ -218,7 +295,7 @@ export class DuiAccordionItem extends LitElement {
|
|
|
218
295
|
</button>
|
|
219
296
|
</h3>
|
|
220
297
|
${shouldRender
|
|
221
|
-
|
|
298
|
+
? html `
|
|
222
299
|
<div
|
|
223
300
|
part="panel"
|
|
224
301
|
id=${this.#panelId}
|
|
@@ -236,17 +313,10 @@ export class DuiAccordionItem extends LitElement {
|
|
|
236
313
|
</div>
|
|
237
314
|
</div>
|
|
238
315
|
`
|
|
239
|
-
|
|
316
|
+
: nothing}
|
|
240
317
|
</div>
|
|
241
318
|
`;
|
|
242
|
-
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
], DuiAccordionItem.prototype, "value", null);
|
|
247
|
-
__decorate([
|
|
248
|
-
property({ type: Boolean })
|
|
249
|
-
], DuiAccordionItem.prototype, "disabled", null);
|
|
250
|
-
__decorate([
|
|
251
|
-
consume({ context: accordionContext, subscribe: true })
|
|
252
|
-
], DuiAccordionItem.prototype, "_ctx", null);
|
|
319
|
+
}
|
|
320
|
+
};
|
|
321
|
+
})();
|
|
322
|
+
export { DuiAccordionItem };
|