@deepfuture/dui-components 0.0.12 → 0.0.14

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.
Files changed (89) hide show
  1. package/_deprecated/center/center.js +2 -2
  2. package/_deprecated/hstack/hstack.js +79 -33
  3. package/_deprecated/page-inset/page-inset.js +104 -56
  4. package/_deprecated/vstack/vstack.js +61 -19
  5. package/accordion/accordion-item.js +217 -147
  6. package/accordion/accordion.js +214 -149
  7. package/alert-dialog/alert-dialog-close.js +2 -2
  8. package/alert-dialog/alert-dialog-popup.js +230 -166
  9. package/alert-dialog/alert-dialog-trigger.js +2 -2
  10. package/alert-dialog/alert-dialog.js +128 -73
  11. package/avatar/avatar.js +175 -115
  12. package/badge/badge.js +2 -2
  13. package/breadcrumb/breadcrumb-ellipsis.js +2 -2
  14. package/breadcrumb/breadcrumb-item.js +2 -2
  15. package/breadcrumb/breadcrumb-link.js +2 -2
  16. package/breadcrumb/breadcrumb-page.js +2 -2
  17. package/breadcrumb/breadcrumb-separator.js +2 -2
  18. package/breadcrumb/breadcrumb.js +2 -2
  19. package/button/button.js +109 -65
  20. package/calendar/calendar.js +368 -290
  21. package/checkbox/checkbox-group.js +146 -87
  22. package/checkbox/checkbox.js +232 -167
  23. package/collapsible/collapsible.js +210 -132
  24. package/combobox/combobox.js +318 -252
  25. package/command/command-empty.js +67 -25
  26. package/command/command-group.js +87 -47
  27. package/command/command-input.js +84 -44
  28. package/command/command-item.js +168 -124
  29. package/command/command-list.js +60 -18
  30. package/command/command-separator.js +2 -2
  31. package/command/command-shortcut.js +2 -2
  32. package/command/command.js +297 -232
  33. package/data-table/data-table.js +225 -153
  34. package/dialog/dialog-close.js +2 -2
  35. package/dialog/dialog-popup.js +247 -181
  36. package/dialog/dialog-trigger.js +2 -2
  37. package/dialog/dialog.js +128 -73
  38. package/dropzone/dropzone.js +310 -249
  39. package/icon/icon.js +2 -2
  40. package/input/input.js +204 -143
  41. package/link/link.js +62 -24
  42. package/menu/menu-item.js +66 -24
  43. package/menu/menu.js +189 -136
  44. package/menubar/menubar.js +142 -91
  45. package/number-field/number-field.js +277 -204
  46. package/package.json +2 -3
  47. package/popover/popover-close.js +2 -2
  48. package/popover/popover-popup.js +126 -76
  49. package/popover/popover-trigger.js +2 -2
  50. package/popover/popover.js +181 -120
  51. package/portal/portal.js +128 -86
  52. package/preview-card/preview-card-popup.js +114 -66
  53. package/preview-card/preview-card-trigger.js +2 -2
  54. package/preview-card/preview-card.js +211 -142
  55. package/progress/progress.js +91 -45
  56. package/radio/radio-group.js +153 -90
  57. package/radio/radio.js +137 -94
  58. package/scroll-area/scroll-area.js +382 -283
  59. package/select/select.js +260 -203
  60. package/separator/separator.js +60 -18
  61. package/sidebar/sidebar-content.js +2 -2
  62. package/sidebar/sidebar-footer.js +2 -2
  63. package/sidebar/sidebar-group-label.js +2 -2
  64. package/sidebar/sidebar-group.js +2 -2
  65. package/sidebar/sidebar-header.js +2 -2
  66. package/sidebar/sidebar-inset.js +2 -2
  67. package/sidebar/sidebar-menu-button.js +118 -74
  68. package/sidebar/sidebar-menu-item.js +2 -2
  69. package/sidebar/sidebar-menu.js +2 -2
  70. package/sidebar/sidebar-provider.js +202 -129
  71. package/sidebar/sidebar-separator.js +2 -2
  72. package/sidebar/sidebar-trigger.js +2 -2
  73. package/sidebar/sidebar.js +150 -85
  74. package/slider/slider.js +217 -159
  75. package/spinner/spinner.js +70 -28
  76. package/switch/switch.js +174 -111
  77. package/tabs/tab.js +89 -47
  78. package/tabs/tabs-indicator.js +2 -2
  79. package/tabs/tabs-list.js +92 -54
  80. package/tabs/tabs-panel.js +90 -44
  81. package/tabs/tabs.js +130 -71
  82. package/textarea/textarea.js +153 -95
  83. package/toggle/toggle-group.js +184 -125
  84. package/toggle/toggle.js +131 -76
  85. package/toolbar/toolbar.js +79 -33
  86. package/tooltip/tooltip-popup.js +108 -60
  87. package/tooltip/tooltip-trigger.js +93 -55
  88. package/tooltip/tooltip.js +225 -154
  89. package/trunc/trunc.js +78 -34
