@deepfuture/dui-components 0.0.2 → 0.0.4

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 (210) hide show
  1. package/README.md +9 -1
  2. package/accordion/accordion-item.js +0 -2
  3. package/accordion/index.d.ts +5 -2
  4. package/accordion/index.js +5 -2
  5. package/alert-dialog/index.d.ts +9 -4
  6. package/alert-dialog/index.js +9 -4
  7. package/all.d.ts +60 -19
  8. package/all.js +140 -140
  9. package/avatar/index.d.ts +3 -1
  10. package/avatar/index.js +3 -1
  11. package/badge/badge.d.ts +0 -2
  12. package/badge/badge.js +0 -13
  13. package/badge/index.d.ts +3 -2
  14. package/badge/index.js +3 -1
  15. package/breadcrumb/index.d.ts +13 -6
  16. package/breadcrumb/index.js +13 -6
  17. package/button/button.d.ts +1 -5
  18. package/button/button.js +1 -14
  19. package/button/index.d.ts +3 -2
  20. package/button/index.js +3 -1
  21. package/calendar/index.d.ts +3 -1
  22. package/calendar/index.js +3 -1
  23. package/center/index.d.ts +3 -1
  24. package/center/index.js +3 -1
  25. package/checkbox/checkbox.js +0 -1
  26. package/checkbox/index.d.ts +5 -2
  27. package/checkbox/index.js +5 -2
  28. package/collapsible/collapsible.js +0 -2
  29. package/collapsible/index.d.ts +3 -1
  30. package/collapsible/index.js +3 -1
  31. package/combobox/combobox.js +2 -37
  32. package/combobox/index.d.ts +3 -1
  33. package/combobox/index.js +3 -1
  34. package/command/index.d.ts +17 -8
  35. package/command/index.js +17 -8
  36. package/data-table/data-table.js +0 -4
  37. package/data-table/index.d.ts +3 -1
  38. package/data-table/index.js +3 -1
  39. package/dialog/index.d.ts +9 -4
  40. package/dialog/index.js +9 -4
  41. package/dropzone/dropzone.js +0 -1
  42. package/dropzone/index.d.ts +3 -1
  43. package/dropzone/index.js +3 -1
  44. package/hstack/index.d.ts +3 -1
  45. package/hstack/index.js +3 -1
  46. package/icon/index.d.ts +3 -1
  47. package/icon/index.js +3 -1
  48. package/input/index.d.ts +3 -1
  49. package/input/index.js +3 -1
  50. package/input/input.js +0 -1
  51. package/link/index.d.ts +3 -1
  52. package/link/index.js +3 -1
  53. package/menu/index.d.ts +5 -2
  54. package/menu/index.js +5 -2
  55. package/menu/menu-item.d.ts +0 -2
  56. package/menu/menu-item.js +0 -8
  57. package/menu/menu.js +1 -12
  58. package/menubar/index.d.ts +3 -1
  59. package/menubar/index.js +3 -1
  60. package/number-field/index.d.ts +3 -1
  61. package/number-field/index.js +3 -1
  62. package/package.json +2 -2
  63. package/page-inset/index.d.ts +3 -1
  64. package/page-inset/index.js +3 -1
  65. package/popover/index.d.ts +9 -4
  66. package/popover/index.js +9 -4
  67. package/popover/popover-popup.js +1 -22
  68. package/portal/index.d.ts +3 -1
  69. package/portal/index.js +3 -1
  70. package/preview-card/index.d.ts +7 -3
  71. package/preview-card/index.js +7 -3
  72. package/preview-card/preview-card-popup.js +1 -23
  73. package/progress/index.d.ts +3 -1
  74. package/progress/index.js +3 -1
  75. package/radio/index.d.ts +5 -2
  76. package/radio/index.js +5 -2
  77. package/radio/radio.js +0 -1
  78. package/scroll-area/index.d.ts +3 -1
  79. package/scroll-area/index.js +3 -1
  80. package/scroll-area/scroll-area.js +7 -0
  81. package/select/index.d.ts +3 -1
  82. package/select/index.js +3 -1
  83. package/select/select.js +1 -35
  84. package/separator/index.d.ts +3 -1
  85. package/separator/index.js +3 -1
  86. package/sidebar/index.d.ts +27 -14
  87. package/sidebar/index.js +32 -13
  88. package/sidebar/sidebar-context.d.ts +1 -1
  89. package/sidebar/sidebar-menu-button.d.ts +0 -3
  90. package/sidebar/sidebar-menu-button.js +0 -7
  91. package/sidebar/sidebar-provider.d.ts +1 -1
  92. package/sidebar/sidebar-provider.js +1 -1
  93. package/sidebar/sidebar-trigger.js +1 -1
  94. package/slider/index.d.ts +3 -1
  95. package/slider/index.js +3 -1
  96. package/slider/slider.js +0 -1
  97. package/spinner/index.d.ts +3 -1
  98. package/spinner/index.js +3 -1
  99. package/spinner/spinner.d.ts +1 -6
  100. package/spinner/spinner.js +1 -8
  101. package/switch/index.d.ts +3 -1
  102. package/switch/index.js +3 -1
  103. package/switch/switch.js +0 -2
  104. package/tabs/index.d.ts +11 -5
  105. package/tabs/index.js +11 -5
  106. package/tabs/tab.js +0 -1
  107. package/tabs/tabs-panel.js +0 -1
  108. package/textarea/index.d.ts +4 -2
  109. package/textarea/index.js +3 -1
  110. package/textarea/textarea.d.ts +0 -3
  111. package/textarea/textarea.js +0 -8
  112. package/toggle/index.d.ts +5 -2
  113. package/toggle/index.js +5 -2
  114. package/toggle/toggle.d.ts +1 -0
  115. package/toggle/toggle.js +3 -0
  116. package/toolbar/index.d.ts +3 -1
  117. package/toolbar/index.js +3 -1
  118. package/toolbar/toolbar.d.ts +0 -2
  119. package/toolbar/toolbar.js +0 -7
  120. package/tooltip/index.d.ts +7 -3
  121. package/tooltip/index.js +7 -3
  122. package/tooltip/tooltip-popup.js +1 -26
  123. package/trunc/index.d.ts +3 -1
  124. package/trunc/index.js +3 -1
  125. package/vstack/index.d.ts +3 -1
  126. package/vstack/index.js +3 -1
  127. package/accordion/register.d.ts +0 -1
  128. package/accordion/register.js +0 -8
  129. package/alert-dialog/register.d.ts +0 -1
  130. package/alert-dialog/register.js +0 -16
  131. package/avatar/register.d.ts +0 -1
  132. package/avatar/register.js +0 -4
  133. package/badge/register.d.ts +0 -1
  134. package/badge/register.js +0 -4
  135. package/breadcrumb/register.d.ts +0 -1
  136. package/breadcrumb/register.js +0 -14
  137. package/button/register.d.ts +0 -1
  138. package/button/register.js +0 -4
  139. package/calendar/register.d.ts +0 -1
  140. package/calendar/register.js +0 -4
  141. package/center/register.d.ts +0 -1
  142. package/center/register.js +0 -4
  143. package/checkbox/register.d.ts +0 -1
  144. package/checkbox/register.js +0 -8
  145. package/collapsible/register.d.ts +0 -1
  146. package/collapsible/register.js +0 -4
  147. package/combobox/register.d.ts +0 -1
  148. package/combobox/register.js +0 -4
  149. package/command/register.d.ts +0 -1
  150. package/command/register.js +0 -22
  151. package/data-table/register.d.ts +0 -1
  152. package/data-table/register.js +0 -4
  153. package/dialog/register.d.ts +0 -1
  154. package/dialog/register.js +0 -16
  155. package/dropzone/register.d.ts +0 -1
  156. package/dropzone/register.js +0 -4
  157. package/hstack/register.d.ts +0 -1
  158. package/hstack/register.js +0 -4
  159. package/icon/register.d.ts +0 -1
  160. package/icon/register.js +0 -4
  161. package/input/register.d.ts +0 -1
  162. package/input/register.js +0 -4
  163. package/link/register.d.ts +0 -1
  164. package/link/register.js +0 -4
  165. package/menu/register.d.ts +0 -1
  166. package/menu/register.js +0 -8
  167. package/menubar/register.d.ts +0 -1
  168. package/menubar/register.js +0 -4
  169. package/number-field/register.d.ts +0 -1
  170. package/number-field/register.js +0 -4
  171. package/page-inset/register.d.ts +0 -1
  172. package/page-inset/register.js +0 -4
  173. package/popover/register.d.ts +0 -1
  174. package/popover/register.js +0 -16
  175. package/portal/register.d.ts +0 -1
  176. package/portal/register.js +0 -4
  177. package/preview-card/register.d.ts +0 -1
  178. package/preview-card/register.js +0 -12
  179. package/progress/register.d.ts +0 -1
  180. package/progress/register.js +0 -4
  181. package/radio/register.d.ts +0 -1
  182. package/radio/register.js +0 -8
  183. package/scroll-area/register.d.ts +0 -1
  184. package/scroll-area/register.js +0 -4
  185. package/select/register.d.ts +0 -1
  186. package/select/register.js +0 -4
  187. package/separator/register.d.ts +0 -1
  188. package/separator/register.js +0 -4
  189. package/sidebar/register.d.ts +0 -1
  190. package/sidebar/register.js +0 -52
  191. package/slider/register.d.ts +0 -1
  192. package/slider/register.js +0 -4
  193. package/spinner/register.d.ts +0 -1
  194. package/spinner/register.js +0 -4
  195. package/switch/register.d.ts +0 -1
  196. package/switch/register.js +0 -4
  197. package/tabs/register.d.ts +0 -1
  198. package/tabs/register.js +0 -10
  199. package/textarea/register.d.ts +0 -1
  200. package/textarea/register.js +0 -4
  201. package/toggle/register.d.ts +0 -1
  202. package/toggle/register.js +0 -8
  203. package/toolbar/register.d.ts +0 -1
  204. package/toolbar/register.js +0 -4
  205. package/tooltip/register.d.ts +0 -1
  206. package/tooltip/register.js +0 -12
  207. package/trunc/register.d.ts +0 -1
  208. package/trunc/register.js +0 -4
  209. package/vstack/register.d.ts +0 -1
  210. package/vstack/register.js +0 -4
