@deepfuture/dui-components 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (250) hide show
  1. package/README.md +191 -0
  2. package/_deprecated/center/center.js +2 -2
  3. package/_deprecated/center/index.d.ts +3 -1
  4. package/_deprecated/center/index.js +3 -1
  5. package/_deprecated/hstack/hstack.js +79 -33
  6. package/_deprecated/hstack/index.d.ts +3 -1
  7. package/_deprecated/hstack/index.js +3 -1
  8. package/_deprecated/page-inset/index.d.ts +3 -1
  9. package/_deprecated/page-inset/index.js +3 -1
  10. package/_deprecated/page-inset/page-inset.js +104 -56
  11. package/_deprecated/vstack/index.d.ts +3 -1
  12. package/_deprecated/vstack/index.js +3 -1
  13. package/_deprecated/vstack/vstack.js +61 -19
  14. package/accordion/accordion-item.js +217 -147
  15. package/accordion/accordion.js +214 -149
  16. package/accordion/index.d.ts +5 -2
  17. package/accordion/index.js +5 -2
  18. package/alert-dialog/alert-dialog-close.js +2 -2
  19. package/alert-dialog/alert-dialog-popup.js +230 -166
  20. package/alert-dialog/alert-dialog-trigger.js +2 -2
  21. package/alert-dialog/alert-dialog.js +128 -73
  22. package/alert-dialog/index.d.ts +9 -4
  23. package/alert-dialog/index.js +9 -4
  24. package/avatar/avatar.js +175 -115
  25. package/avatar/index.d.ts +3 -1
  26. package/avatar/index.js +3 -1
  27. package/badge/badge.js +2 -2
  28. package/badge/index.d.ts +3 -1
  29. package/badge/index.js +3 -1
  30. package/breadcrumb/breadcrumb-ellipsis.js +2 -2
  31. package/breadcrumb/breadcrumb-item.js +2 -2
  32. package/breadcrumb/breadcrumb-link.js +2 -2
  33. package/breadcrumb/breadcrumb-page.js +2 -2
  34. package/breadcrumb/breadcrumb-separator.js +2 -2
  35. package/breadcrumb/breadcrumb.js +2 -2
  36. package/breadcrumb/index.d.ts +13 -6
  37. package/breadcrumb/index.js +13 -6
  38. package/button/button.js +109 -65
  39. package/button/index.d.ts +3 -1
  40. package/button/index.js +3 -1
  41. package/calendar/calendar.js +368 -290
  42. package/calendar/index.d.ts +3 -1
  43. package/calendar/index.js +3 -1
  44. package/checkbox/checkbox-group.js +146 -87
  45. package/checkbox/checkbox.js +232 -167
  46. package/checkbox/index.d.ts +5 -2
  47. package/checkbox/index.js +5 -2
  48. package/collapsible/collapsible.js +210 -132
  49. package/collapsible/index.d.ts +3 -1
  50. package/collapsible/index.js +3 -1
  51. package/combobox/combobox.js +318 -252
  52. package/combobox/index.d.ts +3 -1
  53. package/combobox/index.js +3 -1
  54. package/command/command-empty.js +67 -25
  55. package/command/command-group.js +87 -47
  56. package/command/command-input.js +84 -44
  57. package/command/command-item.js +168 -124
  58. package/command/command-list.js +60 -18
  59. package/command/command-separator.js +2 -2
  60. package/command/command-shortcut.js +2 -2
  61. package/command/command.js +297 -232
  62. package/command/index.d.ts +17 -8
  63. package/command/index.js +17 -8
  64. package/data-table/data-table.js +225 -153
  65. package/data-table/index.d.ts +3 -1
  66. package/data-table/index.js +3 -1
  67. package/dialog/dialog-close.js +2 -2
  68. package/dialog/dialog-popup.js +247 -181
  69. package/dialog/dialog-trigger.js +2 -2
  70. package/dialog/dialog.js +128 -73
  71. package/dialog/index.d.ts +9 -4
  72. package/dialog/index.js +9 -4
  73. package/dropzone/dropzone.js +310 -249
  74. package/dropzone/index.d.ts +3 -1
  75. package/dropzone/index.js +3 -1
  76. package/icon/icon.js +2 -2
  77. package/icon/index.d.ts +3 -1
  78. package/icon/index.js +3 -1
  79. package/input/index.d.ts +3 -1
  80. package/input/index.js +3 -1
  81. package/input/input.js +204 -143
  82. package/link/index.d.ts +3 -1
  83. package/link/index.js +3 -1
  84. package/link/link.js +62 -24
  85. package/menu/index.d.ts +5 -2
  86. package/menu/index.js +5 -2
  87. package/menu/menu-item.js +66 -24
  88. package/menu/menu.js +189 -136
  89. package/menubar/index.d.ts +3 -1
  90. package/menubar/index.js +3 -1
  91. package/menubar/menubar.js +142 -91
  92. package/number-field/index.d.ts +3 -1
  93. package/number-field/index.js +3 -1
  94. package/number-field/number-field.js +277 -204
  95. package/package.json +5 -4
  96. package/popover/index.d.ts +9 -4
  97. package/popover/index.js +9 -4
  98. package/popover/popover-close.js +2 -2
  99. package/popover/popover-popup.js +126 -76
  100. package/popover/popover-trigger.js +2 -2
  101. package/popover/popover.js +181 -120
  102. package/portal/index.d.ts +3 -1
  103. package/portal/index.js +3 -1
  104. package/portal/portal.js +128 -86
  105. package/preview-card/index.d.ts +7 -3
  106. package/preview-card/index.js +7 -3
  107. package/preview-card/preview-card-popup.js +114 -66
  108. package/preview-card/preview-card-trigger.js +2 -2
  109. package/preview-card/preview-card.js +211 -142
  110. package/progress/index.d.ts +3 -1
  111. package/progress/index.js +3 -1
  112. package/progress/progress.js +91 -45
  113. package/radio/index.d.ts +5 -2
  114. package/radio/index.js +5 -2
  115. package/radio/radio-group.js +153 -90
  116. package/radio/radio.js +137 -94
  117. package/scroll-area/index.d.ts +3 -1
  118. package/scroll-area/index.js +3 -1
  119. package/scroll-area/scroll-area.js +382 -276
  120. package/select/index.d.ts +3 -1
  121. package/select/index.js +3 -1
  122. package/select/select.js +260 -203
  123. package/separator/index.d.ts +3 -1
  124. package/separator/index.js +3 -1
  125. package/separator/separator.js +60 -18
  126. package/sidebar/index.d.ts +27 -13
  127. package/sidebar/index.js +32 -13
  128. package/sidebar/sidebar-content.js +2 -2
  129. package/sidebar/sidebar-footer.js +2 -2
  130. package/sidebar/sidebar-group-label.js +2 -2
  131. package/sidebar/sidebar-group.js +2 -2
  132. package/sidebar/sidebar-header.js +2 -2
  133. package/sidebar/sidebar-inset.js +2 -2
  134. package/sidebar/sidebar-menu-button.js +118 -74
  135. package/sidebar/sidebar-menu-item.js +2 -2
  136. package/sidebar/sidebar-menu.js +2 -2
  137. package/sidebar/sidebar-provider.js +202 -129
  138. package/sidebar/sidebar-separator.js +2 -2
  139. package/sidebar/sidebar-trigger.js +2 -2
  140. package/sidebar/sidebar.js +150 -85
  141. package/slider/index.d.ts +3 -1
  142. package/slider/index.js +3 -1
  143. package/slider/slider.js +217 -159
  144. package/spinner/index.d.ts +3 -1
  145. package/spinner/index.js +3 -1
  146. package/spinner/spinner.js +70 -28
  147. package/switch/index.d.ts +3 -1
  148. package/switch/index.js +3 -1
  149. package/switch/switch.js +174 -111
  150. package/tabs/index.d.ts +11 -5
  151. package/tabs/index.js +11 -5
  152. package/tabs/tab.js +89 -47
  153. package/tabs/tabs-indicator.js +2 -2
  154. package/tabs/tabs-list.js +92 -54
  155. package/tabs/tabs-panel.js +90 -44
  156. package/tabs/tabs.js +130 -71
  157. package/textarea/index.d.ts +3 -1
  158. package/textarea/index.js +3 -1
  159. package/textarea/textarea.js +153 -95
  160. package/toggle/index.d.ts +5 -2
  161. package/toggle/index.js +5 -2
  162. package/toggle/toggle-group.js +184 -125
  163. package/toggle/toggle.js +131 -76
  164. package/toolbar/index.d.ts +3 -1
  165. package/toolbar/index.js +3 -1
  166. package/toolbar/toolbar.js +79 -33
  167. package/tooltip/index.d.ts +7 -3
  168. package/tooltip/index.js +7 -3
  169. package/tooltip/tooltip-popup.js +108 -60
  170. package/tooltip/tooltip-trigger.js +93 -55
  171. package/tooltip/tooltip.js +225 -154
  172. package/trunc/index.d.ts +3 -1
  173. package/trunc/index.js +3 -1
  174. package/trunc/trunc.js +78 -34
  175. package/accordion/register.d.ts +0 -1
  176. package/accordion/register.js +0 -8
  177. package/alert-dialog/register.d.ts +0 -1
  178. package/alert-dialog/register.js +0 -16
  179. package/avatar/register.d.ts +0 -1
  180. package/avatar/register.js +0 -4
  181. package/badge/register.d.ts +0 -1
  182. package/badge/register.js +0 -4
  183. package/breadcrumb/register.d.ts +0 -1
  184. package/breadcrumb/register.js +0 -14
  185. package/button/register.d.ts +0 -1
  186. package/button/register.js +0 -4
  187. package/calendar/register.d.ts +0 -1
  188. package/calendar/register.js +0 -4
  189. package/checkbox/register.d.ts +0 -1
  190. package/checkbox/register.js +0 -8
  191. package/collapsible/register.d.ts +0 -1
  192. package/collapsible/register.js +0 -4
  193. package/combobox/register.d.ts +0 -1
  194. package/combobox/register.js +0 -4
  195. package/command/register.d.ts +0 -1
  196. package/command/register.js +0 -22
  197. package/data-table/register.d.ts +0 -1
  198. package/data-table/register.js +0 -4
  199. package/dialog/register.d.ts +0 -1
  200. package/dialog/register.js +0 -16
  201. package/dropzone/register.d.ts +0 -1
  202. package/dropzone/register.js +0 -4
  203. package/icon/register.d.ts +0 -1
  204. package/icon/register.js +0 -4
  205. package/input/register.d.ts +0 -1
  206. package/input/register.js +0 -4
  207. package/link/register.d.ts +0 -1
  208. package/link/register.js +0 -4
  209. package/menu/register.d.ts +0 -1
  210. package/menu/register.js +0 -8
  211. package/menubar/register.d.ts +0 -1
  212. package/menubar/register.js +0 -4
  213. package/number-field/register.d.ts +0 -1
  214. package/number-field/register.js +0 -4
  215. package/popover/register.d.ts +0 -1
  216. package/popover/register.js +0 -16
  217. package/portal/register.d.ts +0 -1
  218. package/portal/register.js +0 -4
  219. package/preview-card/register.d.ts +0 -1
  220. package/preview-card/register.js +0 -12
  221. package/progress/register.d.ts +0 -1
  222. package/progress/register.js +0 -4
  223. package/radio/register.d.ts +0 -1
  224. package/radio/register.js +0 -8
  225. package/scroll-area/register.d.ts +0 -1
  226. package/scroll-area/register.js +0 -4
  227. package/select/register.d.ts +0 -1
  228. package/select/register.js +0 -4
  229. package/separator/register.d.ts +0 -1
  230. package/separator/register.js +0 -4
  231. package/sidebar/register.d.ts +0 -1
  232. package/sidebar/register.js +0 -52
  233. package/slider/register.d.ts +0 -1
  234. package/slider/register.js +0 -4
  235. package/spinner/register.d.ts +0 -1
  236. package/spinner/register.js +0 -4
  237. package/switch/register.d.ts +0 -1
  238. package/switch/register.js +0 -4
  239. package/tabs/register.d.ts +0 -1
  240. package/tabs/register.js +0 -10
  241. package/textarea/register.d.ts +0 -1
  242. package/textarea/register.js +0 -4
  243. package/toggle/register.d.ts +0 -1
  244. package/toggle/register.js +0 -8
  245. package/toolbar/register.d.ts +0 -1
  246. package/toolbar/register.js +0 -4
  247. package/tooltip/register.d.ts +0 -1
  248. package/tooltip/register.js +0 -12
  249. package/trunc/register.d.ts +0 -1
  250. package/trunc/register.js +0 -4