@@ -1,9 +1,37 @@
1
1
  /** Ported from original DUI: deep-future-app/app/client/components/dui/tooltip */
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
7
35
  };
8
36
  import { css, html, LitElement } from "lit";
9
37
  import { property } from "lit/decorators.js";
@@ -38,53 +66,64 @@ const componentStyles = css `
38
66
  *
39
67
  * @slot - Content that triggers the tooltip.
40
68
  */
41
- export class DuiTooltipTrigger extends LitElement {
42
- static { this.tagName = "dui-tooltip-trigger"; }
43
- static { this.styles = [base, hostStyles, componentStyles]; }
44
- #disabled_accessor_storage = false;
45
- /** Disable the trigger. */
46
- get disabled() { return this.#disabled_accessor_storage; }
47
- set disabled(value) { this.#disabled_accessor_storage = value; }
48
- #ctx = new ContextConsumer(this, {
49
- context: tooltipContext,
50
- subscribe: true,
51
- });
52
- #handleMouseEnter = () => {
53
- if (this.#isDisabled)
54
- return;
55
- this.#updateTriggerEl();
56
- this.#ctx.value?.openTooltip();
57
- };
58
- #handleMouseLeave = () => {
59
- this.#ctx.value?.closeTooltip();
60
- };
61
- #handleFocus = () => {
62
- if (this.#isDisabled)
63
- return;
64
- this.#updateTriggerEl();
65
- this.#ctx.value?.openTooltip();
66
- };
67
- #handleBlur = () => {
68
- this.#ctx.value?.closeTooltip();
69
- };
70
- #handleKeyDown = (e) => {
71
- if (e.key === "Escape" && this.#ctx.value?.open) {
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 = () => {
72
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);
73
118
  }
74
- };
75
- #updateTriggerEl() {
76
- const trigger = this.shadowRoot?.querySelector('[part="trigger"]') ??
77
- this;
78
- this.#ctx.value?.setTriggerEl(trigger);
79
- }
80
- get #isDisabled() {
81
- return this.disabled || (this.#ctx.value?.disabled ?? false);
82
- }
83
- render() {
84
- const isOpen = this.#ctx.value?.open ?? false;
85
- const popupId = this.#ctx.value?.popupId ?? "";
86
- const triggerId = this.#ctx.value?.triggerId ?? "";
87
- return html `
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 `
88
127
  <span
89
128
  class="Trigger"
90
129
  part="trigger"
@@ -103,8 +142,7 @@ export class DuiTooltipTrigger extends LitElement {
103
142
  <slot></slot>
104
143
  </span>
105
144
  `;
