@dryui/ui 2.0.2 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1078) hide show
  1. package/dist/accordion/accordion-button-trigger.svelte +1 -0
  2. package/dist/accordion/accordion-root.svelte +1 -1
  3. package/dist/adjust/adjust.svelte +12 -8
  4. package/dist/alpha-slider/alpha-slider-input.svelte +14 -13
  5. package/dist/app-frame/app-frame.svelte +4 -1
  6. package/dist/aspect-ratio/aspect-ratio.svelte +7 -6
  7. package/dist/aurora/aurora.svelte +144 -81
  8. package/dist/avatar/avatar.svelte +22 -15
  9. package/dist/badge/badge.svelte +8 -16
  10. package/dist/beam/beam.svelte +20 -21
  11. package/dist/button/button.svelte +47 -25
  12. package/dist/button/button.svelte.d.ts +14 -0
  13. package/dist/button-group/button-group.svelte +4 -5
  14. package/dist/calendar/calendar-button-grid.svelte +11 -4
  15. package/dist/calendar/calendar-button-grid.svelte.d.ts +2 -2
  16. package/dist/calendar/calendar-event-legend.svelte +63 -0
  17. package/dist/calendar/calendar-event-legend.svelte.d.ts +6 -0
  18. package/dist/calendar/calendar-header.svelte +3 -1
  19. package/dist/calendar/calendar-heading.svelte +21 -9
  20. package/dist/calendar/calendar-nav-button.svelte +15 -2
  21. package/dist/calendar/calendar-root.svelte +94 -11
  22. package/dist/calendar/calendar-root.svelte.d.ts +10 -1
  23. package/dist/calendar/calendar-week.svelte +515 -0
  24. package/dist/calendar/calendar-week.svelte.d.ts +12 -0
  25. package/dist/calendar/calendar.meta.js +2 -2
  26. package/dist/calendar/context.svelte.d.ts +19 -0
  27. package/dist/calendar/index.d.ts +11 -1
  28. package/dist/calendar/index.js +5 -1
  29. package/dist/calendar/types.d.ts +32 -0
  30. package/dist/calendar/types.js +1 -0
  31. package/dist/calendar/week-utils.d.ts +12 -0
  32. package/dist/calendar/week-utils.js +133 -0
  33. package/dist/carousel/carousel-button-dots.svelte +12 -6
  34. package/dist/carousel/carousel-root.svelte +201 -17
  35. package/dist/carousel/carousel-root.svelte.d.ts +1 -1
  36. package/dist/carousel/carousel-viewport.svelte +19 -1
  37. package/dist/chart/chart-bars.svelte +43 -19
  38. package/dist/chart/chart-donut.svelte +50 -23
  39. package/dist/chart/chart-root.svelte +19 -4
  40. package/dist/chart/chart-stacked-bar.svelte +3 -2
  41. package/dist/chart/series-color.d.ts +7 -0
  42. package/dist/chart/series-color.js +11 -0
  43. package/dist/chat-thread/chat-thread.svelte +15 -126
  44. package/dist/chat-thread/chat-thread.svelte.d.ts +4 -7
  45. package/dist/chat-thread/index.d.ts +4 -7
  46. package/dist/checkbox/checkbox-input.svelte +48 -41
  47. package/dist/chip/chip-button.svelte +14 -17
  48. package/dist/chip/chip-button.svelte.d.ts +2 -3
  49. package/dist/chip-group/chip-group-root.svelte +6 -4
  50. package/dist/chromatic-aberration/chromatic-aberration.svelte +9 -6
  51. package/dist/chromatic-shift/chromatic-shift.svelte +7 -8
  52. package/dist/code-block/code-block-button.svelte +72 -40
  53. package/dist/color-picker/color-picker-area.svelte +20 -25
  54. package/dist/color-picker/color-picker-channel-input.svelte +0 -1
  55. package/dist/color-picker/color-picker-input-hue-slider.svelte +12 -9
  56. package/dist/color-picker/color-picker-root.svelte +18 -17
  57. package/dist/color-picker/color-picker-swatch.svelte +17 -16
  58. package/dist/combobox/combobox-content.svelte +4 -15
  59. package/dist/combobox/combobox-input-root.svelte +6 -3
  60. package/dist/combobox/combobox-input-root.svelte.d.ts +2 -1
  61. package/dist/combobox/combobox-input.svelte +13 -10
  62. package/dist/combobox/combobox-item.svelte +9 -4
  63. package/dist/command-palette/command-palette-dialog-root.svelte +1 -0
  64. package/dist/command-palette/command-palette-item.svelte +7 -4
  65. package/dist/context-menu/context-menu-content.svelte +7 -15
  66. package/dist/data-grid/data-grid-button-input-column.svelte +2 -2
  67. package/dist/data-grid/data-grid-cell.svelte +1 -1
  68. package/dist/data-grid/data-grid-input-select-all.svelte +1 -1
  69. package/dist/data-grid/data-grid-input-select-cell.svelte +1 -1
  70. package/dist/date-field/date-field-segment.svelte +10 -12
  71. package/dist/date-picker/datepicker-button-calendar.svelte +2 -2
  72. package/dist/date-picker/datepicker-button-calendar.svelte.d.ts +2 -2
  73. package/dist/date-picker/index.d.ts +4 -1
  74. package/dist/date-range-picker/date-range-picker-button-calendar.svelte +2 -2
  75. package/dist/date-range-picker/date-range-picker-button-calendar.svelte.d.ts +2 -2
  76. package/dist/date-range-picker/date-range-picker-button-trigger.svelte +151 -40
  77. package/dist/date-range-picker/date-range-picker-button-trigger.svelte.d.ts +1 -0
  78. package/dist/date-range-picker/index.d.ts +4 -1
  79. package/dist/diagram/edge-routing.js +18 -7
  80. package/dist/diagram/layout.js +31 -16
  81. package/dist/displacement/displacement.svelte +29 -43
  82. package/dist/drag-and-drop/drag-and-drop-root.svelte +17 -5
  83. package/dist/drag-and-drop/index.d.ts +14 -1
  84. package/dist/drop-zone/drop-zone.svelte +7 -4
  85. package/dist/dropdown-menu/dropdown-menu-content.svelte +15 -16
  86. package/dist/field/field-description.svelte +6 -9
  87. package/dist/field/field-error.svelte +6 -10
  88. package/dist/file-select/file-select-root.svelte +77 -22
  89. package/dist/file-select/file-select-root.svelte.d.ts +4 -1
  90. package/dist/file-upload/file-upload-dropzone.svelte +21 -21
  91. package/dist/file-upload/file-upload-item.svelte +1 -2
  92. package/dist/file-upload/file-upload-list.svelte +1 -1
  93. package/dist/flip-card/flip-card-root.svelte +2 -2
  94. package/dist/float-button/context.svelte.d.ts +2 -0
  95. package/dist/float-button/float-button-action.svelte +41 -11
  96. package/dist/float-button/float-button-root.svelte +52 -13
  97. package/dist/float-button/float-button-trigger.svelte +25 -12
  98. package/dist/format-bytes/format-bytes.svelte +2 -5
  99. package/dist/format-date/format-date.svelte +2 -6
  100. package/dist/format-number/format-number.svelte +2 -6
  101. package/dist/gauge/gauge.svelte +9 -2
  102. package/dist/glass/glass.svelte +4 -3
  103. package/dist/glow/glow.svelte +0 -5
  104. package/dist/god-rays/god-rays.svelte +6 -6
  105. package/dist/gradient-mesh/gradient-mesh.svelte +52 -44
  106. package/dist/halftone/halftone.svelte +17 -28
  107. package/dist/heading/heading.svelte +0 -6
  108. package/dist/hover-card/hover-card-content.svelte +8 -5
  109. package/dist/hover-card/hover-card.meta.js +2 -2
  110. package/dist/icon/icon.svelte +24 -13
  111. package/dist/icon/icon.svelte.d.ts +2 -2
  112. package/dist/icon-swap/icon-swap.svelte +4 -3
  113. package/dist/icon-swap/icon-swap.svelte.d.ts +2 -1
  114. package/dist/image/image.svelte +5 -13
  115. package/dist/image-comparison/image-comparison.svelte +39 -45
  116. package/dist/index.d.ts +3 -5
  117. package/dist/index.js +1 -2
  118. package/dist/input/input.svelte +88 -9
  119. package/dist/input/input.svelte.d.ts +24 -1
  120. package/dist/internal/anchored-overlay-content.svelte.d.ts +12 -6
  121. package/dist/internal/anchored-overlay-content.svelte.js +13 -16
  122. package/dist/internal/calendar-event-layout.d.ts +53 -0
  123. package/dist/internal/calendar-event-layout.js +191 -0
  124. package/dist/internal/calendar-grid-button.svelte +618 -76
  125. package/dist/internal/calendar-grid-button.svelte.d.ts +2 -2
  126. package/dist/internal/calendar-grid-utils.d.ts +3 -0
  127. package/dist/internal/calendar-grid-utils.js +24 -0
  128. package/dist/internal/form-control-wrapper-attrs.d.ts +9 -0
  129. package/dist/internal/form-control-wrapper-attrs.js +1 -0
  130. package/dist/internal/menu-item.svelte +1 -0
  131. package/dist/internal/modal-content.svelte +2 -6
  132. package/dist/internal/motion.d.ts +1 -1
  133. package/dist/internal/motion.js +5 -2
  134. package/dist/internal/picker-popover-content.svelte +15 -17
  135. package/dist/kbd/kbd.svelte +1 -1
  136. package/dist/link/link.svelte +8 -5
  137. package/dist/link-preview/link-preview-content.svelte +12 -15
  138. package/dist/link-preview/link-preview-trigger.svelte +2 -5
  139. package/dist/listbox/listbox-item.svelte +13 -18
  140. package/dist/listbox/listbox-root.svelte +4 -9
  141. package/dist/logo-mark/logo-mark.svelte +31 -31
  142. package/dist/map/map-marker.svelte +2 -2
  143. package/dist/map/map-root.svelte +11 -2
  144. package/dist/markdown-renderer/markdown-renderer.svelte +141 -164
  145. package/dist/marquee/marquee.svelte +12 -13
  146. package/dist/mask-reveal/mask-reveal.svelte +14 -27
  147. package/dist/mega-menu/mega-menu-column.svelte +1 -1
  148. package/dist/mega-menu/mega-menu-link.svelte +7 -7
  149. package/dist/mega-menu/mega-menu-panel.svelte +18 -32
  150. package/dist/menubar/menubar-content.svelte +18 -20
  151. package/dist/menubar/menubar-item.svelte +1 -0
  152. package/dist/menubar/menubar-menu.svelte +1 -2
  153. package/dist/menubar/menubar-root.svelte +1 -12
  154. package/dist/motion/enter.svelte +15 -14
  155. package/dist/motion/enter.svelte.d.ts +2 -1
  156. package/dist/motion/exit.svelte +6 -5
  157. package/dist/motion/exit.svelte.d.ts +2 -1
  158. package/dist/motion/stagger.svelte +10 -9
  159. package/dist/motion/stagger.svelte.d.ts +2 -1
  160. package/dist/multi-select-combobox/multi-select-combobox-content.svelte +4 -15
  161. package/dist/multi-select-combobox/multi-select-combobox-input.svelte +6 -5
  162. package/dist/multi-select-combobox/multi-select-combobox-item.svelte +25 -31
  163. package/dist/multi-select-combobox/multi-select-combobox-root-input.svelte +19 -19
  164. package/dist/navigation-menu/navigation-menu-link.svelte +0 -1
  165. package/dist/noise/noise.svelte +20 -19
  166. package/dist/notification-center/notification-center-item.svelte +1 -1
  167. package/dist/notification-center/notification-center-panel.svelte +17 -19
  168. package/dist/number-input/number-input-button.svelte +78 -12
  169. package/dist/number-input/number-input-button.svelte.d.ts +15 -1
  170. package/dist/numeric/numeric.svelte +27 -12
  171. package/dist/numeric/numeric.svelte.d.ts +2 -1
  172. package/dist/option-picker/option-picker-item.svelte +8 -15
  173. package/dist/option-picker/option-picker-preview.svelte +34 -22
  174. package/dist/pagination/pagination-root.svelte +7 -0
  175. package/dist/pin-input/pin-input-root.svelte +2 -11
  176. package/dist/popover/popover-content.svelte +7 -4
  177. package/dist/progress/progress.svelte +2 -2
  178. package/dist/prompt-input/prompt-input-button-textarea.svelte +2 -10
  179. package/dist/qr-code/qr-code.svelte +78 -38
  180. package/dist/qr-code/qr-code.svelte.d.ts +1 -1
  181. package/dist/radio-group/radio-group-item-input.svelte +60 -14
  182. package/dist/radio-group/radio-group-item-input.svelte.d.ts +9 -2
  183. package/dist/range-calendar/index.d.ts +4 -1
  184. package/dist/range-calendar/range-calendar-grid-button.svelte +2 -2
  185. package/dist/range-calendar/range-calendar-grid-button.svelte.d.ts +2 -2
  186. package/dist/relative-time/relative-time.svelte +15 -15
  187. package/dist/reveal/reveal.svelte +12 -24
  188. package/dist/rich-text-editor/rich-text-editor-content.svelte +0 -3
  189. package/dist/rich-text-editor/rich-text-editor-toolbar-button-input.svelte +0 -1
  190. package/dist/scroll-to-top/scroll-to-top-button.svelte +5 -3
  191. package/dist/scroll-to-top/scroll-to-top-button.svelte.d.ts +2 -2
  192. package/dist/segmented-control/segmented-control-root.svelte +0 -3
  193. package/dist/select/select-content.svelte +15 -16
  194. package/dist/select/select-item.svelte +1 -0
  195. package/dist/select/select-root-input.svelte +5 -4
  196. package/dist/select/select-root-input.svelte.d.ts +2 -2
  197. package/dist/select/select-trigger-button.svelte +122 -16
  198. package/dist/select/select-trigger-button.svelte.d.ts +2 -2
  199. package/dist/shader-canvas/shader-canvas.svelte +11 -20
  200. package/dist/shimmer/shimmer.svelte +28 -25
  201. package/dist/skeleton/skeleton.svelte +18 -23
  202. package/dist/slider/slider-input.svelte +8 -7
  203. package/dist/sparkline/sparkline.svelte +1 -1
  204. package/dist/splitter/splitter-handle.svelte +3 -3
  205. package/dist/splitter/splitter-root.svelte +13 -12
  206. package/dist/spotlight/spotlight.svelte +30 -62
  207. package/dist/star-rating/star-rating-root.svelte +3 -4
  208. package/dist/stepper/stepper-step-button.svelte +2 -2
  209. package/dist/table-of-contents/table-of-contents-root.svelte +5 -16
  210. package/dist/tabs/tabs-content.svelte +7 -1
  211. package/dist/tag/tag-button.svelte +70 -64
  212. package/dist/tags-input/tags-input-root.svelte +2 -10
  213. package/dist/text/index.d.ts +2 -3
  214. package/dist/text/text.svelte +6 -12
  215. package/dist/text/text.svelte.d.ts +2 -3
  216. package/dist/textarea/textarea.svelte +91 -16
  217. package/dist/textarea/textarea.svelte.d.ts +20 -1
  218. package/dist/themes/aurora.css +106 -112
  219. package/dist/themes/component-defaults.css +47 -0
  220. package/dist/themes/dark.css +49 -223
  221. package/dist/themes/default.css +45 -175
  222. package/dist/themes/midnight.css +50 -65
  223. package/dist/themes/terminal.css +40 -74
  224. package/dist/time-input/time-input.svelte +5 -3
  225. package/dist/time-input/time-input.svelte.d.ts +2 -2
  226. package/dist/timeline/timeline-title.svelte +0 -6
  227. package/dist/toast/toast-root.svelte +10 -10
  228. package/dist/toggle/toggle-button.svelte +17 -6
  229. package/dist/toggle-group/toggle-group-root.svelte +3 -3
  230. package/dist/token-scope/index.d.ts +6 -0
  231. package/dist/token-scope/index.js +1 -0
  232. package/dist/token-scope/token-scope.meta.js +7 -0
  233. package/dist/toolbar/toolbar-root.svelte +4 -5
  234. package/dist/tooltip/tooltip-content.svelte +24 -13
  235. package/dist/tour/tour-root.css +6 -2
  236. package/dist/transfer/transfer-list-input.svelte +1 -2
  237. package/dist/transfer/transfer-root.svelte +0 -10
  238. package/dist/tree/tree-item-label.svelte +0 -2
  239. package/dist/tree/tree-root.svelte +7 -5
  240. package/dist/typography/blockquote.svelte +2 -2
  241. package/dist/typography/code.svelte +2 -2
  242. package/dist/typography/heading.svelte +2 -2
  243. package/dist/typography/index.d.ts +0 -1
  244. package/dist/typography/text.svelte +2 -13
  245. package/dist/video-embed/video-embed-button.svelte +9 -9
  246. package/package.json +13 -12
  247. package/src/accordion/accordion-button-trigger.svelte +60 -0
  248. package/src/accordion/accordion-content.svelte +37 -0
  249. package/src/accordion/accordion-item.svelte +62 -0
  250. package/src/accordion/accordion-root.svelte +61 -0
  251. package/src/accordion/accordion.meta.ts +7 -0
  252. package/src/accordion/context.svelte.ts +19 -0
  253. package/src/accordion/index.ts +41 -0
  254. package/src/adjust/adjust.meta.ts +7 -0
  255. package/src/adjust/adjust.svelte +71 -0
  256. package/src/adjust/index.ts +20 -0
  257. package/src/alert/alert.meta.ts +7 -0
  258. package/src/alert/alert.svelte +174 -0
  259. package/src/alert/index.ts +18 -0
  260. package/src/alert-dialog/alert-dialog-body.svelte +23 -0
  261. package/src/alert-dialog/alert-dialog-button-action.svelte +15 -0
  262. package/src/alert-dialog/alert-dialog-button-cancel.svelte +18 -0
  263. package/src/alert-dialog/alert-dialog-content.svelte +26 -0
  264. package/src/alert-dialog/alert-dialog-footer.svelte +29 -0
  265. package/src/alert-dialog/alert-dialog-header.svelte +26 -0
  266. package/src/alert-dialog/alert-dialog-overlay.svelte +34 -0
  267. package/src/alert-dialog/alert-dialog-root.svelte +31 -0
  268. package/src/alert-dialog/alert-dialog-trigger.svelte +56 -0
  269. package/src/alert-dialog/alert-dialog.meta.ts +7 -0
  270. package/src/alert-dialog/context.svelte.ts +11 -0
  271. package/src/alert-dialog/index.ts +43 -0
  272. package/src/alpha-slider/alpha-slider-input.svelte +165 -0
  273. package/src/alpha-slider/alpha-slider.meta.ts +7 -0
  274. package/src/alpha-slider/index.ts +10 -0
  275. package/src/app-frame/app-frame.meta.ts +8 -0
  276. package/src/app-frame/app-frame.svelte +141 -0
  277. package/src/app-frame/index.ts +10 -0
  278. package/src/aspect-ratio/aspect-ratio.meta.ts +7 -0
  279. package/src/aspect-ratio/aspect-ratio.svelte +29 -0
  280. package/src/aspect-ratio/index.ts +9 -0
  281. package/src/aurora/aurora.meta.ts +8 -0
  282. package/src/aurora/aurora.svelte +526 -0
  283. package/src/aurora/index.ts +24 -0
  284. package/src/avatar/avatar.meta.ts +7 -0
  285. package/src/avatar/avatar.svelte +213 -0
  286. package/src/avatar/index.ts +15 -0
  287. package/src/backdrop/backdrop.meta.ts +7 -0
  288. package/src/backdrop/backdrop.svelte +51 -0
  289. package/src/backdrop/index.ts +3 -0
  290. package/src/badge/badge.meta.ts +7 -0
  291. package/src/badge/badge.svelte +338 -0
  292. package/src/badge/index.ts +12 -0
  293. package/src/beam/beam.meta.ts +8 -0
  294. package/src/beam/beam.svelte +118 -0
  295. package/src/beam/index.ts +17 -0
  296. package/src/border-beam/border-beam.meta.ts +8 -0
  297. package/src/border-beam/border-beam.svelte +42 -0
  298. package/src/border-beam/index.ts +10 -0
  299. package/src/breadcrumb/breadcrumb-item.svelte +23 -0
  300. package/src/breadcrumb/breadcrumb-link.svelte +60 -0
  301. package/src/breadcrumb/breadcrumb-list.svelte +28 -0
  302. package/src/breadcrumb/breadcrumb-root.svelte +14 -0
  303. package/src/breadcrumb/breadcrumb-separator.svelte +25 -0
  304. package/src/breadcrumb/breadcrumb.meta.ts +7 -0
  305. package/src/breadcrumb/index.ts +44 -0
  306. package/src/button/button.meta.ts +7 -0
  307. package/src/button/button.svelte +675 -0
  308. package/src/button/index.ts +29 -0
  309. package/src/button-group/button-group.meta.ts +7 -0
  310. package/src/button-group/button-group.svelte +61 -0
  311. package/src/button-group/context.svelte.ts +15 -0
  312. package/src/button-group/index.ts +7 -0
  313. package/src/calendar/calendar-button-grid.svelte +58 -0
  314. package/src/calendar/calendar-button-next.svelte +13 -0
  315. package/src/calendar/calendar-button-prev.svelte +13 -0
  316. package/src/calendar/calendar-event-legend.svelte +63 -0
  317. package/src/calendar/calendar-header.svelte +28 -0
  318. package/src/calendar/calendar-heading.svelte +42 -0
  319. package/src/calendar/calendar-nav-button.svelte +39 -0
  320. package/src/calendar/calendar-root.svelte +211 -0
  321. package/src/calendar/calendar-week.svelte +515 -0
  322. package/src/calendar/calendar.meta.ts +7 -0
  323. package/src/calendar/context.svelte.ts +43 -0
  324. package/src/calendar/index.ts +57 -0
  325. package/src/calendar/types.ts +39 -0
  326. package/src/calendar/week-utils.ts +175 -0
  327. package/src/carousel/carousel-button-dots.svelte +74 -0
  328. package/src/carousel/carousel-button-next.svelte +13 -0
  329. package/src/carousel/carousel-button-prev.svelte +13 -0
  330. package/src/carousel/carousel-button-thumbnails.svelte +82 -0
  331. package/src/carousel/carousel-nav-button.svelte +31 -0
  332. package/src/carousel/carousel-root.svelte +432 -0
  333. package/src/carousel/carousel-slide.svelte +39 -0
  334. package/src/carousel/carousel-viewport.svelte +91 -0
  335. package/src/carousel/carousel.meta.ts +7 -0
  336. package/src/carousel/context.svelte.ts +22 -0
  337. package/src/carousel/index.ts +35 -0
  338. package/src/chart/chart-area.svelte +76 -0
  339. package/src/chart/chart-bars.svelte +102 -0
  340. package/src/chart/chart-donut.svelte +145 -0
  341. package/src/chart/chart-horizontal-bar.svelte +67 -0
  342. package/src/chart/chart-line.svelte +66 -0
  343. package/src/chart/chart-root.svelte +257 -0
  344. package/src/chart/chart-stacked-bar.svelte +77 -0
  345. package/src/chart/chart-x-axis.svelte +50 -0
  346. package/src/chart/chart-y-axis.svelte +71 -0
  347. package/src/chart/chart.meta.ts +7 -0
  348. package/src/chart/context.svelte.ts +29 -0
  349. package/src/chart/index.ts +86 -0
  350. package/src/chart/series-color.ts +12 -0
  351. package/src/chat-thread/chat-thread.meta.ts +7 -0
  352. package/src/chat-thread/chat-thread.svelte +97 -0
  353. package/src/chat-thread/index.ts +10 -0
  354. package/src/checkbox/checkbox-input.svelte +259 -0
  355. package/src/checkbox/checkbox.meta.ts +7 -0
  356. package/src/checkbox/index.ts +7 -0
  357. package/src/chip/chip-button.svelte +170 -0
  358. package/src/chip/chip.meta.ts +7 -0
  359. package/src/chip/index.ts +29 -0
  360. package/src/chip-group/chip-group-button-item.svelte +36 -0
  361. package/src/chip-group/chip-group-label.svelte +26 -0
  362. package/src/chip-group/chip-group-root.svelte +129 -0
  363. package/src/chip-group/chip-group.meta.ts +19 -0
  364. package/src/chip-group/context.svelte.ts +11 -0
  365. package/src/chip-group/index.ts +26 -0
  366. package/src/chromatic-aberration/chromatic-aberration.meta.ts +7 -0
  367. package/src/chromatic-aberration/chromatic-aberration.svelte +75 -0
  368. package/src/chromatic-aberration/index.ts +10 -0
  369. package/src/chromatic-shift/chromatic-shift.meta.ts +7 -0
  370. package/src/chromatic-shift/chromatic-shift.svelte +226 -0
  371. package/src/chromatic-shift/index.ts +5 -0
  372. package/src/clipboard/clipboard.meta.ts +7 -0
  373. package/src/clipboard/clipboard.svelte +38 -0
  374. package/src/clipboard/index.ts +3 -0
  375. package/src/code-block/code-block-button.svelte +371 -0
  376. package/src/code-block/code-block.meta.ts +7 -0
  377. package/src/code-block/highlighter/css.ts +387 -0
  378. package/src/code-block/highlighter/generic.ts +24 -0
  379. package/src/code-block/highlighter/index.ts +30 -0
  380. package/src/code-block/highlighter/svelte.ts +597 -0
  381. package/src/code-block/highlighter/types.ts +7 -0
  382. package/src/code-block/index.ts +11 -0
  383. package/src/collapsible/collapsible-button-trigger.svelte +50 -0
  384. package/src/collapsible/collapsible-content.svelte +57 -0
  385. package/src/collapsible/collapsible-root.svelte +48 -0
  386. package/src/collapsible/collapsible.meta.ts +7 -0
  387. package/src/collapsible/context.svelte.ts +10 -0
  388. package/src/collapsible/index.ts +30 -0
  389. package/src/color-picker/color-picker-area.svelte +181 -0
  390. package/src/color-picker/color-picker-button-eyedropper.svelte +61 -0
  391. package/src/color-picker/color-picker-channel-input.svelte +85 -0
  392. package/src/color-picker/color-picker-input-alpha-slider.svelte +144 -0
  393. package/src/color-picker/color-picker-input-hue-slider.svelte +146 -0
  394. package/src/color-picker/color-picker-input.svelte +129 -0
  395. package/src/color-picker/color-picker-root.svelte +185 -0
  396. package/src/color-picker/color-picker-swatch.svelte +116 -0
  397. package/src/color-picker/color-picker.meta.ts +7 -0
  398. package/src/color-picker/context.svelte.ts +19 -0
  399. package/src/color-picker/index.ts +45 -0
  400. package/src/combobox/combobox-content.svelte +124 -0
  401. package/src/combobox/combobox-empty.svelte +23 -0
  402. package/src/combobox/combobox-group.svelte +35 -0
  403. package/src/combobox/combobox-input-root.svelte +109 -0
  404. package/src/combobox/combobox-input.svelte +348 -0
  405. package/src/combobox/combobox-item.svelte +150 -0
  406. package/src/combobox/combobox.meta.ts +7 -0
  407. package/src/combobox/context.svelte.ts +22 -0
  408. package/src/combobox/index.ts +44 -0
  409. package/src/command-palette/command-palette-dialog-root.svelte +184 -0
  410. package/src/command-palette/command-palette-empty.svelte +30 -0
  411. package/src/command-palette/command-palette-group.svelte +37 -0
  412. package/src/command-palette/command-palette-input.svelte +91 -0
  413. package/src/command-palette/command-palette-item.svelte +100 -0
  414. package/src/command-palette/command-palette-list.svelte +52 -0
  415. package/src/command-palette/command-palette-separator.svelte +17 -0
  416. package/src/command-palette/command-palette.meta.ts +7 -0
  417. package/src/command-palette/context.svelte.ts +19 -0
  418. package/src/command-palette/index.ts +35 -0
  419. package/src/container/container.meta.ts +7 -0
  420. package/src/container/container.svelte +66 -0
  421. package/src/container/index.ts +10 -0
  422. package/src/context-menu/context-menu-content.svelte +114 -0
  423. package/src/context-menu/context-menu-group.svelte +15 -0
  424. package/src/context-menu/context-menu-item.svelte +27 -0
  425. package/src/context-menu/context-menu-label.svelte +15 -0
  426. package/src/context-menu/context-menu-root.svelte +26 -0
  427. package/src/context-menu/context-menu-separator.svelte +10 -0
  428. package/src/context-menu/context-menu-trigger.svelte +35 -0
  429. package/src/context-menu/context-menu.meta.ts +7 -0
  430. package/src/context-menu/context.svelte.ts +7 -0
  431. package/src/context-menu/index.ts +35 -0
  432. package/src/data-grid/context.svelte.ts +28 -0
  433. package/src/data-grid/data-grid-body.svelte +17 -0
  434. package/src/data-grid/data-grid-button-expand-trigger.svelte +45 -0
  435. package/src/data-grid/data-grid-button-input-column.svelte +263 -0
  436. package/src/data-grid/data-grid-button-pagination.svelte +130 -0
  437. package/src/data-grid/data-grid-cell.svelte +37 -0
  438. package/src/data-grid/data-grid-expandable-row.svelte +58 -0
  439. package/src/data-grid/data-grid-header.svelte +21 -0
  440. package/src/data-grid/data-grid-input-select-all.svelte +52 -0
  441. package/src/data-grid/data-grid-input-select-cell.svelte +40 -0
  442. package/src/data-grid/data-grid-root.svelte +229 -0
  443. package/src/data-grid/data-grid-row.svelte +38 -0
  444. package/src/data-grid/data-grid-table.svelte +21 -0
  445. package/src/data-grid/data-grid.meta.ts +7 -0
  446. package/src/data-grid/index.ts +75 -0
  447. package/src/date-field/context.svelte.ts +50 -0
  448. package/src/date-field/date-field-input-root.svelte +284 -0
  449. package/src/date-field/date-field-segment.svelte +180 -0
  450. package/src/date-field/date-field-separator.svelte +25 -0
  451. package/src/date-field/date-field.meta.ts +7 -0
  452. package/src/date-field/index.ts +23 -0
  453. package/src/date-picker/context.svelte.ts +27 -0
  454. package/src/date-picker/date-picker.meta.ts +7 -0
  455. package/src/date-picker/datepicker-button-calendar.svelte +58 -0
  456. package/src/date-picker/datepicker-button-trigger.svelte +72 -0
  457. package/src/date-picker/datepicker-content.svelte +35 -0
  458. package/src/date-picker/datepicker-input-root.svelte +137 -0
  459. package/src/date-picker/index.ts +27 -0
  460. package/src/date-range-picker/context.svelte.ts +30 -0
  461. package/src/date-range-picker/date-range-picker-button-calendar.svelte +96 -0
  462. package/src/date-range-picker/date-range-picker-button-preset.svelte +25 -0
  463. package/src/date-range-picker/date-range-picker-button-trigger.svelte +188 -0
  464. package/src/date-range-picker/date-range-picker-content.svelte +35 -0
  465. package/src/date-range-picker/date-range-picker-root.svelte +155 -0
  466. package/src/date-range-picker/date-range-picker.meta.ts +7 -0
  467. package/src/date-range-picker/index.ts +30 -0
  468. package/src/date-time-input/date-time-input.meta.ts +7 -0
  469. package/src/date-time-input/date-time-input.svelte +104 -0
  470. package/src/date-time-input/index.ts +7 -0
  471. package/src/description-list/description-list-description.svelte +23 -0
  472. package/src/description-list/description-list-item.svelte +34 -0
  473. package/src/description-list/description-list-root.svelte +22 -0
  474. package/src/description-list/description-list-term.svelte +23 -0
  475. package/src/description-list/description-list.meta.ts +7 -0
  476. package/src/description-list/index.ts +35 -0
  477. package/src/diagram/diagram.meta.ts +8 -0
  478. package/src/diagram/diagram.svelte +966 -0
  479. package/src/diagram/edge-routing.ts +782 -0
  480. package/src/diagram/index.ts +23 -0
  481. package/src/diagram/layout.ts +2024 -0
  482. package/src/diagram/types.ts +262 -0
  483. package/src/dialog/context.svelte.ts +10 -0
  484. package/src/dialog/dialog-body.svelte +23 -0
  485. package/src/dialog/dialog-close.svelte +18 -0
  486. package/src/dialog/dialog-content.svelte +18 -0
  487. package/src/dialog/dialog-footer.svelte +35 -0
  488. package/src/dialog/dialog-header.svelte +26 -0
  489. package/src/dialog/dialog-overlay.svelte +28 -0
  490. package/src/dialog/dialog-root.svelte +31 -0
  491. package/src/dialog/dialog-trigger.svelte +56 -0
  492. package/src/dialog/dialog.meta.ts +7 -0
  493. package/src/dialog/index.ts +39 -0
  494. package/src/displacement/displacement.meta.ts +7 -0
  495. package/src/displacement/displacement.svelte +139 -0
  496. package/src/displacement/index.ts +5 -0
  497. package/src/drag-and-drop/context.svelte.ts +21 -0
  498. package/src/drag-and-drop/drag-and-drop-group.svelte +37 -0
  499. package/src/drag-and-drop/drag-and-drop-handle.svelte +106 -0
  500. package/src/drag-and-drop/drag-and-drop-item.svelte +151 -0
  501. package/src/drag-and-drop/drag-and-drop-root.svelte +876 -0
  502. package/src/drag-and-drop/drag-and-drop.meta.ts +7 -0
  503. package/src/drag-and-drop/group-context.svelte.ts +20 -0
  504. package/src/drag-and-drop/index.ts +34 -0
  505. package/src/drawer/context.svelte.ts +11 -0
  506. package/src/drawer/drawer-body.svelte +33 -0
  507. package/src/drawer/drawer-close.svelte +18 -0
  508. package/src/drawer/drawer-dialog-content.svelte +18 -0
  509. package/src/drawer/drawer-footer.svelte +27 -0
  510. package/{dist/card/card-footer.svelte → src/drawer/drawer-header.svelte} +8 -10
  511. package/src/drawer/drawer-overlay.svelte +34 -0
  512. package/src/drawer/drawer-root.svelte +35 -0
  513. package/src/drawer/drawer-trigger.svelte +56 -0
  514. package/src/drawer/drawer.meta.ts +7 -0
  515. package/src/drawer/index.ts +43 -0
  516. package/src/drop-zone/drop-zone.meta.ts +7 -0
  517. package/src/drop-zone/drop-zone.svelte +95 -0
  518. package/src/drop-zone/index.ts +6 -0
  519. package/src/dropdown-menu/context.svelte.ts +7 -0
  520. package/src/dropdown-menu/dropdown-menu-content.svelte +137 -0
  521. package/src/dropdown-menu/dropdown-menu-group.svelte +15 -0
  522. package/src/dropdown-menu/dropdown-menu-item.svelte +27 -0
  523. package/src/dropdown-menu/dropdown-menu-label.svelte +15 -0
  524. package/src/dropdown-menu/dropdown-menu-root.svelte +26 -0
  525. package/src/dropdown-menu/dropdown-menu-separator.svelte +10 -0
  526. package/src/dropdown-menu/dropdown-menu-trigger.svelte +65 -0
  527. package/src/dropdown-menu/dropdown-menu.meta.ts +7 -0
  528. package/src/dropdown-menu/index.ts +35 -0
  529. package/src/enter/enter.meta.ts +8 -0
  530. package/src/enter/index.ts +1 -0
  531. package/src/exit/exit.meta.ts +8 -0
  532. package/src/exit/index.ts +1 -0
  533. package/src/field/field-description.svelte +38 -0
  534. package/src/field/field-error.svelte +40 -0
  535. package/src/field/field-root.svelte +98 -0
  536. package/src/field/field.meta.ts +7 -0
  537. package/src/field/index.ts +15 -0
  538. package/src/fieldset/fieldset-content.svelte +21 -0
  539. package/src/fieldset/fieldset-description.svelte +26 -0
  540. package/src/fieldset/fieldset-legend.svelte +26 -0
  541. package/src/fieldset/fieldset-root.svelte +27 -0
  542. package/src/fieldset/fieldset.meta.ts +7 -0
  543. package/src/fieldset/index.ts +35 -0
  544. package/src/file-select/context.svelte.ts +10 -0
  545. package/src/file-select/file-select-button-clear.svelte +37 -0
  546. package/src/file-select/file-select-button-trigger.svelte +26 -0
  547. package/src/file-select/file-select-root.svelte +168 -0
  548. package/src/file-select/file-select-value.svelte +43 -0
  549. package/src/file-select/file-select.meta.ts +7 -0
  550. package/src/file-select/index.ts +29 -0
  551. package/src/file-upload/context.svelte.ts +17 -0
  552. package/src/file-upload/file-upload-button-item-delete.svelte +36 -0
  553. package/src/file-upload/file-upload-button-trigger.svelte +31 -0
  554. package/src/file-upload/file-upload-dropzone.svelte +145 -0
  555. package/src/file-upload/file-upload-input-root.svelte +144 -0
  556. package/src/file-upload/file-upload-item.svelte +63 -0
  557. package/src/file-upload/file-upload-list.svelte +37 -0
  558. package/src/file-upload/file-upload.meta.ts +7 -0
  559. package/src/file-upload/index.ts +52 -0
  560. package/src/flip-card/context.svelte.ts +8 -0
  561. package/src/flip-card/flip-card-back.svelte +34 -0
  562. package/src/flip-card/flip-card-front.svelte +25 -0
  563. package/src/flip-card/flip-card-root.svelte +116 -0
  564. package/src/flip-card/flip-card.meta.ts +7 -0
  565. package/src/flip-card/index.ts +15 -0
  566. package/src/float-button/context.svelte.ts +10 -0
  567. package/src/float-button/float-button-action.svelte +56 -0
  568. package/src/float-button/float-button-root.svelte +102 -0
  569. package/src/float-button/float-button-trigger.svelte +43 -0
  570. package/src/float-button/float-button.meta.ts +7 -0
  571. package/src/float-button/index.ts +29 -0
  572. package/src/focus-trap/focus-trap.meta.ts +7 -0
  573. package/src/focus-trap/focus-trap.svelte +16 -0
  574. package/src/focus-trap/index.ts +3 -0
  575. package/src/format-bytes/format-bytes.meta.ts +7 -0
  576. package/src/format-bytes/format-bytes.svelte +60 -0
  577. package/src/format-bytes/index.ts +3 -0
  578. package/src/format-date/format-date.meta.ts +7 -0
  579. package/src/format-date/format-date.svelte +80 -0
  580. package/src/format-date/index.ts +3 -0
  581. package/src/format-number/format-number.meta.ts +7 -0
  582. package/src/format-number/format-number.svelte +59 -0
  583. package/src/format-number/index.ts +3 -0
  584. package/src/gauge/gauge.meta.ts +7 -0
  585. package/src/gauge/gauge.svelte +143 -0
  586. package/src/gauge/index.ts +2 -0
  587. package/src/glass/glass.meta.ts +7 -0
  588. package/src/glass/glass.svelte +49 -0
  589. package/src/glass/index.ts +11 -0
  590. package/src/glow/glow.meta.ts +7 -0
  591. package/src/glow/glow.svelte +60 -0
  592. package/src/glow/index.ts +15 -0
  593. package/src/god-rays/god-rays.meta.ts +8 -0
  594. package/src/god-rays/god-rays.svelte +132 -0
  595. package/src/god-rays/index.ts +17 -0
  596. package/src/gradient-mesh/gradient-mesh.meta.ts +7 -0
  597. package/src/gradient-mesh/gradient-mesh.svelte +302 -0
  598. package/src/gradient-mesh/index.ts +5 -0
  599. package/src/halftone/halftone.meta.ts +7 -0
  600. package/src/halftone/halftone.svelte +93 -0
  601. package/src/halftone/index.ts +14 -0
  602. package/src/heading/heading.meta.ts +7 -0
  603. package/src/heading/heading.svelte +120 -0
  604. package/src/heading/index.ts +17 -0
  605. package/src/hotkey/hotkey.meta.ts +7 -0
  606. package/src/hotkey/index.ts +2 -0
  607. package/src/hover-card/context.svelte.ts +1 -0
  608. package/src/hover-card/hover-card-content.svelte +121 -0
  609. package/src/hover-card/hover-card-root.svelte +11 -0
  610. package/src/hover-card/hover-card-trigger.svelte +109 -0
  611. package/src/hover-card/hover-card.meta.ts +7 -0
  612. package/src/hover-card/index.ts +19 -0
  613. package/src/icon/icon.meta.ts +7 -0
  614. package/src/icon/icon.svelte +92 -0
  615. package/src/icon/index.ts +11 -0
  616. package/src/icon-swap/icon-swap.meta.ts +7 -0
  617. package/src/icon-swap/icon-swap.svelte +48 -0
  618. package/src/icon-swap/index.ts +1 -0
  619. package/src/image/image.meta.ts +7 -0
  620. package/src/image/image.svelte +73 -0
  621. package/src/image/index.ts +3 -0
  622. package/src/image-comparison/image-comparison.meta.ts +7 -0
  623. package/src/image-comparison/image-comparison.svelte +272 -0
  624. package/src/image-comparison/index.ts +3 -0
  625. package/src/index.ts +863 -0
  626. package/src/infinite-scroll/index.ts +3 -0
  627. package/src/infinite-scroll/infinite-scroll.meta.ts +7 -0
  628. package/src/infinite-scroll/infinite-scroll.svelte +109 -0
  629. package/src/input/index.ts +8 -0
  630. package/src/input/input.meta.ts +7 -0
  631. package/src/input/input.svelte +261 -0
  632. package/src/input-group/context.svelte.ts +9 -0
  633. package/src/input-group/index.ts +45 -0
  634. package/src/input-group/input-group-action-button.svelte +29 -0
  635. package/src/input-group/input-group-input.svelte +57 -0
  636. package/src/input-group/input-group-prefix.svelte +43 -0
  637. package/src/input-group/input-group-root.svelte +108 -0
  638. package/src/input-group/input-group-select.svelte +70 -0
  639. package/src/input-group/input-group-separator.svelte +38 -0
  640. package/src/input-group/input-group-suffix.svelte +43 -0
  641. package/src/input-group/input-group.meta.ts +8 -0
  642. package/src/internal/anchored-overlay-content.svelte.ts +42 -0
  643. package/src/internal/calendar-event-layout.ts +294 -0
  644. package/src/internal/calendar-grid-button.svelte +805 -0
  645. package/src/internal/calendar-grid-utils.ts +123 -0
  646. package/src/internal/close-button-base.svelte +35 -0
  647. package/src/internal/color-aliases.ts +37 -0
  648. package/src/internal/date-family-controller.svelte.ts +165 -0
  649. package/src/internal/form-control-wrapper-attrs.ts +20 -0
  650. package/src/internal/menu-group.svelte +15 -0
  651. package/src/internal/menu-item.svelte +89 -0
  652. package/src/internal/menu-label.svelte +24 -0
  653. package/src/internal/menu-root-state.svelte.ts +73 -0
  654. package/src/internal/menu-separator.svelte +19 -0
  655. package/src/internal/modal-content.svelte +351 -0
  656. package/src/internal/motion.ts +85 -0
  657. package/src/internal/nav-arrow-button.svelte +42 -0
  658. package/src/internal/picker-popover-content.svelte +111 -0
  659. package/src/kbd/index.ts +9 -0
  660. package/src/kbd/kbd.meta.ts +7 -0
  661. package/src/kbd/kbd.svelte +56 -0
  662. package/src/label/index.ts +7 -0
  663. package/src/label/label.meta.ts +7 -0
  664. package/src/label/label.svelte +74 -0
  665. package/src/link/index.ts +7 -0
  666. package/src/link/link.meta.ts +7 -0
  667. package/src/link/link.svelte +104 -0
  668. package/src/link-preview/context.svelte.ts +15 -0
  669. package/src/link-preview/index.ts +19 -0
  670. package/src/link-preview/link-preview-content.svelte +87 -0
  671. package/src/link-preview/link-preview-root.svelte +72 -0
  672. package/src/link-preview/link-preview-trigger.svelte +61 -0
  673. package/src/link-preview/link-preview.meta.ts +7 -0
  674. package/src/list/context.svelte.ts +7 -0
  675. package/src/list/index.ts +27 -0
  676. package/src/list/list-item-icon.svelte +22 -0
  677. package/src/list/list-item-text.svelte +42 -0
  678. package/src/list/list-item.svelte +116 -0
  679. package/src/list/list-root.svelte +71 -0
  680. package/src/list/list-subheader.svelte +25 -0
  681. package/src/list/list.meta.ts +7 -0
  682. package/src/listbox/context.svelte.ts +10 -0
  683. package/src/listbox/index.ts +12 -0
  684. package/src/listbox/listbox-item.svelte +90 -0
  685. package/src/listbox/listbox-root.svelte +115 -0
  686. package/src/listbox/listbox.meta.ts +7 -0
  687. package/src/logo-mark/index.ts +12 -0
  688. package/src/logo-mark/logo-mark.meta.ts +7 -0
  689. package/src/logo-mark/logo-mark.svelte +154 -0
  690. package/src/map/context.svelte.ts +19 -0
  691. package/src/map/index.ts +77 -0
  692. package/src/map/map-controls.svelte +68 -0
  693. package/src/map/map-layer.svelte +101 -0
  694. package/src/map/map-marker.svelte +83 -0
  695. package/src/map/map-popup.svelte +71 -0
  696. package/src/map/map-root.svelte +244 -0
  697. package/src/map/map.meta.ts +7 -0
  698. package/src/markdown-renderer/index.ts +4 -0
  699. package/src/markdown-renderer/markdown-renderer.meta.ts +7 -0
  700. package/src/markdown-renderer/markdown-renderer.svelte +202 -0
  701. package/src/marquee/index.ts +3 -0
  702. package/src/marquee/marquee.meta.ts +7 -0
  703. package/src/marquee/marquee.svelte +218 -0
  704. package/src/mask-reveal/index.ts +5 -0
  705. package/src/mask-reveal/mask-reveal.meta.ts +7 -0
  706. package/src/mask-reveal/mask-reveal.svelte +214 -0
  707. package/src/mega-menu/context.svelte.ts +17 -0
  708. package/src/mega-menu/index.ts +31 -0
  709. package/src/mega-menu/mega-menu-button-trigger.svelte +37 -0
  710. package/src/mega-menu/mega-menu-column.svelte +34 -0
  711. package/src/mega-menu/mega-menu-item.svelte +51 -0
  712. package/src/mega-menu/mega-menu-link.svelte +137 -0
  713. package/src/mega-menu/mega-menu-panel.svelte +134 -0
  714. package/src/mega-menu/mega-menu-root.svelte +98 -0
  715. package/src/mega-menu/mega-menu.meta.ts +7 -0
  716. package/src/menubar/context.svelte.ts +24 -0
  717. package/src/menubar/index.ts +35 -0
  718. package/src/menubar/menubar-button-trigger.svelte +75 -0
  719. package/src/menubar/menubar-content.svelte +147 -0
  720. package/src/menubar/menubar-item.svelte +96 -0
  721. package/{dist/card/card-header.svelte → src/menubar/menubar-label.svelte} +6 -10
  722. package/src/menubar/menubar-menu.svelte +32 -0
  723. package/src/menubar/menubar-root.svelte +78 -0
  724. package/src/menubar/menubar-separator.svelte +17 -0
  725. package/src/menubar/menubar.meta.ts +7 -0
  726. package/src/motion/enter.svelte +29 -0
  727. package/src/motion/enter.ts +46 -0
  728. package/src/motion/exit.svelte +21 -0
  729. package/src/motion/index.ts +7 -0
  730. package/src/motion/leave.ts +41 -0
  731. package/src/motion/motion.meta.ts +8 -0
  732. package/src/motion/stagger.svelte +30 -0
  733. package/src/multi-select-combobox/context.svelte.ts +31 -0
  734. package/src/multi-select-combobox/index.ts +43 -0
  735. package/src/multi-select-combobox/multi-select-combobox-content.svelte +118 -0
  736. package/src/multi-select-combobox/multi-select-combobox-empty.svelte +28 -0
  737. package/src/multi-select-combobox/multi-select-combobox-group.svelte +33 -0
  738. package/src/multi-select-combobox/multi-select-combobox-input.svelte +161 -0
  739. package/src/multi-select-combobox/multi-select-combobox-item.svelte +140 -0
  740. package/src/multi-select-combobox/multi-select-combobox-root-input.svelte +286 -0
  741. package/src/multi-select-combobox/multi-select-combobox-selection-item.svelte +63 -0
  742. package/src/multi-select-combobox/multi-select-combobox-selection-list.svelte +29 -0
  743. package/src/multi-select-combobox/multi-select-combobox-selection-remove-button.svelte +36 -0
  744. package/src/multi-select-combobox/multi-select-combobox.meta.ts +7 -0
  745. package/src/navigation-menu/context.svelte.ts +18 -0
  746. package/src/navigation-menu/index.ts +50 -0
  747. package/src/navigation-menu/navigation-menu-content.svelte +55 -0
  748. package/src/navigation-menu/navigation-menu-item.svelte +35 -0
  749. package/src/navigation-menu/navigation-menu-link.svelte +49 -0
  750. package/src/navigation-menu/navigation-menu-list.svelte +47 -0
  751. package/src/navigation-menu/navigation-menu-root.svelte +46 -0
  752. package/src/navigation-menu/navigation-menu-trigger-button.svelte +62 -0
  753. package/src/navigation-menu/navigation-menu.meta.ts +7 -0
  754. package/src/noise/index.ts +15 -0
  755. package/src/noise/noise.meta.ts +7 -0
  756. package/src/noise/noise.svelte +179 -0
  757. package/src/notification-center/context.svelte.ts +24 -0
  758. package/src/notification-center/index.ts +28 -0
  759. package/src/notification-center/notification-center-group.svelte +30 -0
  760. package/src/notification-center/notification-center-item.svelte +70 -0
  761. package/src/notification-center/notification-center-panel.svelte +162 -0
  762. package/src/notification-center/notification-center-root.svelte +73 -0
  763. package/src/notification-center/notification-center-trigger-button.svelte +28 -0
  764. package/src/notification-center/notification-center.meta.ts +7 -0
  765. package/src/number-input/index.ts +7 -0
  766. package/src/number-input/number-input-button.svelte +222 -0
  767. package/src/number-input/number-input.meta.ts +7 -0
  768. package/src/numeric/index.ts +1 -0
  769. package/src/numeric/numeric.meta.ts +7 -0
  770. package/src/numeric/numeric.svelte +64 -0
  771. package/src/option-picker/context.svelte.ts +11 -0
  772. package/src/option-picker/index.ts +52 -0
  773. package/src/option-picker/option-picker-description.svelte +25 -0
  774. package/src/option-picker/option-picker-item.svelte +242 -0
  775. package/src/option-picker/option-picker-label.svelte +24 -0
  776. package/src/option-picker/option-picker-meta.svelte +24 -0
  777. package/src/option-picker/option-picker-preview.svelte +155 -0
  778. package/src/option-picker/option-picker-root.svelte +82 -0
  779. package/src/option-picker/option-picker.meta.ts +8 -0
  780. package/src/pagination/context.svelte.ts +12 -0
  781. package/src/pagination/index.ts +35 -0
  782. package/src/pagination/pagination-content.svelte +27 -0
  783. package/src/pagination/pagination-ellipsis.svelte +19 -0
  784. package/src/pagination/pagination-item.svelte +14 -0
  785. package/src/pagination/pagination-link-button.svelte +28 -0
  786. package/src/pagination/pagination-nav-button.svelte +28 -0
  787. package/src/pagination/pagination-next-button.svelte +13 -0
  788. package/src/pagination/pagination-previous-button.svelte +13 -0
  789. package/src/pagination/pagination-root.svelte +48 -0
  790. package/src/pagination/pagination.meta.ts +7 -0
  791. package/src/phone-input/index.ts +9 -0
  792. package/src/phone-input/phone-input-select.svelte +286 -0
  793. package/src/phone-input/phone-input.meta.ts +7 -0
  794. package/src/pin-input/context.svelte.ts +18 -0
  795. package/src/pin-input/index.ts +31 -0
  796. package/src/pin-input/pin-input-cell.svelte +117 -0
  797. package/src/pin-input/pin-input-group.svelte +24 -0
  798. package/src/pin-input/pin-input-root.svelte +315 -0
  799. package/src/pin-input/pin-input-separator.svelte +28 -0
  800. package/src/pin-input/pin-input.meta.ts +7 -0
  801. package/src/popover/context.svelte.ts +13 -0
  802. package/src/popover/index.ts +15 -0
  803. package/src/popover/popover-content.svelte +112 -0
  804. package/src/popover/popover-root.svelte +39 -0
  805. package/src/popover/popover-trigger.svelte +62 -0
  806. package/src/popover/popover.meta.ts +7 -0
  807. package/src/portal/index.ts +3 -0
  808. package/src/portal/portal.meta.ts +7 -0
  809. package/src/portal/portal.svelte +14 -0
  810. package/src/progress/index.ts +14 -0
  811. package/src/progress/progress.meta.ts +7 -0
  812. package/src/progress/progress.svelte +302 -0
  813. package/src/progress-ring/index.ts +8 -0
  814. package/src/progress-ring/progress-ring.meta.ts +7 -0
  815. package/src/progress-ring/progress-ring.svelte +169 -0
  816. package/src/prompt-input/index.ts +16 -0
  817. package/src/prompt-input/prompt-input-button-textarea.svelte +171 -0
  818. package/src/prompt-input/prompt-input.meta.ts +7 -0
  819. package/src/qr-code/index.ts +3 -0
  820. package/src/qr-code/qr-code.meta.ts +7 -0
  821. package/src/qr-code/qr-code.svelte +149 -0
  822. package/src/radio-group/context.svelte.ts +10 -0
  823. package/src/radio-group/index.ts +12 -0
  824. package/src/radio-group/radio-group-item-input.svelte +197 -0
  825. package/src/radio-group/radio-group.meta.ts +7 -0
  826. package/src/radio-group/radio-group.svelte +117 -0
  827. package/src/range-calendar/context.svelte.ts +22 -0
  828. package/src/range-calendar/index.ts +16 -0
  829. package/src/range-calendar/range-calendar-grid-button.svelte +77 -0
  830. package/src/range-calendar/range-calendar-root.svelte +146 -0
  831. package/src/range-calendar/range-calendar.meta.ts +7 -0
  832. package/src/rating/index.ts +7 -0
  833. package/src/rating/rating-button-input.svelte +265 -0
  834. package/src/rating/rating.meta.ts +7 -0
  835. package/src/relative-time/index.ts +3 -0
  836. package/src/relative-time/relative-time.meta.ts +7 -0
  837. package/src/relative-time/relative-time.svelte +71 -0
  838. package/src/reveal/index.ts +7 -0
  839. package/src/reveal/reveal.meta.ts +8 -0
  840. package/src/reveal/reveal.svelte +190 -0
  841. package/src/rich-text-editor/index.ts +19 -0
  842. package/src/rich-text-editor/rich-text-editor-content.svelte +184 -0
  843. package/src/rich-text-editor/rich-text-editor-root.svelte +213 -0
  844. package/src/rich-text-editor/rich-text-editor-toolbar-button-input.svelte +541 -0
  845. package/src/rich-text-editor/rich-text-editor.meta.ts +7 -0
  846. package/src/scroll-area/index.ts +3 -0
  847. package/src/scroll-area/scroll-area.meta.ts +7 -0
  848. package/src/scroll-area/scroll-area.svelte +85 -0
  849. package/src/scroll-to-top/index.ts +8 -0
  850. package/src/scroll-to-top/scroll-to-top-button.svelte +89 -0
  851. package/src/scroll-to-top/scroll-to-top.meta.ts +7 -0
  852. package/src/segmented-control/context.svelte.ts +10 -0
  853. package/src/segmented-control/index.ts +12 -0
  854. package/src/segmented-control/segmented-control-item-button.svelte +37 -0
  855. package/src/segmented-control/segmented-control-root.svelte +125 -0
  856. package/src/segmented-control/segmented-control.meta.ts +7 -0
  857. package/src/select/context.svelte.ts +17 -0
  858. package/src/select/index.ts +27 -0
  859. package/src/select/select-content.svelte +202 -0
  860. package/src/select/select-item.svelte +118 -0
  861. package/src/select/select-root-input.svelte +105 -0
  862. package/src/select/select-trigger-button.svelte +183 -0
  863. package/src/select/select-value.svelte +27 -0
  864. package/src/select/select.meta.ts +7 -0
  865. package/src/separator/index.ts +9 -0
  866. package/src/separator/separator.meta.ts +7 -0
  867. package/src/separator/separator.svelte +70 -0
  868. package/src/shader-canvas/index.ts +28 -0
  869. package/src/shader-canvas/presets.ts +212 -0
  870. package/src/shader-canvas/shader-canvas.meta.ts +7 -0
  871. package/src/shader-canvas/shader-canvas.svelte +115 -0
  872. package/src/shimmer/index.ts +10 -0
  873. package/src/shimmer/shimmer.meta.ts +7 -0
  874. package/src/shimmer/shimmer.svelte +125 -0
  875. package/src/sidebar/context.svelte.ts +10 -0
  876. package/src/sidebar/index.ts +66 -0
  877. package/src/sidebar/sidebar-content.svelte +43 -0
  878. package/src/sidebar/sidebar-footer.svelte +28 -0
  879. package/src/sidebar/sidebar-group-label.svelte +45 -0
  880. package/src/sidebar/sidebar-group.svelte +29 -0
  881. package/src/sidebar/sidebar-header.svelte +34 -0
  882. package/src/sidebar/sidebar-item.svelte +57 -0
  883. package/src/sidebar/sidebar-root.svelte +76 -0
  884. package/src/sidebar/sidebar-trigger-button.svelte +29 -0
  885. package/src/sidebar/sidebar.meta.ts +7 -0
  886. package/src/skeleton/index.ts +9 -0
  887. package/src/skeleton/skeleton.meta.ts +7 -0
  888. package/src/skeleton/skeleton.svelte +97 -0
  889. package/src/slider/index.ts +12 -0
  890. package/src/slider/slider-input.svelte +277 -0
  891. package/src/slider/slider.meta.ts +7 -0
  892. package/src/spacer/index.ts +8 -0
  893. package/src/spacer/spacer.meta.ts +7 -0
  894. package/src/spacer/spacer.svelte +84 -0
  895. package/src/sparkline/index.ts +3 -0
  896. package/src/sparkline/sparkline.meta.ts +7 -0
  897. package/src/sparkline/sparkline.svelte +113 -0
  898. package/src/spinner/index.ts +9 -0
  899. package/src/spinner/spinner.meta.ts +7 -0
  900. package/src/spinner/spinner.svelte +110 -0
  901. package/src/splitter/context.svelte.ts +11 -0
  902. package/src/splitter/index.ts +15 -0
  903. package/src/splitter/splitter-handle.svelte +171 -0
  904. package/src/splitter/splitter-panel.svelte +28 -0
  905. package/src/splitter/splitter-root.svelte +128 -0
  906. package/src/splitter/splitter.meta.ts +7 -0
  907. package/src/spotlight/index.ts +5 -0
  908. package/src/spotlight/spotlight.meta.ts +8 -0
  909. package/src/spotlight/spotlight.svelte +249 -0
  910. package/src/stagger/index.ts +1 -0
  911. package/src/stagger/stagger.meta.ts +8 -0
  912. package/src/star-rating/index.ts +16 -0
  913. package/src/star-rating/star-rating-root.svelte +109 -0
  914. package/src/star-rating/star-rating.meta.ts +7 -0
  915. package/src/stepper/context.svelte.ts +9 -0
  916. package/src/stepper/index.ts +23 -0
  917. package/src/stepper/stepper-list.svelte +37 -0
  918. package/src/stepper/stepper-root.svelte +51 -0
  919. package/src/stepper/stepper-separator.svelte +45 -0
  920. package/src/stepper/stepper-step-button.svelte +113 -0
  921. package/src/stepper/stepper.meta.ts +7 -0
  922. package/src/svg/index.ts +5 -0
  923. package/src/svg/svg.meta.ts +7 -0
  924. package/src/svg/svg.svelte +19 -0
  925. package/src/table/index.ts +39 -0
  926. package/src/table/table-body.svelte +14 -0
  927. package/src/table/table-caption.svelte +25 -0
  928. package/src/table/table-cell.svelte +24 -0
  929. package/src/table/table-footer.svelte +21 -0
  930. package/src/table/table-head.svelte +26 -0
  931. package/src/table/table-header.svelte +21 -0
  932. package/src/table/table-root.svelte +64 -0
  933. package/src/table/table-row.svelte +28 -0
  934. package/src/table/table.meta.ts +7 -0
  935. package/src/table-of-contents/context.svelte.ts +14 -0
  936. package/src/table-of-contents/index.ts +20 -0
  937. package/src/table-of-contents/table-of-contents-item.svelte +86 -0
  938. package/src/table-of-contents/table-of-contents-list.svelte +87 -0
  939. package/src/table-of-contents/table-of-contents-root.svelte +88 -0
  940. package/src/table-of-contents/table-of-contents.meta.ts +7 -0
  941. package/src/tabs/context.svelte.ts +16 -0
  942. package/src/tabs/index.ts +43 -0
  943. package/src/tabs/tabs-content.svelte +42 -0
  944. package/src/tabs/tabs-list.svelte +102 -0
  945. package/src/tabs/tabs-root.svelte +59 -0
  946. package/src/tabs/tabs-trigger-button.svelte +41 -0
  947. package/src/tabs/tabs.meta.ts +7 -0
  948. package/src/tag/index.ts +12 -0
  949. package/src/tag/tag-button.svelte +254 -0
  950. package/src/tag/tag.meta.ts +7 -0
  951. package/src/tags-input/context.svelte.ts +13 -0
  952. package/src/tags-input/index.ts +32 -0
  953. package/src/tags-input/tags-input-input.svelte +85 -0
  954. package/src/tags-input/tags-input-list.svelte +20 -0
  955. package/src/tags-input/tags-input-root.svelte +136 -0
  956. package/src/tags-input/tags-input-tag-delete-button.svelte +31 -0
  957. package/src/tags-input/tags-input-tag.svelte +61 -0
  958. package/src/tags-input/tags-input.meta.ts +7 -0
  959. package/src/text/index.ts +20 -0
  960. package/src/text/text.meta.ts +7 -0
  961. package/src/text/text.svelte +150 -0
  962. package/src/textarea/index.ts +7 -0
  963. package/src/textarea/textarea.meta.ts +7 -0
  964. package/src/textarea/textarea.svelte +210 -0
  965. package/src/theme-toggle/index.ts +30 -0
  966. package/src/theme-toggle/theme-controller.svelte.ts +171 -0
  967. package/src/theme-toggle/theme-flash.ts +39 -0
  968. package/src/theme-toggle/theme-toggle.meta.ts +7 -0
  969. package/src/theme-toggle/theme-toggle.svelte +199 -0
  970. package/src/themes/aurora.css +243 -0
  971. package/src/themes/component-defaults.css +47 -0
  972. package/src/themes/dark.css +317 -0
  973. package/src/themes/default.css +618 -0
  974. package/src/themes/midnight.css +147 -0
  975. package/src/themes/terminal.css +161 -0
  976. package/src/themes/token-scope.ts +1 -0
  977. package/src/time-input/index.ts +10 -0
  978. package/src/time-input/time-input.meta.ts +7 -0
  979. package/src/time-input/time-input.svelte +157 -0
  980. package/src/timeline/index.ts +40 -0
  981. package/src/timeline/timeline-content.svelte +22 -0
  982. package/src/timeline/timeline-description.svelte +22 -0
  983. package/src/timeline/timeline-icon.svelte +41 -0
  984. package/src/timeline/timeline-item.svelte +57 -0
  985. package/src/timeline/timeline-root.svelte +43 -0
  986. package/src/timeline/timeline-time.svelte +22 -0
  987. package/src/timeline/timeline-title.svelte +55 -0
  988. package/src/timeline/timeline.meta.ts +7 -0
  989. package/src/toast/context.svelte.ts +7 -0
  990. package/src/toast/index.ts +33 -0
  991. package/src/toast/toast-action-button.svelte +16 -0
  992. package/src/toast/toast-close-button.svelte +35 -0
  993. package/src/toast/toast-description.svelte +24 -0
  994. package/src/toast/toast-provider.svelte +120 -0
  995. package/src/toast/toast-root.svelte +169 -0
  996. package/src/toast/toast-title.svelte +25 -0
  997. package/src/toast/toast.meta.ts +7 -0
  998. package/src/toggle/index.ts +9 -0
  999. package/src/toggle/toggle-button.svelte +218 -0
  1000. package/src/toggle/toggle.meta.ts +7 -0
  1001. package/src/toggle-group/context.svelte.ts +12 -0
  1002. package/src/toggle-group/index.ts +18 -0
  1003. package/src/toggle-group/toggle-group-item-button.svelte +36 -0
  1004. package/src/toggle-group/toggle-group-root.svelte +106 -0
  1005. package/src/toggle-group/toggle-group.meta.ts +7 -0
  1006. package/src/token-scope/index.ts +8 -0
  1007. package/src/token-scope/token-scope.meta.ts +7 -0
  1008. package/src/toolbar/context.svelte.ts +6 -0
  1009. package/src/toolbar/index.ts +23 -0
  1010. package/src/toolbar/toolbar-button.svelte +16 -0
  1011. package/src/toolbar/toolbar-link.svelte +46 -0
  1012. package/src/toolbar/toolbar-root.svelte +100 -0
  1013. package/src/toolbar/toolbar-separator.svelte +33 -0
  1014. package/src/toolbar/toolbar.meta.ts +7 -0
  1015. package/src/tooltip/context.svelte.ts +14 -0
  1016. package/src/tooltip/index.ts +15 -0
  1017. package/src/tooltip/tooltip-content.svelte +106 -0
  1018. package/src/tooltip/tooltip-root.svelte +73 -0
  1019. package/src/tooltip/tooltip-trigger.svelte +74 -0
  1020. package/src/tooltip/tooltip.meta.ts +7 -0
  1021. package/src/tour/index.ts +12 -0
  1022. package/src/tour/tour-root.css +215 -0
  1023. package/src/tour/tour-root.css.d.ts +2 -0
  1024. package/src/tour/tour-root.svelte +19 -0
  1025. package/src/tour/tour-tooltip-button.svelte +48 -0
  1026. package/src/tour/tour.meta.ts +7 -0
  1027. package/src/transfer/context.svelte.ts +31 -0
  1028. package/src/transfer/index.ts +29 -0
  1029. package/src/transfer/transfer-actions-button.svelte +91 -0
  1030. package/src/transfer/transfer-item.svelte +35 -0
  1031. package/src/transfer/transfer-list-input.svelte +204 -0
  1032. package/src/transfer/transfer-root.svelte +145 -0
  1033. package/src/transfer/transfer.meta.ts +7 -0
  1034. package/src/tree/context.svelte.ts +24 -0
  1035. package/src/tree/index.ts +23 -0
  1036. package/src/tree/tree-item-children.svelte +51 -0
  1037. package/src/tree/tree-item-label.svelte +56 -0
  1038. package/src/tree/tree-item.svelte +63 -0
  1039. package/src/tree/tree-root.svelte +246 -0
  1040. package/src/tree/tree.meta.ts +7 -0
  1041. package/src/typing-indicator/index.ts +5 -0
  1042. package/src/typing-indicator/typing-indicator.meta.ts +7 -0
  1043. package/src/typing-indicator/typing-indicator.svelte +72 -0
  1044. package/src/typography/blockquote.svelte +24 -0
  1045. package/src/typography/code.svelte +25 -0
  1046. package/src/typography/heading.svelte +17 -0
  1047. package/src/typography/index.ts +30 -0
  1048. package/src/typography/text.svelte +25 -0
  1049. package/src/typography/typography.meta.ts +7 -0
  1050. package/src/video-embed/index.ts +3 -0
  1051. package/src/video-embed/video-embed-button.svelte +177 -0
  1052. package/src/video-embed/video-embed.meta.ts +7 -0
  1053. package/src/virtual-list/index.ts +3 -0
  1054. package/src/virtual-list/virtual-list.meta.ts +7 -0
  1055. package/src/virtual-list/virtual-list.svelte +239 -0
  1056. package/src/visually-hidden/index.ts +8 -0
  1057. package/src/visually-hidden/visually-hidden.meta.ts +7 -0
  1058. package/src/visually-hidden/visually-hidden.svelte +28 -0
  1059. package/dist/card/card-content.svelte +0 -32
  1060. package/dist/card/card-content.svelte.d.ts +0 -9
  1061. package/dist/card/card-footer.svelte.d.ts +0 -8
  1062. package/dist/card/card-header.svelte.d.ts +0 -8
  1063. package/dist/card/card-root.svelte +0 -184
  1064. package/dist/card/card-root.svelte.d.ts +0 -15
  1065. package/dist/card/card.meta.js +0 -7
  1066. package/dist/card/index.d.ts +0 -31
  1067. package/dist/card/index.js +0 -10
  1068. package/skills/dryui/SKILL.md +0 -308
  1069. package/skills/dryui/agents/openai.yaml +0 -10
  1070. package/skills/dryui/rules/accessibility.md +0 -215
  1071. package/skills/dryui/rules/composition.md +0 -500
  1072. package/skills/dryui/rules/compound-components.md +0 -312
  1073. package/skills/dryui/rules/design-brief.md +0 -59
  1074. package/skills/dryui/rules/design.md +0 -71
  1075. package/skills/dryui/rules/native-web-transitions.md +0 -99
  1076. package/skills/dryui/rules/svelte.md +0 -234
  1077. package/skills/dryui/rules/theming.md +0 -305
  1078. /package/dist/{card/card.meta.d.ts → token-scope/token-scope.meta.d.ts} +0 -0
