@deepfuture/dui-components 0.0.9 → 0.0.11
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/index.d.ts +1 -0
- package/_deprecated/center/index.js +1 -0
- package/_deprecated/center/register.d.ts +1 -0
- package/_deprecated/center/register.js +4 -0
- package/_deprecated/hstack/index.d.ts +2 -0
- package/_deprecated/hstack/index.js +1 -0
- package/_deprecated/hstack/register.d.ts +1 -0
- package/_deprecated/hstack/register.js +4 -0
- package/_deprecated/page-inset/index.d.ts +1 -0
- package/_deprecated/page-inset/index.js +1 -0
- package/_deprecated/page-inset/register.d.ts +1 -0
- package/_deprecated/page-inset/register.js +4 -0
- package/_deprecated/vstack/index.d.ts +1 -0
- package/_deprecated/vstack/index.js +1 -0
- package/_deprecated/vstack/register.d.ts +1 -0
- package/_deprecated/vstack/register.js +4 -0
- package/accordion/index.d.ts +2 -5
- package/accordion/index.js +2 -5
- package/accordion/register.d.ts +1 -0
- package/accordion/register.js +8 -0
- package/alert-dialog/alert-dialog.d.ts +2 -0
- package/alert-dialog/alert-dialog.js +12 -6
- package/alert-dialog/index.d.ts +4 -9
- package/alert-dialog/index.js +4 -9
- package/alert-dialog/register.d.ts +1 -0
- package/alert-dialog/register.js +16 -0
- package/all.d.ts +16 -64
- package/all.js +132 -144
- package/avatar/index.d.ts +1 -3
- package/avatar/index.js +1 -3
- package/avatar/register.d.ts +1 -0
- package/avatar/register.js +4 -0
- package/badge/index.d.ts +1 -3
- package/badge/index.js +1 -3
- package/badge/register.d.ts +1 -0
- package/badge/register.js +4 -0
- package/breadcrumb/index.d.ts +6 -13
- package/breadcrumb/index.js +6 -13
- package/breadcrumb/register.d.ts +1 -0
- package/breadcrumb/register.js +14 -0
- package/button/index.d.ts +1 -3
- package/button/index.js +1 -3
- package/button/register.d.ts +1 -0
- package/button/register.js +4 -0
- package/calendar/index.d.ts +1 -3
- package/calendar/index.js +1 -3
- package/calendar/register.d.ts +1 -0
- package/calendar/register.js +4 -0
- package/checkbox/checkbox-group.d.ts +2 -0
- package/checkbox/checkbox-group.js +12 -6
- package/checkbox/checkbox.d.ts +2 -0
- package/checkbox/checkbox.js +17 -11
- package/checkbox/index.d.ts +2 -5
- package/checkbox/index.js +2 -5
- package/checkbox/register.d.ts +1 -0
- package/checkbox/register.js +8 -0
- package/collapsible/index.d.ts +1 -3
- package/collapsible/index.js +1 -3
- package/collapsible/register.d.ts +1 -0
- package/collapsible/register.js +4 -0
- package/combobox/index.d.ts +1 -3
- package/combobox/index.js +1 -3
- package/combobox/register.d.ts +1 -0
- package/combobox/register.js +4 -0
- package/command/index.d.ts +8 -17
- package/command/index.js +8 -17
- package/command/register.d.ts +1 -0
- package/command/register.js +22 -0
- package/data-table/index.d.ts +1 -3
- package/data-table/index.js +1 -3
- package/data-table/register.d.ts +1 -0
- package/data-table/register.js +4 -0
- package/dialog/dialog.d.ts +2 -0
- package/dialog/dialog.js +12 -6
- package/dialog/index.d.ts +4 -9
- package/dialog/index.js +4 -9
- package/dialog/register.d.ts +1 -0
- package/dialog/register.js +16 -0
- package/dropzone/index.d.ts +1 -3
- package/dropzone/index.js +1 -3
- package/dropzone/register.d.ts +1 -0
- package/dropzone/register.js +4 -0
- package/global.d.ts +0 -8
- package/icon/index.d.ts +1 -3
- package/icon/index.js +1 -3
- package/icon/register.d.ts +1 -0
- package/icon/register.js +4 -0
- package/input/index.d.ts +1 -3
- package/input/index.js +1 -3
- package/input/input.d.ts +2 -0
- package/input/input.js +24 -18
- package/input/register.d.ts +1 -0
- package/input/register.js +4 -0
- package/link/index.d.ts +1 -3
- package/link/index.js +1 -3
- package/link/register.d.ts +1 -0
- package/link/register.js +4 -0
- package/menu/index.d.ts +2 -5
- package/menu/index.js +2 -5
- package/menu/register.d.ts +1 -0
- package/menu/register.js +8 -0
- package/menubar/index.d.ts +1 -3
- package/menubar/index.js +1 -3
- package/menubar/menubar.d.ts +2 -0
- package/menubar/menubar.js +11 -5
- package/menubar/register.d.ts +1 -0
- package/menubar/register.js +4 -0
- package/number-field/index.d.ts +1 -3
- package/number-field/index.js +1 -3
- package/number-field/number-field.d.ts +2 -0
- package/number-field/number-field.js +18 -12
- package/number-field/register.d.ts +1 -0
- package/number-field/register.js +4 -0
- package/package.json +4 -21
- package/popover/index.d.ts +4 -9
- package/popover/index.js +4 -9
- package/popover/popover.d.ts +2 -1
- package/popover/popover.js +14 -8
- package/popover/register.d.ts +1 -0
- package/popover/register.js +16 -0
- package/portal/index.d.ts +1 -3
- package/portal/index.js +1 -3
- package/portal/register.d.ts +1 -0
- package/portal/register.js +4 -0
- package/preview-card/index.d.ts +3 -7
- package/preview-card/index.js +3 -7
- package/preview-card/preview-card.d.ts +2 -1
- package/preview-card/preview-card.js +14 -8
- package/preview-card/register.d.ts +1 -0
- package/preview-card/register.js +12 -0
- package/progress/index.d.ts +1 -3
- package/progress/index.js +1 -3
- package/progress/register.d.ts +1 -0
- package/progress/register.js +4 -0
- package/radio/index.d.ts +2 -5
- package/radio/index.js +2 -5
- package/radio/radio-group.d.ts +2 -0
- package/radio/radio-group.js +12 -6
- package/radio/radio.d.ts +2 -0
- package/radio/radio.js +15 -9
- package/radio/register.d.ts +1 -0
- package/radio/register.js +8 -0
- package/scroll-area/index.d.ts +1 -3
- package/scroll-area/index.js +1 -3
- package/scroll-area/register.d.ts +1 -0
- package/scroll-area/register.js +4 -0
- package/scroll-area/scroll-area.js +0 -7
- package/select/index.d.ts +1 -3
- package/select/index.js +1 -3
- package/select/register.d.ts +1 -0
- package/select/register.js +4 -0
- package/select/select.d.ts +2 -0
- package/select/select.js +19 -13
- package/separator/index.d.ts +1 -3
- package/separator/index.js +1 -3
- package/separator/register.d.ts +1 -0
- package/separator/register.js +4 -0
- package/sidebar/index.d.ts +13 -27
- package/sidebar/index.js +13 -32
- package/sidebar/register.d.ts +1 -0
- package/sidebar/register.js +52 -0
- package/sidebar/sidebar-provider.d.ts +2 -0
- package/sidebar/sidebar-provider.js +12 -6
- package/slider/index.d.ts +1 -3
- package/slider/index.js +1 -3
- package/slider/register.d.ts +1 -0
- package/slider/register.js +4 -0
- package/spinner/index.d.ts +1 -3
- package/spinner/index.js +1 -3
- package/spinner/register.d.ts +1 -0
- package/spinner/register.js +4 -0
- package/switch/index.d.ts +1 -3
- package/switch/index.js +1 -3
- package/switch/register.d.ts +1 -0
- package/switch/register.js +4 -0
- package/switch/switch.d.ts +2 -0
- package/switch/switch.js +15 -9
- package/tabs/index.d.ts +5 -11
- package/tabs/index.js +5 -11
- package/tabs/register.d.ts +1 -0
- package/tabs/register.js +10 -0
- package/textarea/index.d.ts +1 -3
- package/textarea/index.js +1 -3
- package/textarea/register.d.ts +1 -0
- package/textarea/register.js +4 -0
- package/toggle/index.d.ts +2 -5
- package/toggle/index.js +2 -5
- package/toggle/register.d.ts +1 -0
- package/toggle/register.js +8 -0
- package/toggle/toggle-group.d.ts +2 -0
- package/toggle/toggle-group.js +12 -6
- package/toggle/toggle.d.ts +2 -0
- package/toggle/toggle.js +15 -9
- package/toolbar/index.d.ts +1 -3
- package/toolbar/index.js +1 -3
- package/toolbar/register.d.ts +1 -0
- package/toolbar/register.js +4 -0
- package/tooltip/index.d.ts +3 -7
- package/tooltip/index.js +3 -7
- package/tooltip/register.d.ts +1 -0
- package/tooltip/register.js +12 -0
- package/tooltip/tooltip.d.ts +2 -1
- package/tooltip/tooltip.js +14 -8
- package/trunc/index.d.ts +1 -3
- package/trunc/index.js +1 -3
- package/trunc/register.d.ts +1 -0
- package/trunc/register.js +4 -0
- package/README.md +0 -191
- package/center/index.d.ts +0 -3
- package/center/index.js +0 -3
- package/hstack/index.d.ts +0 -4
- package/hstack/index.js +0 -3
- package/page-inset/index.d.ts +0 -3
- package/page-inset/index.js +0 -3
- package/vstack/index.d.ts +0 -3
- package/vstack/index.js +0 -3
- /package/{center → _deprecated/center}/center.d.ts +0 -0
- /package/{center → _deprecated/center}/center.js +0 -0
- /package/{hstack → _deprecated/hstack}/hstack.d.ts +0 -0
- /package/{hstack → _deprecated/hstack}/hstack.js +0 -0
- /package/{page-inset → _deprecated/page-inset}/page-inset.d.ts +0 -0
- /package/{page-inset → _deprecated/page-inset}/page-inset.js +0 -0
- /package/{vstack → _deprecated/vstack}/vstack.d.ts +0 -0
- /package/{vstack → _deprecated/vstack}/vstack.js +0 -0
package/tabs/index.d.ts
CHANGED
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
export { DuiTab };
|
|
7
|
-
import { DuiTabsPanel } from "./tabs-panel.js";
|
|
8
|
-
export { DuiTabsPanel };
|
|
9
|
-
import { DuiTabsIndicator } from "./tabs-indicator.js";
|
|
10
|
-
export { DuiTabsIndicator };
|
|
1
|
+
export { DuiTabs, valueChangeEvent } from "./tabs.js";
|
|
2
|
+
export { DuiTabsList } from "./tabs-list.js";
|
|
3
|
+
export { DuiTab } from "./tab.js";
|
|
4
|
+
export { DuiTabsPanel } from "./tabs-panel.js";
|
|
5
|
+
export { DuiTabsIndicator } from "./tabs-indicator.js";
|
|
11
6
|
export type { TabsContext } from "./tabs-context.js";
|
|
12
|
-
export declare const tabsFamily: (typeof DuiTabs | typeof DuiTabsList | typeof DuiTab | typeof DuiTabsPanel | typeof DuiTabsIndicator)[];
|
package/tabs/index.js
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
export { DuiTab };
|
|
7
|
-
import { DuiTabsPanel } from "./tabs-panel.js";
|
|
8
|
-
export { DuiTabsPanel };
|
|
9
|
-
import { DuiTabsIndicator } from "./tabs-indicator.js";
|
|
10
|
-
export { DuiTabsIndicator };
|
|
11
|
-
export const tabsFamily = [DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator];
|
|
1
|
+
export { DuiTabs, valueChangeEvent } from "./tabs.js";
|
|
2
|
+
export { DuiTabsList } from "./tabs-list.js";
|
|
3
|
+
export { DuiTab } from "./tab.js";
|
|
4
|
+
export { DuiTabsPanel } from "./tabs-panel.js";
|
|
5
|
+
export { DuiTabsIndicator } from "./tabs-indicator.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tabs/register.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { DuiTabs } from "./tabs.js";
|
|
2
|
+
import { DuiTabsList } from "./tabs-list.js";
|
|
3
|
+
import { DuiTab } from "./tab.js";
|
|
4
|
+
import { DuiTabsPanel } from "./tabs-panel.js";
|
|
5
|
+
import { DuiTabsIndicator } from "./tabs-indicator.js";
|
|
6
|
+
for (const C of [DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator]) {
|
|
7
|
+
if (!customElements.get(C.tagName)) {
|
|
8
|
+
customElements.define(C.tagName, C);
|
|
9
|
+
}
|
|
10
|
+
}
|
package/textarea/index.d.ts
CHANGED
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export { DuiTextarea, textareaChangeEvent };
|
|
1
|
+
export { DuiTextarea, textareaChangeEvent } from "./textarea.js";
|
|
3
2
|
export type { TextareaResize } from "./textarea.js";
|
|
4
|
-
export declare const textareaFamily: (typeof DuiTextarea)[];
|
package/textarea/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/toggle/index.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
import { DuiToggleGroup, valueChangeEvent } from "./toggle-group.js";
|
|
4
|
-
export { DuiToggleGroup, valueChangeEvent };
|
|
1
|
+
export { DuiToggle, pressedChangeEvent } from "./toggle.js";
|
|
2
|
+
export { DuiToggleGroup, valueChangeEvent } from "./toggle-group.js";
|
|
5
3
|
export type { ToggleGroupContext } from "./toggle-group-context.js";
|
|
6
|
-
export declare const toggleFamily: (typeof DuiToggle | typeof DuiToggleGroup)[];
|
package/toggle/index.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
import { DuiToggleGroup, valueChangeEvent } from "./toggle-group.js";
|
|
4
|
-
export { DuiToggleGroup, valueChangeEvent };
|
|
5
|
-
export const toggleFamily = [DuiToggle, DuiToggleGroup];
|
|
1
|
+
export { DuiToggle, pressedChangeEvent } from "./toggle.js";
|
|
2
|
+
export { DuiToggleGroup, valueChangeEvent } from "./toggle-group.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { DuiToggle } from "./toggle.js";
|
|
2
|
+
import { DuiToggleGroup } from "./toggle-group.js";
|
|
3
|
+
if (!customElements.get(DuiToggle.tagName)) {
|
|
4
|
+
customElements.define(DuiToggle.tagName, DuiToggle);
|
|
5
|
+
}
|
|
6
|
+
if (!customElements.get(DuiToggleGroup.tagName)) {
|
|
7
|
+
customElements.define(DuiToggleGroup.tagName, DuiToggleGroup);
|
|
8
|
+
}
|
package/toggle/toggle-group.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
import { type ToggleGroupContext } from "./toggle-group-context.js";
|
|
2
3
|
export declare const valueChangeEvent: (detail: {
|
|
3
4
|
value: string[];
|
|
4
5
|
}) => CustomEvent<{
|
|
@@ -21,6 +22,7 @@ export declare class DuiToggleGroup extends LitElement {
|
|
|
21
22
|
accessor orientation: "horizontal" | "vertical";
|
|
22
23
|
accessor disabled: boolean;
|
|
23
24
|
accessor loop: boolean;
|
|
25
|
+
accessor _ctx: ToggleGroupContext;
|
|
24
26
|
connectedCallback(): void;
|
|
25
27
|
willUpdate(): void;
|
|
26
28
|
render(): TemplateResult;
|
package/toggle/toggle-group.js
CHANGED
|
@@ -5,9 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { css, html, LitElement } from "lit";
|
|
8
|
-
import { property } from "lit/decorators.js";
|
|
8
|
+
import { property, state } from "lit/decorators.js";
|
|
9
|
+
import { provide } from "@lit/context";
|
|
9
10
|
import { base } from "@deepfuture/dui-core/base";
|
|
10
11
|
import { customEvent } from "@deepfuture/dui-core/event";
|
|
12
|
+
import { toggleGroupContext, } from "./toggle-group-context.js";
|
|
11
13
|
export const valueChangeEvent = customEvent("value-change", { bubbles: true, composed: true });
|
|
12
14
|
/** Structural styles only — layout CSS. */
|
|
13
15
|
const styles = css `
|
|
@@ -75,9 +77,9 @@ export class DuiToggleGroup extends LitElement {
|
|
|
75
77
|
}
|
|
76
78
|
this.dispatchEvent(valueChangeEvent({ value: next }));
|
|
77
79
|
};
|
|
78
|
-
#
|
|
79
|
-
get
|
|
80
|
-
set
|
|
80
|
+
#_ctx_accessor_storage = this.#buildContext();
|
|
81
|
+
get _ctx() { return this.#_ctx_accessor_storage; }
|
|
82
|
+
set _ctx(value) { this.#_ctx_accessor_storage = value; }
|
|
81
83
|
#buildContext() {
|
|
82
84
|
return {
|
|
83
85
|
value: this.#currentValue,
|
|
@@ -91,10 +93,10 @@ export class DuiToggleGroup extends LitElement {
|
|
|
91
93
|
if (this.value === undefined && this.defaultValue.length > 0) {
|
|
92
94
|
this.#internalValue = [...this.defaultValue];
|
|
93
95
|
}
|
|
94
|
-
this
|
|
96
|
+
this._ctx = this.#buildContext();
|
|
95
97
|
}
|
|
96
98
|
willUpdate() {
|
|
97
|
-
this
|
|
99
|
+
this._ctx = this.#buildContext();
|
|
98
100
|
}
|
|
99
101
|
#onKeyDown = (e) => {
|
|
100
102
|
const isHorizontal = this.orientation === "horizontal";
|
|
@@ -161,3 +163,7 @@ __decorate([
|
|
|
161
163
|
__decorate([
|
|
162
164
|
property({ type: Boolean })
|
|
163
165
|
], DuiToggleGroup.prototype, "loop", null);
|
|
166
|
+
__decorate([
|
|
167
|
+
provide({ context: toggleGroupContext }),
|
|
168
|
+
state()
|
|
169
|
+
], DuiToggleGroup.prototype, "_ctx", null);
|
package/toggle/toggle.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
import { type ToggleGroupContext } from "./toggle-group-context.js";
|
|
2
3
|
export declare const pressedChangeEvent: (detail: {
|
|
3
4
|
pressed: boolean;
|
|
4
5
|
}) => CustomEvent<{
|
|
@@ -21,6 +22,7 @@ export declare class DuiToggle extends LitElement {
|
|
|
21
22
|
accessor defaultPressed: boolean;
|
|
22
23
|
accessor disabled: boolean;
|
|
23
24
|
accessor value: string | undefined;
|
|
25
|
+
accessor _groupCtx: ToggleGroupContext;
|
|
24
26
|
connectedCallback(): void;
|
|
25
27
|
render(): TemplateResult;
|
|
26
28
|
}
|
package/toggle/toggle.js
CHANGED
|
@@ -5,9 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { css, html, LitElement } from "lit";
|
|
8
|
-
import { property } from "lit/decorators.js";
|
|
8
|
+
import { property, state } from "lit/decorators.js";
|
|
9
|
+
import { consume } from "@lit/context";
|
|
9
10
|
import { base } from "@deepfuture/dui-core/base";
|
|
10
11
|
import { customEvent } from "@deepfuture/dui-core/event";
|
|
12
|
+
import { toggleGroupContext, } from "./toggle-group-context.js";
|
|
11
13
|
export const pressedChangeEvent = customEvent("pressed-change", { bubbles: true, composed: true });
|
|
12
14
|
/** Structural styles only — layout CSS. */
|
|
13
15
|
const styles = css `
|
|
@@ -63,17 +65,17 @@ export class DuiToggle extends LitElement {
|
|
|
63
65
|
#internalPressed_accessor_storage = false;
|
|
64
66
|
get #internalPressed() { return this.#internalPressed_accessor_storage; }
|
|
65
67
|
set #internalPressed(value) { this.#internalPressed_accessor_storage = value; }
|
|
66
|
-
#
|
|
67
|
-
get
|
|
68
|
-
set
|
|
68
|
+
#_groupCtx_accessor_storage;
|
|
69
|
+
get _groupCtx() { return this.#_groupCtx_accessor_storage; }
|
|
70
|
+
set _groupCtx(value) { this.#_groupCtx_accessor_storage = value; }
|
|
69
71
|
get #isPressed() {
|
|
70
|
-
if (this
|
|
71
|
-
return this
|
|
72
|
+
if (this._groupCtx && this.value !== undefined) {
|
|
73
|
+
return this._groupCtx.value.includes(this.value);
|
|
72
74
|
}
|
|
73
75
|
return this.pressed ?? this.#internalPressed;
|
|
74
76
|
}
|
|
75
77
|
get #isDisabled() {
|
|
76
|
-
return this.disabled || (this
|
|
78
|
+
return this.disabled || (this._groupCtx?.disabled ?? false);
|
|
77
79
|
}
|
|
78
80
|
connectedCallback() {
|
|
79
81
|
super.connectedCallback();
|
|
@@ -84,8 +86,8 @@ export class DuiToggle extends LitElement {
|
|
|
84
86
|
#handleClick = () => {
|
|
85
87
|
if (this.#isDisabled)
|
|
86
88
|
return;
|
|
87
|
-
if (this
|
|
88
|
-
this
|
|
89
|
+
if (this._groupCtx && this.value !== undefined) {
|
|
90
|
+
this._groupCtx.toggle(this.value);
|
|
89
91
|
return;
|
|
90
92
|
}
|
|
91
93
|
const newPressed = !this.#isPressed;
|
|
@@ -125,3 +127,7 @@ __decorate([
|
|
|
125
127
|
__decorate([
|
|
126
128
|
property()
|
|
127
129
|
], DuiToggle.prototype, "value", null);
|
|
130
|
+
__decorate([
|
|
131
|
+
consume({ context: toggleGroupContext, subscribe: true }),
|
|
132
|
+
state()
|
|
133
|
+
], DuiToggle.prototype, "_groupCtx", null);
|
package/toolbar/index.d.ts
CHANGED
package/toolbar/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/tooltip/index.d.ts
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export { DuiTooltip, openChangeEvent };
|
|
1
|
+
export { DuiTooltip, openChangeEvent } from "./tooltip.js";
|
|
3
2
|
export type { TooltipOpenChangeDetail } from "./tooltip.js";
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
import { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
7
|
-
export { DuiTooltipPopup };
|
|
3
|
+
export { DuiTooltipTrigger } from "./tooltip-trigger.js";
|
|
4
|
+
export { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
8
5
|
export type { TooltipContext, TooltipSide } from "./tooltip-context.js";
|
|
9
|
-
export declare const tooltipFamily: (typeof DuiTooltip | typeof DuiTooltipTrigger | typeof DuiTooltipPopup)[];
|
package/tooltip/index.js
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export {
|
|
3
|
-
|
|
4
|
-
export { DuiTooltipTrigger };
|
|
5
|
-
import { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
6
|
-
export { DuiTooltipPopup };
|
|
7
|
-
export const tooltipFamily = [DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup];
|
|
1
|
+
export { DuiTooltip, openChangeEvent } from "./tooltip.js";
|
|
2
|
+
export { DuiTooltipTrigger } from "./tooltip-trigger.js";
|
|
3
|
+
export { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DuiTooltip } from "./tooltip.js";
|
|
2
|
+
import { DuiTooltipTrigger } from "./tooltip-trigger.js";
|
|
3
|
+
import { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
4
|
+
if (!customElements.get(DuiTooltip.tagName)) {
|
|
5
|
+
customElements.define(DuiTooltip.tagName, DuiTooltip);
|
|
6
|
+
}
|
|
7
|
+
if (!customElements.get(DuiTooltipTrigger.tagName)) {
|
|
8
|
+
customElements.define(DuiTooltipTrigger.tagName, DuiTooltipTrigger);
|
|
9
|
+
}
|
|
10
|
+
if (!customElements.get(DuiTooltipPopup.tagName)) {
|
|
11
|
+
customElements.define(DuiTooltipPopup.tagName, DuiTooltipPopup);
|
|
12
|
+
}
|
package/tooltip/tooltip.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Ported from original DUI: deep-future-app/app/client/components/dui/tooltip */
|
|
2
2
|
import { LitElement, type PropertyValues, type TemplateResult } from "lit";
|
|
3
|
-
import { type TooltipSide } from "./tooltip-context.js";
|
|
3
|
+
import { type TooltipContext, type TooltipSide } from "./tooltip-context.js";
|
|
4
4
|
export type TooltipOpenChangeDetail = {
|
|
5
5
|
open: boolean;
|
|
6
6
|
};
|
|
@@ -29,6 +29,7 @@ export declare class DuiTooltip extends LitElement {
|
|
|
29
29
|
accessor closeDelay: number;
|
|
30
30
|
/** Disable the tooltip. */
|
|
31
31
|
accessor disabled: boolean;
|
|
32
|
+
accessor _ctx: TooltipContext;
|
|
32
33
|
connectedCallback(): void;
|
|
33
34
|
disconnectedCallback(): void;
|
|
34
35
|
protected willUpdate(changed: PropertyValues): void;
|
package/tooltip/tooltip.js
CHANGED
|
@@ -6,9 +6,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
import { css, html, LitElement } from "lit";
|
|
9
|
-
import { property } from "lit/decorators.js";
|
|
9
|
+
import { property, state } from "lit/decorators.js";
|
|
10
|
+
import { provide } from "@lit/context";
|
|
10
11
|
import { base } from "@deepfuture/dui-core/base";
|
|
11
12
|
import { customEvent } from "@deepfuture/dui-core/event";
|
|
13
|
+
import { tooltipContext, } from "./tooltip-context.js";
|
|
12
14
|
export const openChangeEvent = customEvent("open-change", { bubbles: true, composed: true });
|
|
13
15
|
const hostStyles = css `
|
|
14
16
|
:host {
|
|
@@ -62,7 +64,7 @@ export class DuiTooltip extends LitElement {
|
|
|
62
64
|
#closeTimeout;
|
|
63
65
|
#triggerId = `tooltip-trigger-${crypto.randomUUID().slice(0, 8)}`;
|
|
64
66
|
#popupId = `tooltip-popup-${crypto.randomUUID().slice(0, 8)}`;
|
|
65
|
-
#
|
|
67
|
+
#_ctx_accessor_storage = {
|
|
66
68
|
open: false,
|
|
67
69
|
triggerId: this.#triggerId,
|
|
68
70
|
popupId: this.#popupId,
|
|
@@ -74,8 +76,8 @@ export class DuiTooltip extends LitElement {
|
|
|
74
76
|
closeTooltip: () => this.#scheduleClose(),
|
|
75
77
|
setTriggerEl: (el) => this.#setTriggerEl(el),
|
|
76
78
|
};
|
|
77
|
-
get
|
|
78
|
-
set
|
|
79
|
+
get _ctx() { return this.#_ctx_accessor_storage; }
|
|
80
|
+
set _ctx(value) { this.#_ctx_accessor_storage = value; }
|
|
79
81
|
connectedCallback() {
|
|
80
82
|
super.connectedCallback();
|
|
81
83
|
if (this.defaultOpen && !this.disabled) {
|
|
@@ -92,10 +94,10 @@ export class DuiTooltip extends LitElement {
|
|
|
92
94
|
changed.has("side") ||
|
|
93
95
|
changed.has("sideOffset") ||
|
|
94
96
|
changed.has("disabled") ||
|
|
95
|
-
this
|
|
96
|
-
this
|
|
97
|
-
this
|
|
98
|
-
...this
|
|
97
|
+
this._ctx.open !== isOpen ||
|
|
98
|
+
this._ctx.triggerEl !== this.#triggerEl) {
|
|
99
|
+
this._ctx = {
|
|
100
|
+
...this._ctx,
|
|
99
101
|
open: isOpen,
|
|
100
102
|
side: this.side,
|
|
101
103
|
sideOffset: this.sideOffset,
|
|
@@ -174,3 +176,7 @@ __decorate([
|
|
|
174
176
|
__decorate([
|
|
175
177
|
property({ type: Boolean, reflect: true })
|
|
176
178
|
], DuiTooltip.prototype, "disabled", null);
|
|
179
|
+
__decorate([
|
|
180
|
+
provide({ context: tooltipContext }),
|
|
181
|
+
state()
|
|
182
|
+
], DuiTooltip.prototype, "_ctx", null);
|
package/trunc/index.d.ts
CHANGED
package/trunc/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/README.md
DELETED
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
# DUI
|
|
2
|
-
|
|
3
|
-
[](LICENSE)
|
|
4
|
-
[](https://www.npmjs.com/package/@deepfuture/dui-core)
|
|
5
|
-
|
|
6
|
-
Unstyled [Lit](https://lit.dev) web component library with composable themes.
|
|
7
|
-
|
|
8
|
-
Components provide structure and behavior with zero visual opinions. Themes provide all aesthetics — colors, spacing, typography, borders. Swap the theme to completely change the look without touching component code.
|
|
9
|
-
|
|
10
|
-
**[Live Docs & Demos →](https://deepfuturenow.github.io/dui/)**
|
|
11
|
-
|
|
12
|
-
## Install
|
|
13
|
-
|
|
14
|
-
**npm / pnpm / yarn:**
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
npm install @deepfuture/dui-core @deepfuture/dui-components @deepfuture/dui-theme-default
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
**Deno:**
|
|
21
|
-
|
|
22
|
-
```typescript
|
|
23
|
-
import { applyTheme } from "npm:@deepfuture/dui-core/apply-theme";
|
|
24
|
-
import { defaultTheme } from "npm:@deepfuture/dui-theme-default";
|
|
25
|
-
import { allComponents } from "npm:@deepfuture/dui-components/all";
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
**CDN (zero setup):**
|
|
29
|
-
|
|
30
|
-
```html
|
|
31
|
-
<script type="module" src="https://cdn.jsdelivr.net/npm/@deepfuture/dui-cdn/dui.min.js"></script>
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Quick Start
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
import { applyTheme } from "@deepfuture/dui-core/apply-theme";
|
|
38
|
-
import { defaultTheme } from "@deepfuture/dui-theme-default";
|
|
39
|
-
import { DuiButton } from "@deepfuture/dui-components/button";
|
|
40
|
-
import { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose } from "@deepfuture/dui-components/dialog";
|
|
41
|
-
|
|
42
|
-
// Register components with a theme — this is the only setup needed
|
|
43
|
-
applyTheme({
|
|
44
|
-
theme: defaultTheme,
|
|
45
|
-
components: [DuiButton, DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose],
|
|
46
|
-
});
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
```html
|
|
50
|
-
<dui-dialog>
|
|
51
|
-
<dui-dialog-trigger>
|
|
52
|
-
<dui-button>Open Dialog</dui-button>
|
|
53
|
-
</dui-dialog-trigger>
|
|
54
|
-
<dui-dialog-popup>
|
|
55
|
-
<h2>Hello</h2>
|
|
56
|
-
<p>This is a dialog.</p>
|
|
57
|
-
<dui-dialog-close>
|
|
58
|
-
<dui-button variant="outline">Close</dui-button>
|
|
59
|
-
</dui-dialog-close>
|
|
60
|
-
</dui-dialog-popup>
|
|
61
|
-
</dui-dialog>
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Or register everything at once:
|
|
65
|
-
|
|
66
|
-
```typescript
|
|
67
|
-
import { applyTheme } from "@deepfuture/dui-core/apply-theme";
|
|
68
|
-
import { defaultTheme } from "@deepfuture/dui-theme-default";
|
|
69
|
-
import { allComponents } from "@deepfuture/dui-components/all";
|
|
70
|
-
|
|
71
|
-
applyTheme({ theme: defaultTheme, components: allComponents });
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## How It Works
|
|
75
|
-
|
|
76
|
-
`applyTheme()` takes unstyled component classes and a theme, creates themed subclasses with composed styles, and registers them as custom elements.
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
Component structural CSS → Theme base styles → Theme component styles
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
No build step, no decorators, no code generation — just a function call. Components are standard web components that work in any framework or plain HTML.
|
|
83
|
-
|
|
84
|
-
## Components
|
|
85
|
-
|
|
86
|
-
43 component families, 85+ elements total.
|
|
87
|
-
|
|
88
|
-
| Category | Components |
|
|
89
|
-
|----------|-----------|
|
|
90
|
-
| **Actions** | Button, Link, Toggle, Toggle Group, Toolbar |
|
|
91
|
-
| **Forms** | Input, Textarea, Select, Combobox, Checkbox, Checkbox Group, Radio, Radio Group, Switch, Slider, Number Field, Dropzone |
|
|
92
|
-
| **Data Display** | Badge, Avatar, Calendar, Data Table, Progress, Spinner, Separator, Trunc |
|
|
93
|
-
| **Overlays** | Dialog, Alert Dialog, Popover, Tooltip, Menu, Menubar, Preview Card, Command |
|
|
94
|
-
| **Disclosure** | Accordion, Collapsible, Tabs |
|
|
95
|
-
| **Navigation** | Breadcrumb, Sidebar (with 12 sub-components) |
|
|
96
|
-
| **Layout** | HStack, VStack, Center, Page Inset, Scroll Area, Portal |
|
|
97
|
-
| **Utility** | Icon |
|
|
98
|
-
|
|
99
|
-
## Styling
|
|
100
|
-
|
|
101
|
-
DUI uses a two-layer styling approach:
|
|
102
|
-
|
|
103
|
-
### CSS Variables — for the variant system
|
|
104
|
-
|
|
105
|
-
Variables control values that variants, sizes, and states toggle:
|
|
106
|
-
|
|
107
|
-
```css
|
|
108
|
-
/* Override variant colors */
|
|
109
|
-
dui-button {
|
|
110
|
-
--button-bg: linear-gradient(135deg, pink, purple);
|
|
111
|
-
--button-radius: var(--radius-full);
|
|
112
|
-
}
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### `::part(root)` — for everything else
|
|
116
|
-
|
|
117
|
-
Every component exposes a `root` CSS part for full CSS expressiveness:
|
|
118
|
-
|
|
119
|
-
```css
|
|
120
|
-
/* Frosted glass effect */
|
|
121
|
-
dui-dialog-popup::part(root) {
|
|
122
|
-
backdrop-filter: blur(12px);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/* Custom hover animation */
|
|
126
|
-
dui-button::part(root):hover {
|
|
127
|
-
filter: brightness(1.25);
|
|
128
|
-
transform: translateY(-1px);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/* Glow shadow */
|
|
132
|
-
dui-badge::part(root) {
|
|
133
|
-
box-shadow: 0 0 16px oklch(0.7 0.2 280 / 0.4);
|
|
134
|
-
}
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
No need for the library to anticipate every CSS property — `::part()` gives you direct access.
|
|
138
|
-
|
|
139
|
-
## Dark Mode
|
|
140
|
-
|
|
141
|
-
DUI uses CSS custom properties for theming. Toggle dark mode by adding `class="dark"` to a parent element:
|
|
142
|
-
|
|
143
|
-
```html
|
|
144
|
-
<body class="dark">
|
|
145
|
-
<!-- All DUI components render in dark mode -->
|
|
146
|
-
</body>
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
## Packages
|
|
150
|
-
|
|
151
|
-
| Package | Purpose |
|
|
152
|
-
|---------|---------|
|
|
153
|
-
| [`@deepfuture/dui-core`](https://www.npmjs.com/package/@deepfuture/dui-core) | `applyTheme()`, event factory, base styles |
|
|
154
|
-
| [`@deepfuture/dui-components`](https://www.npmjs.com/package/@deepfuture/dui-components) | Unstyled component classes |
|
|
155
|
-
| [`@deepfuture/dui-theme-default`](https://www.npmjs.com/package/@deepfuture/dui-theme-default) | Design tokens + aesthetic styles |
|
|
156
|
-
| [`@deepfuture/dui-cdn`](https://www.npmjs.com/package/@deepfuture/dui-cdn) | Pre-bundled CDN build (all deps inlined) |
|
|
157
|
-
|
|
158
|
-
## Dev Tools
|
|
159
|
-
|
|
160
|
-
### Theme Editor
|
|
161
|
-
|
|
162
|
-
A visual editor for design tokens. Edit colors with OKLCH sliders, tweak spacing and typography, and export your customized `tokens.css`.
|
|
163
|
-
|
|
164
|
-
### Inspector
|
|
165
|
-
|
|
166
|
-
A runtime inspector and mutation API for DUI components. Two interfaces:
|
|
167
|
-
|
|
168
|
-
- **Visual UI** (Ctrl+Shift+I) — hover-highlight components, inspect properties/tokens/styles, edit theme CSS and design tokens live
|
|
169
|
-
- **Console API** — `window.__dui_inspect()`, `window.__dui_mutate.*`, `window.__dui_export()` for programmatic access by agents or scripts
|
|
170
|
-
|
|
171
|
-
Both share a changelog, so agent and human edits are visible to each other. Changes can be exported as structured source file diffs.
|
|
172
|
-
|
|
173
|
-
See **[Inspector docs](docs/inspector.md)** for the full API reference and usage guide.
|
|
174
|
-
|
|
175
|
-
## Documentation
|
|
176
|
-
|
|
177
|
-
- **[Live Docs](https://deepfuturenow.github.io/dui/)** — interactive demos for every component
|
|
178
|
-
- [Architecture](docs/architecture.md) — mental model, package responsibilities, design decisions
|
|
179
|
-
- [Creating Components](docs/creating-components.md) — guide for adding new components
|
|
180
|
-
- [Theming](docs/theming.md) — theme system, design tokens, writing component styles
|
|
181
|
-
- [Consuming](docs/consuming.md) — integrating DUI into an app
|
|
182
|
-
- [Inspector](docs/inspector.md) — runtime inspection, mutation API, and visual editor
|
|
183
|
-
- [Accessibility](docs/accessibility.md) — accessibility patterns and guidelines
|
|
184
|
-
|
|
185
|
-
## Contributing
|
|
186
|
-
|
|
187
|
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for dev setup, code conventions, and PR guidelines.
|
|
188
|
-
|
|
189
|
-
## License
|
|
190
|
-
|
|
191
|
-
[MIT](LICENSE)
|
package/center/index.d.ts
DELETED
package/center/index.js
DELETED
package/hstack/index.d.ts
DELETED
package/hstack/index.js
DELETED
package/page-inset/index.d.ts
DELETED
package/page-inset/index.js
DELETED
package/vstack/index.d.ts
DELETED
package/vstack/index.js
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|