106
- }
107
- }
108
- __decorate([
109
- property({ type: Boolean, reflect: true })
110
- ], DuiTooltipTrigger.prototype, "disabled", null);
145
+ }
146
+ };
147
+ })();
148
+ export { DuiTooltipTrigger };
@@ -1,9 +1,41 @@
1
1
  /** Ported from original DUI: deep-future-app/app/client/components/dui/tooltip */
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
5
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
6
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
7
+ var _, done = false;
8
+ for (var i = decorators.length - 1; i >= 0; i--) {
9
+ var context = {};
10
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
11
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
12
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
13
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
14
+ if (kind === "accessor") {
15
+ if (result === void 0) continue;
16
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
17
+ if (_ = accept(result.get)) descriptor.get = _;
18
+ if (_ = accept(result.set)) descriptor.set = _;
19
+ if (_ = accept(result.init)) initializers.unshift(_);
20
+ }
21
+ else if (_ = accept(result)) {
22
+ if (kind === "field") initializers.unshift(_);
23
+ else descriptor[key] = _;
24
+ }
25
+ }
26
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
+ done = true;
28
+ };
29
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
+ var useValue = arguments.length > 2;
31
+ for (var i = 0; i < initializers.length; i++) {
32
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
+ }
34
+ return useValue ? value : void 0;
35
+ };
36
+ var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
37
+ if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
38
+ return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
7
39
  };
8
40
  import { css, html, LitElement } from "lit";
9
41
  import { property, state } from "lit/decorators.js";
