@deepfuture/dui-components 0.0.21 → 1.0.0
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 +93 -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 +88 -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 +221 -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 +83 -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 +15 -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 +24 -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 +86 -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 +41 -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 +126 -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 +17 -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 +60 -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 +307 -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 +33 -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 +94 -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 +32 -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/tooltip/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
|
|
7
|
-
export {
|
|
8
|
-
export type { TooltipContext, TooltipSide } from "
|
|
9
|
-
export
|
|
1
|
+
import "./tooltip.js";
|
|
2
|
+
import "./tooltip-popup.js";
|
|
3
|
+
import "./tooltip-trigger.js";
|
|
4
|
+
export { DuiTooltip } from "./tooltip.js";
|
|
5
|
+
export { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
6
|
+
export { DuiTooltipTrigger } from "./tooltip-trigger.js";
|
|
7
|
+
export type { TooltipOpenChangeDetail } from "@deepfuture/dui-primitives/tooltip";
|
|
8
|
+
export type { TooltipContext, TooltipSide } from "@deepfuture/dui-primitives/tooltip";
|
|
9
|
+
export { openChangeEvent } from "@deepfuture/dui-primitives/tooltip";
|
package/tooltip/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
export {
|
|
5
|
-
|
|
6
|
-
export {
|
|
7
|
-
export
|
|
1
|
+
import "./tooltip.js";
|
|
2
|
+
import "./tooltip-popup.js";
|
|
3
|
+
import "./tooltip-trigger.js";
|
|
4
|
+
export { DuiTooltip } from "./tooltip.js";
|
|
5
|
+
export { DuiTooltipPopup } from "./tooltip-popup.js";
|
|
6
|
+
export { DuiTooltipTrigger } from "./tooltip-trigger.js";
|
|
7
|
+
export { openChangeEvent } from "@deepfuture/dui-primitives/tooltip";
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
* `<dui-tooltip-popup>` — The tooltip popup content container.
|
|
5
|
-
*
|
|
6
|
-
* @slot - Tooltip content.
|
|
7
|
-
*/
|
|
8
|
-
export declare class DuiTooltipPopup extends LitElement {
|
|
9
|
-
#private;
|
|
10
|
-
static tagName: "dui-tooltip-popup";
|
|
1
|
+
import { DuiTooltipPopupPrimitive } from "@deepfuture/dui-primitives/tooltip";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export declare class DuiTooltipPopup extends DuiTooltipPopupPrimitive {
|
|
11
4
|
static styles: import("lit").CSSResult[];
|
|
12
|
-
/** Whether to show an arrow pointing to the trigger. */
|
|
13
|
-
accessor showArrow: boolean;
|
|
14
|
-
updated(): void;
|
|
15
|
-
render(): TemplateResult;
|
|
16
5
|
}
|
package/tooltip/tooltip-popup.js
CHANGED
|
@@ -1,189 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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 });
|
|
39
|
-
};
|
|
40
|
-
import { css, html, LitElement } from "lit";
|
|
41
|
-
import { property, state } from "lit/decorators.js";
|
|
42
|
-
import { ContextConsumer } from "@lit/context";
|
|
43
|
-
import { base } from "@deepfuture/dui-core/base";
|
|
44
|
-
import { tooltipContext } from "./tooltip-context.js";
|
|
45
|
-
import { FloatingPortalController } from "@deepfuture/dui-core/floating-portal-controller";
|
|
46
|
-
import { renderArrow, } from "@deepfuture/dui-core/floating-popup-utils";
|
|
47
|
-
const hostStyles = css `
|
|
48
|
-
:host {
|
|
49
|
-
display: contents;
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { DuiTooltipPopupPrimitive } from "@deepfuture/dui-primitives/tooltip";
|
|
3
|
+
import "../_install.js";
|
|
4
|
+
const styles = css `
|
|
5
|
+
.Popup {
|
|
6
|
+
padding: var(--space-2) var(--space-2);
|
|
7
|
+
border-radius: var(--radius-sm);
|
|
8
|
+
background: color-mix(
|
|
9
|
+
in oklch,
|
|
10
|
+
var(--foreground) 90%,
|
|
11
|
+
oklch(0 0 0 / 0)
|
|
12
|
+
);
|
|
13
|
+
backdrop-filter: var(--filter-blur-sm);
|
|
14
|
+
color: var(--background);
|
|
15
|
+
font-family: var(--font-sans);
|
|
16
|
+
font-size: var(--text-xs); line-height: var(--text-xs--line-height);
|
|
17
|
+
text-box: trim-both cap alphabetic;
|
|
18
|
+
box-shadow: var(--shadow-sm);
|
|
19
|
+
max-width: var(--space-80);
|
|
20
|
+
transition-duration: var(--duration-fastest);
|
|
21
|
+
transition-timing-function: var(--ease-out-3);
|
|
50
22
|
}
|
|
51
23
|
|
|
52
|
-
.
|
|
53
|
-
|
|
24
|
+
.Arrow .arrow-fill {
|
|
25
|
+
fill: color-mix(in oklch, var(--foreground) 90%, oklch(0 0 0 / 0));
|
|
54
26
|
}
|
|
55
|
-
`;
|
|
56
|
-
/** Structural styles injected into the portal positioner. */
|
|
57
|
-
const portalPopupStyles = [
|
|
58
|
-
css `
|
|
59
|
-
.Popup {
|
|
60
|
-
box-sizing: border-box;
|
|
61
|
-
pointer-events: auto;
|
|
62
|
-
transform-origin: var(--transform-origin, center);
|
|
63
|
-
opacity: 1;
|
|
64
|
-
transform: scale(1);
|
|
65
|
-
transition-property: opacity, transform;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.Popup[data-starting-style],
|
|
69
|
-
.Popup[data-ending-style] {
|
|
70
|
-
opacity: 0;
|
|
71
|
-
transform: scale(0.96);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.Popup[data-side="top"] {
|
|
75
|
-
--transform-origin: bottom center;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.Popup[data-side="bottom"] {
|
|
79
|
-
--transform-origin: top center;
|
|
80
|
-
}
|
|
81
27
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
transform: translateX(-50%);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.Arrow[data-side="bottom"] {
|
|
95
|
-
top: -5px;
|
|
96
|
-
left: 50%;
|
|
97
|
-
transform: translateX(-50%) rotate(180deg);
|
|
98
|
-
}
|
|
99
|
-
`,
|
|
100
|
-
];
|
|
101
|
-
/**
|
|
102
|
-
* `<dui-tooltip-popup>` — The tooltip popup content container.
|
|
103
|
-
*
|
|
104
|
-
* @slot - Tooltip content.
|
|
105
|
-
*/
|
|
106
|
-
let DuiTooltipPopup = (() => {
|
|
107
|
-
let _classSuper = LitElement;
|
|
108
|
-
let _showArrow_decorators;
|
|
109
|
-
let _showArrow_initializers = [];
|
|
110
|
-
let _showArrow_extraInitializers = [];
|
|
111
|
-
let _private_side_decorators;
|
|
112
|
-
let _private_side_initializers = [];
|
|
113
|
-
let _private_side_extraInitializers = [];
|
|
114
|
-
let _private_side_descriptor;
|
|
115
|
-
return class DuiTooltipPopup extends _classSuper {
|
|
116
|
-
static {
|
|
117
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
118
|
-
_showArrow_decorators = [property({ type: Boolean, attribute: "show-arrow" })];
|
|
119
|
-
_private_side_decorators = [state()];
|
|
120
|
-
__esDecorate(this, null, _showArrow_decorators, { kind: "accessor", name: "showArrow", static: false, private: false, access: { has: obj => "showArrow" in obj, get: obj => obj.showArrow, set: (obj, value) => { obj.showArrow = value; } }, metadata: _metadata }, _showArrow_initializers, _showArrow_extraInitializers);
|
|
121
|
-
__esDecorate(this, _private_side_descriptor = { get: __setFunctionName(function () { return this.#side_accessor_storage; }, "#side", "get"), set: __setFunctionName(function (value) { this.#side_accessor_storage = value; }, "#side", "set") }, _private_side_decorators, { kind: "accessor", name: "#side", static: false, private: true, access: { has: obj => #side in obj, get: obj => obj.#side, set: (obj, value) => { obj.#side = value; } }, metadata: _metadata }, _private_side_initializers, _private_side_extraInitializers);
|
|
122
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
123
|
-
}
|
|
124
|
-
static tagName = "dui-tooltip-popup";
|
|
125
|
-
static styles = [base, hostStyles];
|
|
126
|
-
#showArrow_accessor_storage = __runInitializers(this, _showArrow_initializers, true);
|
|
127
|
-
/** Whether to show an arrow pointing to the trigger. */
|
|
128
|
-
get showArrow() { return this.#showArrow_accessor_storage; }
|
|
129
|
-
set showArrow(value) { this.#showArrow_accessor_storage = value; }
|
|
130
|
-
#side_accessor_storage = (__runInitializers(this, _showArrow_extraInitializers), __runInitializers(this, _private_side_initializers, "top"));
|
|
131
|
-
get #side() { return _private_side_descriptor.get.call(this); }
|
|
132
|
-
set #side(value) { return _private_side_descriptor.set.call(this, value); }
|
|
133
|
-
#ctx = (__runInitializers(this, _private_side_extraInitializers), new ContextConsumer(this, {
|
|
134
|
-
context: tooltipContext,
|
|
135
|
-
subscribe: true,
|
|
136
|
-
}));
|
|
137
|
-
#wasOpen = false;
|
|
138
|
-
#portal = new FloatingPortalController(this, {
|
|
139
|
-
getAnchor: () => this.#ctx.value?.triggerEl,
|
|
140
|
-
matchWidth: false,
|
|
141
|
-
placement: "top",
|
|
142
|
-
offset: 6,
|
|
143
|
-
styles: portalPopupStyles,
|
|
144
|
-
contentContainer: ".Content",
|
|
145
|
-
onPosition: ({ placement }) => {
|
|
146
|
-
const actualSide = placement.split("-")[0];
|
|
147
|
-
if (actualSide !== this.#side) {
|
|
148
|
-
this.#side = actualSide;
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
renderPopup: (portal) => {
|
|
152
|
-
const popupId = this.#ctx.value?.popupId ?? "";
|
|
153
|
-
return html `
|
|
154
|
-
<div
|
|
155
|
-
class="Popup"
|
|
156
|
-
id="${popupId}"
|
|
157
|
-
role="tooltip"
|
|
158
|
-
?data-starting-style="${portal.isStarting}"
|
|
159
|
-
?data-ending-style="${portal.isEnding}"
|
|
160
|
-
data-side="${this.#side}"
|
|
161
|
-
>
|
|
162
|
-
<div class="Content"></div>
|
|
163
|
-
${this.showArrow ? renderArrow(this.#side) : ""}
|
|
164
|
-
</div>
|
|
165
|
-
`;
|
|
166
|
-
},
|
|
167
|
-
});
|
|
168
|
-
updated() {
|
|
169
|
-
const isOpen = this.#ctx.value?.open ?? false;
|
|
170
|
-
if (isOpen && !this.#wasOpen) {
|
|
171
|
-
this.#updatePlacement();
|
|
172
|
-
this.#portal.open();
|
|
173
|
-
}
|
|
174
|
-
else if (!isOpen && this.#wasOpen) {
|
|
175
|
-
this.#portal.close();
|
|
176
|
-
}
|
|
177
|
-
this.#wasOpen = isOpen;
|
|
178
|
-
}
|
|
179
|
-
#updatePlacement() {
|
|
180
|
-
const side = this.#ctx.value?.side ?? "top";
|
|
181
|
-
this.#portal.placement = side;
|
|
182
|
-
this.#portal.offset = this.#ctx.value?.sideOffset ?? 6;
|
|
183
|
-
}
|
|
184
|
-
render() {
|
|
185
|
-
return html `<div class="slot-wrapper"><slot></slot></div>`;
|
|
186
|
-
}
|
|
187
|
-
};
|
|
188
|
-
})();
|
|
189
|
-
export { DuiTooltipPopup };
|
|
28
|
+
.Arrow .arrow-stroke {
|
|
29
|
+
fill: none;
|
|
30
|
+
stroke: none;
|
|
31
|
+
}
|
|
32
|
+
`;
|
|
33
|
+
export class DuiTooltipPopup extends DuiTooltipPopupPrimitive {
|
|
34
|
+
static styles = [...DuiTooltipPopupPrimitive.styles, styles];
|
|
35
|
+
}
|
|
36
|
+
customElements.define(DuiTooltipPopup.tagName, DuiTooltipPopup);
|
|
@@ -1,15 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
* `<dui-tooltip-trigger>` — The element that triggers the tooltip on hover/focus.
|
|
5
|
-
*
|
|
6
|
-
* @slot - Content that triggers the tooltip.
|
|
7
|
-
*/
|
|
8
|
-
export declare class DuiTooltipTrigger extends LitElement {
|
|
9
|
-
#private;
|
|
10
|
-
static tagName: "dui-tooltip-trigger";
|
|
11
|
-
static styles: import("lit").CSSResult[];
|
|
12
|
-
/** Disable the trigger. */
|
|
13
|
-
accessor disabled: boolean;
|
|
14
|
-
render(): TemplateResult;
|
|
1
|
+
import { DuiTooltipTriggerPrimitive } from "@deepfuture/dui-primitives/tooltip";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export declare class DuiTooltipTrigger extends DuiTooltipTriggerPrimitive {
|
|
15
4
|
}
|
|
@@ -1,148 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 { ContextConsumer } from "@lit/context";
|
|
39
|
-
import { base } from "@deepfuture/dui-core/base";
|
|
40
|
-
import { tooltipContext } from "./tooltip-context.js";
|
|
41
|
-
const hostStyles = css `
|
|
42
|
-
:host {
|
|
43
|
-
display: contents;
|
|
44
|
-
}
|
|
45
|
-
`;
|
|
46
|
-
const componentStyles = css `
|
|
47
|
-
.Trigger {
|
|
48
|
-
display: inline-flex;
|
|
49
|
-
align-items: center;
|
|
50
|
-
justify-content: center;
|
|
51
|
-
background: none;
|
|
52
|
-
border: none;
|
|
53
|
-
padding: 0;
|
|
54
|
-
margin: 0;
|
|
55
|
-
font: inherit;
|
|
56
|
-
color: inherit;
|
|
57
|
-
cursor: inherit;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.Trigger[data-disabled] {
|
|
61
|
-
cursor: not-allowed;
|
|
62
|
-
}
|
|
63
|
-
`;
|
|
64
|
-
/**
|
|
65
|
-
* `<dui-tooltip-trigger>` — The element that triggers the tooltip on hover/focus.
|
|
66
|
-
*
|
|
67
|
-
* @slot - Content that triggers the tooltip.
|
|
68
|
-
*/
|
|
69
|
-
let DuiTooltipTrigger = (() => {
|
|
70
|
-
let _classSuper = LitElement;
|
|
71
|
-
let _disabled_decorators;
|
|
72
|
-
let _disabled_initializers = [];
|
|
73
|
-
let _disabled_extraInitializers = [];
|
|
74
|
-
return class DuiTooltipTrigger extends _classSuper {
|
|
75
|
-
static {
|
|
76
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
77
|
-
_disabled_decorators = [property({ type: Boolean, reflect: true })];
|
|
78
|
-
__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);
|
|
79
|
-
if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
80
|
-
}
|
|
81
|
-
static tagName = "dui-tooltip-trigger";
|
|
82
|
-
static styles = [base, hostStyles, componentStyles];
|
|
83
|
-
#disabled_accessor_storage = __runInitializers(this, _disabled_initializers, false);
|
|
84
|
-
/** Disable the trigger. */
|
|
85
|
-
get disabled() { return this.#disabled_accessor_storage; }
|
|
86
|
-
set disabled(value) { this.#disabled_accessor_storage = value; }
|
|
87
|
-
#ctx = (__runInitializers(this, _disabled_extraInitializers), new ContextConsumer(this, {
|
|
88
|
-
context: tooltipContext,
|
|
89
|
-
subscribe: true,
|
|
90
|
-
}));
|
|
91
|
-
#handleMouseEnter = () => {
|
|
92
|
-
if (this.#isDisabled)
|
|
93
|
-
return;
|
|
94
|
-
this.#updateTriggerEl();
|
|
95
|
-
this.#ctx.value?.openTooltip();
|
|
96
|
-
};
|
|
97
|
-
#handleMouseLeave = () => {
|
|
98
|
-
this.#ctx.value?.closeTooltip();
|
|
99
|
-
};
|
|
100
|
-
#handleFocus = () => {
|
|
101
|
-
if (this.#isDisabled)
|
|
102
|
-
return;
|
|
103
|
-
this.#updateTriggerEl();
|
|
104
|
-
this.#ctx.value?.openTooltip();
|
|
105
|
-
};
|
|
106
|
-
#handleBlur = () => {
|
|
107
|
-
this.#ctx.value?.closeTooltip();
|
|
108
|
-
};
|
|
109
|
-
#handleKeyDown = (e) => {
|
|
110
|
-
if (e.key === "Escape" && this.#ctx.value?.open) {
|
|
111
|
-
this.#ctx.value?.closeTooltip();
|
|
112
|
-
}
|
|
113
|
-
};
|
|
114
|
-
#updateTriggerEl() {
|
|
115
|
-
const trigger = this.shadowRoot?.querySelector('[part="trigger"]') ??
|
|
116
|
-
this;
|
|
117
|
-
this.#ctx.value?.setTriggerEl(trigger);
|
|
118
|
-
}
|
|
119
|
-
get #isDisabled() {
|
|
120
|
-
return this.disabled || (this.#ctx.value?.disabled ?? false);
|
|
121
|
-
}
|
|
122
|
-
render() {
|
|
123
|
-
const isOpen = this.#ctx.value?.open ?? false;
|
|
124
|
-
const popupId = this.#ctx.value?.popupId ?? "";
|
|
125
|
-
const triggerId = this.#ctx.value?.triggerId ?? "";
|
|
126
|
-
return html `
|
|
127
|
-
<span
|
|
128
|
-
class="Trigger"
|
|
129
|
-
part="trigger"
|
|
130
|
-
id="${triggerId}"
|
|
131
|
-
role="button"
|
|
132
|
-
tabindex="0"
|
|
133
|
-
aria-describedby="${isOpen ? popupId : ""}"
|
|
134
|
-
?data-popup-open="${isOpen}"
|
|
135
|
-
?data-disabled="${this.#isDisabled}"
|
|
136
|
-
@mouseenter="${this.#handleMouseEnter}"
|
|
137
|
-
@mouseleave="${this.#handleMouseLeave}"
|
|
138
|
-
@focus="${this.#handleFocus}"
|
|
139
|
-
@blur="${this.#handleBlur}"
|
|
140
|
-
@keydown="${this.#handleKeyDown}"
|
|
141
|
-
>
|
|
142
|
-
<slot></slot>
|
|
143
|
-
</span>
|
|
144
|
-
`;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
})();
|
|
148
|
-
export { DuiTooltipTrigger };
|
|
1
|
+
import { DuiTooltipTriggerPrimitive } from "@deepfuture/dui-primitives/tooltip";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export class DuiTooltipTrigger extends DuiTooltipTriggerPrimitive {
|
|
4
|
+
}
|
|
5
|
+
customElements.define(DuiTooltipTrigger.tagName, DuiTooltipTrigger);
|
package/tooltip/tooltip.d.ts
CHANGED
|
@@ -1,37 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
export type TooltipOpenChangeDetail = {
|
|
5
|
-
open: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const openChangeEvent: (detail: TooltipOpenChangeDetail) => CustomEvent<TooltipOpenChangeDetail>;
|
|
8
|
-
/**
|
|
9
|
-
* `<dui-tooltip>` — A tooltip root that provides context for trigger and popup.
|
|
10
|
-
*
|
|
11
|
-
* @slot - Default slot for dui-tooltip-trigger and dui-tooltip-popup.
|
|
12
|
-
* @fires open-change - Dispatched when the tooltip opens or closes.
|
|
13
|
-
*/
|
|
14
|
-
export declare class DuiTooltip extends LitElement {
|
|
15
|
-
#private;
|
|
16
|
-
static tagName: "dui-tooltip";
|
|
1
|
+
import { DuiTooltipPrimitive } from "@deepfuture/dui-primitives/tooltip";
|
|
2
|
+
import "../_install.js";
|
|
3
|
+
export declare class DuiTooltip extends DuiTooltipPrimitive {
|
|
17
4
|
static styles: import("lit").CSSResult[];
|
|
18
|
-
/** Controlled open state. */
|
|
19
|
-
accessor open: boolean;
|
|
20
|
-
/** Default open state for uncontrolled usage. */
|
|
21
|
-
accessor defaultOpen: boolean;
|
|
22
|
-
/** Which side of the trigger the tooltip appears on. */
|
|
23
|
-
accessor side: TooltipSide;
|
|
24
|
-
/** Offset from the trigger in pixels. */
|
|
25
|
-
accessor sideOffset: number;
|
|
26
|
-
/** Delay before opening in milliseconds. */
|
|
27
|
-
accessor delay: number;
|
|
28
|
-
/** Delay before closing in milliseconds. */
|
|
29
|
-
accessor closeDelay: number;
|
|
30
|
-
/** Disable the tooltip. */
|
|
31
|
-
accessor disabled: boolean;
|
|
32
|
-
accessor _ctx: TooltipContext;
|
|
33
|
-
connectedCallback(): void;
|
|
34
|
-
disconnectedCallback(): void;
|
|
35
|
-
protected willUpdate(changed: PropertyValues): void;
|
|
36
|
-
render(): TemplateResult;
|
|
37
5
|
}
|