@@ -19,8 +19,8 @@ const styles = css `
19
19
  * @csspart root - The `<li>` element.
20
20
  */
21
21
  export class DuiBreadcrumbItem extends LitElement {
22
- static { this.tagName = "dui-breadcrumb-item"; }
23
- static { this.styles = [base, styles]; }
22
+ static tagName = "dui-breadcrumb-item";
23
+ static styles = [base, styles];
24
24
  render() {
25
25
  return html `
26
26
  <li part="root">
@@ -20,8 +20,8 @@ const styles = css `
20
20
  * @csspart root - The wrapper `<span>` element.
21
21
  */
22
22
  export class DuiBreadcrumbLink extends LitElement {
23
- static { this.tagName = "dui-breadcrumb-link"; }
24
- static { this.styles = [base, styles]; }
23
+ static tagName = "dui-breadcrumb-link";
24
+ static styles = [base, styles];
25
25
  render() {
26
26
  return html `
27
27
  <span part="root">
@@ -19,8 +19,8 @@ const styles = css `
19
19
  * @csspart root - The `<span>` element with `aria-current="page"`.
20
20
  */
21
21
  export class DuiBreadcrumbPage extends LitElement {
22
- static { this.tagName = "dui-breadcrumb-page"; }
23
- static { this.styles = [base, styles]; }
22
+ static tagName = "dui-breadcrumb-page";
23
+ static styles = [base, styles];
24
24
  render() {
25
25
  return html `