package/README.md CHANGED
@@ -163,7 +163,14 @@ A visual editor for design tokens. Edit colors with OKLCH sliders, tweak spacing
163
163
 
164
164
  ### Inspector
165
165
 
166
- Toggle with **Ctrl+Shift+I** to inspect any DUI component at runtime view properties, design tokens, style layers, slots, and CSS parts. Also exposes `window.__dui_inspect()` for programmatic access by LLM agents via Chrome DevTools.
166
+ A runtime inspector and mutation API for DUI components. Two interfaces:
167
+
168
+ - **Visual UI** (Ctrl+Shift+I) — hover-highlight components, inspect properties/tokens/styles, edit theme CSS and design tokens live
169
+ - **Console API** — `window.__dui_inspect()`, `window.__dui_mutate.*`, `window.__dui_export()` for programmatic access by agents or scripts
170
+
171
+ Both share a changelog, so agent and human edits are visible to each other. Changes can be exported as structured source file diffs.
172
+
173
+ See **[Inspector docs](docs/inspector.md)** for the full API reference and usage guide.
167
174
 
168
175
  ## Documentation
169
176
 
@@ -172,6 +179,7 @@ Toggle with **Ctrl+Shift+I** to inspect any DUI component at runtime — view pr
172
179
  - [Creating Components](docs/creating-components.md) — guide for adding new components
