@deepfuture/dui-components 0.0.21 → 1.0.1
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/README.md +56 -65
- package/_install.js +11 -0
- package/accordion/accordion-item.d.ts +3 -20
- package/accordion/accordion-item.js +92 -292
- package/accordion/accordion.d.ts +3 -18
- package/accordion/accordion.js +9 -247
- package/accordion/index.d.ts +6 -6
- package/accordion/index.js +5 -5
- package/alert-dialog/alert-dialog-close.d.ts +3 -14
- package/alert-dialog/alert-dialog-close.js +4 -34
- package/alert-dialog/alert-dialog-popup.d.ts +3 -32
- package/alert-dialog/alert-dialog-popup.js +68 -317
- package/alert-dialog/alert-dialog-trigger.d.ts +3 -14
- package/alert-dialog/alert-dialog-trigger.js +4 -51
- package/alert-dialog/alert-dialog.d.ts +3 -30
- package/alert-dialog/alert-dialog.js +8 -158
- package/alert-dialog/index.d.ts +11 -11
- package/alert-dialog/index.js +9 -9
- package/all.d.ts +159 -123
- package/all.js +134 -231
- package/avatar/avatar.d.ts +3 -39
- package/avatar/avatar.js +18 -238
- package/avatar/index.d.ts +4 -4
- package/avatar/index.js +3 -3
- package/badge/badge.d.ts +3 -10
- package/badge/badge.js +87 -22
- package/badge/index.d.ts +2 -3
- package/badge/index.js +2 -3
- package/breadcrumb/breadcrumb-ellipsis.d.ts +3 -12
- package/breadcrumb/breadcrumb-ellipsis.js +8 -34
- package/breadcrumb/breadcrumb-item.d.ts +3 -11
- package/breadcrumb/breadcrumb-item.js +7 -26
- package/breadcrumb/breadcrumb-link.d.ts +3 -12
- package/breadcrumb/breadcrumb-link.js +16 -26
- package/breadcrumb/breadcrumb-page.d.ts +3 -11
- package/breadcrumb/breadcrumb-page.js +8 -31
- package/breadcrumb/breadcrumb-separator.d.ts +3 -12
- package/breadcrumb/breadcrumb-separator.js +8 -31
- package/breadcrumb/breadcrumb.d.ts +3 -12
- package/breadcrumb/breadcrumb.js +10 -33
- package/breadcrumb/index.d.ts +12 -13
- package/breadcrumb/index.js +12 -13
- package/button/button.d.ts +3 -32
- package/button/button.js +220 -165
- package/button/index.d.ts +3 -3
- package/button/index.js +3 -3
- package/calendar/calendar.d.ts +3 -31
- package/calendar/calendar.js +71 -481
- package/calendar/index.d.ts +3 -3
- package/calendar/index.js +3 -3
- package/card/card.d.ts +3 -27
- package/card/card.js +80 -163
- package/card/index.d.ts +2 -3
- package/card/index.js +2 -3
- package/card-grid/card-grid.d.ts +3 -15
- package/card-grid/card-grid.js +8 -106
- package/card-grid/index.d.ts +2 -3
- package/card-grid/index.js +2 -3
- package/checkbox/checkbox-group.d.ts +3 -34
- package/checkbox/checkbox-group.js +11 -188
- package/checkbox/checkbox.d.ts +3 -47
- package/checkbox/checkbox.js +43 -341
- package/checkbox/index.d.ts +6 -6
- package/checkbox/index.js +5 -5
- package/collapsible/collapsible.d.ts +3 -20
- package/collapsible/collapsible.js +82 -277
- package/collapsible/index.d.ts +3 -3
- package/collapsible/index.js +3 -3
- package/combobox/combobox.d.ts +3 -47
- package/combobox/combobox.js +136 -538
- package/combobox/index.d.ts +4 -4
- package/combobox/index.js +3 -3
- package/command/command-empty.d.ts +3 -8
- package/command/command-empty.js +10 -88
- package/command/command-group.d.ts +3 -13
- package/command/command-group.js +14 -114
- package/command/command-input.d.ts +3 -11
- package/command/command-input.js +20 -136
- package/command/command-item.d.ts +3 -18
- package/command/command-item.js +23 -212
- package/command/command-list.d.ts +3 -7
- package/command/command-list.js +11 -79
- package/command/command-separator.d.ts +3 -5
- package/command/command-separator.js +10 -11
- package/command/command-shortcut.d.ts +3 -5
- package/command/command-shortcut.js +9 -12
- package/command/command.d.ts +3 -23
- package/command/command.js +10 -339
- package/command/index.d.ts +17 -19
- package/command/index.js +16 -18
- package/data-table/data-table.d.ts +3 -57
- package/data-table/data-table.js +85 -449
- package/data-table/index.d.ts +3 -4
- package/data-table/index.js +2 -3
- package/dialog/dialog-close.d.ts +3 -14
- package/dialog/dialog-close.js +4 -34
- package/dialog/dialog-popup.d.ts +3 -34
- package/dialog/dialog-popup.js +70 -336
- package/dialog/dialog-trigger.d.ts +3 -14
- package/dialog/dialog-trigger.js +4 -51
- package/dialog/dialog.d.ts +3 -30
- package/dialog/dialog.js +8 -158
- package/dialog/index.d.ts +11 -11
- package/dialog/index.js +9 -9
- package/dropzone/dropzone.d.ts +3 -72
- package/dropzone/dropzone.js +29 -407
- package/dropzone/index.d.ts +4 -4
- package/dropzone/index.js +3 -3
- package/field/field.d.ts +3 -30
- package/field/field.js +34 -353
- package/field/index.d.ts +1 -0
- package/field/index.js +1 -0
- package/fieldset/fieldset.d.ts +3 -18
- package/fieldset/fieldset.js +21 -110
- package/fieldset/index.d.ts +1 -0
- package/fieldset/index.js +1 -0
- package/icon/icon.d.ts +3 -15
- package/icon/icon.js +4 -33
- package/icon/index.d.ts +2 -3
- package/icon/index.js +2 -3
- package/input/index.d.ts +3 -3
- package/input/index.js +3 -3
- package/input/input.d.ts +3 -49
- package/input/input.js +57 -238
- package/menu/index.d.ts +4 -5
- package/menu/index.js +4 -5
- package/menu/menu-item.d.ts +3 -13
- package/menu/menu-item.js +40 -91
- package/menu/menu.d.ts +3 -15
- package/menu/menu.js +27 -277
- package/menubar/index.d.ts +3 -4
- package/menubar/index.js +2 -3
- package/menubar/menubar.d.ts +3 -19
- package/menubar/menubar.js +12 -183
- package/number-field/index.d.ts +3 -3
- package/number-field/index.js +3 -3
- package/number-field/number-field.d.ts +3 -55
- package/number-field/number-field.js +205 -698
- package/package.json +125 -113
- package/popover/index.d.ts +11 -11
- package/popover/index.js +9 -9
- package/popover/popover-close.d.ts +3 -12
- package/popover/popover-close.js +4 -32
- package/popover/popover-popup.d.ts +3 -18
- package/popover/popover-popup.js +28 -205
- package/popover/popover-trigger.d.ts +3 -13
- package/popover/popover-trigger.js +4 -73
- package/popover/popover.d.ts +3 -29
- package/popover/popover.js +8 -207
- package/portal/index.d.ts +3 -4
- package/portal/index.js +2 -3
- package/portal/portal.d.ts +3 -27
- package/portal/portal.js +8 -157
- package/preview-card/index.d.ts +9 -9
- package/preview-card/index.js +7 -7
- package/preview-card/preview-card-popup.d.ts +3 -14
- package/preview-card/preview-card-popup.js +29 -194
- package/preview-card/preview-card-trigger.d.ts +3 -12
- package/preview-card/preview-card-trigger.js +4 -74
- package/preview-card/preview-card.d.ts +3 -33
- package/preview-card/preview-card.js +8 -239
- package/progress/index.d.ts +2 -3
- package/progress/index.js +2 -3
- package/progress/progress.d.ts +3 -17
- package/progress/progress.js +28 -130
- package/radio/index.d.ts +6 -6
- package/radio/index.js +5 -5
- package/radio/radio-group.d.ts +3 -37
- package/radio/radio-group.js +8 -200
- package/radio/radio.d.ts +3 -28
- package/radio/radio.js +38 -213
- package/scroll-area/index.d.ts +2 -3
- package/scroll-area/index.js +2 -3
- package/scroll-area/scroll-area.d.ts +3 -36
- package/scroll-area/scroll-area.js +25 -535
- package/select/index.d.ts +3 -4
- package/select/index.js +2 -3
- package/select/select.d.ts +3 -39
- package/select/select.js +115 -425
- package/separator/index.d.ts +2 -3
- package/separator/index.js +2 -3
- package/separator/separator.d.ts +3 -10
- package/separator/separator.js +23 -85
- package/sidebar/index.d.ts +29 -29
- package/sidebar/index.js +27 -32
- package/sidebar/sidebar-content.d.ts +3 -12
- package/sidebar/sidebar-content.js +7 -29
- package/sidebar/sidebar-footer.d.ts +3 -10
- package/sidebar/sidebar-footer.js +7 -20
- package/sidebar/sidebar-group-label.d.ts +3 -15
- package/sidebar/sidebar-group-label.js +16 -41
- package/sidebar/sidebar-group.d.ts +3 -13
- package/sidebar/sidebar-group.js +7 -24
- package/sidebar/sidebar-header.d.ts +3 -10
- package/sidebar/sidebar-header.js +7 -16
- package/sidebar/sidebar-inset.d.ts +3 -13
- package/sidebar/sidebar-inset.js +7 -28
- package/sidebar/sidebar-menu-button.d.ts +3 -26
- package/sidebar/sidebar-menu-button.js +59 -217
- package/sidebar/sidebar-menu-item.d.ts +3 -10
- package/sidebar/sidebar-menu-item.js +7 -19
- package/sidebar/sidebar-menu.d.ts +3 -12
- package/sidebar/sidebar-menu.js +7 -25
- package/sidebar/sidebar-provider.d.ts +3 -34
- package/sidebar/sidebar-provider.js +22 -232
- package/sidebar/sidebar-separator.d.ts +3 -10
- package/sidebar/sidebar-separator.js +9 -19
- package/sidebar/sidebar-trigger.d.ts +3 -14
- package/sidebar/sidebar-trigger.js +10 -46
- package/sidebar/sidebar.d.ts +3 -19
- package/sidebar/sidebar.js +65 -262
- package/slider/index.d.ts +3 -3
- package/slider/index.js +3 -3
- package/slider/slider.d.ts +3 -45
- package/slider/slider.js +97 -382
- package/spinner/index.d.ts +2 -3
- package/spinner/index.js +2 -3
- package/spinner/spinner.d.ts +3 -11
- package/spinner/spinner.js +20 -163
- package/split-button/index.d.ts +3 -1
- package/split-button/index.js +3 -1
- package/split-button/split-button.d.ts +3 -33
- package/split-button/split-button.js +306 -394
- package/stepper/index.d.ts +3 -3
- package/stepper/index.js +3 -3
- package/stepper/stepper.d.ts +3 -41
- package/stepper/stepper.js +57 -381
- package/switch/index.d.ts +3 -3
- package/switch/index.js +3 -3
- package/switch/switch.d.ts +3 -30
- package/switch/switch.js +63 -228
- package/tabs/index.d.ts +12 -12
- package/tabs/index.js +11 -11
- package/tabs/tab.d.ts +3 -14
- package/tabs/tab.js +32 -131
- package/tabs/tabs-indicator.d.ts +3 -9
- package/tabs/tabs-indicator.js +17 -22
- package/tabs/tabs-list.d.ts +3 -15
- package/tabs/tabs-list.js +14 -113
- package/tabs/tabs-panel.d.ts +3 -16
- package/tabs/tabs-panel.js +32 -114
- package/tabs/tabs.d.ts +3 -22
- package/tabs/tabs.js +8 -170
- package/textarea/index.d.ts +4 -4
- package/textarea/index.js +3 -3
- package/textarea/textarea.d.ts +3 -36
- package/textarea/textarea.js +63 -220
- package/toggle/index.d.ts +6 -6
- package/toggle/index.js +5 -5
- package/toggle/toggle-group.d.ts +3 -27
- package/toggle/toggle-group.js +9 -224
- package/toggle/toggle.d.ts +3 -26
- package/toggle/toggle.js +93 -178
- package/tokens/properties.css +361 -0
- package/tokens/prose.css +250 -0
- package/tokens/prose.d.ts +2 -0
- package/tokens/prose.js +4 -0
- package/tokens/tokens-raw.d.ts +2 -0
- package/tokens/tokens-raw.js +2 -0
- package/tokens/tokens.css +409 -0
- package/tokens/tokens.d.ts +2 -0
- package/tokens/tokens.js +5 -0
- package/toolbar/index.d.ts +2 -3
- package/toolbar/index.js +2 -3
- package/toolbar/toolbar.d.ts +3 -11
- package/toolbar/toolbar.js +25 -116
- package/tooltip/index.d.ts +9 -9
- package/tooltip/index.js +7 -7
- package/tooltip/tooltip-popup.d.ts +3 -14
- package/tooltip/tooltip-popup.js +31 -185
- package/tooltip/tooltip-trigger.d.ts +3 -14
- package/tooltip/tooltip-trigger.js +5 -148
- package/tooltip/tooltip.d.ts +3 -35
- package/tooltip/tooltip.js +8 -253
- package/trunc/index.d.ts +2 -3
- package/trunc/index.js +2 -3
- package/trunc/trunc.d.ts +3 -17
- package/trunc/trunc.js +10 -108
- package/_deprecated/center/center.d.ts +0 -14
- package/_deprecated/center/center.js +0 -37
- package/_deprecated/center/index.d.ts +0 -3
- package/_deprecated/center/index.js +0 -3
- package/_deprecated/center/register.js +0 -4
- package/_deprecated/hstack/hstack.d.ts +0 -25
- package/_deprecated/hstack/hstack.js +0 -187
- package/_deprecated/hstack/index.d.ts +0 -4
- package/_deprecated/hstack/index.js +0 -3
- package/_deprecated/hstack/register.d.ts +0 -1
- package/_deprecated/hstack/register.js +0 -4
- package/_deprecated/page-inset/index.d.ts +0 -3
- package/_deprecated/page-inset/index.js +0 -3
- package/_deprecated/page-inset/page-inset.d.ts +0 -28
- package/_deprecated/page-inset/page-inset.js +0 -151
- package/_deprecated/page-inset/register.d.ts +0 -1
- package/_deprecated/page-inset/register.js +0 -4
- package/_deprecated/vstack/index.d.ts +0 -3
- package/_deprecated/vstack/index.js +0 -3
- package/_deprecated/vstack/register.d.ts +0 -1
- package/_deprecated/vstack/register.js +0 -4
- package/_deprecated/vstack/vstack.d.ts +0 -17
- package/_deprecated/vstack/vstack.js +0 -125
- package/accordion/accordion-context.d.ts +0 -15
- package/accordion/accordion-context.js +0 -3
- package/alert-dialog/alert-dialog-context.d.ts +0 -13
- package/alert-dialog/alert-dialog-context.js +0 -3
- package/checkbox/checkbox-group-context.d.ts +0 -11
- package/checkbox/checkbox-group-context.js +0 -3
- package/command/command-context.d.ts +0 -30
- package/command/command-context.js +0 -3
- package/command/command-score.d.ts +0 -6
- package/command/command-score.js +0 -31
- package/dialog/dialog-context.d.ts +0 -13
- package/dialog/dialog-context.js +0 -3
- package/global.d.ts +0 -179
- package/menubar/menubar-context.d.ts +0 -9
- package/menubar/menubar-context.js +0 -2
- package/popover/popover-context.d.ts +0 -17
- package/popover/popover-context.js +0 -3
- package/preview-card/preview-card-context.d.ts +0 -16
- package/preview-card/preview-card-context.js +0 -3
- package/radio/radio-group-context.d.ts +0 -11
- package/radio/radio-group-context.js +0 -2
- package/sidebar/sidebar-context.d.ts +0 -15
- package/sidebar/sidebar-context.js +0 -3
- package/split-button/register.d.ts +0 -1
- package/split-button/register.js +0 -4
- package/tabs/tabs-context.d.ts +0 -8
- package/tabs/tabs-context.js +0 -2
- package/toggle/toggle-group-context.d.ts +0 -9
- package/toggle/toggle-group-context.js +0 -2
- package/tooltip/tooltip-context.d.ts +0 -17
- package/tooltip/tooltip-context.js +0 -3
- /package/{_deprecated/center/register.d.ts → _install.d.ts} +0 -0
package/textarea/textarea.js
CHANGED
|
@@ -1,240 +1,83 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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
|
-
import { css, html, LitElement } from "lit";
|
|
37
|
-
import { property } from "lit/decorators.js";
|
|
38
|
-
import { live } from "lit/directives/live.js";
|
|
39
|
-
import { styleMap } from "lit/directives/style-map.js";
|
|
40
|
-
import { base } from "@deepfuture/dui-core/base";
|
|
41
|
-
import { customEvent } from "@deepfuture/dui-core/event";
|
|
42
|
-
export const textareaChangeEvent = customEvent("textarea-change", { bubbles: true, composed: true });
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { DuiTextareaPrimitive } from "@deepfuture/dui-primitives/textarea";
|
|
3
|
+
import "../_install.js";
|
|
43
4
|
const styles = css `
|
|
44
5
|
:host {
|
|
45
|
-
|
|
6
|
+
--font-size: var(--text-sm);
|
|
46
7
|
}
|
|
47
8
|
|
|
48
9
|
[part="textarea"] {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
10
|
+
padding: var(--space-2);
|
|
11
|
+
font-family: var(--font-sans);
|
|
12
|
+
font-size: var(--font-size);
|
|
13
|
+
line-height: var(--line-height-snug);
|
|
14
|
+
color: var(--text-1);
|
|
15
|
+
border: var(--border-width-thin) solid var(--border);
|
|
16
|
+
background: transparent;
|
|
17
|
+
border-radius: var(--radius-md);
|
|
18
|
+
transition-property: border-color, box-shadow, background, filter, transform;
|
|
19
|
+
transition-duration: var(--duration-fast);
|
|
55
20
|
}
|
|
56
21
|
|
|
57
|
-
[part="textarea"][data-resize="
|
|
58
|
-
|
|
22
|
+
[part="textarea"][data-resize="auto"] {
|
|
23
|
+
min-height: var(--component-height-md);
|
|
59
24
|
}
|
|
60
25
|
|
|
61
|
-
|
|
62
|
-
|
|
26
|
+
/* Scrollbar */
|
|
27
|
+
[part="textarea"] {
|
|
28
|
+
scrollbar-width: thin;
|
|
29
|
+
scrollbar-color: color-mix(in srgb, var(--text-2) 50%, transparent) transparent;
|
|
63
30
|
}
|
|
64
31
|
|
|
65
|
-
[part="textarea"]
|
|
66
|
-
|
|
32
|
+
[part="textarea"]::-webkit-scrollbar {
|
|
33
|
+
width: 0.5rem;
|
|
67
34
|
}
|
|
68
35
|
|
|
69
|
-
[part="textarea"]
|
|
70
|
-
|
|
36
|
+
[part="textarea"]::-webkit-scrollbar-track {
|
|
37
|
+
background: transparent;
|
|
71
38
|
}
|
|
72
39
|
|
|
73
|
-
[part="textarea"]
|
|
74
|
-
|
|
75
|
-
|
|
40
|
+
[part="textarea"]::-webkit-scrollbar-thumb {
|
|
41
|
+
background: color-mix(in srgb, var(--text-2) 50%, transparent);
|
|
42
|
+
border-radius: var(--radius-sm);
|
|
43
|
+
border: 0.125rem solid transparent;
|
|
44
|
+
background-clip: padding-box;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
[part="textarea"]::-webkit-scrollbar-thumb:hover {
|
|
48
|
+
background: color-mix(in srgb, var(--text-2) 70%, transparent);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
[part="textarea"]::placeholder {
|
|
52
|
+
color: var(--text-3);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
[part="textarea"]:focus-visible {
|
|
56
|
+
box-shadow:
|
|
57
|
+
0 0 0 var(--focus-ring-offset) var(--background),
|
|
58
|
+
0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring-color);
|
|
76
59
|
}
|
|
77
60
|
|
|
78
61
|
[part="textarea"]:disabled {
|
|
79
|
-
|
|
62
|
+
opacity: 0.4;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
:host([aria-invalid="true"]) [part="textarea"] {
|
|
66
|
+
border-color: var(--destructive);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/* Ghost variant */
|
|
70
|
+
:host([variant="ghost"]) [part="textarea"] {
|
|
71
|
+
border-color: transparent;
|
|
72
|
+
background: transparent;
|
|
73
|
+
padding: 0;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
:host([variant="ghost"]) [part="textarea"]:focus-visible {
|
|
77
|
+
box-shadow: none;
|
|
80
78
|
}
|
|
81
79
|
`;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
let _classSuper = LitElement;
|
|
87
|
-
let _value_decorators;
|
|
88
|
-
let _value_initializers = [];
|
|
89
|
-
let _value_extraInitializers = [];
|
|
90
|
-
let _placeholder_decorators;
|
|
91
|
-
let _placeholder_initializers = [];
|
|
92
|
-
let _placeholder_extraInitializers = [];
|
|
93
|
-
let _disabled_decorators;
|
|
94
|
-
let _disabled_initializers = [];
|
|
95
|
-
let _disabled_extraInitializers = [];
|
|
96
|
-
let _required_decorators;
|
|
97
|
-
let _required_initializers = [];
|
|
98
|
-
let _required_extraInitializers = [];
|
|
99
|
-
let _readonly_decorators;
|
|
100
|
-
let _readonly_initializers = [];
|
|
101
|
-
let _readonly_extraInitializers = [];
|
|
102
|
-
let _rows_decorators;
|
|
103
|
-
let _rows_initializers = [];
|
|
104
|
-
let _rows_extraInitializers = [];
|
|
105
|
-
let _minLength_decorators;
|
|
106
|
-
let _minLength_initializers = [];
|
|
107
|
-
let _minLength_extraInitializers = [];
|
|
108
|
-
let _maxLength_decorators;
|
|
109
|
-
let _maxLength_initializers = [];
|
|
110
|
-
let _maxLength_extraInitializers = [];
|
|
111
|
-
let _name_decorators;
|
|
112
|
-
let _name_initializers = [];
|
|
113
|
-
let _name_extraInitializers = [];
|
|
114
|
-
let _resize_decorators;
|
|
115
|
-
let _resize_initializers = [];
|
|
116
|
-
let _resize_extraInitializers = [];
|
|
117
|
-
let _maxHeight_decorators;
|
|
118
|
-
let _maxHeight_initializers = [];
|
|
119
|
-
let _maxHeight_extraInitializers = [];
|
|
120
|
-
return class DuiTextarea extends _classSuper {
|
|
121
|
-
static {
|
|
122
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
123
|
-
_value_decorators = [property()];
|
|
124
|
-
_placeholder_decorators = [property()];
|
|
125
|
-
_disabled_decorators = [property({ type: Boolean, reflect: true })];
|
|
126
|
-
_required_decorators = [property({ type: Boolean })];
|
|
127
|
-
_readonly_decorators = [property({ type: Boolean })];
|
|
128
|
-
_rows_decorators = [property({ type: Number })];
|
|
129
|
-
_minLength_decorators = [property({ type: Number, attribute: "minlength" })];
|
|
130
|
-
_maxLength_decorators = [property({ type: Number, attribute: "maxlength" })];
|
|
131
|
-
_name_decorators = [property()];
|
|
132
|
-
_resize_decorators = [property()];
|
|
133
|
-
_maxHeight_decorators = [property({ attribute: "max-height" })];
|
|
134
|
-
__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);
|
|
135
|
-
__esDecorate(this, null, _placeholder_decorators, { kind: "accessor", name: "placeholder", static: false, private: false, access: { has: obj => "placeholder" in obj, get: obj => obj.placeholder, set: (obj, value) => { obj.placeholder = value; } }, metadata: _metadata }, _placeholder_initializers, _placeholder_extraInitializers);
|
|
136
|
-
__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);
|
|
137
|
-
__esDecorate(this, null, _required_decorators, { kind: "accessor", name: "required", static: false, private: false, access: { has: obj => "required" in obj, get: obj => obj.required, set: (obj, value) => { obj.required = value; } }, metadata: _metadata }, _required_initializers, _required_extraInitializers);
|
|
138
|
-
__esDecorate(this, null, _readonly_decorators, { kind: "accessor", name: "readonly", static: false, private: false, access: { has: obj => "readonly" in obj, get: obj => obj.readonly, set: (obj, value) => { obj.readonly = value; } }, metadata: _metadata }, _readonly_initializers, _readonly_extraInitializers);
|
|
139
|
-
__esDecorate(this, null, _rows_decorators, { kind: "accessor", name: "rows", static: false, private: false, access: { has: obj => "rows" in obj, get: obj => obj.rows, set: (obj, value) => { obj.rows = value; } }, metadata: _metadata }, _rows_initializers, _rows_extraInitializers);
|
|
140
|
-
__esDecorate(this, null, _minLength_decorators, { kind: "accessor", name: "minLength", static: false, private: false, access: { has: obj => "minLength" in obj, get: obj => obj.minLength, set: (obj, value) => { obj.minLength = value; } }, metadata: _metadata }, _minLength_initializers, _minLength_extraInitializers);
|
|
141
|
-
__esDecorate(this, null, _maxLength_decorators, { kind: "accessor", name: "maxLength", static: false, private: false, access: { has: obj => "maxLength" in obj, get: obj => obj.maxLength, set: (obj, value) => { obj.maxLength = value; } }, metadata: _metadata }, _maxLength_initializers, _maxLength_extraInitializers);
|
|
142
|
-
__esDecorate(this, null, _name_decorators, { kind: "accessor", name: "name", static: false, private: false, access: { has: obj => "name" in obj, get: obj => obj.name, set: (obj, value) => { obj.name = value; } }, metadata: _metadata }, _name_initializers, _name_extraInitializers);
|
|
143
|
-
__esDecorate(this, null, _resize_decorators, { kind: "accessor", name: "resize", static: false, private: false, access: { has: obj => "resize" in obj, get: obj => obj.resize, set: (obj, value) => { obj.resize = value; } }, metadata: _metadata }, _resize_initializers, _resize_extraInitializers);
|
|
144
|
-
__esDecorate(this, null, _maxHeight_decorators, { kind: "accessor", name: "maxHeight", static: false, private: false, access: { has: obj => "maxHeight" in obj, get: obj => obj.maxHeight, set: (obj, value) => { obj.maxHeight = value; } }, metadata: _metadata }, _maxHeight_initializers, _maxHeight_extraInitializers);
|
|
145
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
146
|
-
}
|
|
147
|
-
static tagName = "dui-textarea";
|
|
148
|
-
static formAssociated = true;
|
|
149
|
-
static shadowRootOptions = {
|
|
150
|
-
...LitElement.shadowRootOptions,
|
|
151
|
-
delegatesFocus: true,
|
|
152
|
-
};
|
|
153
|
-
static styles = [base, styles];
|
|
154
|
-
#internals;
|
|
155
|
-
constructor() {
|
|
156
|
-
super();
|
|
157
|
-
this.#internals = this.attachInternals();
|
|
158
|
-
}
|
|
159
|
-
#value_accessor_storage = __runInitializers(this, _value_initializers, "");
|
|
160
|
-
/** Current textarea value. */
|
|
161
|
-
get value() { return this.#value_accessor_storage; }
|
|
162
|
-
set value(value) { this.#value_accessor_storage = value; }
|
|
163
|
-
#placeholder_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _placeholder_initializers, ""));
|
|
164
|
-
/** Placeholder text. */
|
|
165
|
-
get placeholder() { return this.#placeholder_accessor_storage; }
|
|
166
|
-
set placeholder(value) { this.#placeholder_accessor_storage = value; }
|
|
167
|
-
#disabled_accessor_storage = (__runInitializers(this, _placeholder_extraInitializers), __runInitializers(this, _disabled_initializers, false));
|
|
168
|
-
get disabled() { return this.#disabled_accessor_storage; }
|
|
169
|
-
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
170
|
-
#required_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _required_initializers, false));
|
|
171
|
-
get required() { return this.#required_accessor_storage; }
|
|
172
|
-
set required(value) { this.#required_accessor_storage = value; }
|
|
173
|
-
#readonly_accessor_storage = (__runInitializers(this, _required_extraInitializers), __runInitializers(this, _readonly_initializers, false));
|
|
174
|
-
get readonly() { return this.#readonly_accessor_storage; }
|
|
175
|
-
set readonly(value) { this.#readonly_accessor_storage = value; }
|
|
176
|
-
#rows_accessor_storage = (__runInitializers(this, _readonly_extraInitializers), __runInitializers(this, _rows_initializers, undefined));
|
|
177
|
-
/** Number of visible text rows. */
|
|
178
|
-
get rows() { return this.#rows_accessor_storage; }
|
|
179
|
-
set rows(value) { this.#rows_accessor_storage = value; }
|
|
180
|
-
#minLength_accessor_storage = (__runInitializers(this, _rows_extraInitializers), __runInitializers(this, _minLength_initializers, undefined));
|
|
181
|
-
get minLength() { return this.#minLength_accessor_storage; }
|
|
182
|
-
set minLength(value) { this.#minLength_accessor_storage = value; }
|
|
183
|
-
#maxLength_accessor_storage = (__runInitializers(this, _minLength_extraInitializers), __runInitializers(this, _maxLength_initializers, undefined));
|
|
184
|
-
get maxLength() { return this.#maxLength_accessor_storage; }
|
|
185
|
-
set maxLength(value) { this.#maxLength_accessor_storage = value; }
|
|
186
|
-
#name_accessor_storage = (__runInitializers(this, _maxLength_extraInitializers), __runInitializers(this, _name_initializers, ""));
|
|
187
|
-
get name() { return this.#name_accessor_storage; }
|
|
188
|
-
set name(value) { this.#name_accessor_storage = value; }
|
|
189
|
-
#resize_accessor_storage = (__runInitializers(this, _name_extraInitializers), __runInitializers(this, _resize_initializers, "vertical"));
|
|
190
|
-
/** Resize behavior: "none" | "vertical" | "horizontal" | "both" | "auto". */
|
|
191
|
-
get resize() { return this.#resize_accessor_storage; }
|
|
192
|
-
set resize(value) { this.#resize_accessor_storage = value; }
|
|
193
|
-
#maxHeight_accessor_storage = (__runInitializers(this, _resize_extraInitializers), __runInitializers(this, _maxHeight_initializers, undefined));
|
|
194
|
-
/** Maximum height (CSS value). Textarea scrolls when content exceeds this. */
|
|
195
|
-
get maxHeight() { return this.#maxHeight_accessor_storage; }
|
|
196
|
-
set maxHeight(value) { this.#maxHeight_accessor_storage = value; }
|
|
197
|
-
willUpdate() {
|
|
198
|
-
this.#internals.setFormValue(this.value);
|
|
199
|
-
}
|
|
200
|
-
#syncValidity() {
|
|
201
|
-
const textarea = this.shadowRoot?.querySelector("textarea");
|
|
202
|
-
if (textarea) {
|
|
203
|
-
this.#internals.setValidity(textarea.validity, textarea.validationMessage, textarea);
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
updated() {
|
|
207
|
-
this.#syncValidity();
|
|
208
|
-
}
|
|
209
|
-
#onInput = (__runInitializers(this, _maxHeight_extraInitializers), (event) => {
|
|
210
|
-
const target = event.target;
|
|
211
|
-
this.value = target.value;
|
|
212
|
-
this.#internals.setFormValue(this.value);
|
|
213
|
-
this.dispatchEvent(textareaChangeEvent({ value: this.value }));
|
|
214
|
-
});
|
|
215
|
-
render() {
|
|
216
|
-
const textAreaStyles = styleMap({
|
|
217
|
-
overflowY: this.maxHeight === undefined ? "auto" : "initial",
|
|
218
|
-
maxHeight: this.maxHeight ?? "initial",
|
|
219
|
-
});
|
|
220
|
-
return html `
|
|
221
|
-
<textarea
|
|
222
|
-
part="textarea"
|
|
223
|
-
style=${textAreaStyles}
|
|
224
|
-
.value=${live(this.value)}
|
|
225
|
-
placeholder=${this.placeholder}
|
|
226
|
-
rows=${this.rows ?? ""}
|
|
227
|
-
?disabled=${this.disabled}
|
|
228
|
-
?required=${this.required}
|
|
229
|
-
?readonly=${this.readonly}
|
|
230
|
-
minlength=${this.minLength ?? ""}
|
|
231
|
-
maxlength=${this.maxLength ?? ""}
|
|
232
|
-
name=${this.name}
|
|
233
|
-
data-resize=${this.resize}
|
|
234
|
-
@input=${this.#onInput}
|
|
235
|
-
></textarea>
|
|
236
|
-
`;
|
|
237
|
-
}
|
|
238
|
-
};
|
|
239
|
-
})();
|
|
240
|
-
export { DuiTextarea };
|
|
80
|
+
export class DuiTextarea extends DuiTextareaPrimitive {
|
|
81
|
+
static styles = [...DuiTextareaPrimitive.styles, styles];
|
|
82
|
+
}
|
|
83
|
+
customElements.define(DuiTextarea.tagName, DuiTextarea);
|
package/toggle/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { DuiToggleGroup
|
|
5
|
-
export type { ToggleGroupContext } from "
|
|
6
|
-
export
|
|
1
|
+
import "./toggle.js";
|
|
2
|
+
import "./toggle-group.js";
|
|
3
|
+
export { DuiToggle } from "./toggle.js";
|
|
4
|
+
export { DuiToggleGroup } from "./toggle-group.js";
|
|
5
|
+
export type { ToggleGroupContext } from "@deepfuture/dui-primitives/toggle";
|
|
6
|
+
export { pressedChangeEvent, valueChangeEvent } from "@deepfuture/dui-primitives/toggle";
|
package/toggle/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export { DuiToggleGroup
|
|
5
|
-
export
|
|
1
|
+
import "./toggle.js";
|
|
2
|
+
import "./toggle-group.js";
|
|
3
|
+
export { DuiToggle } from "./toggle.js";
|
|
4
|
+
export { DuiToggleGroup } from "./toggle-group.js";
|
|
5
|
+
export { pressedChangeEvent, valueChangeEvent } from "@deepfuture/dui-primitives/toggle";
|
package/toggle/toggle-group.d.ts
CHANGED
|
@@ -1,29 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
export declare
|
|
4
|
-
value: string[];
|
|
5
|
-
}) => CustomEvent<{
|
|
6
|
-
value: string[];
|
|
7
|
-
}>;
|
|
8
|
-
/**
|
|
9
|
-
* `<dui-toggle-group>` — Groups toggle buttons with shared single/multi selection.
|
|
10
|
-
*
|
|
11
|
-
* @slot - `dui-toggle` children.
|
|
12
|
-
* @csspart root - The group container.
|
|
13
|
-
* @fires value-change - Fired when selection changes. Detail: { value: string[] }
|
|
14
|
-
*/
|
|
15
|
-
export declare class DuiToggleGroup extends LitElement {
|
|
16
|
-
#private;
|
|
17
|
-
static tagName: "dui-toggle-group";
|
|
1
|
+
import { DuiToggleGroupPrimitive } from "@deepfuture/dui-primitives/toggle";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export declare class DuiToggleGroup extends DuiToggleGroupPrimitive {
|
|
18
4
|
static styles: import("lit").CSSResult[];
|
|
19
|
-
accessor value: string[] | undefined;
|
|
20
|
-
accessor defaultValue: string[];
|
|
21
|
-
accessor type: "single" | "multiple";
|
|
22
|
-
accessor orientation: "horizontal" | "vertical";
|
|
23
|
-
accessor disabled: boolean;
|
|
24
|
-
accessor loop: boolean;
|
|
25
|
-
accessor _ctx: ToggleGroupContext;
|
|
26
|
-
connectedCallback(): void;
|
|
27
|
-
willUpdate(): void;
|
|
28
|
-
render(): TemplateResult;
|
|
29
5
|
}
|
package/toggle/toggle-group.js
CHANGED
|
@@ -1,228 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
-
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
-
var _, done = false;
|
|
7
|
-
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
-
var context = {};
|
|
9
|
-
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
-
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
-
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
-
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
-
if (kind === "accessor") {
|
|
14
|
-
if (result === void 0) continue;
|
|
15
|
-
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
-
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
-
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
-
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
-
}
|
|
20
|
-
else if (_ = accept(result)) {
|
|
21
|
-
if (kind === "field") initializers.unshift(_);
|
|
22
|
-
else descriptor[key] = _;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
-
done = true;
|
|
27
|
-
};
|
|
28
|
-
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
-
var useValue = arguments.length > 2;
|
|
30
|
-
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
-
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
-
}
|
|
33
|
-
return useValue ? value : void 0;
|
|
34
|
-
};
|
|
35
|
-
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
36
|
-
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
37
|
-
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
38
|
-
};
|
|
39
|
-
import { css, html, LitElement } from "lit";
|
|
40
|
-
import { property, state } from "lit/decorators.js";
|
|
41
|
-
import { provide } from "@lit/context";
|
|
42
|
-
import { base } from "@deepfuture/dui-core/base";
|
|
43
|
-
import { customEvent } from "@deepfuture/dui-core/event";
|
|
44
|
-
import { toggleGroupContext, } from "./toggle-group-context.js";
|
|
45
|
-
export const valueChangeEvent = customEvent("value-change", { bubbles: true, composed: true });
|
|
46
|
-
/** Structural styles only — layout CSS. */
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { DuiToggleGroupPrimitive } from "@deepfuture/dui-primitives/toggle";
|
|
3
|
+
import "../_install.js";
|
|
47
4
|
const styles = css `
|
|
48
|
-
:host {
|
|
49
|
-
display: inline-flex;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
5
|
[part="root"] {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
:host([orientation="vertical"]) [part="root"] {
|
|
57
|
-
flex-direction: column;
|
|
6
|
+
gap: var(--space-1);
|
|
7
|
+
border-radius: var(--radius-md);
|
|
58
8
|
}
|
|
59
9
|
`;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
* @csspart root - The group container.
|
|
65
|
-
* @fires value-change - Fired when selection changes. Detail: { value: string[] }
|
|
66
|
-
*/
|
|
67
|
-
let DuiToggleGroup = (() => {
|
|
68
|
-
let _classSuper = LitElement;
|
|
69
|
-
let _value_decorators;
|
|
70
|
-
let _value_initializers = [];
|
|
71
|
-
let _value_extraInitializers = [];
|
|
72
|
-
let _defaultValue_decorators;
|
|
73
|
-
let _defaultValue_initializers = [];
|
|
74
|
-
let _defaultValue_extraInitializers = [];
|
|
75
|
-
let _type_decorators;
|
|
76
|
-
let _type_initializers = [];
|
|
77
|
-
let _type_extraInitializers = [];
|
|
78
|
-
let _orientation_decorators;
|
|
79
|
-
let _orientation_initializers = [];
|
|
80
|
-
let _orientation_extraInitializers = [];
|
|
81
|
-
let _disabled_decorators;
|
|
82
|
-
let _disabled_initializers = [];
|
|
83
|
-
let _disabled_extraInitializers = [];
|
|
84
|
-
let _loop_decorators;
|
|
85
|
-
let _loop_initializers = [];
|
|
86
|
-
let _loop_extraInitializers = [];
|
|
87
|
-
let _private_internalValue_decorators;
|
|
88
|
-
let _private_internalValue_initializers = [];
|
|
89
|
-
let _private_internalValue_extraInitializers = [];
|
|
90
|
-
let _private_internalValue_descriptor;
|
|
91
|
-
let __ctx_decorators;
|
|
92
|
-
let __ctx_initializers = [];
|
|
93
|
-
let __ctx_extraInitializers = [];
|
|
94
|
-
return class DuiToggleGroup extends _classSuper {
|
|
95
|
-
static {
|
|
96
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
97
|
-
_value_decorators = [property({ type: Array })];
|
|
98
|
-
_defaultValue_decorators = [property({ type: Array, attribute: "default-value" })];
|
|
99
|
-
_type_decorators = [property({ reflect: true })];
|
|
100
|
-
_orientation_decorators = [property({ reflect: true })];
|
|
101
|
-
_disabled_decorators = [property({ type: Boolean, reflect: true })];
|
|
102
|
-
_loop_decorators = [property({ type: Boolean })];
|
|
103
|
-
_private_internalValue_decorators = [state()];
|
|
104
|
-
__ctx_decorators = [provide({ context: toggleGroupContext }), state()];
|
|
105
|
-
__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);
|
|
106
|
-
__esDecorate(this, null, _defaultValue_decorators, { kind: "accessor", name: "defaultValue", static: false, private: false, access: { has: obj => "defaultValue" in obj, get: obj => obj.defaultValue, set: (obj, value) => { obj.defaultValue = value; } }, metadata: _metadata }, _defaultValue_initializers, _defaultValue_extraInitializers);
|
|
107
|
-
__esDecorate(this, null, _type_decorators, { kind: "accessor", name: "type", static: false, private: false, access: { has: obj => "type" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);
|
|
108
|
-
__esDecorate(this, null, _orientation_decorators, { kind: "accessor", name: "orientation", static: false, private: false, access: { has: obj => "orientation" in obj, get: obj => obj.orientation, set: (obj, value) => { obj.orientation = value; } }, metadata: _metadata }, _orientation_initializers, _orientation_extraInitializers);
|
|
109
|
-
__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);
|
|
110
|
-
__esDecorate(this, null, _loop_decorators, { kind: "accessor", name: "loop", static: false, private: false, access: { has: obj => "loop" in obj, get: obj => obj.loop, set: (obj, value) => { obj.loop = value; } }, metadata: _metadata }, _loop_initializers, _loop_extraInitializers);
|
|
111
|
-
__esDecorate(this, _private_internalValue_descriptor = { get: __setFunctionName(function () { return this.#internalValue_accessor_storage; }, "#internalValue", "get"), set: __setFunctionName(function (value) { this.#internalValue_accessor_storage = value; }, "#internalValue", "set") }, _private_internalValue_decorators, { kind: "accessor", name: "#internalValue", static: false, private: true, access: { has: obj => #internalValue in obj, get: obj => obj.#internalValue, set: (obj, value) => { obj.#internalValue = value; } }, metadata: _metadata }, _private_internalValue_initializers, _private_internalValue_extraInitializers);
|
|
112
|
-
__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);
|
|
113
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
114
|
-
}
|
|
115
|
-
static tagName = "dui-toggle-group";
|
|
116
|
-
static styles = [base, styles];
|
|
117
|
-
#value_accessor_storage = __runInitializers(this, _value_initializers, undefined);
|
|
118
|
-
get value() { return this.#value_accessor_storage; }
|
|
119
|
-
set value(value) { this.#value_accessor_storage = value; }
|
|
120
|
-
#defaultValue_accessor_storage = (__runInitializers(this, _value_extraInitializers), __runInitializers(this, _defaultValue_initializers, []));
|
|
121
|
-
get defaultValue() { return this.#defaultValue_accessor_storage; }
|
|
122
|
-
set defaultValue(value) { this.#defaultValue_accessor_storage = value; }
|
|
123
|
-
#type_accessor_storage = (__runInitializers(this, _defaultValue_extraInitializers), __runInitializers(this, _type_initializers, "single"));
|
|
124
|
-
get type() { return this.#type_accessor_storage; }
|
|
125
|
-
set type(value) { this.#type_accessor_storage = value; }
|
|
126
|
-
#orientation_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _orientation_initializers, "horizontal"));
|
|
127
|
-
get orientation() { return this.#orientation_accessor_storage; }
|
|
128
|
-
set orientation(value) { this.#orientation_accessor_storage = value; }
|
|
129
|
-
#disabled_accessor_storage = (__runInitializers(this, _orientation_extraInitializers), __runInitializers(this, _disabled_initializers, false));
|
|
130
|
-
get disabled() { return this.#disabled_accessor_storage; }
|
|
131
|
-
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
132
|
-
#loop_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _loop_initializers, true));
|
|
133
|
-
get loop() { return this.#loop_accessor_storage; }
|
|
134
|
-
set loop(value) { this.#loop_accessor_storage = value; }
|
|
135
|
-
#internalValue_accessor_storage = (__runInitializers(this, _loop_extraInitializers), __runInitializers(this, _private_internalValue_initializers, []));
|
|
136
|
-
get #internalValue() { return _private_internalValue_descriptor.get.call(this); }
|
|
137
|
-
set #internalValue(value) { return _private_internalValue_descriptor.set.call(this, value); }
|
|
138
|
-
get #currentValue() {
|
|
139
|
-
return this.value ?? this.#internalValue;
|
|
140
|
-
}
|
|
141
|
-
#toggle = (__runInitializers(this, _private_internalValue_extraInitializers), (itemValue) => {
|
|
142
|
-
if (this.disabled)
|
|
143
|
-
return;
|
|
144
|
-
const current = this.#currentValue;
|
|
145
|
-
let next;
|
|
146
|
-
if (this.type === "single") {
|
|
147
|
-
next = current.includes(itemValue) ? [] : [itemValue];
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
next = current.includes(itemValue)
|
|
151
|
-
? current.filter((v) => v !== itemValue)
|
|
152
|
-
: [...current, itemValue];
|
|
153
|
-
}
|
|
154
|
-
if (this.value === undefined) {
|
|
155
|
-
this.#internalValue = next;
|
|
156
|
-
}
|
|
157
|
-
this.dispatchEvent(valueChangeEvent({ value: next }));
|
|
158
|
-
});
|
|
159
|
-
#_ctx_accessor_storage = __runInitializers(this, __ctx_initializers, this.#buildContext());
|
|
160
|
-
get _ctx() { return this.#_ctx_accessor_storage; }
|
|
161
|
-
set _ctx(value) { this.#_ctx_accessor_storage = value; }
|
|
162
|
-
#buildContext() {
|
|
163
|
-
return {
|
|
164
|
-
value: this.#currentValue,
|
|
165
|
-
disabled: this.disabled,
|
|
166
|
-
type: this.type,
|
|
167
|
-
toggle: this.#toggle,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
connectedCallback() {
|
|
171
|
-
super.connectedCallback();
|
|
172
|
-
if (this.value === undefined && this.defaultValue.length > 0) {
|
|
173
|
-
this.#internalValue = [...this.defaultValue];
|
|
174
|
-
}
|
|
175
|
-
this._ctx = this.#buildContext();
|
|
176
|
-
}
|
|
177
|
-
willUpdate() {
|
|
178
|
-
this._ctx = this.#buildContext();
|
|
179
|
-
}
|
|
180
|
-
#onKeyDown = (__runInitializers(this, __ctx_extraInitializers), (e) => {
|
|
181
|
-
const isHorizontal = this.orientation === "horizontal";
|
|
182
|
-
const nextKey = isHorizontal ? "ArrowRight" : "ArrowDown";
|
|
183
|
-
const prevKey = isHorizontal ? "ArrowLeft" : "ArrowUp";
|
|
184
|
-
if (e.key !== nextKey && e.key !== prevKey)
|
|
185
|
-
return;
|
|
186
|
-
e.preventDefault();
|
|
187
|
-
const toggles = [
|
|
188
|
-
...this.querySelectorAll("dui-toggle"),
|
|
189
|
-
];
|
|
190
|
-
const focusable = toggles.filter((t) => !t.hasAttribute("disabled"));
|
|
191
|
-
if (focusable.length === 0)
|
|
192
|
-
return;
|
|
193
|
-
const active = this.shadowRoot?.activeElement ??
|
|
194
|
-
document.activeElement;
|
|
195
|
-
const currentToggle = toggles.find((t) => t === active || t.shadowRoot?.activeElement === active || t.contains(active));
|
|
196
|
-
const currentIndex = currentToggle
|
|
197
|
-
? focusable.indexOf(currentToggle)
|
|
198
|
-
: -1;
|
|
199
|
-
let nextIndex;
|
|
200
|
-
if (e.key === nextKey) {
|
|
201
|
-
nextIndex = currentIndex + 1;
|
|
202
|
-
if (nextIndex >= focusable.length) {
|
|
203
|
-
nextIndex = this.loop ? 0 : focusable.length - 1;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
nextIndex = currentIndex - 1;
|
|
208
|
-
if (nextIndex < 0) {
|
|
209
|
-
nextIndex = this.loop ? focusable.length - 1 : 0;
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
focusable[nextIndex]?.focus();
|
|
213
|
-
});
|
|
214
|
-
render() {
|
|
215
|
-
return html `
|
|
216
|
-
<div
|
|
217
|
-
part="root"
|
|
218
|
-
role="group"
|
|
219
|
-
aria-orientation="${this.orientation}"
|
|
220
|
-
@keydown="${this.#onKeyDown}"
|
|
221
|
-
>
|
|
222
|
-
<slot></slot>
|
|
223
|
-
</div>
|
|
224
|
-
`;
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
})();
|
|
228
|
-
export { DuiToggleGroup };
|
|
10
|
+
export class DuiToggleGroup extends DuiToggleGroupPrimitive {
|
|
11
|
+
static styles = [...DuiToggleGroupPrimitive.styles, styles];
|
|
12
|
+
}
|
|
13
|
+
customElements.define(DuiToggleGroup.tagName, DuiToggleGroup);
|
package/toggle/toggle.d.ts
CHANGED
|
@@ -1,28 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
export declare
|
|
4
|
-
pressed: boolean;
|
|
5
|
-
}) => CustomEvent<{
|
|
6
|
-
pressed: boolean;
|
|
7
|
-
}>;
|
|
8
|
-
/**
|
|
9
|
-
* `<dui-toggle>` — A two-state toggle button. Works standalone or inside a toggle group.
|
|
10
|
-
*
|
|
11
|
-
* @slot - Toggle content (text and/or icons).
|
|
12
|
-
* @slot icon - Optional leading icon.
|
|
13
|
-
* @csspart root - The button element.
|
|
14
|
-
* @fires pressed-change - Fired when toggled. Detail: { pressed: boolean }
|
|
15
|
-
*/
|
|
16
|
-
export declare class DuiToggle extends LitElement {
|
|
17
|
-
#private;
|
|
18
|
-
static tagName: "dui-toggle";
|
|
19
|
-
static shadowRootOptions: ShadowRootInit;
|
|
1
|
+
import { DuiTogglePrimitive } from "@deepfuture/dui-primitives/toggle";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export declare class DuiToggle extends DuiTogglePrimitive {
|
|
20
4
|
static styles: import("lit").CSSResult[];
|
|
21
|
-
accessor pressed: boolean | undefined;
|
|
22
|
-
accessor defaultPressed: boolean;
|
|
23
|
-
accessor disabled: boolean;
|
|
24
|
-
accessor value: string | undefined;
|
|
25
|
-
accessor _groupCtx: ToggleGroupContext;
|
|
26
|
-
connectedCallback(): void;
|
|
27
|
-
render(): TemplateResult;
|
|
28
5
|
}
|