26
26
  <span
@@ -20,8 +20,8 @@ const styles = css `
20
20
  * @csspart root - The `<li>` element (presentational, aria-hidden).
21
21
  */
22
22
  export class DuiBreadcrumbSeparator extends LitElement {
23
- static { this.tagName = "dui-breadcrumb-separator"; }
24
- static { this.styles = [base, styles]; }
23
+ static tagName = "dui-breadcrumb-separator";
24
+ static styles = [base, styles];
25
25
  render() {
26
26
  return html `
27
27
  <li
@@ -24,8 +24,8 @@ const styles = css `
24
24
  * @csspart root - The `<ol>` element.
25
25
  */
26
26
  export class DuiBreadcrumb extends LitElement {
27
- static { this.tagName = "dui-breadcrumb"; }
28
- static { this.styles = [base, styles]; }
27
+ static tagName = "dui-breadcrumb";
28
+ static styles = [base, styles];
29
29
  render() {
30
30
  return html `
31
31
  <nav aria-label="breadcrumb">
@@ -1,6 +1,13 @@
1
- export { DuiBreadcrumb } from "./breadcrumb.js";
2
- export { DuiBreadcrumbItem } from "./breadcrumb-item.js";
3
- export { DuiBreadcrumbLink } from "./breadcrumb-link.js";
4
- export { DuiBreadcrumbPage } from "./breadcrumb-page.js";
5
- export { DuiBreadcrumbSeparator } from "./breadcrumb-separator.js";
6
- export { DuiBreadcrumbEllipsis } from "./breadcrumb-ellipsis.js";
1
+ import { DuiBreadcrumb } from "./breadcrumb.js";
2
+ export { DuiBreadcrumb };
3
+ import { DuiBreadcrumbItem } from "./breadcrumb-item.js";
4
+ export { DuiBreadcrumbItem };
5
+ import { DuiBreadcrumbLink } from "./breadcrumb-link.js";
6
+ export { DuiBreadcrumbLink };
7
+ import { DuiBreadcrumbPage } from "./breadcrumb-page.js";
8
+ export { DuiBreadcrumbPage };
9
+ import { DuiBreadcrumbSeparator } from "./breadcrumb-separator.js";
10
+ export { DuiBreadcrumbSeparator };
11
+ import { DuiBreadcrumbEllipsis } from "./breadcrumb-ellipsis.js";
12
+ export { DuiBreadcrumbEllipsis };
13
+ export declare const breadcrumbFamily: (typeof DuiBreadcrumb | typeof DuiBreadcrumbItem | typeof DuiBreadcrumbLink | typeof DuiBreadcrumbPage | typeof DuiBreadcrumbSeparator | typeof DuiBreadcrumbEllipsis)[];
@@ -1,6 +1,13 @@
1
- export { DuiBreadcrumb } from "./breadcrumb.js";
2
- export { DuiBreadcrumbItem } from "./breadcrumb-item.js";
3
- export { DuiBreadcrumbLink } from "./breadcrumb-link.js";
4
- export { DuiBreadcrumbPage } from "./breadcrumb-page.js";
5
- export { DuiBreadcrumbSeparator } from "./breadcrumb-separator.js";
6
- export { DuiBreadcrumbEllipsis } from "./breadcrumb-ellipsis.js";
1
+ import { DuiBreadcrumb } from "./breadcrumb.js";
2
+ export { DuiBreadcrumb };
3
+ import { DuiBreadcrumbItem } from "./breadcrumb-item.js";
4
+ export { DuiBreadcrumbItem };
5
+ import { DuiBreadcrumbLink } from "./breadcrumb-link.js";
6
+ export { DuiBreadcrumbLink };
7
+ import { DuiBreadcrumbPage } from "./breadcrumb-page.js";
8
+ export { DuiBreadcrumbPage };
9
+ import { DuiBreadcrumbSeparator } from "./breadcrumb-separator.js";
10
+ export { DuiBreadcrumbSeparator };
11
+ import { DuiBreadcrumbEllipsis } from "./breadcrumb-ellipsis.js";
12
+ export { DuiBreadcrumbEllipsis };
13
+ export const breadcrumbFamily = [DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis];
package/button/button.js CHANGED
@@ -1,8 +1,36 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
6
34
  };
