@deepfuture/dui-components 0.0.1

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 (380) hide show
  1. package/accordion/accordion-context.d.ts +15 -0
  2. package/accordion/accordion-context.js +3 -0
  3. package/accordion/accordion-item.d.ts +22 -0
  4. package/accordion/accordion-item.js +254 -0
  5. package/accordion/accordion.d.ts +20 -0
  6. package/accordion/accordion.js +185 -0
  7. package/accordion/index.d.ts +3 -0
  8. package/accordion/index.js +2 -0
  9. package/accordion/register.d.ts +1 -0
  10. package/accordion/register.js +8 -0
  11. package/alert-dialog/alert-dialog-close.d.ts +15 -0
  12. package/alert-dialog/alert-dialog-close.js +35 -0
  13. package/alert-dialog/alert-dialog-context.d.ts +13 -0
  14. package/alert-dialog/alert-dialog-context.js +3 -0
  15. package/alert-dialog/alert-dialog-popup.d.ts +34 -0
  16. package/alert-dialog/alert-dialog-popup.js +260 -0
  17. package/alert-dialog/alert-dialog-trigger.d.ts +15 -0
  18. package/alert-dialog/alert-dialog-trigger.js +52 -0
  19. package/alert-dialog/alert-dialog.d.ts +30 -0
  20. package/alert-dialog/alert-dialog.js +97 -0
  21. package/alert-dialog/index.d.ts +6 -0
  22. package/alert-dialog/index.js +4 -0
  23. package/alert-dialog/register.d.ts +1 -0
  24. package/alert-dialog/register.js +16 -0
  25. package/all.d.ts +86 -0
  26. package/all.js +191 -0
  27. package/avatar/avatar.d.ts +41 -0
  28. package/avatar/avatar.js +188 -0
  29. package/avatar/index.d.ts +2 -0
  30. package/avatar/index.js +1 -0
  31. package/avatar/register.d.ts +1 -0
  32. package/avatar/register.js +4 -0
  33. package/badge/badge.d.ts +14 -0
  34. package/badge/badge.js +43 -0
  35. package/badge/index.d.ts +2 -0
  36. package/badge/index.js +1 -0
  37. package/badge/register.d.ts +1 -0
  38. package/badge/register.js +4 -0
  39. package/breadcrumb/breadcrumb-ellipsis.d.ts +14 -0
  40. package/breadcrumb/breadcrumb-ellipsis.js +39 -0
  41. package/breadcrumb/breadcrumb-item.d.ts +13 -0
  42. package/breadcrumb/breadcrumb-item.js +31 -0
  43. package/breadcrumb/breadcrumb-link.d.ts +14 -0
  44. package/breadcrumb/breadcrumb-link.js +32 -0
  45. package/breadcrumb/breadcrumb-page.d.ts +13 -0
  46. package/breadcrumb/breadcrumb-page.js +36 -0
  47. package/breadcrumb/breadcrumb-separator.d.ts +14 -0
  48. package/breadcrumb/breadcrumb-separator.js +36 -0
  49. package/breadcrumb/breadcrumb.d.ts +14 -0
  50. package/breadcrumb/breadcrumb.js +38 -0
  51. package/breadcrumb/index.d.ts +6 -0
  52. package/breadcrumb/index.js +6 -0
  53. package/breadcrumb/register.d.ts +1 -0
  54. package/breadcrumb/register.js +14 -0
  55. package/button/button.d.ts +38 -0
  56. package/button/button.js +143 -0
  57. package/button/index.d.ts +2 -0
  58. package/button/index.js +1 -0
  59. package/button/register.d.ts +1 -0
  60. package/button/register.js +4 -0
  61. package/calendar/calendar.d.ts +33 -0
  62. package/calendar/calendar.js +428 -0
  63. package/calendar/index.d.ts +1 -0
  64. package/calendar/index.js +1 -0
  65. package/calendar/register.d.ts +1 -0
  66. package/calendar/register.js +4 -0
  67. package/center/center.d.ts +14 -0
  68. package/center/center.js +37 -0
  69. package/center/index.d.ts +1 -0
  70. package/center/index.js +1 -0
  71. package/center/register.d.ts +1 -0
  72. package/center/register.js +4 -0
  73. package/checkbox/checkbox-group-context.d.ts +11 -0
  74. package/checkbox/checkbox-group-context.js +3 -0
  75. package/checkbox/checkbox-group.d.ts +34 -0
  76. package/checkbox/checkbox-group.js +128 -0
  77. package/checkbox/checkbox.d.ts +46 -0
  78. package/checkbox/checkbox.js +314 -0
  79. package/checkbox/index.d.ts +3 -0
  80. package/checkbox/index.js +2 -0
  81. package/checkbox/register.d.ts +1 -0
  82. package/checkbox/register.js +8 -0
  83. package/collapsible/collapsible.d.ts +22 -0
  84. package/collapsible/collapsible.js +227 -0
  85. package/collapsible/index.d.ts +1 -0
  86. package/collapsible/index.js +1 -0
  87. package/collapsible/register.d.ts +1 -0
  88. package/collapsible/register.js +4 -0
  89. package/combobox/combobox.d.ts +46 -0
  90. package/combobox/combobox.js +524 -0
  91. package/combobox/index.d.ts +2 -0
  92. package/combobox/index.js +1 -0
  93. package/combobox/register.d.ts +1 -0
  94. package/combobox/register.js +4 -0
  95. package/command/command-context.d.ts +30 -0
  96. package/command/command-context.js +3 -0
  97. package/command/command-empty.d.ts +10 -0
  98. package/command/command-empty.js +50 -0
  99. package/command/command-group.d.ts +15 -0
  100. package/command/command-group.js +79 -0
  101. package/command/command-input.d.ts +13 -0
  102. package/command/command-input.js +106 -0
  103. package/command/command-item.d.ts +20 -0
  104. package/command/command-item.js +175 -0
  105. package/command/command-list.d.ts +9 -0
  106. package/command/command-list.js +43 -0
  107. package/command/command-score.d.ts +6 -0
  108. package/command/command-score.js +31 -0
  109. package/command/command-separator.d.ts +7 -0
  110. package/command/command-separator.js +15 -0
  111. package/command/command-shortcut.d.ts +7 -0
  112. package/command/command-shortcut.js +16 -0
  113. package/command/command.d.ts +25 -0
  114. package/command/command.js +278 -0
  115. package/command/index.d.ts +10 -0
  116. package/command/index.js +9 -0
  117. package/command/register.d.ts +1 -0
  118. package/command/register.js +22 -0
  119. package/data-table/data-table.d.ts +59 -0
  120. package/data-table/data-table.js +416 -0
  121. package/data-table/index.d.ts +2 -0
  122. package/data-table/index.js +1 -0
  123. package/data-table/register.d.ts +1 -0
  124. package/data-table/register.js +4 -0
  125. package/dialog/dialog-close.d.ts +15 -0
  126. package/dialog/dialog-close.js +35 -0
  127. package/dialog/dialog-context.d.ts +13 -0
  128. package/dialog/dialog-context.js +3 -0
  129. package/dialog/dialog-popup.d.ts +36 -0
  130. package/dialog/dialog-popup.js +277 -0
  131. package/dialog/dialog-trigger.d.ts +15 -0
  132. package/dialog/dialog-trigger.js +52 -0
  133. package/dialog/dialog.d.ts +30 -0
  134. package/dialog/dialog.js +97 -0
  135. package/dialog/index.d.ts +6 -0
  136. package/dialog/index.js +4 -0
  137. package/dialog/register.d.ts +1 -0
  138. package/dialog/register.js +16 -0
  139. package/dropzone/dropzone.d.ts +74 -0
  140. package/dropzone/dropzone.js +357 -0
  141. package/dropzone/index.d.ts +2 -0
  142. package/dropzone/index.js +1 -0
  143. package/dropzone/register.d.ts +1 -0
  144. package/dropzone/register.js +4 -0
  145. package/field/field-context.d.ts +20 -0
  146. package/field/field-context.js +2 -0
  147. package/field/index.d.ts +2 -0
  148. package/field/index.js +1 -0
  149. package/global.d.ts +189 -0
  150. package/hstack/hstack.d.ts +25 -0
  151. package/hstack/hstack.js +141 -0
  152. package/hstack/index.d.ts +2 -0
  153. package/hstack/index.js +1 -0
  154. package/hstack/register.d.ts +1 -0
  155. package/hstack/register.js +4 -0
  156. package/icon/icon.d.ts +16 -0
  157. package/icon/icon.js +34 -0
  158. package/icon/index.d.ts +1 -0
  159. package/icon/index.js +1 -0
  160. package/icon/register.d.ts +1 -0
  161. package/icon/register.js +4 -0
  162. package/input/index.d.ts +1 -0
  163. package/input/index.js +1 -0
  164. package/input/input.d.ts +47 -0
  165. package/input/input.js +205 -0
  166. package/input/register.d.ts +1 -0
  167. package/input/register.js +4 -0
  168. package/link/index.d.ts +1 -0
  169. package/link/index.js +1 -0
  170. package/link/link.d.ts +27 -0
  171. package/link/link.js +57 -0
  172. package/link/register.d.ts +1 -0
  173. package/link/register.js +4 -0
  174. package/menu/index.d.ts +2 -0
  175. package/menu/index.js +2 -0
  176. package/menu/menu-item.d.ts +17 -0
  177. package/menu/menu-item.js +62 -0
  178. package/menu/menu.d.ts +15 -0
  179. package/menu/menu.js +228 -0
  180. package/menu/register.d.ts +1 -0
  181. package/menu/register.js +8 -0
  182. package/menubar/index.d.ts +2 -0
  183. package/menubar/index.js +1 -0
  184. package/menubar/menubar-context.d.ts +9 -0
  185. package/menubar/menubar-context.js +2 -0
  186. package/menubar/menubar.d.ts +19 -0
  187. package/menubar/menubar.js +130 -0
  188. package/menubar/register.d.ts +1 -0
  189. package/menubar/register.js +4 -0
  190. package/number-field/index.d.ts +1 -0
  191. package/number-field/index.js +1 -0
  192. package/number-field/number-field.d.ts +34 -0
  193. package/number-field/number-field.js +326 -0
  194. package/number-field/register.d.ts +1 -0
  195. package/number-field/register.js +4 -0
  196. package/package.json +217 -0
  197. package/page-inset/index.d.ts +1 -0
  198. package/page-inset/index.js +1 -0
  199. package/page-inset/page-inset.d.ts +28 -0
  200. package/page-inset/page-inset.js +103 -0
  201. package/page-inset/register.d.ts +1 -0
  202. package/page-inset/register.js +4 -0
  203. package/popover/index.d.ts +6 -0
  204. package/popover/index.js +4 -0
  205. package/popover/popover-close.d.ts +13 -0
  206. package/popover/popover-close.js +33 -0
  207. package/popover/popover-context.d.ts +17 -0
  208. package/popover/popover-context.js +3 -0
  209. package/popover/popover-popup.d.ts +20 -0
  210. package/popover/popover-popup.js +176 -0
  211. package/popover/popover-trigger.d.ts +13 -0
  212. package/popover/popover-trigger.js +57 -0
  213. package/popover/popover.d.ts +30 -0
  214. package/popover/popover.js +140 -0
  215. package/popover/register.d.ts +1 -0
  216. package/popover/register.js +16 -0
  217. package/portal/index.d.ts +2 -0
  218. package/portal/index.js +1 -0
  219. package/portal/portal.d.ts +29 -0
  220. package/portal/portal.js +115 -0
  221. package/portal/register.d.ts +1 -0
  222. package/portal/register.js +4 -0
  223. package/preview-card/index.d.ts +5 -0
  224. package/preview-card/index.js +3 -0
  225. package/preview-card/preview-card-context.d.ts +16 -0
  226. package/preview-card/preview-card-context.js +3 -0
  227. package/preview-card/preview-card-popup.d.ts +16 -0
  228. package/preview-card/preview-card-popup.js +167 -0
  229. package/preview-card/preview-card-trigger.d.ts +13 -0
  230. package/preview-card/preview-card-trigger.js +75 -0
  231. package/preview-card/preview-card.d.ts +34 -0
  232. package/preview-card/preview-card.js +164 -0
  233. package/preview-card/register.d.ts +1 -0
  234. package/preview-card/register.js +12 -0
  235. package/progress/index.d.ts +1 -0
  236. package/progress/index.js +1 -0
  237. package/progress/progress.d.ts +19 -0
  238. package/progress/progress.js +94 -0
  239. package/progress/register.d.ts +1 -0
  240. package/progress/register.js +4 -0
  241. package/radio/index.d.ts +3 -0
  242. package/radio/index.js +2 -0
  243. package/radio/radio-group-context.d.ts +11 -0
  244. package/radio/radio-group-context.js +2 -0
  245. package/radio/radio-group.d.ts +37 -0
  246. package/radio/radio-group.js +135 -0
  247. package/radio/radio.d.ts +27 -0
  248. package/radio/radio.js +204 -0
  249. package/radio/register.d.ts +1 -0
  250. package/radio/register.js +8 -0
  251. package/scroll-area/index.d.ts +1 -0
  252. package/scroll-area/index.js +1 -0
  253. package/scroll-area/register.d.ts +1 -0
  254. package/scroll-area/register.js +4 -0
  255. package/scroll-area/scroll-area.d.ts +38 -0
  256. package/scroll-area/scroll-area.js +453 -0
  257. package/select/index.d.ts +2 -0
  258. package/select/index.js +1 -0
  259. package/select/register.d.ts +1 -0
  260. package/select/register.js +4 -0
  261. package/select/select.d.ts +36 -0
  262. package/select/select.js +404 -0
  263. package/separator/index.d.ts +1 -0
  264. package/separator/index.js +1 -0
  265. package/separator/register.d.ts +1 -0
  266. package/separator/register.js +4 -0
  267. package/separator/separator.d.ts +12 -0
  268. package/separator/separator.js +50 -0
  269. package/sidebar/index.d.ts +16 -0
  270. package/sidebar/index.js +13 -0
  271. package/sidebar/register.d.ts +1 -0
  272. package/sidebar/register.js +52 -0
  273. package/sidebar/sidebar-content.d.ts +14 -0
  274. package/sidebar/sidebar-content.js +30 -0
  275. package/sidebar/sidebar-context.d.ts +15 -0
  276. package/sidebar/sidebar-context.js +3 -0
  277. package/sidebar/sidebar-footer.d.ts +12 -0
  278. package/sidebar/sidebar-footer.js +21 -0
  279. package/sidebar/sidebar-group-label.d.ts +17 -0
  280. package/sidebar/sidebar-group-label.js +49 -0
  281. package/sidebar/sidebar-group.d.ts +15 -0
  282. package/sidebar/sidebar-group.js +29 -0
  283. package/sidebar/sidebar-header.d.ts +12 -0
  284. package/sidebar/sidebar-header.js +21 -0
  285. package/sidebar/sidebar-inset.d.ts +15 -0
  286. package/sidebar/sidebar-inset.js +29 -0
  287. package/sidebar/sidebar-menu-button.d.ts +31 -0
  288. package/sidebar/sidebar-menu-button.js +201 -0
  289. package/sidebar/sidebar-menu-item.d.ts +12 -0
  290. package/sidebar/sidebar-menu-item.js +20 -0
  291. package/sidebar/sidebar-menu.d.ts +14 -0
  292. package/sidebar/sidebar-menu.js +30 -0
  293. package/sidebar/sidebar-provider.d.ts +34 -0
  294. package/sidebar/sidebar-provider.js +157 -0
  295. package/sidebar/sidebar-separator.d.ts +12 -0
  296. package/sidebar/sidebar-separator.js +24 -0
  297. package/sidebar/sidebar-trigger.d.ts +16 -0
  298. package/sidebar/sidebar-trigger.js +50 -0
  299. package/sidebar/sidebar.d.ts +21 -0
  300. package/sidebar/sidebar.js +228 -0
  301. package/slider/index.d.ts +1 -0
  302. package/slider/index.js +1 -0
  303. package/slider/register.d.ts +1 -0
  304. package/slider/register.js +4 -0
  305. package/slider/slider.d.ts +37 -0
  306. package/slider/slider.js +268 -0
  307. package/spinner/index.d.ts +1 -0
  308. package/spinner/index.js +1 -0
  309. package/spinner/register.d.ts +1 -0
  310. package/spinner/register.js +4 -0
  311. package/spinner/spinner.d.ts +18 -0
  312. package/spinner/spinner.js +138 -0
  313. package/switch/index.d.ts +1 -0
  314. package/switch/index.js +1 -0
  315. package/switch/register.d.ts +1 -0
  316. package/switch/register.js +4 -0
  317. package/switch/switch.d.ts +29 -0
  318. package/switch/switch.js +201 -0
  319. package/tabs/index.d.ts +6 -0
  320. package/tabs/index.js +5 -0
  321. package/tabs/register.d.ts +1 -0
  322. package/tabs/register.js +10 -0
  323. package/tabs/tab.d.ts +16 -0
  324. package/tabs/tab.js +98 -0
  325. package/tabs/tabs-context.d.ts +8 -0
  326. package/tabs/tabs-context.js +2 -0
  327. package/tabs/tabs-indicator.d.ts +11 -0
  328. package/tabs/tabs-indicator.js +27 -0
  329. package/tabs/tabs-list.d.ts +17 -0
  330. package/tabs/tabs-list.js +85 -0
  331. package/tabs/tabs-panel.d.ts +18 -0
  332. package/tabs/tabs-panel.js +85 -0
  333. package/tabs/tabs.d.ts +24 -0
  334. package/tabs/tabs.js +111 -0
  335. package/textarea/index.d.ts +2 -0
  336. package/textarea/index.js +1 -0
  337. package/textarea/register.d.ts +1 -0
  338. package/textarea/register.js +4 -0
  339. package/textarea/textarea.d.ts +37 -0
  340. package/textarea/textarea.js +170 -0
  341. package/toggle/index.d.ts +3 -0
  342. package/toggle/index.js +2 -0
  343. package/toggle/register.d.ts +1 -0
  344. package/toggle/register.js +8 -0
  345. package/toggle/toggle-group-context.d.ts +9 -0
  346. package/toggle/toggle-group-context.js +2 -0
  347. package/toggle/toggle-group.d.ts +27 -0
  348. package/toggle/toggle-group.js +163 -0
  349. package/toggle/toggle.d.ts +25 -0
  350. package/toggle/toggle.js +124 -0
  351. package/toolbar/index.d.ts +1 -0
  352. package/toolbar/index.js +1 -0
  353. package/toolbar/register.d.ts +1 -0
  354. package/toolbar/register.js +4 -0
  355. package/toolbar/toolbar.d.ts +15 -0
  356. package/toolbar/toolbar.js +89 -0
  357. package/tooltip/index.d.ts +5 -0
  358. package/tooltip/index.js +3 -0
  359. package/tooltip/register.d.ts +1 -0
  360. package/tooltip/register.js +12 -0
  361. package/tooltip/tooltip-context.d.ts +17 -0
  362. package/tooltip/tooltip-context.js +3 -0
  363. package/tooltip/tooltip-popup.d.ts +16 -0
  364. package/tooltip/tooltip-popup.js +162 -0
  365. package/tooltip/tooltip-trigger.d.ts +15 -0
  366. package/tooltip/tooltip-trigger.js +110 -0
  367. package/tooltip/tooltip.d.ts +36 -0
  368. package/tooltip/tooltip.js +176 -0
  369. package/trunc/index.d.ts +1 -0
  370. package/trunc/index.js +1 -0
  371. package/trunc/register.d.ts +1 -0
  372. package/trunc/register.js +4 -0
  373. package/trunc/trunc.d.ts +19 -0
  374. package/trunc/trunc.js +68 -0
  375. package/vstack/index.d.ts +1 -0
  376. package/vstack/index.js +1 -0
  377. package/vstack/register.d.ts +1 -0
  378. package/vstack/register.js +4 -0
  379. package/vstack/vstack.d.ts +17 -0
  380. package/vstack/vstack.js +83 -0