@@ -1,312 +0,0 @@
1
- # Compound Components
2
-
3
- ## Core Rule
4
-
5
- Every compound component uses `.Root` as the container. Never use the bare name.
6
-
7
- ```svelte
8
- <!-- Incorrect -->
9
- <Card>...</Card>
10
- <Dialog>...</Dialog>
11
- <Tabs>...</Tabs>
12
-
13
- <!-- Correct -->
14
- <Card.Root>...</Card.Root>
15
- <Dialog.Root>...</Dialog.Root>
16
- <Tabs.Root>...</Tabs.Root>
17
- ```
18
-
19
- ## Parts Reference
20
-
21
- Below are the parts for the most commonly used compound components. Prefer `dryui info <name>` for the full, up-to-date parts list; if MCP is available, `ask --scope component "<name>"` is equivalent.
22
-
23
- ### Card
24
-
25
- Parts: Root, Header, Content, Footer
26
-
27
- ```svelte
28
- <Card.Root>
29
- <Card.Header>Title</Card.Header>
30
- <Card.Content>
31
- <p>Body content goes here.</p>
32
- </Card.Content>
33
- <Card.Footer>
34
- <Button variant="solid">Action</Button>
35
- </Card.Footer>
36
- </Card.Root>
37
- ```
38
-
39
- ### Dialog
40
-
41
- Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Close
42
-
43
- ```svelte
44
- <script>
45
- let showDialog = $state(false);
46
- </script>
47
-
48
- <Dialog.Root bind:open={showDialog}>
49
- <Dialog.Trigger>
50
- <Button>Open Dialog</Button>
51
- </Dialog.Trigger>
52
- <Dialog.Content>
53
- <Dialog.Header>Confirm Action</Dialog.Header>
54
- <Dialog.Body>
55
- <p>Are you sure you want to proceed?</p>
56
- </Dialog.Body>
57
- <Dialog.Footer>
58
- <Button variant="outline" onclick={() => (showDialog = false)}>Cancel</Button>
59
- <Button variant="solid">Confirm</Button>
60
- </Dialog.Footer>
61
- </Dialog.Content>
62
- </Dialog.Root>
63
- ```
64
-
65
- ### Drawer
66
-
67
- Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Close
68
-
69
- Same structure as Dialog but slides in from the side.
70
-
71
- ```svelte
72
- <script>
73
- let showDrawer = $state(false);
74
- </script>
75
-
76
- <Drawer.Root bind:open={showDrawer}>
77
- <Drawer.Trigger>
78
- <Button>Open Drawer</Button>
79
- </Drawer.Trigger>
80
- <Drawer.Content>
81
- <Drawer.Header>Settings</Drawer.Header>
82
- <Drawer.Body>
83
- <p>Drawer content here.</p>
84
- </Drawer.Body>
85
- <Drawer.Footer>
86
- <Button variant="solid">Save</Button>
87
- </Drawer.Footer>
88
- </Drawer.Content>
89
- </Drawer.Root>
90
- ```
91
-
92
- ### Tabs
93
-
94
- Parts: Root, List, Trigger, Content
95
-
96
- Use `bind:value` on Root to track the active tab.
97
-
98
- ```svelte
99
- <script>
100
- let activeTab = $state('one');
101
- </script>
102
-
103
- <Tabs.Root bind:value={activeTab}>
104
- <Tabs.List>
105
- <Tabs.Trigger value="one">Tab 1</Tabs.Trigger>
106
- <Tabs.Trigger value="two">Tab 2</Tabs.Trigger>
107
- </Tabs.List>
108
- <Tabs.Content value="one">First panel</Tabs.Content>
109
- <Tabs.Content value="two">Second panel</Tabs.Content>
110
- </Tabs.Root>
111
- ```
112
-
113
- ### Accordion
114
-
115
- Parts: Root, Item, Trigger, Content
116
-
117
- ```svelte
118
- <Accordion.Root>
119
- <Accordion.Item value="a">
120
- <Accordion.Trigger>Section A</Accordion.Trigger>
121
- <Accordion.Content>Content for section A.</Accordion.Content>
122
- </Accordion.Item>
123
- <Accordion.Item value="b">
124
- <Accordion.Trigger>Section B</Accordion.Trigger>
125
- <Accordion.Content>Content for section B.</Accordion.Content>
126
- </Accordion.Item>
127
- </Accordion.Root>
128
- ```
129
-
130
- ### AlertDialog
131
-
132
- Parts: Root, Trigger, Content, Overlay, Header, Body, Footer, Action, Cancel
133
-
134
- Use AlertDialog for destructive confirmations. It traps focus and requires explicit user action.
135
-
136
- ```svelte
137
- <AlertDialog.Root>
138
- <AlertDialog.Trigger>
139
- <Button variant="outline">Delete Account</Button>
140
- </AlertDialog.Trigger>
141
- <AlertDialog.Content>
142
- <AlertDialog.Header>Are you sure?</AlertDialog.Header>
143
- <AlertDialog.Body>
144
- <p>This action cannot be undone.</p>
145
- </AlertDialog.Body>
146
- <AlertDialog.Footer>
147
- <AlertDialog.Cancel>Cancel</AlertDialog.Cancel>
148
- <AlertDialog.Action>Delete</AlertDialog.Action>
149
- </AlertDialog.Footer>
150
- </AlertDialog.Content>
151
- </AlertDialog.Root>
152
- ```
153
-
154
- ### DropdownMenu
155
-
156
- Parts: Root, Trigger, Content, Item, Separator, Group, Label
157
-
158
- ```svelte
159
- <DropdownMenu.Root>
160
- <DropdownMenu.Trigger>
161
- <Button variant="outline">Options</Button>
162
- </DropdownMenu.Trigger>
163
- <DropdownMenu.Content>
164
- <DropdownMenu.Item onclick={handleEdit}>Edit</DropdownMenu.Item>
165
- <DropdownMenu.Item onclick={handleDuplicate}>Duplicate</DropdownMenu.Item>
166
- <DropdownMenu.Separator />
167
- <DropdownMenu.Item onclick={handleDelete}>Delete</DropdownMenu.Item>
168
- </DropdownMenu.Content>
169
- </DropdownMenu.Root>
170
- ```
171
-
172
- ### Select
173
-
174
- Parts: Root, Trigger, Content, Item, Value
175
-
176
- ```svelte
177
- <script>
178
- let selected = $state('');
179
- </script>
180
-
181
- <Select.Root bind:value={selected}>
182
- <Select.Trigger>
183
- <Select.Value placeholder="Choose..." />
184
- </Select.Trigger>
185
- <Select.Content>
186
- <Select.Item value="a">Alpha</Select.Item>
187
- <Select.Item value="b">Beta</Select.Item>
188
- <Select.Item value="c">Gamma</Select.Item>
189
- </Select.Content>
190
- </Select.Root>
191
- ```
192
-
193
- ### Field
194
-
195
- Parts: Root, Description, Error
196
-
197
- Field.Root wraps a Label and input component. The Label and input (Input, Select, Textarea, etc.) are direct children, not Field parts.
198
-
199
- ```svelte
200
- <Field.Root>
201
- <Label>Username</Label>
202
- <Input bind:value={username} />
203
- <Field.Description>Choose a unique username.</Field.Description>
204
- <Field.Error>Username is already taken.</Field.Error>
205
- </Field.Root>
206
- ```
207
-
208
- ### Table
209
-
210
- Parts: Root, Header, Body, Footer, Row, Head, Cell, Caption
211
-
212
- ```svelte
213
- <Table.Root>
214
- <Table.Caption>User list</Table.Caption>
215
- <Table.Header>
216
- <Table.Row>
217
- <Table.Head>Name</Table.Head>
218
- <Table.Head>Email</Table.Head>
219
- </Table.Row>
220
- </Table.Header>
221
- <Table.Body>
222
- {#each users as user (user.id)}
223
- <Table.Row>
224
- <Table.Cell>{user.name}</Table.Cell>
225
- <Table.Cell>{user.email}</Table.Cell>
226
- </Table.Row>
227
- {/each}
228
- </Table.Body>
229
- </Table.Root>
230
- ```
231
-
232
- ### Popover
233
-
234
- Parts: Root, Trigger, Content
235
-
236
- ```svelte
237
- <Popover.Root>
238
- <Popover.Trigger>
239
- <Button variant="ghost">Info</Button>
240
- </Popover.Trigger>
241
- <Popover.Content>
242
- <p>Additional details here.</p>
243
- </Popover.Content>
244
- </Popover.Root>
245
- ```
246
-
247
- ### Combobox
248
-
249
- Parts: Root, Input, Content, Item, Empty
250
-
251
- ```svelte
252
- <script>
253
- let query = $state('');
254
- </script>
255
-
256
- <Combobox.Root bind:value={query}>
257
- <Combobox.Input placeholder="Search..." />
258
- <Combobox.Content>
259
- <Combobox.Item value="apple" index={0}>Apple</Combobox.Item>
260
- <Combobox.Item value="banana" index={1}>Banana</Combobox.Item>
261
- <Combobox.Empty>No results found.</Combobox.Empty>
262
- </Combobox.Content>
263
- </Combobox.Root>
264
- ```
265
-
266
- ## Common Mistakes
267
-
268
- ### Using bare compound name
269
-
270
- ```svelte
271
- <!-- Incorrect: bare name -->
272
- <Tabs>...</Tabs>
273
- <Select>...</Select>
274
-
275
- <!-- Correct: always .Root -->
276
- <Tabs.Root>...</Tabs.Root>
277
- <Select.Root>...</Select.Root>
278
- ```
279
-
280
- ### Orphaned parts without Root
281
-
282
- ```svelte
283
- <!-- Incorrect: parts without their Root wrapper -->
284
- <Card.Header>Title</Card.Header>
285
- <Card.Content>Body</Card.Content>
286
-
287
- <!-- Correct: parts inside Root -->
288
- <Card.Root>
289
- <Card.Header>Title</Card.Header>
290
- <Card.Content>Body</Card.Content>
291
- </Card.Root>
292
- ```
293
-
294
- ### Mixing parts from different components
295
-
296
- ```svelte
297
- <!-- Incorrect: Dialog.Header inside Drawer -->
298
- <Drawer.Root>
299
- <Dialog.Header>Title</Dialog.Header>
300
- </Drawer.Root>
301
-
302
- <!-- Correct: use matching parts -->
303
- <Drawer.Root>
304
- <Drawer.Header>Title</Drawer.Header>
305
- </Drawer.Root>
306
- ```
307
-
308
- ## Full Compound Component List
309
-
310
- Run `dryui info <name>` for any component's complete parts list. If MCP is available, `ask --scope component "<name>"` is equivalent:
311
-
312
- Accordion, AlertDialog, Breadcrumb, Card, Collapsible, ColorPicker, Combobox, CommandPalette, ContextMenu, DataGrid, DatePicker, Dialog, DragAndDrop, Drawer, DropdownMenu, EmptyState, Field, FileUpload, FloatButton, Pagination, Popover, RadioGroup, RichTextEditor, Select, Splitter, Stepper, Table, Tabs, TagsInput, Toast, ToggleGroup, Toolbar, Tooltip, Tour, Transfer
@@ -1,59 +0,0 @@
1
- # Design Brief Pipeline
2
-
3
- Use this rule before building or materially changing a UI. It keeps intent, component contracts, and polish review in the same visible loop.
4
-
5
- ## Pipeline
6
-
7
- 1. **User brief** — capture the audience, primary job, product/domain, density, tone, constraints, and success criteria. Ask only for missing information that changes the implementation.
8
- 2. **DESIGN.md identity** — read the project `DESIGN.md` if present. If the project lacks one and the UI has meaningful visual direction, draft the identity in the working notes or create the file when the user asks for durable design guidance. Google-style `DESIGN.md` is an optional supported format, not a dependency.
9
- 3. **DryUI lookup/plan** — use `dryui info`, `dryui compose`, or MCP `ask` before selecting components or recipes. Plan around confirmed component contracts, accessibility, tokens, and grid layout.
10
- 4. **make-interfaces-feel-better polish intent pass** — explicitly list the polish details that apply before implementation. This is a planning step, not hidden preference.
11
- 5. **Implementation** — build with DryUI components, Svelte 5, scoped grid CSS, tokenized styling, and accessible composition.
12
- 6. **Deterministic check** — run `dryui check [path]` or MCP `check` against edited files or the workspace.
13
- 7. **Visual review** — run `dryui check --visual <url>` or MCP `check` with `visualUrl`. Name the user brief and the polish intent in the review prompt when possible.
14
- 8. **Repair loop** — fix issues in priority order, then repeat deterministic check and visual review until the screen satisfies the brief.
15
-
16
- ## Precedence
17
-
18
- When guidance conflicts, use this order:
19
-
20
- 1. User intent and explicit task constraints.
21
- 2. Local `DESIGN.md` identity.
22
- 3. DryUI component contracts, accessibility rules, and token/theming discipline.
23
- 4. Official Svelte MCP guidance for Svelte and SvelteKit syntax/framework decisions.
24
- 5. make-interfaces-feel-better polish rubric.
25
-
26
- ## Brief Shape
27
-
28
- Keep the brief short and implementation-oriented:
29
-
30
- - Who is using this?
31
- - What are they trying to do?
32
- - What information or action must be visible first?
33
- - How dense should the interface be?
34
- - What brand, product, or domain cues should shape the identity?
35
- - What constraints are fixed by the user, existing code, or platform?
36
-
37
- ## DESIGN.md Identity
38
-
39
- Use `DESIGN.md` to preserve durable identity decisions: product personality, visual tone, density, navigation model, content hierarchy, color/token direction, motion posture, and examples of what to avoid.
40
-
41
- Do not treat `DESIGN.md` as more important than the user's current request. If the user changes direction, follow the user and update the identity only when the change is meant to persist.
42
-
43
- ## Polish Intent
44
-
45
- The make-interfaces-feel-better pass should be explicit in planning and visual review. Check the applicable details:
46
-
47
- - balanced headings and pretty body wrapping
48
- - concentric radius for nested surfaces
49
- - icon swaps that crossfade without jitter
50
- - tabular numbers for counters, prices, clocks, and scores
51
- - transitions for interactive state, not keyframe-only state changes
52
- - staggered entrances when groups appear
53
- - smaller exits than entrances
54
- - shadow treatment for raised surfaces
55
- - optical icon alignment inside buttons
56
- - adaptive image edges for media and avatars
57
- - token consistency across color, radius, shadow, spacing, duration, and easing
58
-
59
- If a detail does not apply, skip it deliberately. Polish is a review rubric, not decoration.
@@ -1,71 +0,0 @@
1
- # Clean Code Standards
2
-
3
- ## Core Principle
4
-
5
- Write the minimum correct code. Every line must earn its place.
6
-
7
- ## Rules
8
-
9
- ### No Premature Abstraction
10
-
11
- - Three similar lines > one premature helper
12
- - Only extract when you have 3+ real call sites
13
- - No "just in case" configurability, feature flags, or extension points
14
- - Delete code you don't need -- don't comment it out
15
-
16
- ### No Noise
17
-
18
- - No comments that restate what code does
19
- - Comments only where the _why_ is non-obvious
20
- - No empty catch blocks -- handle or rethrow
21
- - No unused imports, variables, or parameters
22
- - No `console.log` left in production code
23
- - No commented-out code -- use git history
24
-
25
- ### Names Are Documentation
26
-
27
- - Functions: verb + noun (`getUser`, `handleClick`, `parseDate`)
28
- - Booleans: `is`/`has`/`should` prefix (`isOpen`, `hasError`)
29
- - Collections: plural (`users`, `items`)
30
- - Callbacks: `on` + event (`onClose`, `onChange`)
31
- - Constants: UPPER_SNAKE only for true compile-time constants
32
-
33
- ### Functions
34
-
35
- - One job per function
36
- - Max 3 parameters -- use an options object for more
37
- - Return early to avoid nesting
38
- - Pure functions where possible -- side effects at the edges
39
-
40
- ### Error Handling
41
-
42
- - Only validate at system boundaries (user input, API responses, file reads)
43
- - Trust internal code -- don't null-check values you just created
44
- - Use specific error types, not generic strings
45
- - Handle errors at the level that can meaningfully respond
46
-
47
- ### File Organization
48
-
49
- - One concept per file
50
- - Keep files under 300 lines -- split if growing
51
- - Colocate related code (component + styles + tests in same directory)
52
- - Index files only for re-exports, never for logic
53
-
54
- ## Anti-Patterns -- Stop and Fix
55
-
56
- | If you're about to... | Instead... |
57
- | --------------------------------------- | ------------------------------------------------------------ |
58
- | Add a "utils" file | Put it where it's used (shared module only at 3+ call sites) |
59
- | Create a base class | Use composition |
60
- | Add a config option nobody asked for | Don't |
61
- | Write a comment explaining _what_ | Rename so it's obvious |
62
- | Add error handling for impossible cases | Trust internal code |
63
- | Create a wrapper around a simple API | Use the API directly |
64
-
65
- ## 5 Rules of Programming
66
-
67
- 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places.
68
- 2. Measure. Don't tune for speed until you've measured.
69
- 3. Fancy algorithms are slow when n is small, and n is usually small.
70
- 4. Fancy algorithms are buggier than simple ones. Use simple algorithms and simple data structures.
71
- 5. Data dominates. If you've chosen the right data structures, the algorithms will be self-evident.
@@ -1,99 +0,0 @@
1
- # Native Web Transitions
2
-
3
- Use this skill when a UI should animate with platform APIs first, not JS animation libraries.
4
-
5
- ## Default approach
6
-
7
- 1. Start from a fully functional no-animation version.
8
- 2. Add JS feature detection for `document.startViewTransition` before calling it.
9
- 3. Gate transition-specific CSS with `@supports (view-transition-name: foo)`.
10
- 4. Gate scroll-driven CSS with `@supports (animation-timeline: view())`.
11
- 5. Add `prefers-reduced-motion` handling that removes typewriter, transition, and scroll-linked animation.
12
- 6. Keep fallback behavior immediate and complete rather than approximating the effect with extra JS.
13
-
14
- ## View Transition pattern
15
-
16
- Use when DOM changes should animate as a single state change.
17
-
18
- ```ts
19
- function runWithViewTransition(update: () => void) {
20
- if (!document.startViewTransition) {
21
- update();
22
- return Promise.resolve();
23
- }
24
-
25
- const transition = document.startViewTransition(update);
26
- return transition.finished.catch(() => {});
27
- }
28
- ```
29
-
30
- Use stable names only on the elements that should animate:
31
-
32
- ```css
33
- @supports (view-transition-name: foo) {
34
- .message {
35
- view-transition-name: var(--vt-name);
36
- }
37
-
38
- ::view-transition-new(message-enter) {
39
- animation: dry-slide-up 240ms ease-out;
40
- }
41
- }
42
- ```
43
-
44
- Notes:
45
-
46
- - Assign unique `view-transition-name` values per inserted item.
47
- - Keep transitions short; they should clarify state changes, not delay interaction.
48
- - Trigger follow-up work such as `scrollIntoView` after `transition.finished`.
49
-
50
- ## Scroll-driven reveal pattern
51
-
52
- Use for footer or section entry reveals tied to viewport position.
53
-
54
- ```css
55
- @supports (animation-timeline: view()) {
56
- .reveal {
57
- animation: dry-fade-up linear both;
58
- animation-timeline: view();
59
- animation-range: entry 15% cover 35%;
60
- }
61
- }
62
- ```
63
-
64
- Fallback: leave the section fully visible with no animation.
65
-
66
- ## Reduced motion
67
-
68
- Always include a reduced-motion override:
69
-
70
- ```css
71
- @media (prefers-reduced-motion: reduce) {
72
- .typing-dot,
73
- .reveal {
74
- animation: none;
75
- }
76
-
77
- :root {
78
- scroll-behavior: auto;
79
- }
80
- }
81
- ```
82
-
83
- The `@media` block comes after the default rule in the same scoped stylesheet, so equal specificity plus source order handles the override without `!important` — which is banned by `@dryui/lint` (`dryui/no-important`). In JS, skip delayed typewriter/replay steps and render the final state immediately when reduced motion is active.
84
-
85
- ## Svelte notes
86
-
87
- - Keep DOM mutation orchestration in the component that owns the rendered list.
88
- - Use `$effect` or `onMount` for browser-only APIs.
89
- - Do not access `document` or `window` during SSR; guard with `browser` or call inside browser-only lifecycle.
90
- - Prefer state-driven rendering and wrap only the mutation boundary in `startViewTransition`.
91
-
92
- ## Checklist
93
-
94
- - Feature-detected `document.startViewTransition`
95
- - `@supports` around transition CSS
96
- - `@supports` around `animation-timeline`
97
- - `prefers-reduced-motion` disables motion and delay
98
- - Fallback path is functional without animation
99
- - No dependency on third-party animation runtime