@@ -23,160 +55,199 @@ const hostStyles = css `
23
55
  * @slot - Default slot for dui-tooltip-trigger and dui-tooltip-popup.
24
56
  * @fires open-change - Dispatched when the tooltip opens or closes.
25
57
  */
26
- export class DuiTooltip extends LitElement {
27
- static { this.tagName = "dui-tooltip"; }
28
- static { this.styles = [base, hostStyles]; }
29
- #open_accessor_storage = false;
30
- /** Controlled open state. */
31
- get open() { return this.#open_accessor_storage; }
32
- set open(value) { this.#open_accessor_storage = value; }
33
- #defaultOpen_accessor_storage = false;
34
- /** Default open state for uncontrolled usage. */
35
- get defaultOpen() { return this.#defaultOpen_accessor_storage; }
36
- set defaultOpen(value) { this.#defaultOpen_accessor_storage = value; }
37
- #side_accessor_storage = "top";
38
- /** Which side of the trigger the tooltip appears on. */
39
- get side() { return this.#side_accessor_storage; }
40
- set side(value) { this.#side_accessor_storage = value; }
41
- #sideOffset_accessor_storage = 6;
42
- /** Offset from the trigger in pixels. */
43
- get sideOffset() { return this.#sideOffset_accessor_storage; }
44
- set sideOffset(value) { this.#sideOffset_accessor_storage = value; }
45
- #delay_accessor_storage = 500;
46
- /** Delay before opening in milliseconds. */
47
- get delay() { return this.#delay_accessor_storage; }
48
- set delay(value) { this.#delay_accessor_storage = value; }
49
- #closeDelay_accessor_storage = 0;
50
- /** Delay before closing in milliseconds. */
51
- get closeDelay() { return this.#closeDelay_accessor_storage; }
52
- set closeDelay(value) { this.#closeDelay_accessor_storage = value; }
53
- #disabled_accessor_storage = false;
54
- /** Disable the tooltip. */
55
- get disabled() { return this.#disabled_accessor_storage; }
56
- set disabled(value) { this.#disabled_accessor_storage = value; }
57
- #internalOpen_accessor_storage = false;
58
- get #internalOpen() { return this.#internalOpen_accessor_storage; }
59
- set #internalOpen(value) { this.#internalOpen_accessor_storage = value; }
60
- #triggerEl_accessor_storage;
61
- get #triggerEl() { return this.#triggerEl_accessor_storage; }
62
- set #triggerEl(value) { this.#triggerEl_accessor_storage = value; }
63
- #openTimeout;
64
- #closeTimeout;
65
- #triggerId = `tooltip-trigger-${crypto.randomUUID().slice(0, 8)}`;
66
- #popupId = `tooltip-popup-${crypto.randomUUID().slice(0, 8)}`;
67
- #_ctx_accessor_storage = {
68
- open: false,
69
- triggerId: this.#triggerId,
70
- popupId: this.#popupId,
71
- side: "top",
72
- sideOffset: 6,
73
- disabled: false,
74
- triggerEl: undefined,
75
- openTooltip: () => this.#scheduleOpen(),
76
- closeTooltip: () => this.#scheduleClose(),
77
- setTriggerEl: (el) => this.#setTriggerEl(el),
78
- };
79
- get _ctx() { return this.#_ctx_accessor_storage; }
80
- set _ctx(value) { this.#_ctx_accessor_storage = value; }
81
- connectedCallback() {
82
- super.connectedCallback();
83
- if (this.defaultOpen && !this.disabled) {
84
- this.#internalOpen = true;
58
+ let DuiTooltip = (() => {
59
+ let _classSuper = LitElement;
60
+ let _open_decorators;
61
+ let _open_initializers = [];
62
+ let _open_extraInitializers = [];
63
+ let _defaultOpen_decorators;
64
+ let _defaultOpen_initializers = [];
65
+ let _defaultOpen_extraInitializers = [];
66
+ let _side_decorators;
67
+ let _side_initializers = [];
68
+ let _side_extraInitializers = [];
69
+ let _sideOffset_decorators;
70
+ let _sideOffset_initializers = [];
71
+ let _sideOffset_extraInitializers = [];
72
+ let _delay_decorators;
73
+ let _delay_initializers = [];
74
+ let _delay_extraInitializers = [];
75
+ let _closeDelay_decorators;
76
+ let _closeDelay_initializers = [];
77
+ let _closeDelay_extraInitializers = [];
78
+ let _disabled_decorators;
79
+ let _disabled_initializers = [];
80
+ let _disabled_extraInitializers = [];
81
+ let _private_internalOpen_decorators;
82
+ let _private_internalOpen_initializers = [];
83
+ let _private_internalOpen_extraInitializers = [];
84
+ let _private_internalOpen_descriptor;
85
+ let _private_triggerEl_decorators;
86
+ let _private_triggerEl_initializers = [];
87
+ let _private_triggerEl_extraInitializers = [];
88
+ let _private_triggerEl_descriptor;
89
+ let __ctx_decorators;
90
+ let __ctx_initializers = [];
91
+ let __ctx_extraInitializers = [];
92
+ return class DuiTooltip extends _classSuper {
93
+ static {
94
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
95
+ _open_decorators = [property({ type: Boolean, reflect: true })];
96
+ _defaultOpen_decorators = [property({ type: Boolean, attribute: "default-open" })];
97
+ _side_decorators = [property({ reflect: true })];
98
+ _sideOffset_decorators = [property({ type: Number, attribute: "side-offset" })];
99
+ _delay_decorators = [property({ type: Number })];
100
+ _closeDelay_decorators = [property({ type: Number, attribute: "close-delay" })];
101
+ _disabled_decorators = [property({ type: Boolean, reflect: true })];
102
+ _private_internalOpen_decorators = [state()];
103
+ _private_triggerEl_decorators = [state()];
104
+ __ctx_decorators = [provide({ context: tooltipContext }), state()];
105
+ __esDecorate(this, null, _open_decorators, { kind: "accessor", name: "open", static: false, private: false, access: { has: obj => "open" in obj, get: obj => obj.open, set: (obj, value) => { obj.open = value; } }, metadata: _metadata }, _open_initializers, _open_extraInitializers);
106
+ __esDecorate(this, null, _defaultOpen_decorators, { kind: "accessor", name: "defaultOpen", static: false, private: false, access: { has: obj => "defaultOpen" in obj, get: obj => obj.defaultOpen, set: (obj, value) => { obj.defaultOpen = value; } }, metadata: _metadata }, _defaultOpen_initializers, _defaultOpen_extraInitializers);
107
+ __esDecorate(this, null, _side_decorators, { kind: "accessor", name: "side", static: false, private: false, access: { has: obj => "side" in obj, get: obj => obj.side, set: (obj, value) => { obj.side = value; } }, metadata: _metadata }, _side_initializers, _side_extraInitializers);
108
+ __esDecorate(this, null, _sideOffset_decorators, { kind: "accessor", name: "sideOffset", static: false, private: false, access: { has: obj => "sideOffset" in obj, get: obj => obj.sideOffset, set: (obj, value) => { obj.sideOffset = value; } }, metadata: _metadata }, _sideOffset_initializers, _sideOffset_extraInitializers);
109
+ __esDecorate(this, null, _delay_decorators, { kind: "accessor", name: "delay", static: false, private: false, access: { has: obj => "delay" in obj, get: obj => obj.delay, set: (obj, value) => { obj.delay = value; } }, metadata: _metadata }, _delay_initializers, _delay_extraInitializers);
110
+ __esDecorate(this, null, _closeDelay_decorators, { kind: "accessor", name: "closeDelay", static: false, private: false, access: { has: obj => "closeDelay" in obj, get: obj => obj.closeDelay, set: (obj, value) => { obj.closeDelay = value; } }, metadata: _metadata }, _closeDelay_initializers, _closeDelay_extraInitializers);
111
+ __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);
112
+ __esDecorate(this, _private_internalOpen_descriptor = { get: __setFunctionName(function () { return this.#internalOpen_accessor_storage; }, "#internalOpen", "get"), set: __setFunctionName(function (value) { this.#internalOpen_accessor_storage = value; }, "#internalOpen", "set") }, _private_internalOpen_decorators, { kind: "accessor", name: "#internalOpen", static: false, private: true, access: { has: obj => #internalOpen in obj, get: obj => obj.#internalOpen, set: (obj, value) => { obj.#internalOpen = value; } }, metadata: _metadata }, _private_internalOpen_initializers, _private_internalOpen_extraInitializers);
113
+ __esDecorate(this, _private_triggerEl_descriptor = { get: __setFunctionName(function () { return this.#triggerEl_accessor_storage; }, "#triggerEl", "get"), set: __setFunctionName(function (value) { this.#triggerEl_accessor_storage = value; }, "#triggerEl", "set") }, _private_triggerEl_decorators, { kind: "accessor", name: "#triggerEl", static: false, private: true, access: { has: obj => #triggerEl in obj, get: obj => obj.#triggerEl, set: (obj, value) => { obj.#triggerEl = value; } }, metadata: _metadata }, _private_triggerEl_initializers, _private_triggerEl_extraInitializers);
114
+ __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);
115
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
85
116
  }
86
- }
87
- disconnectedCallback() {
88
- super.disconnectedCallback();
89
- this.#clearTimeouts();
90
- }
91
- willUpdate(changed) {
92
- const isOpen = this.open || this.#internalOpen;
93
- if (changed.has("open") ||
94
- changed.has("side") ||
95
- changed.has("sideOffset") ||
96
- changed.has("disabled") ||
97
- this._ctx.open !== isOpen ||
98
- this._ctx.triggerEl !== this.#triggerEl) {
99
- this._ctx = {
100
- ...this._ctx,
101
- open: isOpen,
102
- side: this.side,
103
- sideOffset: this.sideOffset,
104
- disabled: this.disabled,
105
- triggerEl: this.#triggerEl,
106
- };
117
+ static tagName = "dui-tooltip";
118
+ static styles = [base, hostStyles];
119
+ #open_accessor_storage = __runInitializers(this, _open_initializers, false);
120
+ /** Controlled open state. */
121
+ get open() { return this.#open_accessor_storage; }
122
+ set open(value) { this.#open_accessor_storage = value; }
123
+ #defaultOpen_accessor_storage = (__runInitializers(this, _open_extraInitializers), __runInitializers(this, _defaultOpen_initializers, false));
124
+ /** Default open state for uncontrolled usage. */
125
+ get defaultOpen() { return this.#defaultOpen_accessor_storage; }
126
+ set defaultOpen(value) { this.#defaultOpen_accessor_storage = value; }
127
+ #side_accessor_storage = (__runInitializers(this, _defaultOpen_extraInitializers), __runInitializers(this, _side_initializers, "top"));
128
+ /** Which side of the trigger the tooltip appears on. */
129
+ get side() { return this.#side_accessor_storage; }
130
+ set side(value) { this.#side_accessor_storage = value; }
131
+ #sideOffset_accessor_storage = (__runInitializers(this, _side_extraInitializers), __runInitializers(this, _sideOffset_initializers, 6));
132
+ /** Offset from the trigger in pixels. */
133
+ get sideOffset() { return this.#sideOffset_accessor_storage; }
134
+ set sideOffset(value) { this.#sideOffset_accessor_storage = value; }
135
+ #delay_accessor_storage = (__runInitializers(this, _sideOffset_extraInitializers), __runInitializers(this, _delay_initializers, 500));
136
+ /** Delay before opening in milliseconds. */
137
+ get delay() { return this.#delay_accessor_storage; }
138
+ set delay(value) { this.#delay_accessor_storage = value; }
139
+ #closeDelay_accessor_storage = (__runInitializers(this, _delay_extraInitializers), __runInitializers(this, _closeDelay_initializers, 0));
140
+ /** Delay before closing in milliseconds. */
141
+ get closeDelay() { return this.#closeDelay_accessor_storage; }
142
+ set closeDelay(value) { this.#closeDelay_accessor_storage = value; }
143
+ #disabled_accessor_storage = (__runInitializers(this, _closeDelay_extraInitializers), __runInitializers(this, _disabled_initializers, false));
144
+ /** Disable the tooltip. */
145
+ get disabled() { return this.#disabled_accessor_storage; }
146
+ set disabled(value) { this.#disabled_accessor_storage = value; }
147
+ #internalOpen_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _private_internalOpen_initializers, false));
148
+ get #internalOpen() { return _private_internalOpen_descriptor.get.call(this); }
149
+ set #internalOpen(value) { return _private_internalOpen_descriptor.set.call(this, value); }
150
+ #triggerEl_accessor_storage = (__runInitializers(this, _private_internalOpen_extraInitializers), __runInitializers(this, _private_triggerEl_initializers, void 0));
151
+ get #triggerEl() { return _private_triggerEl_descriptor.get.call(this); }
152
+ set #triggerEl(value) { return _private_triggerEl_descriptor.set.call(this, value); }
153
+ #openTimeout = __runInitializers(this, _private_triggerEl_extraInitializers);
154
+ #closeTimeout;
155
+ #triggerId = `tooltip-trigger-${crypto.randomUUID().slice(0, 8)}`;
156
+ #popupId = `tooltip-popup-${crypto.randomUUID().slice(0, 8)}`;
157
+ #_ctx_accessor_storage = __runInitializers(this, __ctx_initializers, {
158
+ open: false,
159
+ triggerId: this.#triggerId,
160
+ popupId: this.#popupId,
161
+ side: "top",
162
+ sideOffset: 6,
163
+ disabled: false,
164
+ triggerEl: undefined,
165
+ openTooltip: () => this.#scheduleOpen(),
166
+ closeTooltip: () => this.#scheduleClose(),
167
+ setTriggerEl: (el) => this.#setTriggerEl(el),
168
+ });
169
+ get _ctx() { return this.#_ctx_accessor_storage; }
170
+ set _ctx(value) { this.#_ctx_accessor_storage = value; }
171
+ connectedCallback() {
172
+ super.connectedCallback();
173
+ if (this.defaultOpen && !this.disabled) {
174
+ this.#internalOpen = true;
175
+ }
107
176
  }
108
- }
109
- #clearTimeouts() {
110
- if (this.#openTimeout) {
111
- clearTimeout(this.#openTimeout);
112
- this.#openTimeout = undefined;
177
+ disconnectedCallback() {
178
+ super.disconnectedCallback();
179
+ this.#clearTimeouts();
113
180
  }
114
- if (this.#closeTimeout) {
115
- clearTimeout(this.#closeTimeout);
116
- this.#closeTimeout = undefined;
181
+ willUpdate(changed) {
182
+ const isOpen = this.open || this.#internalOpen;
183
+ if (changed.has("open") ||
184
+ changed.has("side") ||
185
+ changed.has("sideOffset") ||
186
+ changed.has("disabled") ||
187
+ this._ctx.open !== isOpen ||
188
+ this._ctx.triggerEl !== this.#triggerEl) {
189
+ this._ctx = {
190
+ ...this._ctx,
191
+ open: isOpen,
192
+ side: this.side,
193
+ sideOffset: this.sideOffset,
194
+ disabled: this.disabled,
195
+ triggerEl: this.#triggerEl,
196
+ };
197
+ }
117
198
  }
118
- }
119
- #scheduleOpen() {
120
- if (this.disabled)
121
- return;
122
- this.#clearTimeouts();
123
- if (this.delay <= 0) {
124
- this.#doOpen();
199
+ #clearTimeouts() {
200
+ if (this.#openTimeout) {
201
+ clearTimeout(this.#openTimeout);
202
+ this.#openTimeout = undefined;
203
+ }
204
+ if (this.#closeTimeout) {
205
+ clearTimeout(this.#closeTimeout);
206
+ this.#closeTimeout = undefined;
207
+ }
125
208
  }
126
- else {
127
- this.#openTimeout = setTimeout(() => this.#doOpen(), this.delay);
209
+ #scheduleOpen() {
210
+ if (this.disabled)
211
+ return;
212
+ this.#clearTimeouts();
213
+ if (this.delay <= 0) {
214
+ this.#doOpen();
215
+ }
216
+ else {
217
+ this.#openTimeout = setTimeout(() => this.#doOpen(), this.delay);
218
+ }
128
219
  }
129
- }
130
- #scheduleClose() {
131
- this.#clearTimeouts();
132
- if (this.closeDelay <= 0) {
133
- this.#doClose();
220
+ #scheduleClose() {
221
+ this.#clearTimeouts();
222
+ if (this.closeDelay <= 0) {
223
+ this.#doClose();
224
+ }
225
+ else {
226
+ this.#closeTimeout = setTimeout(() => this.#doClose(), this.closeDelay);
227
+ }
134
228
  }
135
- else {
136
- this.#closeTimeout = setTimeout(() => this.#doClose(), this.closeDelay);
229
+ #doOpen() {
230
+ if (this.#internalOpen)
231
+ return;
232
+ this.#internalOpen = true;
233
+ this.dispatchEvent(openChangeEvent({ open: true }));
137
234
  }
138
- }
139
- #doOpen() {
140
- if (this.#internalOpen)
141
- return;
142
- this.#internalOpen = true;
143
- this.dispatchEvent(openChangeEvent({ open: true }));
144
- }
145
- #doClose() {
146
- if (!this.#internalOpen)
147
- return;
148
- this.#internalOpen = false;
149
- this.dispatchEvent(openChangeEvent({ open: false }));
150
- }
151
- #setTriggerEl(el) {
152
- this.#triggerEl = el;
153
- }
154
- render() {
155
- return html `<slot></slot>`;
156
- }
157
- }
158
- __decorate([
159
- property({ type: Boolean, reflect: true })
160
- ], DuiTooltip.prototype, "open", null);
161
- __decorate([
162
- property({ type: Boolean, attribute: "default-open" })
163
- ], DuiTooltip.prototype, "defaultOpen", null);
164
- __decorate([
165
- property({ reflect: true })
166
- ], DuiTooltip.prototype, "side", null);
167
- __decorate([
168
- property({ type: Number, attribute: "side-offset" })
169
- ], DuiTooltip.prototype, "sideOffset", null);
170
- __decorate([
171
- property({ type: Number })
172
- ], DuiTooltip.prototype, "delay", null);
173
- __decorate([
174
- property({ type: Number, attribute: "close-delay" })
175
- ], DuiTooltip.prototype, "closeDelay", null);
176
- __decorate([
177
- property({ type: Boolean, reflect: true })
178
- ], DuiTooltip.prototype, "disabled", null);
179
- __decorate([
180
- provide({ context: tooltipContext }),
181
- state()
182
- ], DuiTooltip.prototype, "_ctx", null);
235
+ #doClose() {
236
+ if (!this.#internalOpen)
237
+ return;
238
+ this.#internalOpen = false;
239
+ this.dispatchEvent(openChangeEvent({ open: false }));
240
+ }
241
+ #setTriggerEl(el) {
242
+ this.#triggerEl = el;
243
+ }
244
+ render() {
245
+ return html `<slot></slot>`;
246
+ }
247
+ constructor() {
248
+ super(...arguments);
249
+ __runInitializers(this, __ctx_extraInitializers);
250
+ }
251
+ };
252
+ })();
253
+ export { DuiTooltip };