package/all.js ADDED
@@ -0,0 +1,191 @@
1
+ /**
2
+ * Barrel export of all DUI components.
3
+ * Provides the `allComponents` array for one-shot `applyTheme()` registration.
4
+ *
5
+ * @example
6
+ * ```ts
7
+ * import { applyTheme } from "@deepfuture/dui-core";
8
+ * import { defaultTheme } from "@deepfuture/dui-theme-default";
9
+ * import { allComponents } from "@deepfuture/dui-components/all";
10
+ *
11
+ * applyTheme({ theme: defaultTheme, components: allComponents });
12
+ * ```
13
+ */
14
+ // --- Accordion ---
15
+ export { DuiAccordion, DuiAccordionItem } from "./accordion/index.js";
16
+ // --- Alert Dialog ---
17
+ export { DuiAlertDialog, DuiAlertDialogTrigger, DuiAlertDialogPopup, DuiAlertDialogClose, } from "./alert-dialog/index.js";
18
+ // --- Avatar ---
19
+ export { DuiAvatar } from "./avatar/index.js";
20
+ // --- Badge ---
21
+ export { DuiBadge } from "./badge/index.js";
22
+ // --- Breadcrumb ---
23
+ export { DuiBreadcrumb, DuiBreadcrumbItem, DuiBreadcrumbLink, DuiBreadcrumbPage, DuiBreadcrumbSeparator, DuiBreadcrumbEllipsis, } from "./breadcrumb/index.js";
24
+ // --- Button ---
25
+ export { DuiButton } from "./button/index.js";
26
+ // --- Calendar ---
27
+ export { DuiCalendar } from "./calendar/index.js";
28
+ // --- Center ---
29
+ export { DuiCenter } from "./center/index.js";
30
+ // --- Checkbox ---
31
+ export { DuiCheckbox, DuiCheckboxGroup } from "./checkbox/index.js";
32
+ // --- Collapsible ---
33
+ export { DuiCollapsible } from "./collapsible/index.js";
34
+ // --- Combobox ---
35
+ 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 ---
39
+ export { DuiDataTable } from "./data-table/index.js";
40
+ // --- Dialog ---
41
+ export { DuiDialog, DuiDialogTrigger, DuiDialogPopup, DuiDialogClose, } from "./dialog/index.js";
42
+ // --- Dropzone ---
43
+ export { DuiDropzone } from "./dropzone/index.js";
44
+ // --- HStack ---
45
+ export { DuiHstack } from "./hstack/index.js";
46
+ // --- Icon ---
47
+ export { DuiIcon } from "./icon/index.js";
48
+ // --- Input ---
49
+ export { DuiInput } from "./input/index.js";
50
+ // --- Link ---
51
+ export { DuiLink } from "./link/index.js";
52
+ // --- Menu ---
53
+ export { DuiMenu, DuiMenuItem } from "./menu/index.js";
54
+ // --- Menubar ---
55
+ export { DuiMenubar } from "./menubar/index.js";
56
+ // --- Number Field ---
57
+ export { DuiNumberField } from "./number-field/index.js";
58
+ // --- Page Inset ---
59
+ export { DuiPageInset } from "./page-inset/index.js";
60
+ // --- Popover ---
61
+ export { DuiPopover, DuiPopoverTrigger, DuiPopoverPopup, DuiPopoverClose, } from "./popover/index.js";
62
+ // --- Portal ---
63
+ export { DuiPortal } from "./portal/index.js";
64
+ // --- Preview Card ---
65
+ export { DuiPreviewCard, DuiPreviewCardTrigger, DuiPreviewCardPopup, } from "./preview-card/index.js";
66
+ // --- Progress ---
67
+ export { DuiProgress } from "./progress/index.js";
68
+ // --- Radio ---
69
+ export { DuiRadio, DuiRadioGroup } from "./radio/index.js";
70
+ // --- Scroll Area ---
71
+ export { DuiScrollArea } from "./scroll-area/index.js";
72
+ // --- Select ---
73
+ export { DuiSelect } from "./select/index.js";
74
+ // --- Separator ---
75
+ 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 ---
79
+ export { DuiSlider } from "./slider/index.js";
80
+ // --- Spinner ---
81
+ export { DuiSpinner } from "./spinner/index.js";
82
+ // --- Switch ---
83
+ export { DuiSwitch } from "./switch/index.js";
84
+ // --- Tabs ---
85
+ export { DuiTabs, DuiTabsList, DuiTab, DuiTabsPanel, DuiTabsIndicator, } from "./tabs/index.js";
86
+ // --- Textarea ---
87
+ export { DuiTextarea } from "./textarea/index.js";
88
+ // --- Toggle ---
89
+ export { DuiToggle, DuiToggleGroup } from "./toggle/index.js";
90
+ // --- Toolbar ---
91
+ export { DuiToolbar } from "./toolbar/index.js";
92
+ // --- Tooltip ---
93
+ export { DuiTooltip, DuiTooltipTrigger, DuiTooltipPopup, } from "./tooltip/index.js";
94
+ // --- Trunc ---
95
+ export { DuiTrunc } from "./trunc/index.js";
96
+ // --- VStack ---
97
+ export { DuiVstack } from "./vstack/index.js";
98
+ /**
99
+ * All DUI component classes, ready for `applyTheme()`.
100
+ * Includes every component and sub-component.
101
+ */
102
+ 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,
191
+ ];
@@ -0,0 +1,41 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/avatar */
2
+ import { LitElement, type PropertyValues, type TemplateResult } from "lit";
3
+ export type ImageStatus = "idle" | "loading" | "loaded" | "error";
4
+ export declare const loadingStatusChangeEvent: (detail: {
5
+ status: ImageStatus;
6
+ }) => CustomEvent<{
7
+ status: ImageStatus;
8
+ }>;
9
+ /**
10
+ * `<dui-avatar>` — Avatar component with image and fallback support.
11
+ *
12
+ * Renders an image when `src` is provided and loads successfully.
13
+ * Falls back to slotted content (e.g. initials) after an optional delay.
14
+ *
15
+ * @slot - Fallback content shown when the image is unavailable.
16
+ * @csspart root - The avatar container.
17
+ * @csspart image - The avatar image element.
18
+ * @csspart fallback - The fallback content container.
19
+ * @cssprop --avatar-size - Avatar dimensions (width and height). Default: var(--space-12).
20
+ * @fires loading-status-change - Fired when the image loading status changes. Detail: { status }
21
+ */
22
+ export declare class DuiAvatar extends LitElement {
23
+ #private;
24
+ static tagName: "dui-avatar";
25
+ static styles: import("lit").CSSResult[];
26
+ /** Image URL for the avatar. */
27
+ accessor src: string | undefined;
28
+ /** Alt text for the avatar image. */
29
+ accessor alt: string;
30
+ /** Milliseconds to wait before showing fallback content. */
31
+ accessor fallbackDelay: number | undefined;
32
+ /**
33
+ * Avatar size as a CSS length value (e.g. `"var(--space-8)"`, `"2rem"`).
34
+ * When set, overrides `--avatar-size` on the host.
35
+ */
36
+ accessor size: string | undefined;
37
+ connectedCallback(): void;
38
+ disconnectedCallback(): void;
39
+ willUpdate(changed: PropertyValues): void;
40
+ render(): TemplateResult;
41
+ }
@@ -0,0 +1,188 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/avatar */
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;
7
+ };
8
+ import { css, html, LitElement, nothing, } from "lit";
9
+ import { property } from "lit/decorators.js";
10
+ import { base } from "@deepfuture/dui-core/base";
11
+ import { customEvent } from "@deepfuture/dui-core/event";
12
+ export const loadingStatusChangeEvent = customEvent("loading-status-change", { bubbles: true, composed: true });
13
+ /** Structural styles only — layout CSS. */
14
+ const styles = css `
15
+ :host {
16
+ --avatar-size: var(--space-12);
17
+ display: inline-block;
18
+ }
19
+
20
+ [part="root"] {
21
+ display: inline-flex;
22
+ justify-content: center;
23
+ align-items: center;
24
+ vertical-align: middle;
25
+ user-select: none;
26
+ overflow: hidden;
27
+ height: var(--avatar-size);
28
+ width: var(--avatar-size);
29
+ }
30
+
31
+ [part="image"] {
32
+ object-fit: cover;
33
+ height: 100%;
34
+ width: 100%;
35
+ }
36
+
37
+ [part="fallback"] {
38
+ display: flex;
39
+ align-items: center;
40
+ justify-content: center;
41
+ height: 100%;
42
+ width: 100%;
43
+ }
44
+ `;
45
+ /**
46
+ * `<dui-avatar>` — Avatar component with image and fallback support.
47
+ *
48
+ * Renders an image when `src` is provided and loads successfully.
49
+ * Falls back to slotted content (e.g. initials) after an optional delay.
50
+ *
51
+ * @slot - Fallback content shown when the image is unavailable.
52
+ * @csspart root - The avatar container.
53
+ * @csspart image - The avatar image element.
54
+ * @csspart fallback - The fallback content container.
55
+ * @cssprop --avatar-size - Avatar dimensions (width and height). Default: var(--space-12).
56
+ * @fires loading-status-change - Fired when the image loading status changes. Detail: { status }
57
+ */
58
+ export class DuiAvatar extends LitElement {
59
+ static { this.tagName = "dui-avatar"; }
60
+ static { this.styles = [base, styles]; }
61
+ #src_accessor_storage = undefined;
62
+ /** Image URL for the avatar. */
63
+ get src() { return this.#src_accessor_storage; }
64
+ set src(value) { this.#src_accessor_storage = value; }
65
+ #alt_accessor_storage = "";
66
+ /** Alt text for the avatar image. */
67
+ get alt() { return this.#alt_accessor_storage; }
68
+ set alt(value) { this.#alt_accessor_storage = value; }
69
+ #fallbackDelay_accessor_storage = undefined;
70
+ /** Milliseconds to wait before showing fallback content. */
71
+ get fallbackDelay() { return this.#fallbackDelay_accessor_storage; }
72
+ set fallbackDelay(value) { this.#fallbackDelay_accessor_storage = value; }
73
+ #size_accessor_storage = undefined;
74
+ /**
75
+ * Avatar size as a CSS length value (e.g. `"var(--space-8)"`, `"2rem"`).
76
+ * When set, overrides `--avatar-size` on the host.
77
+ */
78
+ get size() { return this.#size_accessor_storage; }
79
+ set size(value) { this.#size_accessor_storage = value; }
80
+ #imageStatus_accessor_storage = "idle";
81
+ get #imageStatus() { return this.#imageStatus_accessor_storage; }
82
+ set #imageStatus(value) { this.#imageStatus_accessor_storage = value; }
83
+ #delayPassed_accessor_storage = false;
84
+ get #delayPassed() { return this.#delayPassed_accessor_storage; }
85
+ set #delayPassed(value) { this.#delayPassed_accessor_storage = value; }
86
+ #probeImage;
87
+ #delayTimer;
88
+ #setImageStatus(status) {
89
+ this.#imageStatus = status;
90
+ this.dispatchEvent(loadingStatusChangeEvent({ status }));
91
+ }
92
+ #startProbe() {
93
+ this.#cleanupProbe();
94
+ if (!this.src) {
95
+ this.#setImageStatus("error");
96
+ return;
97
+ }
98
+ this.#setImageStatus("loading");
99
+ const img = new Image();
100
+ img.onload = () => this.#setImageStatus("loaded");
101
+ img.onerror = () => this.#setImageStatus("error");
102
+ img.src = this.src;
103
+ this.#probeImage = img;
104
+ }
105
+ #cleanupProbe() {
106
+ if (this.#probeImage) {
107
+ this.#probeImage.onload = null;
108
+ this.#probeImage.onerror = null;
109
+ this.#probeImage = undefined;
110
+ }
111
+ }
112
+ #startDelay() {
113
+ this.#clearDelay();
114
+ if (this.fallbackDelay === undefined || this.fallbackDelay <= 0) {
115
+ this.#delayPassed = true;
116
+ return;
117
+ }
118
+ this.#delayPassed = false;
119
+ this.#delayTimer = setTimeout(() => {
120
+ this.#delayPassed = true;
121
+ }, this.fallbackDelay);
122
+ }
123
+ #clearDelay() {
124
+ if (this.#delayTimer !== undefined) {
125
+ clearTimeout(this.#delayTimer);
126
+ this.#delayTimer = undefined;
127
+ }
128
+ }
129
+ connectedCallback() {
130
+ super.connectedCallback();
131
+ this.#startDelay();
132
+ this.#startProbe();
133
+ }
134
+ disconnectedCallback() {
135
+ super.disconnectedCallback();
136
+ this.#cleanupProbe();
137
+ this.#clearDelay();
138
+ }
139
+ willUpdate(changed) {
140
+ if (changed.has("size")) {
141
+ if (this.size) {
142
+ this.style.setProperty("--avatar-size", this.size);
143
+ }
144
+ else {
145
+ this.style.removeProperty("--avatar-size");
146
+ }
147
+ }
148
+ if (changed.has("src")) {
149
+ this.#startProbe();
150
+ }
151
+ if (changed.has("fallbackDelay")) {
152
+ this.#startDelay();
153
+ }
154
+ }
155
+ render() {
156
+ const showImage = this.src && this.#imageStatus === "loaded";
157
+ const showFallback = !showImage && this.#delayPassed;
158
+ return html `
159
+ <span part="root">
160
+ ${showImage
161
+ ? html `
162
+ <img
163
+ part="image"
164
+ src="${this.src}"
165
+ alt="${this.alt}"
166
+ />
167
+ `
168
+ : showFallback
169
+ ? html `
170
+ <span part="fallback"><slot></slot></span>
171
+ `
172
+ : nothing}
173
+ </span>
174
+ `;
175
+ }
176
+ }
177
+ __decorate([
178
+ property()
179
+ ], DuiAvatar.prototype, "src", null);
180
+ __decorate([
181
+ property()
182
+ ], DuiAvatar.prototype, "alt", null);
183
+ __decorate([
184
+ property({ type: Number, attribute: "fallback-delay" })
185
+ ], DuiAvatar.prototype, "fallbackDelay", null);
186
+ __decorate([
187
+ property({ reflect: true })
188
+ ], DuiAvatar.prototype, "size", null);
@@ -0,0 +1,2 @@
1
+ export { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
2
+ export type { ImageStatus } from "./avatar.js";
@@ -0,0 +1 @@
1
+ export { DuiAvatar, loadingStatusChangeEvent } from "./avatar.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { DuiAvatar } from "./index.js";
2
+ if (!customElements.get(DuiAvatar.tagName)) {
3
+ customElements.define(DuiAvatar.tagName, DuiAvatar);
4
+ }
@@ -0,0 +1,14 @@
1
+ import { LitElement, type TemplateResult } from "lit";
2
+ export type BadgeVariant = "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info";
3
+ /**
4
+ * `<dui-badge>` — A badge/chip component for status indicators and labels.
5
+ *
6
+ * @slot - Badge content — text and/or icons.
7
+ * @csspart root - The badge span element.
8
+ */
9
+ export declare class DuiBadge extends LitElement {
10
+ static tagName: "dui-badge";
11
+ static styles: import("lit").CSSResult[];
12
+ accessor variant: BadgeVariant;
13
+ render(): TemplateResult;
14
+ }
package/badge/badge.js ADDED
@@ -0,0 +1,43 @@
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
+ import { css, html, LitElement } from "lit";
8
+ import { property } from "lit/decorators.js";
9
+ import { base } from "@deepfuture/dui-core/base";
10
+ /** Structural styles only — layout CSS. */
11
+ const styles = css `
12
+ :host {
13
+ display: inline-block;
14
+ }
15
+
16
+ [part="root"] {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ }
20
+ `;
21
+ /**
22
+ * `<dui-badge>` — A badge/chip component for status indicators and labels.
23
+ *
24
+ * @slot - Badge content — text and/or icons.
25
+ * @csspart root - The badge span element.
26
+ */
27
+ export class DuiBadge extends LitElement {
28
+ static { this.tagName = "dui-badge"; }
29
+ 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
+ render() {
34
+ return html `
35
+ <span part="root">
36
+ <slot></slot>
37
+ </span>
38
+ `;
39
+ }
40
+ }
41
+ __decorate([
42
+ property({ reflect: true })
43
+ ], DuiBadge.prototype, "variant", null);
@@ -0,0 +1,2 @@
1
+ export { DuiBadge } from "./badge.js";
2
+ export type { BadgeVariant } from "./badge.js";
package/badge/index.js ADDED
@@ -0,0 +1 @@
1
+ export { DuiBadge } from "./badge.js";
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { DuiBadge } from "./index.js";
2
+ if (!customElements.get(DuiBadge.tagName)) {
3
+ customElements.define(DuiBadge.tagName, DuiBadge);
4
+ }
@@ -0,0 +1,14 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { LitElement, type TemplateResult } from "lit";
3
+ /**
4
+ * `<dui-breadcrumb-ellipsis>` — Collapsed breadcrumb indicator.
5
+ * Defaults to "\u2026" but can be overridden via slot (e.g., an icon).
6
+ *
7
+ * @slot - Custom ellipsis content. Defaults to "\u2026".
8
+ * @csspart root - The `<span>` element (presentational, aria-hidden).
9
+ */
10
+ export declare class DuiBreadcrumbEllipsis extends LitElement {
11
+ static tagName: "dui-breadcrumb-ellipsis";
12
+ static styles: import("lit").CSSResult[];
13
+ render(): TemplateResult;
14
+ }
@@ -0,0 +1,39 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { css, html, LitElement } from "lit";
3
+ import { base } from "@deepfuture/dui-core/base";
4
+ /** Structural styles only — layout CSS. */
5
+ const styles = css `
6
+ :host {
7
+ display: flex;
8
+ align-items: center;
9
+ justify-content: center;
10
+ }
11
+
12
+ [part="root"] {
13
+ display: flex;
14
+ align-items: center;
15
+ justify-content: center;
16
+ }
17
+ `;
18
+ /**
19
+ * `<dui-breadcrumb-ellipsis>` — Collapsed breadcrumb indicator.
20
+ * Defaults to "\u2026" but can be overridden via slot (e.g., an icon).
21
+ *
22
+ * @slot - Custom ellipsis content. Defaults to "\u2026".
23
+ * @csspart root - The `<span>` element (presentational, aria-hidden).
24
+ */
25
+ export class DuiBreadcrumbEllipsis extends LitElement {
26
+ static { this.tagName = "dui-breadcrumb-ellipsis"; }
27
+ static { this.styles = [base, styles]; }
28
+ render() {
29
+ return html `
30
+ <span
31
+ role="presentation"
32
+ aria-hidden="true"
33
+ part="root"
34
+ >
35
+ <slot>&hellip;</slot>
36
+ </span>
37
+ `;
38
+ }
39
+ }
@@ -0,0 +1,13 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { LitElement, type TemplateResult } from "lit";
3
+ /**
4
+ * `<dui-breadcrumb-item>` — List item wrapper for a single breadcrumb entry.
5
+ *
6
+ * @slot - A breadcrumb link, page, or ellipsis.
7
+ * @csspart root - The `<li>` element.
8
+ */
9
+ export declare class DuiBreadcrumbItem extends LitElement {
10
+ static tagName: "dui-breadcrumb-item";
11
+ static styles: import("lit").CSSResult[];
12
+ render(): TemplateResult;
13
+ }
@@ -0,0 +1,31 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { css, html, LitElement } from "lit";
3
+ import { base } from "@deepfuture/dui-core/base";
4
+ /** Structural styles only — layout CSS. */
5
+ const styles = css `
6
+ :host {
7
+ display: inline-flex;
8
+ }
9
+
10
+ [part="root"] {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ }
14
+ `;
15
+ /**
16
+ * `<dui-breadcrumb-item>` — List item wrapper for a single breadcrumb entry.
17
+ *
18
+ * @slot - A breadcrumb link, page, or ellipsis.
19
+ * @csspart root - The `<li>` element.
20
+ */
21
+ export class DuiBreadcrumbItem extends LitElement {
22
+ static { this.tagName = "dui-breadcrumb-item"; }
23
+ static { this.styles = [base, styles]; }
24
+ render() {
25
+ return html `
26
+ <li part="root">
27
+ <slot></slot>
28
+ </li>
29
+ `;
30
+ }
31
+ }
@@ -0,0 +1,14 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { LitElement, type TemplateResult } from "lit";
3
+ /**
4
+ * `<dui-breadcrumb-link>` — Styled wrapper for a clickable breadcrumb link.
5
+ * Consumer slots in their own `<a>` element.
6
+ *
7
+ * @slot - An `<a>` element for navigation.
8
+ * @csspart root - The wrapper `<span>` element.
9
+ */
10
+ export declare class DuiBreadcrumbLink extends LitElement {
11
+ static tagName: "dui-breadcrumb-link";
12
+ static styles: import("lit").CSSResult[];
13
+ render(): TemplateResult;
14
+ }
@@ -0,0 +1,32 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { css, html, LitElement } from "lit";
3
+ import { base } from "@deepfuture/dui-core/base";
4
+ /** Structural styles only — layout CSS. */
5
+ const styles = css `
6
+ :host {
7
+ display: inline-flex;
8
+ }
9
+
10
+ [part="root"] {
11
+ display: inline-flex;
12
+ align-items: center;
13
+ }
14
+ `;
15
+ /**
16
+ * `<dui-breadcrumb-link>` — Styled wrapper for a clickable breadcrumb link.
17
+ * Consumer slots in their own `<a>` element.
18
+ *
19
+ * @slot - An `<a>` element for navigation.
20
+ * @csspart root - The wrapper `<span>` element.
21
+ */
22
+ export class DuiBreadcrumbLink extends LitElement {
23
+ static { this.tagName = "dui-breadcrumb-link"; }
24
+ static { this.styles = [base, styles]; }
25
+ render() {
26
+ return html `
27
+ <span part="root">
28
+ <slot></slot>
29
+ </span>
30
+ `;
31
+ }
32
+ }
@@ -0,0 +1,13 @@
1
+ /** Ported from original DUI: deep-future-app/app/client/components/dui/breadcrumb */
2
+ import { LitElement, type TemplateResult } from "lit";
3
+ /**
4
+ * `<dui-breadcrumb-page>` — Current page indicator (not clickable).
5
+ *
6
+ * @slot - The current page label text.
7
+ * @csspart root - The `<span>` element with `aria-current="page"`.
8
+ */
9
+ export declare class DuiBreadcrumbPage extends LitElement {
10
+ static tagName: "dui-breadcrumb-page";
11
+ static styles: import("lit").CSSResult[];
12
+ render(): TemplateResult;
13
+ }