173
180
  - [Theming](docs/theming.md) — theme system, design tokens, writing component styles
174
181
  - [Consuming](docs/consuming.md) — integrating DUI into an app
182
+ - [Inspector](docs/inspector.md) — runtime inspection, mutation API, and visual editor
175
183
  - [Accessibility](docs/accessibility.md) — accessibility patterns and guidelines
176
184
 
177
185
  ## Contributing
@@ -29,7 +29,6 @@ const styles = css `
29
29
  text-align: left;
30
30
  outline: none;
31
31
  box-sizing: border-box;
32
- transition-property: background, box-shadow, filter, transform;
33
32
  }
34
33
 
35
34
  [part="trigger"][data-disabled] {
@@ -38,7 +37,6 @@ const styles = css `
38
37
 
39
38
  [part="indicator"] {
40
39
  flex-shrink: 0;
41
- transition-property: transform;
42
40
  }
43
41
 
44
42
  [part="panel"] {
@@ -1,3 +1,6 @@
1
- export { DuiAccordion, valueChangeEvent } from "./accordion.js";
2
- export { DuiAccordionItem, openChangeEvent } from "./accordion-item.js";
1
+ import { DuiAccordion, valueChangeEvent } from "./accordion.js";
2
+ export { DuiAccordion, valueChangeEvent };
3
+ import { DuiAccordionItem, openChangeEvent } from "./accordion-item.js";
4
+ export { DuiAccordionItem, openChangeEvent };
3
5
  export type { AccordionContext } from "./accordion-context.js";
6
+ export declare const accordionFamily: (typeof DuiAccordion | typeof DuiAccordionItem)[];
@@ -1,2 +1,5 @@
1
- export { DuiAccordion, valueChangeEvent } from "./accordion.js";
2
- export { DuiAccordionItem, openChangeEvent } from "./accordion-item.js";
1
+ import { DuiAccordion, valueChangeEvent } from "./accordion.js";
2
+ export { DuiAccordion, valueChangeEvent };
3
+ import { DuiAccordionItem, openChangeEvent } from "./accordion-item.js";
4
+ export { DuiAccordionItem, openChangeEvent };
5
+ export const accordionFamily = [DuiAccordion, DuiAccordionItem];
@@ -1,6 +1,11 @@
1
- export { DuiAlertDialog, openChangeEvent } from "./alert-dialog.js";
1
+ import { DuiAlertDialog, openChangeEvent } from "./alert-dialog.js";
2
+ export { DuiAlertDialog, openChangeEvent };
2
3
  export type { AlertDialogOpenChangeDetail } from "./alert-dialog.js";
3
- export { DuiAlertDialogTrigger } from "./alert-dialog-trigger.js";
4
- export { DuiAlertDialogPopup } from "./alert-dialog-popup.js";
5
- export { DuiAlertDialogClose } from "./alert-dialog-close.js";
4
+ import { DuiAlertDialogTrigger } from "./alert-dialog-trigger.js";
5
+ export { DuiAlertDialogTrigger };
6
+ import { DuiAlertDialogPopup } from "./alert-dialog-popup.js";
7
+ export { DuiAlertDialogPopup };
8
+ import { DuiAlertDialogClose } from "./alert-dialog-close.js";
9
+ export { DuiAlertDialogClose };
6
10
  export type { AlertDialogContext } from "./alert-dialog-context.js";
11
+ export declare const alertDialogFamily: (typeof DuiAlertDialog | typeof DuiAlertDialogTrigger | typeof DuiAlertDialogPopup | typeof DuiAlertDialogClose)[];
@@ -1,4 +1,9 @@
1
- export { DuiAlertDialog, openChangeEvent } from "./alert-dialog.js";
2
- export { DuiAlertDialogTrigger } from "./alert-dialog-trigger.js";
3
- export { DuiAlertDialogPopup } from "./alert-dialog-popup.js";
4
- export { DuiAlertDialogClose } from "./alert-dialog-close.js";
1
+ import { DuiAlertDialog, openChangeEvent } from "./alert-dialog.js";
2
+ export { DuiAlertDialog, openChangeEvent };
3
+ import { DuiAlertDialogTrigger } from "./alert-dialog-trigger.js";
4
+ export { DuiAlertDialogTrigger };
5
+ import { DuiAlertDialogPopup } from "./alert-dialog-popup.js";
6
+ export { DuiAlertDialogPopup };
7
+ import { DuiAlertDialogClose } from "./alert-dialog-close.js";
8
+ export { DuiAlertDialogClose };
9
+ export const alertDialogFamily = [DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose];
package/all.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * @example
6
6
  * ```ts
7
- * import { applyTheme } from "@deepfuture/dui-core";
7
+ * import { applyTheme } from "@deepfuture/dui-core/apply-theme";
8
8
  * import { defaultTheme } from "@deepfuture/dui-theme-default";
9
9
  * import { allComponents } from "@deepfuture/dui-components/all";
10
10
  *
@@ -12,32 +12,73 @@
12
12
  * ```
13
13
  */
14
14
  import type { LitElement } from "lit";
15
+ import { accordionFamily } from "./accordion/index.js";
16
+ import { alertDialogFamily } from "./alert-dialog/index.js";
17
+ import { avatarFamily } from "./avatar/index.js";
18
+ import { badgeFamily } from "./badge/index.js";
19
+ import { breadcrumbFamily } from "./breadcrumb/index.js";
20
+ import { buttonFamily } from "./button/index.js";
21
+ import { calendarFamily } from "./calendar/index.js";
22
+ import { centerFamily } from "./center/index.js";
23
+ import { checkboxFamily } from "./checkbox/index.js";
24
+ import { collapsibleFamily } from "./collapsible/index.js";
25
+ import { comboboxFamily } from "./combobox/index.js";
26
+ import { commandFamily } from "./command/index.js";
27
+ import { dataTableFamily } from "./data-table/index.js";
28
+ import { dialogFamily } from "./dialog/index.js";
29
+ import { dropzoneFamily } from "./dropzone/index.js";
30
+ import { hstackFamily } from "./hstack/index.js";
31
+ import { iconFamily } from "./icon/index.js";
32
+ import { inputFamily } from "./input/index.js";
33
+ import { linkFamily } from "./link/index.js";
34
+ import { menuFamily } from "./menu/index.js";
35
+ import { menubarFamily } from "./menubar/index.js";
36
+ import { numberFieldFamily } from "./number-field/index.js";
37
+ import { pageInsetFamily } from "./page-inset/index.js";
38
+ import { popoverFamily } from "./popover/index.js";
39
+ import { portalFamily } from "./portal/index.js";
40
+ import { previewCardFamily } from "./preview-card/index.js";
41
+ import { progressFamily } from "./progress/index.js";
42
+ import { radioFamily } from "./radio/index.js";
43
+ import { scrollAreaFamily } from "./scroll-area/index.js";
44
+ import { selectFamily } from "./select/index.js";
45
+ import { separatorFamily } from "./separator/index.js";
46
+ import { sidebarFamily } from "./sidebar/index.js";
47
+ import { sliderFamily } from "./slider/index.js";
48
+ import { spinnerFamily } from "./spinner/index.js";
49
+ import { switchFamily } from "./switch/index.js";
50
+ import { tabsFamily } from "./tabs/index.js";
51
+ import { textareaFamily } from "./textarea/index.js";
52
+ import { toggleFamily } from "./toggle/index.js";
53
+ import { toolbarFamily } from "./toolbar/index.js";
54
+ import { tooltipFamily } from "./tooltip/index.js";
55
+ import { truncFamily } from "./trunc/index.js";
56
+ import { vstackFamily } from "./vstack/index.js";
57
+ export { accordionFamily, alertDialogFamily, avatarFamily, badgeFamily, breadcrumbFamily, buttonFamily, calendarFamily, centerFamily, checkboxFamily, collapsibleFamily, comboboxFamily, commandFamily, dataTableFamily, dialogFamily, dropzoneFamily, hstackFamily, iconFamily, inputFamily, linkFamily, menuFamily, menubarFamily, numberFieldFamily, pageInsetFamily, popoverFamily, portalFamily, previewCardFamily, progressFamily, radioFamily, scrollAreaFamily, selectFamily, separatorFamily, sidebarFamily, sliderFamily, spinnerFamily, switchFamily, tabsFamily, textareaFamily, toggleFamily, toolbarFamily, tooltipFamily, truncFamily, vstackFamily, };
15
58
  export { DuiAccordion, DuiAccordionItem } from "./accordion/index.js";
16
59
  export type { AccordionContext } from "./accordion/index.js";
17
- export { DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose, } from "./alert-dialog/index.js";
18
- export type { AlertDialogOpenChangeDetail, AlertDialogContext, } from "./alert-dialog/index.js";
60
+ export { DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose } from "./alert-dialog/index.js";
61
+ export type { AlertDialogOpenChangeDetail, AlertDialogContext } from "./alert-dialog/index.js";
19
62
  export { DuiAvatar } from "./avatar/index.js";
20
63
  export type { ImageStatus } from "./avatar/index.js";
21
64
  export { DuiBadge } from "./badge/index.js";
22
- export type { BadgeVariant } from "./badge/index.js";
23
- export { DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis, } from "./breadcrumb/index.js";
65
+ export { DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis } from "./breadcrumb/index.js";
24
66
  export { DuiButton } from "./button/index.js";
25
- export type { ButtonSize, ButtonVariant } from "./button/index.js";
26
67
  export { DuiCalendar } from "./calendar/index.js";
27
68
  export { DuiCenter } from "./center/index.js";
28
69
  export { DuiCheckbox, DuiCheckboxGroup } from "./checkbox/index.js";
29
70
  export type { CheckboxGroupContext } from "./checkbox/index.js";
30
71
  export { DuiCollapsible } from "./collapsible/index.js";
31
72
  export { DuiCombobox } from "./combobox/index.js";
32
- export type { SelectOption as ComboboxSelectOption, ComboboxValueChangeDetail, ComboboxValuesChangeDetail, } from "./combobox/index.js";
33
- export { DuiCommand, DuiCommandInput, DuiCommandList, DuiCommandGroup, DuiCommandItem, DuiCommandEmpty, DuiCommandSeparator, DuiCommandShortcut, } from "./command/index.js";
73
+ export type { SelectOption as ComboboxSelectOption, ComboboxValueChangeDetail, ComboboxValuesChangeDetail } from "./combobox/index.js";
74
+ export { DuiCommand, DuiCommandInput, DuiCommandList, DuiCommandGroup, DuiCommandItem, DuiCommandEmpty, DuiCommandSeparator, DuiCommandShortcut } from "./command/index.js";
34
75
  export type { CommandContext, CommandItemEntry } from "./command/index.js";
35
76
  export { DuiDataTable } from "./data-table/index.js";
36
- export type { ColumnDef, SortDirection, SortState, PageState, } from "./data-table/index.js";
37
- export { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose, } from "./dialog/index.js";
77
+ export type { ColumnDef, SortDirection, SortState, PageState } from "./data-table/index.js";
78
+ export { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose } from "./dialog/index.js";
38
79
  export type { DialogOpenChangeDetail, DialogContext } from "./dialog/index.js";
39
80
  export { DuiDropzone } from "./dropzone/index.js";
40
- export type { DropzoneErrorCode, DropzoneRejectionCode, FileRejectionError, RejectedFile, DropzoneDropDetail, DropzoneAcceptedDetail, DropzoneRejectedDetail, DropzoneErrorDetail, } from "./dropzone/index.js";
81
+ export type { DropzoneErrorCode, DropzoneRejectionCode, FileRejectionError, RejectedFile, DropzoneDropDetail, DropzoneAcceptedDetail, DropzoneRejectedDetail, DropzoneErrorDetail } from "./dropzone/index.js";
41
82
  export { DuiHstack } from "./hstack/index.js";
42
83
  export type { HstackAlignment, HstackJustify } from "./hstack/index.js";
43
84
  export { DuiIcon } from "./icon/index.js";
@@ -48,12 +89,12 @@ export { DuiMenubar } from "./menubar/index.js";
48
89
  export type { MenubarContext } from "./menubar/index.js";
49
90
  export { DuiNumberField } from "./number-field/index.js";
50
91
  export { DuiPageInset } from "./page-inset/index.js";
51
- export { DuiPopover, DuiPopoverTrigger, DuiPopoverPopup, DuiPopoverClose, } from "./popover/index.js";
52
- export type { PopoverOpenChangeDetail, PopoverContext, PopoverSide, } from "./popover/index.js";
92
+ export { DuiPopover, DuiPopoverTrigger, DuiPopoverPopup, DuiPopoverClose } from "./popover/index.js";
93
+ export type { PopoverOpenChangeDetail, PopoverContext, PopoverSide } from "./popover/index.js";
53
94
  export { DuiPortal } from "./portal/index.js";
54
95
  export type { QueryRoot } from "./portal/index.js";
55
- export { DuiPreviewCard, DuiPreviewCardTrigger, DuiPreviewCardPopup, } from "./preview-card/index.js";
56
- export type { PreviewCardOpenChangeDetail, PreviewCardContext, PreviewCardSide, } from "./preview-card/index.js";
96
+ export { DuiPreviewCard, DuiPreviewCardTrigger, DuiPreviewCardPopup } from "./preview-card/index.js";
97
+ export type { PreviewCardOpenChangeDetail, PreviewCardContext, PreviewCardSide } from "./preview-card/index.js";
57
98
  export { DuiProgress } from "./progress/index.js";
58
99
  export { DuiRadio, DuiRadioGroup } from "./radio/index.js";
59
100
  export type { RadioGroupContext } from "./radio/index.js";
@@ -61,19 +102,19 @@ export { DuiScrollArea } from "./scroll-area/index.js";
61
102
  export { DuiSelect } from "./select/index.js";
62
103
  export type { SelectOption } from "./select/index.js";
63
104
  export { DuiSeparator } from "./separator/index.js";
64
- export { DuiSidebarProvider, DuiSidebar, DuiSidebarTrigger, DuiSidebarContent, DuiSidebarHeader, DuiSidebarFooter, DuiSidebarGroup, DuiSidebarGroupLabel, DuiSidebarMenu, DuiSidebarMenuItem, DuiSidebarMenuButton, DuiSidebarSeparator, DuiSidebarInset, } from "./sidebar/index.js";
105
+ export { DuiSidebarProvider, DuiSidebar, DuiSidebarTrigger, DuiSidebarContent, DuiSidebarHeader, DuiSidebarFooter, DuiSidebarGroup, DuiSidebarGroupLabel, DuiSidebarMenu, DuiSidebarMenuItem, DuiSidebarMenuButton, DuiSidebarSeparator, DuiSidebarInset } from "./sidebar/index.js";
65
106
  export type { SidebarContext } from "./sidebar/index.js";
66
107
  export { DuiSlider } from "./slider/index.js";
67
108
  export { DuiSpinner } from "./spinner/index.js";
68
109
  export { DuiSwitch } from "./switch/index.js";
69
- export { DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator, } from "./tabs/index.js";
110
+ export { DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator } from "./tabs/index.js";
70
111
  export type { TabsContext } from "./tabs/index.js";
71
112
  export { DuiTextarea } from "./textarea/index.js";
72
- export type { TextareaResize, TextareaVariant } from "./textarea/index.js";
113
+ export type { TextareaResize } from "./textarea/index.js";
73
114
  export { DuiToggle, DuiToggleGroup } from "./toggle/index.js";
74
115
  export type { ToggleGroupContext } from "./toggle/index.js";
75
116
  export { DuiToolbar } from "./toolbar/index.js";
76
- export { DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup, } from "./tooltip/index.js";
117
+ export { DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup } from "./tooltip/index.js";
77
118
  export type { TooltipContext, TooltipSide } from "./tooltip/index.js";
78
119
  export { DuiTrunc } from "./trunc/index.js";
79
120
  export { DuiVstack } from "./vstack/index.js";
package/all.js CHANGED
@@ -4,188 +4,188 @@
4
4
  *
5
5
  * @example
6
6
  * ```ts
7
- * import { applyTheme } from "@deepfuture/dui-core";
7
+ * import { applyTheme } from "@deepfuture/dui-core/apply-theme";
8
8
  * import { defaultTheme } from "@deepfuture/dui-theme-default";
9
9
  * import { allComponents } from "@deepfuture/dui-components/all";
10
10
  *
11
11
  * applyTheme({ theme: defaultTheme, components: allComponents });
12
12
  * ```
13
13
  */
14
- // --- Accordion ---
14
+ // --- Component families (used to build allComponents) ---
15
+ import { accordionFamily } from "./accordion/index.js";
16
+ import { alertDialogFamily } from "./alert-dialog/index.js";
17
+ import { avatarFamily } from "./avatar/index.js";
18
+ import { badgeFamily } from "./badge/index.js";
19
+ import { breadcrumbFamily } from "./breadcrumb/index.js";
20
+ import { buttonFamily } from "./button/index.js";
21
+ import { calendarFamily } from "./calendar/index.js";
22
+ import { centerFamily } from "./center/index.js";
23
+ import { checkboxFamily } from "./checkbox/index.js";
24
+ import { collapsibleFamily } from "./collapsible/index.js";
25
+ import { comboboxFamily } from "./combobox/index.js";
26
+ import { commandFamily } from "./command/index.js";
27
+ import { dataTableFamily } from "./data-table/index.js";
28
+ import { dialogFamily } from "./dialog/index.js";
29
+ import { dropzoneFamily } from "./dropzone/index.js";
30
+ import { hstackFamily } from "./hstack/index.js";
31
+ import { iconFamily } from "./icon/index.js";
32
+ import { inputFamily } from "./input/index.js";
33
+ import { linkFamily } from "./link/index.js";
34
+ import { menuFamily } from "./menu/index.js";
35
+ import { menubarFamily } from "./menubar/index.js";
36
+ import { numberFieldFamily } from "./number-field/index.js";
37
+ import { pageInsetFamily } from "./page-inset/index.js";
38
+ import { popoverFamily } from "./popover/index.js";
39
+ import { portalFamily } from "./portal/index.js";
40
+ import { previewCardFamily } from "./preview-card/index.js";
41
+ import { progressFamily } from "./progress/index.js";
42
+ import { radioFamily } from "./radio/index.js";
43
+ import { scrollAreaFamily } from "./scroll-area/index.js";
44
+ import { selectFamily } from "./select/index.js";
45
+ import { separatorFamily } from "./separator/index.js";
46
+ import { sidebarFamily } from "./sidebar/index.js";
47
+ import { sliderFamily } from "./slider/index.js";
48
+ import { spinnerFamily } from "./spinner/index.js";
49
+ import { switchFamily } from "./switch/index.js";
50
+ import { tabsFamily } from "./tabs/index.js";
51
+ import { textareaFamily } from "./textarea/index.js";
52
+ import { toggleFamily } from "./toggle/index.js";
53
+ import { toolbarFamily } from "./toolbar/index.js";
54
+ import { tooltipFamily } from "./tooltip/index.js";
55
+ import { truncFamily } from "./trunc/index.js";
56
+ import { vstackFamily } from "./vstack/index.js";
57
+ // --- Re-export all families ---
58
+ export { accordionFamily, alertDialogFamily, avatarFamily, badgeFamily, breadcrumbFamily, buttonFamily, calendarFamily, centerFamily, checkboxFamily, collapsibleFamily, comboboxFamily, commandFamily, dataTableFamily, dialogFamily, dropzoneFamily, hstackFamily, iconFamily, inputFamily, linkFamily, menuFamily, menubarFamily, numberFieldFamily, pageInsetFamily, popoverFamily, portalFamily, previewCardFamily, progressFamily, radioFamily, scrollAreaFamily, selectFamily, separatorFamily, sidebarFamily, sliderFamily, spinnerFamily, switchFamily, tabsFamily, textareaFamily, toggleFamily, toolbarFamily, tooltipFamily, truncFamily, vstackFamily, };
59
+ // --- Re-export component classes and types (explicit to avoid name collisions) ---
60
+ // Accordion
15
61
  export { DuiAccordion, DuiAccordionItem } from "./accordion/index.js";
16
- // --- Alert Dialog ---
17
- export { DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose, } from "./alert-dialog/index.js";
18
- // --- Avatar ---
62
+ // Alert Dialog
63
+ export { DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose } from "./alert-dialog/index.js";
64
+ // Avatar
19
65
  export { DuiAvatar } from "./avatar/index.js";
20
- // --- Badge ---
66
+ // Badge
21
67
  export { DuiBadge } from "./badge/index.js";
22
- // --- Breadcrumb ---
23
- export { DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis, } from "./breadcrumb/index.js";
24
- // --- Button ---
68
+ // Breadcrumb
69
+ export { DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis } from "./breadcrumb/index.js";
70
+ // Button
25
71
  export { DuiButton } from "./button/index.js";
26
- // --- Calendar ---
72
+ // Calendar
27
73
  export { DuiCalendar } from "./calendar/index.js";
28
- // --- Center ---
74
+ // Center
29
75
  export { DuiCenter } from "./center/index.js";
30
- // --- Checkbox ---
76
+ // Checkbox
31
77
  export { DuiCheckbox, DuiCheckboxGroup } from "./checkbox/index.js";
32
- // --- Collapsible ---
78
+ // Collapsible
33
79
  export { DuiCollapsible } from "./collapsible/index.js";
34
- // --- Combobox ---
80
+ // Combobox
35
81
  export { DuiCombobox } from "./combobox/index.js";
36
- // --- Command ---
37
- export { DuiCommand, DuiCommandInput, DuiCommandList, DuiCommandGroup, DuiCommandItem, DuiCommandEmpty, DuiCommandSeparator, DuiCommandShortcut, } from "./command/index.js";
38
- // --- Data Table ---
82
+ // Command
83
+ export { DuiCommand, DuiCommandInput, DuiCommandList, DuiCommandGroup, DuiCommandItem, DuiCommandEmpty, DuiCommandSeparator, DuiCommandShortcut } from "./command/index.js";
84
+ // Data Table
39
85
  export { DuiDataTable } from "./data-table/index.js";
40
- // --- Dialog ---
41
- export { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose, } from "./dialog/index.js";
42
- // --- Dropzone ---
86
+ // Dialog
87
+ export { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose } from "./dialog/index.js";
88
+ // Dropzone
43
89
  export { DuiDropzone } from "./dropzone/index.js";
44
- // --- HStack ---
90
+ // HStack
45
91
  export { DuiHstack } from "./hstack/index.js";
46
- // --- Icon ---
92
+ // Icon
47
93
  export { DuiIcon } from "./icon/index.js";
48
- // --- Input ---
94
+ // Input
49
95
  export { DuiInput } from "./input/index.js";
50
- // --- Link ---
96
+ // Link
51
97
  export { DuiLink } from "./link/index.js";
52
- // --- Menu ---
98
+ // Menu
53
99
  export { DuiMenu, DuiMenuItem } from "./menu/index.js";
54
- // --- Menubar ---
100
+ // Menubar
55
101
  export { DuiMenubar } from "./menubar/index.js";
56
- // --- Number Field ---
102
+ // Number Field
57
103
  export { DuiNumberField } from "./number-field/index.js";
58
- // --- Page Inset ---
104
+ // Page Inset
59
105
  export { DuiPageInset } from "./page-inset/index.js";
60
- // --- Popover ---
61
- export { DuiPopover, DuiPopoverTrigger, DuiPopoverPopup, DuiPopoverClose, } from "./popover/index.js";
62
- // --- Portal ---
106
+ // Popover
107
+ export { DuiPopover, DuiPopoverTrigger, DuiPopoverPopup, DuiPopoverClose } from "./popover/index.js";
108
+ // Portal
63
109
  export { DuiPortal } from "./portal/index.js";
64
- // --- Preview Card ---
65
- export { DuiPreviewCard, DuiPreviewCardTrigger, DuiPreviewCardPopup, } from "./preview-card/index.js";
66
- // --- Progress ---
110
+ // Preview Card
111
+ export { DuiPreviewCard, DuiPreviewCardTrigger, DuiPreviewCardPopup } from "./preview-card/index.js";
112
+ // Progress
67
113
  export { DuiProgress } from "./progress/index.js";
68
- // --- Radio ---
114
+ // Radio
69
115
  export { DuiRadio, DuiRadioGroup } from "./radio/index.js";
70
- // --- Scroll Area ---
116
+ // Scroll Area
71
117
  export { DuiScrollArea } from "./scroll-area/index.js";
72
- // --- Select ---
118
+ // Select
73
119
  export { DuiSelect } from "./select/index.js";
74
- // --- Separator ---
120
+ // Separator
75
121
  export { DuiSeparator } from "./separator/index.js";
76
- // --- Sidebar ---
77
- export { DuiSidebarProvider, DuiSidebar, DuiSidebarTrigger, DuiSidebarContent, DuiSidebarHeader, DuiSidebarFooter, DuiSidebarGroup, DuiSidebarGroupLabel, DuiSidebarMenu, DuiSidebarMenuItem, DuiSidebarMenuButton, DuiSidebarSeparator, DuiSidebarInset, } from "./sidebar/index.js";
78
- // --- Slider ---
122
+ // Sidebar
123
+ export { DuiSidebarProvider, DuiSidebar, DuiSidebarTrigger, DuiSidebarContent, DuiSidebarHeader, DuiSidebarFooter, DuiSidebarGroup, DuiSidebarGroupLabel, DuiSidebarMenu, DuiSidebarMenuItem, DuiSidebarMenuButton, DuiSidebarSeparator, DuiSidebarInset } from "./sidebar/index.js";
124
+ // Slider
79
125
  export { DuiSlider } from "./slider/index.js";
80
- // --- Spinner ---
126
+ // Spinner
81
127
  export { DuiSpinner } from "./spinner/index.js";
82
- // --- Switch ---
128
+ // Switch
83
129
  export { DuiSwitch } from "./switch/index.js";
84
- // --- Tabs ---
85
- export { DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator, } from "./tabs/index.js";
86
- // --- Textarea ---
130
+ // Tabs
131
+ export { DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator } from "./tabs/index.js";
132
+ // Textarea
87
133
  export { DuiTextarea } from "./textarea/index.js";
88
- // --- Toggle ---
134
+ // Toggle
89
135
  export { DuiToggle, DuiToggleGroup } from "./toggle/index.js";
90
- // --- Toolbar ---
136
+ // Toolbar
91
137
  export { DuiToolbar } from "./toolbar/index.js";
92
- // --- Tooltip ---
93
- export { DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup, } from "./tooltip/index.js";
94
- // --- Trunc ---
138
+ // Tooltip
139
+ export { DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup } from "./tooltip/index.js";
140
+ // Trunc
95
141
  export { DuiTrunc } from "./trunc/index.js";
96
- // --- VStack ---
142
+ // VStack
97
143
  export { DuiVstack } from "./vstack/index.js";
98
144
  /**
99
145
  * All DUI component classes, ready for `applyTheme()`.
100
146
  * Includes every component and sub-component.
101
147
  */
102
148
  export const allComponents = [
103
- DuiAccordion,
104
- DuiAccordionItem,
105
- DuiAlertDialog,
106
- DuiAlertDialogTrigger,
107
- DuiAlertDialogPopup,
108
- DuiAlertDialogClose,
109
- DuiAvatar,
110
- DuiBadge,
111
- DuiBreadcrumb,
112
- DuiBreadcrumbItem,
113
- DuiBreadcrumbLink,
114
- DuiBreadcrumbPage,
115
- DuiBreadcrumbSeparator,
116
- DuiBreadcrumbEllipsis,
117
- DuiButton,
118
- DuiCalendar,
119
- DuiCenter,
120
- DuiCheckbox,
121
- DuiCheckboxGroup,
122
- DuiCollapsible,
123
- DuiCombobox,
124
- DuiCommand,
125
- DuiCommandInput,
126
- DuiCommandList,
127
- DuiCommandGroup,
128
- DuiCommandItem,
129
- DuiCommandEmpty,
130
- DuiCommandSeparator,
131
- DuiCommandShortcut,
132
- DuiDataTable,
133
- DuiDialog,
134
- DuiDialogTrigger,
135
- DuiDialogPopup,
136
- DuiDialogClose,
137
- DuiDropzone,
138
- DuiHstack,
139
- DuiIcon,
140
- DuiInput,
141
- DuiLink,
142
- DuiMenu,
143
- DuiMenuItem,
144
- DuiMenubar,
145
- DuiNumberField,
146
- DuiPageInset,
147
- DuiPopover,
148
- DuiPopoverTrigger,
149
- DuiPopoverPopup,
150
- DuiPopoverClose,
151
- DuiPortal,
152
- DuiPreviewCard,
153
- DuiPreviewCardTrigger,
154
- DuiPreviewCardPopup,
155
- DuiProgress,
156
- DuiRadio,
157
- DuiRadioGroup,
158
- DuiScrollArea,
159
- DuiSelect,
160
- DuiSeparator,
161
- DuiSidebarProvider,
162
- DuiSidebar,
163
- DuiSidebarTrigger,
164
- DuiSidebarContent,
165
- DuiSidebarHeader,
166
- DuiSidebarFooter,
167
- DuiSidebarGroup,
168
- DuiSidebarGroupLabel,
169
- DuiSidebarMenu,
170
- DuiSidebarMenuItem,
171
- DuiSidebarMenuButton,
172
- DuiSidebarSeparator,
173
- DuiSidebarInset,
174
- DuiSlider,
175
- DuiSpinner,
176
- DuiSwitch,
177
- DuiTabs,
178
- DuiTabsList,
179
- DuiTab,
180
- DuiTabsPanel,
181
- DuiTabsIndicator,
182
- DuiTextarea,
183
- DuiToggle,
184
- DuiToggleGroup,
185
- DuiToolbar,
186
- DuiTooltip,
187
- DuiTooltipTrigger,
188
- DuiTooltipPopup,
189
- DuiTrunc,
190
- DuiVstack,
149
+ ...accordionFamily,
150
+ ...alertDialogFamily,
151
+ ...avatarFamily,
152
+ ...badgeFamily,
153
+ ...breadcrumbFamily,
154
+ ...buttonFamily,
155
+ ...calendarFamily,
156
+ ...centerFamily,
157
+ ...checkboxFamily,
158
+ ...collapsibleFamily,
159
+ ...comboboxFamily,
160
+ ...commandFamily,
161
+ ...dataTableFamily,
162
+ ...dialogFamily,
163
+ ...dropzoneFamily,
164
+ ...hstackFamily,
165
+ ...iconFamily,
166
+ ...inputFamily,
167
+ ...linkFamily,
168
+ ...menuFamily,
169
+ ...menubarFamily,
170
+ ...numberFieldFamily,
171
+ ...pageInsetFamily,
172
+ ...popoverFamily,
173
+ ...portalFamily,
174
+ ...previewCardFamily,
175
+ ...progressFamily,
176
+ ...radioFamily,
177
+ ...scrollAreaFamily,
178
+ ...selectFamily,
179
+ ...separatorFamily,
180
+ ...sidebarFamily,
181
+ ...sliderFamily,
182
+ ...spinnerFamily,
183
+ ...switchFamily,
184
+ ...tabsFamily,
185
+ ...textareaFamily,
186
+ ...toggleFamily,
187
+ ...toolbarFamily,
188
+ ...tooltipFamily,
189
+ ...truncFamily,
190
+ ...vstackFamily,
191
191
  ];
package/avatar/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
- export { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
1
+ import { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
2
+ export { DuiAvatar, loadingStatusChangeEvent };
2
3
  export type { ImageStatus } from "./avatar.js";
4
+ export declare const avatarFamily: (typeof DuiAvatar)[];
package/avatar/index.js CHANGED
@@ -1 +1,3 @@
1
- export { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
1
+ import { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
2
+ export { DuiAvatar, loadingStatusChangeEvent };
3
+ export const avatarFamily = [DuiAvatar];
package/badge/badge.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { LitElement, type TemplateResult } from "lit";
2
- export type BadgeVariant = "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info";
3
2
  /**
4
3
  * `<dui-badge>` — A badge/chip component for status indicators and labels.
5
4
  *
@@ -9,6 +8,5 @@ export type BadgeVariant = "default" | "secondary" | "destructive" | "outline" |
9
8
  export declare class DuiBadge extends LitElement {
10
9
  static tagName: "dui-badge";
11
10
  static styles: import("lit").CSSResult[];
12
- accessor variant: BadgeVariant;
13
11
  render(): TemplateResult;
14
12
  }
package/badge/badge.js CHANGED
@@ -1,11 +1,4 @@
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;
6
- };
7
1
  import { css, html, LitElement } from "lit";
8
- import { property } from "lit/decorators.js";
9
2
  import { base } from "@deepfuture/dui-core/base";
10
3
  /** Structural styles only — layout CSS. */
11
4
  const styles = css `
@@ -27,9 +20,6 @@ const styles = css `
27
20
  export class DuiBadge extends LitElement {
28
21
  static { this.tagName = "dui-badge"; }
29
22
  static { this.styles = [base, styles]; }
30
- #variant_accessor_storage = "default";
31
- get variant() { return this.#variant_accessor_storage; }
32
- set variant(value) { this.#variant_accessor_storage = value; }
33
23
  render() {
34
24
  return html `
35
25
  <span part="root">
@@ -38,6 +28,3 @@ export class DuiBadge extends LitElement {
38
28
  `;
39
29
  }
40
30
  }
41
- __decorate([
42
- property({ reflect: true })
43
- ], DuiBadge.prototype, "variant", null);
package/badge/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
- export { DuiBadge } from "./badge.js";
2
- export type { BadgeVariant } from "./badge.js";
1
+ import { DuiBadge } from "./badge.js";
2
+ export { DuiBadge };
3
+ export declare const badgeFamily: (typeof DuiBadge)[];
package/badge/index.js CHANGED
@@ -1 +1,3 @@
1
- export { DuiBadge } from "./badge.js";
1
+ import { DuiBadge } from "./badge.js";
2
+ export { DuiBadge };
3
+ export const badgeFamily = [DuiBadge];