7
35
  import { css, html, LitElement, nothing } from "lit";
8
36
  import { property } from "lit/decorators.js";
@@ -48,47 +76,73 @@ const styles = css `
48
76
  * @csspart root - The button or anchor element.
49
77
  * @fires dui-navigate - Fired on normal link clicks. Detail: { href: string }
50
78
  */
51
- export class DuiButton extends LitElement {
52
- static { this.tagName = "dui-button"; }
53
- static { this.shadowRootOptions = {
54
- ...LitElement.shadowRootOptions,
55
- delegatesFocus: true,
56
- }; }
57
- static { this.styles = [base, styles]; }
58
- #disabled_accessor_storage = false;
59
- get disabled() { return this.#disabled_accessor_storage; }
60
- set disabled(value) { this.#disabled_accessor_storage = value; }
61
- #focusableWhenDisabled_accessor_storage = false;
62
- get focusableWhenDisabled() { return this.#focusableWhenDisabled_accessor_storage; }
63
- set focusableWhenDisabled(value) { this.#focusableWhenDisabled_accessor_storage = value; }
64
- #type_accessor_storage = "button";
65
- get type() { return this.#type_accessor_storage; }
66
- set type(value) { this.#type_accessor_storage = value; }
67
- #href_accessor_storage = undefined;
68
- get href() { return this.#href_accessor_storage; }
69
- set href(value) { this.#href_accessor_storage = value; }
70
- #handleClick = (e) => {
71
- if (this.disabled) {
72
- e.preventDefault();
73
- e.stopPropagation();
74
- }
75
- };
76
- #onLinkClick = (event) => {
77
- if (this.disabled) {
78
- event.preventDefault();
79
- return;
80
- }
81
- if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
82
- return;
83
- }
84
- if (this.href) {
85
- event.preventDefault();
86
- this.dispatchEvent(navigateEvent({ href: this.href }));
79
+ let DuiButton = (() => {
80
+ let _classSuper = LitElement;
81
+ let _disabled_decorators;
82
+ let _disabled_initializers = [];
83
+ let _disabled_extraInitializers = [];
84
+ let _focusableWhenDisabled_decorators;
85
+ let _focusableWhenDisabled_initializers = [];
86
+ let _focusableWhenDisabled_extraInitializers = [];
87
+ let _type_decorators;
88
+ let _type_initializers = [];
89
+ let _type_extraInitializers = [];
90
+ let _href_decorators;
91
+ let _href_initializers = [];
92
+ let _href_extraInitializers = [];
93
+ return class DuiButton extends _classSuper {
94
+ static {
95
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
96
+ _disabled_decorators = [property({ type: Boolean, reflect: true })];
97
+ _focusableWhenDisabled_decorators = [property({ type: Boolean, attribute: "focusable-when-disabled" })];
98
+ _type_decorators = [property()];
99
+ _href_decorators = [property()];
100
+ __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);
101
+ __esDecorate(this, null, _focusableWhenDisabled_decorators, { kind: "accessor", name: "focusableWhenDisabled", static: false, private: false, access: { has: obj => "focusableWhenDisabled" in obj, get: obj => obj.focusableWhenDisabled, set: (obj, value) => { obj.focusableWhenDisabled = value; } }, metadata: _metadata }, _focusableWhenDisabled_initializers, _focusableWhenDisabled_extraInitializers);
102
+ __esDecorate(this, null, _type_decorators, { kind: "accessor", name: "type", static: false, private: false, access: { has: obj => "type" in obj, get: obj => obj.type, set: (obj, value) => { obj.type = value; } }, metadata: _metadata }, _type_initializers, _type_extraInitializers);
103
+ __esDecorate(this, null, _href_decorators, { kind: "accessor", name: "href", static: false, private: false, access: { has: obj => "href" in obj, get: obj => obj.href, set: (obj, value) => { obj.href = value; } }, metadata: _metadata }, _href_initializers, _href_extraInitializers);
104
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
87
105
  }
88
- };
89
- #renderButton() {
90
- const ariaDisabled = this.disabled && this.focusableWhenDisabled;
91
- return html `
106
+ static tagName = "dui-button";
107
+ static shadowRootOptions = {
108
+ ...LitElement.shadowRootOptions,
109
+ delegatesFocus: true,
110
+ };
111
+ static styles = [base, styles];
112
+ #disabled_accessor_storage = __runInitializers(this, _disabled_initializers, false);
113
+ get disabled() { return this.#disabled_accessor_storage; }
114
+ set disabled(value) { this.#disabled_accessor_storage = value; }
115
+ #focusableWhenDisabled_accessor_storage = (__runInitializers(this, _disabled_extraInitializers), __runInitializers(this, _focusableWhenDisabled_initializers, false));
116
+ get focusableWhenDisabled() { return this.#focusableWhenDisabled_accessor_storage; }
117
+ set focusableWhenDisabled(value) { this.#focusableWhenDisabled_accessor_storage = value; }
118
+ #type_accessor_storage = (__runInitializers(this, _focusableWhenDisabled_extraInitializers), __runInitializers(this, _type_initializers, "button"));
119
+ get type() { return this.#type_accessor_storage; }
120
+ set type(value) { this.#type_accessor_storage = value; }
121
+ #href_accessor_storage = (__runInitializers(this, _type_extraInitializers), __runInitializers(this, _href_initializers, undefined));
122
+ get href() { return this.#href_accessor_storage; }
123
+ set href(value) { this.#href_accessor_storage = value; }
124
+ #handleClick = (__runInitializers(this, _href_extraInitializers), (e) => {
125
+ if (this.disabled) {
126
+ e.preventDefault();
127
+ e.stopPropagation();
128
+ }
129
+ });
130
+ #onLinkClick = (event) => {
131
+ if (this.disabled) {
132
+ event.preventDefault();
133
+ return;
134
+ }
135
+ if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) {
136
+ return;
137
+ }
138
+ if (this.href) {
139
+ event.preventDefault();
140
+ this.dispatchEvent(navigateEvent({ href: this.href }));
141
+ }
142
+ };
143
+ #renderButton() {
144
+ const ariaDisabled = this.disabled && this.focusableWhenDisabled;
145
+ return html `
92
146
  <button
93
147
  part="root"
94
148
  type="${this.type}"
@@ -99,9 +153,9 @@ export class DuiButton extends LitElement {
99
153
  <slot></slot>
100
154
  </button>
101
155
  `;
102
- }
103
- #renderLink() {
104
- return html `
156
+ }
157
+ #renderLink() {
158
+ return html `
105
159
  <a
106
160
  part="root"
107
161
  href="${this.href ?? nothing}"
@@ -111,20 +165,10 @@ export class DuiButton extends LitElement {
111
165
  <slot></slot>
112
166
  </a>
113
167
  `;
114
- }
115
- render() {
116
- return this.href !== undefined ? this.#renderLink() : this.#renderButton();
117
- }
118
- }
119
- __decorate([
120
- property({ type: Boolean, reflect: true })
121
- ], DuiButton.prototype, "disabled", null);
122
- __decorate([
123
- property({ type: Boolean, attribute: "focusable-when-disabled" })
124
- ], DuiButton.prototype, "focusableWhenDisabled", null);
125
- __decorate([
126
- property()
127
- ], DuiButton.prototype, "type", null);
128
- __decorate([
129
- property()
130
- ], DuiButton.prototype, "href", null);
168
+ }
169
+ render() {
170
+ return this.href !== undefined ? this.#renderLink() : this.#renderButton();
171
+ }
172
+ };
173
+ })();
174
+ export { DuiButton };
package/button/index.d.ts CHANGED
@@ -1 +1,3 @@
1
- export { DuiButton, navigateEvent } from "./button.js";
1
+ import { DuiButton, navigateEvent } from "./button.js";
2
+ export { DuiButton, navigateEvent };
3
+ export declare const buttonFamily: (typeof DuiButton)[];
package/button/index.js CHANGED
@@ -1 +1,3 @@
1
- export { DuiButton, navigateEvent } from "./button.js";
1
+ import { DuiButton, navigateEvent } from "./button.js";
2
+ export { DuiButton, navigateEvent };
3
+ export const buttonFamily = [DuiButton];