@dryui/ui 1.8.0 → 2.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 (419) hide show
  1. package/dist/accordion/accordion.meta.d.ts +8 -0
  2. package/dist/accordion/accordion.meta.js +7 -0
  3. package/dist/adjust/adjust.meta.d.ts +8 -0
  4. package/dist/adjust/adjust.meta.js +7 -0
  5. package/dist/alert/alert.meta.d.ts +8 -0
  6. package/dist/alert/alert.meta.js +7 -0
  7. package/dist/alert-dialog/alert-dialog-root.svelte +2 -2
  8. package/dist/alert-dialog/alert-dialog.meta.d.ts +8 -0
  9. package/dist/alert-dialog/alert-dialog.meta.js +7 -0
  10. package/dist/alpha-slider/alpha-slider.meta.d.ts +8 -0
  11. package/dist/alpha-slider/alpha-slider.meta.js +7 -0
  12. package/dist/app-frame/app-frame.meta.d.ts +8 -0
  13. package/dist/app-frame/app-frame.meta.js +7 -0
  14. package/dist/aspect-ratio/aspect-ratio.meta.d.ts +8 -0
  15. package/dist/aspect-ratio/aspect-ratio.meta.js +7 -0
  16. package/dist/aurora/aurora.meta.d.ts +8 -0
  17. package/dist/aurora/aurora.meta.js +7 -0
  18. package/dist/avatar/avatar.meta.d.ts +8 -0
  19. package/dist/avatar/avatar.meta.js +7 -0
  20. package/dist/avatar/avatar.svelte +4 -1
  21. package/dist/backdrop/backdrop.meta.d.ts +8 -0
  22. package/dist/backdrop/backdrop.meta.js +7 -0
  23. package/dist/badge/badge.meta.d.ts +8 -0
  24. package/dist/badge/badge.meta.js +7 -0
  25. package/dist/badge/badge.svelte +50 -31
  26. package/dist/badge/badge.svelte.d.ts +6 -0
  27. package/dist/beam/beam.meta.d.ts +8 -0
  28. package/dist/beam/beam.meta.js +7 -0
  29. package/dist/border-beam/border-beam.meta.d.ts +8 -0
  30. package/dist/border-beam/border-beam.meta.js +7 -0
  31. package/dist/breadcrumb/breadcrumb.meta.d.ts +8 -0
  32. package/dist/breadcrumb/breadcrumb.meta.js +7 -0
  33. package/dist/button/button.meta.d.ts +8 -0
  34. package/dist/button/button.meta.js +7 -0
  35. package/dist/button/button.svelte +91 -36
  36. package/dist/button/button.svelte.d.ts +7 -0
  37. package/dist/button-group/button-group.meta.d.ts +8 -0
  38. package/dist/button-group/button-group.meta.js +7 -0
  39. package/dist/calendar/calendar.meta.d.ts +8 -0
  40. package/dist/calendar/calendar.meta.js +7 -0
  41. package/dist/card/card-content.svelte +1 -1
  42. package/dist/card/card-footer.svelte +1 -1
  43. package/dist/card/card-header.svelte +1 -1
  44. package/dist/card/card-root.svelte +28 -18
  45. package/dist/card/card-root.svelte.d.ts +1 -0
  46. package/dist/card/card.meta.d.ts +8 -0
  47. package/dist/card/card.meta.js +7 -0
  48. package/dist/carousel/carousel.meta.d.ts +8 -0
  49. package/dist/carousel/carousel.meta.js +7 -0
  50. package/dist/chart/chart.meta.d.ts +8 -0
  51. package/dist/chart/chart.meta.js +7 -0
  52. package/dist/chat-thread/chat-thread.meta.d.ts +8 -0
  53. package/dist/chat-thread/chat-thread.meta.js +7 -0
  54. package/dist/checkbox/checkbox.meta.d.ts +8 -0
  55. package/dist/checkbox/checkbox.meta.js +7 -0
  56. package/dist/chip/chip.meta.d.ts +8 -0
  57. package/dist/chip/chip.meta.js +7 -0
  58. package/dist/chip-group/chip-group.meta.d.ts +8 -0
  59. package/dist/chip-group/chip-group.meta.js +18 -0
  60. package/dist/chromatic-aberration/chromatic-aberration.meta.d.ts +8 -0
  61. package/dist/chromatic-aberration/chromatic-aberration.meta.js +7 -0
  62. package/dist/chromatic-aberration/chromatic-aberration.svelte +2 -2
  63. package/dist/chromatic-shift/chromatic-shift.meta.d.ts +8 -0
  64. package/dist/chromatic-shift/chromatic-shift.meta.js +7 -0
  65. package/dist/clipboard/clipboard.meta.d.ts +8 -0
  66. package/dist/clipboard/clipboard.meta.js +7 -0
  67. package/dist/code-block/code-block.meta.d.ts +8 -0
  68. package/dist/code-block/code-block.meta.js +7 -0
  69. package/dist/collapsible/collapsible-root.svelte +3 -2
  70. package/dist/collapsible/collapsible.meta.d.ts +8 -0
  71. package/dist/collapsible/collapsible.meta.js +7 -0
  72. package/dist/collapsible/context.svelte.d.ts +1 -2
  73. package/dist/collapsible/context.svelte.js +1 -2
  74. package/dist/color-picker/color-picker-channel-input.svelte +1 -0
  75. package/dist/color-picker/color-picker.meta.d.ts +8 -0
  76. package/dist/color-picker/color-picker.meta.js +7 -0
  77. package/dist/combobox/combobox-content.svelte +1 -0
  78. package/dist/combobox/combobox-input-root.svelte +3 -3
  79. package/dist/combobox/combobox.meta.d.ts +8 -0
  80. package/dist/combobox/combobox.meta.js +7 -0
  81. package/dist/command-palette/command-palette-dialog-root.svelte +5 -4
  82. package/dist/command-palette/command-palette-item.svelte +3 -3
  83. package/dist/command-palette/command-palette.meta.d.ts +8 -0
  84. package/dist/command-palette/command-palette.meta.js +7 -0
  85. package/dist/container/container.meta.d.ts +8 -0
  86. package/dist/container/container.meta.js +7 -0
  87. package/dist/context-menu/context-menu-content.svelte +2 -1
  88. package/dist/context-menu/context-menu-root.svelte +2 -0
  89. package/dist/context-menu/context-menu.meta.d.ts +8 -0
  90. package/dist/context-menu/context-menu.meta.js +7 -0
  91. package/dist/data-grid/data-grid.meta.d.ts +8 -0
  92. package/dist/data-grid/data-grid.meta.js +7 -0
  93. package/dist/date-field/date-field-segment.svelte +26 -4
  94. package/dist/date-field/date-field.meta.d.ts +8 -0
  95. package/dist/date-field/date-field.meta.js +7 -0
  96. package/dist/date-picker/date-picker.meta.d.ts +8 -0
  97. package/dist/date-picker/date-picker.meta.js +7 -0
  98. package/dist/date-picker/datepicker-input-root.svelte +2 -0
  99. package/dist/date-range-picker/date-range-picker-root.svelte +2 -0
  100. package/dist/date-range-picker/date-range-picker.meta.d.ts +8 -0
  101. package/dist/date-range-picker/date-range-picker.meta.js +7 -0
  102. package/dist/date-time-input/date-time-input.meta.d.ts +8 -0
  103. package/dist/date-time-input/date-time-input.meta.js +7 -0
  104. package/dist/description-list/description-list.meta.d.ts +8 -0
  105. package/dist/description-list/description-list.meta.js +7 -0
  106. package/dist/diagram/diagram.meta.d.ts +8 -0
  107. package/dist/diagram/diagram.meta.js +7 -0
  108. package/dist/dialog/dialog-root.svelte +2 -2
  109. package/dist/dialog/dialog.meta.d.ts +8 -0
  110. package/dist/dialog/dialog.meta.js +7 -0
  111. package/dist/displacement/displacement.meta.d.ts +8 -0
  112. package/dist/displacement/displacement.meta.js +7 -0
  113. package/dist/drag-and-drop/drag-and-drop-root.svelte +34 -3
  114. package/dist/drag-and-drop/drag-and-drop.meta.d.ts +8 -0
  115. package/dist/drag-and-drop/drag-and-drop.meta.js +7 -0
  116. package/dist/drawer/drawer-root.svelte +2 -2
  117. package/dist/drawer/drawer.meta.d.ts +8 -0
  118. package/dist/drawer/drawer.meta.js +7 -0
  119. package/dist/drop-zone/drop-zone.meta.d.ts +8 -0
  120. package/dist/drop-zone/drop-zone.meta.js +7 -0
  121. package/dist/dropdown-menu/dropdown-menu-content.svelte +4 -2
  122. package/dist/dropdown-menu/dropdown-menu-root.svelte +2 -0
  123. package/dist/dropdown-menu/dropdown-menu.meta.d.ts +8 -0
  124. package/dist/dropdown-menu/dropdown-menu.meta.js +7 -0
  125. package/dist/enter/enter.meta.d.ts +8 -0
  126. package/dist/enter/enter.meta.js +7 -0
  127. package/dist/enter/index.d.ts +1 -0
  128. package/dist/enter/index.js +1 -0
  129. package/dist/exit/exit.meta.d.ts +8 -0
  130. package/dist/exit/exit.meta.js +7 -0
  131. package/dist/exit/index.d.ts +1 -0
  132. package/dist/exit/index.js +1 -0
  133. package/dist/field/field-root.svelte +10 -2
  134. package/dist/field/field-root.svelte.d.ts +1 -0
  135. package/dist/field/field.meta.d.ts +8 -0
  136. package/dist/field/field.meta.js +7 -0
  137. package/dist/fieldset/fieldset.meta.d.ts +8 -0
  138. package/dist/fieldset/fieldset.meta.js +7 -0
  139. package/dist/file-select/file-select-root.svelte +1 -0
  140. package/dist/file-select/file-select.meta.d.ts +8 -0
  141. package/dist/file-select/file-select.meta.js +7 -0
  142. package/dist/file-upload/file-upload-item.svelte +1 -0
  143. package/dist/file-upload/file-upload.meta.d.ts +8 -0
  144. package/dist/file-upload/file-upload.meta.js +7 -0
  145. package/dist/flip-card/flip-card.meta.d.ts +8 -0
  146. package/dist/flip-card/flip-card.meta.js +7 -0
  147. package/dist/float-button/float-button.meta.d.ts +8 -0
  148. package/dist/float-button/float-button.meta.js +7 -0
  149. package/dist/focus-trap/focus-trap.meta.d.ts +8 -0
  150. package/dist/focus-trap/focus-trap.meta.js +7 -0
  151. package/dist/format-bytes/format-bytes.meta.d.ts +8 -0
  152. package/dist/format-bytes/format-bytes.meta.js +7 -0
  153. package/dist/format-date/format-date.meta.d.ts +8 -0
  154. package/dist/format-date/format-date.meta.js +7 -0
  155. package/dist/format-date/format-date.svelte +1 -0
  156. package/dist/format-number/format-number.meta.d.ts +8 -0
  157. package/dist/format-number/format-number.meta.js +7 -0
  158. package/dist/gauge/gauge.meta.d.ts +8 -0
  159. package/dist/gauge/gauge.meta.js +7 -0
  160. package/dist/glass/glass.meta.d.ts +8 -0
  161. package/dist/glass/glass.meta.js +7 -0
  162. package/dist/glow/glow.meta.d.ts +8 -0
  163. package/dist/glow/glow.meta.js +7 -0
  164. package/dist/god-rays/god-rays.meta.d.ts +8 -0
  165. package/dist/god-rays/god-rays.meta.js +7 -0
  166. package/dist/gradient-mesh/gradient-mesh.meta.d.ts +8 -0
  167. package/dist/gradient-mesh/gradient-mesh.meta.js +7 -0
  168. package/dist/halftone/halftone.meta.d.ts +8 -0
  169. package/dist/halftone/halftone.meta.js +7 -0
  170. package/dist/heading/heading.meta.d.ts +8 -0
  171. package/dist/heading/heading.meta.js +7 -0
  172. package/dist/heading/heading.svelte +6 -2
  173. package/dist/hotkey/hotkey.meta.d.ts +8 -0
  174. package/dist/hotkey/hotkey.meta.js +7 -0
  175. package/dist/hover-card/hover-card.meta.d.ts +8 -0
  176. package/dist/hover-card/hover-card.meta.js +7 -0
  177. package/dist/icon/icon.meta.d.ts +8 -0
  178. package/dist/icon/icon.meta.js +7 -0
  179. package/dist/icon/icon.svelte +1 -0
  180. package/dist/icon-swap/icon-swap.meta.d.ts +8 -0
  181. package/dist/icon-swap/icon-swap.meta.js +7 -0
  182. package/dist/icon-swap/icon-swap.svelte +47 -0
  183. package/dist/icon-swap/icon-swap.svelte.d.ts +9 -0
  184. package/dist/icon-swap/index.d.ts +1 -0
  185. package/dist/icon-swap/index.js +1 -0
  186. package/dist/image/image.meta.d.ts +8 -0
  187. package/dist/image/image.meta.js +7 -0
  188. package/dist/image/image.svelte +4 -1
  189. package/dist/image-comparison/image-comparison.meta.d.ts +8 -0
  190. package/dist/image-comparison/image-comparison.meta.js +7 -0
  191. package/dist/index.d.ts +7 -0
  192. package/dist/index.js +7 -0
  193. package/dist/infinite-scroll/infinite-scroll.meta.d.ts +8 -0
  194. package/dist/infinite-scroll/infinite-scroll.meta.js +7 -0
  195. package/dist/input/input.meta.d.ts +8 -0
  196. package/dist/input/input.meta.js +7 -0
  197. package/dist/input-group/input-group.meta.d.ts +8 -0
  198. package/dist/input-group/input-group.meta.js +7 -0
  199. package/dist/internal/date-family-controller.svelte.d.ts +2 -1
  200. package/dist/internal/date-family-controller.svelte.js +4 -4
  201. package/dist/internal/menu-item.svelte +1 -4
  202. package/dist/internal/menu-root-state.svelte.d.ts +1 -0
  203. package/dist/internal/menu-root-state.svelte.js +2 -3
  204. package/dist/internal/modal-content.svelte +5 -2
  205. package/dist/internal/picker-popover-content.svelte +1 -0
  206. package/dist/kbd/kbd.meta.d.ts +8 -0
  207. package/dist/kbd/kbd.meta.js +7 -0
  208. package/dist/label/label.meta.d.ts +8 -0
  209. package/dist/label/label.meta.js +7 -0
  210. package/dist/link/link.meta.d.ts +8 -0
  211. package/dist/link/link.meta.js +7 -0
  212. package/dist/link-preview/link-preview-root.svelte +3 -3
  213. package/dist/link-preview/link-preview.meta.d.ts +8 -0
  214. package/dist/link-preview/link-preview.meta.js +7 -0
  215. package/dist/list/list.meta.d.ts +8 -0
  216. package/dist/list/list.meta.js +7 -0
  217. package/dist/listbox/listbox.meta.d.ts +8 -0
  218. package/dist/listbox/listbox.meta.js +7 -0
  219. package/dist/logo-mark/logo-mark.meta.d.ts +8 -0
  220. package/dist/logo-mark/logo-mark.meta.js +7 -0
  221. package/dist/logo-mark/logo-mark.svelte +1 -0
  222. package/dist/map/map.meta.d.ts +8 -0
  223. package/dist/map/map.meta.js +7 -0
  224. package/dist/markdown-renderer/markdown-renderer.meta.d.ts +8 -0
  225. package/dist/markdown-renderer/markdown-renderer.meta.js +7 -0
  226. package/dist/markdown-renderer/markdown-renderer.svelte +9 -3
  227. package/dist/markdown-renderer/markdown-renderer.svelte.d.ts +1 -1
  228. package/dist/marquee/marquee.meta.d.ts +8 -0
  229. package/dist/marquee/marquee.meta.js +7 -0
  230. package/dist/mask-reveal/mask-reveal.meta.d.ts +8 -0
  231. package/dist/mask-reveal/mask-reveal.meta.js +7 -0
  232. package/dist/mega-menu/mega-menu-item.svelte +4 -4
  233. package/dist/mega-menu/mega-menu.meta.d.ts +8 -0
  234. package/dist/mega-menu/mega-menu.meta.js +7 -0
  235. package/dist/menubar/menubar-content.svelte +3 -1
  236. package/dist/menubar/menubar-item.svelte +1 -4
  237. package/dist/menubar/menubar-menu.svelte +2 -2
  238. package/dist/menubar/menubar-root.svelte +1 -0
  239. package/dist/menubar/menubar.meta.d.ts +8 -0
  240. package/dist/menubar/menubar.meta.js +7 -0
  241. package/dist/motion/enter.d.ts +10 -0
  242. package/dist/motion/enter.js +36 -0
  243. package/dist/motion/enter.svelte +28 -0
  244. package/dist/motion/enter.svelte.d.ts +10 -0
  245. package/dist/motion/exit.svelte +20 -0
  246. package/dist/motion/exit.svelte.d.ts +7 -0
  247. package/dist/motion/index.d.ts +7 -0
  248. package/dist/motion/index.js +5 -0
  249. package/dist/motion/leave.d.ts +9 -0
  250. package/dist/motion/leave.js +32 -0
  251. package/dist/motion/motion.meta.d.ts +8 -0
  252. package/dist/motion/motion.meta.js +7 -0
  253. package/dist/motion/stagger.svelte +29 -0
  254. package/dist/motion/stagger.svelte.d.ts +9 -0
  255. package/dist/multi-select-combobox/multi-select-combobox-content.svelte +1 -0
  256. package/dist/multi-select-combobox/multi-select-combobox-item.svelte +2 -2
  257. package/dist/multi-select-combobox/multi-select-combobox-root-input.svelte +4 -3
  258. package/dist/multi-select-combobox/multi-select-combobox.meta.d.ts +8 -0
  259. package/dist/multi-select-combobox/multi-select-combobox.meta.js +7 -0
  260. package/dist/navigation-menu/context.svelte.d.ts +0 -2
  261. package/dist/navigation-menu/context.svelte.js +1 -2
  262. package/dist/navigation-menu/navigation-menu-item.svelte +5 -8
  263. package/dist/navigation-menu/navigation-menu.meta.d.ts +8 -0
  264. package/dist/navigation-menu/navigation-menu.meta.js +7 -0
  265. package/dist/noise/noise.meta.d.ts +8 -0
  266. package/dist/noise/noise.meta.js +7 -0
  267. package/dist/notification-center/notification-center-root.svelte +3 -3
  268. package/dist/notification-center/notification-center.meta.d.ts +8 -0
  269. package/dist/notification-center/notification-center.meta.js +7 -0
  270. package/dist/number-input/number-input.meta.d.ts +8 -0
  271. package/dist/number-input/number-input.meta.js +7 -0
  272. package/dist/numeric/index.d.ts +1 -0
  273. package/dist/numeric/index.js +1 -0
  274. package/dist/numeric/numeric.meta.d.ts +8 -0
  275. package/dist/numeric/numeric.meta.js +7 -0
  276. package/dist/numeric/numeric.svelte +49 -0
  277. package/dist/numeric/numeric.svelte.d.ts +9 -0
  278. package/dist/option-picker/option-picker.meta.d.ts +8 -0
  279. package/dist/option-picker/option-picker.meta.js +7 -0
  280. package/dist/pagination/pagination.meta.d.ts +8 -0
  281. package/dist/pagination/pagination.meta.js +7 -0
  282. package/dist/phone-input/phone-input.meta.d.ts +8 -0
  283. package/dist/phone-input/phone-input.meta.js +7 -0
  284. package/dist/pin-input/pin-input.meta.d.ts +8 -0
  285. package/dist/pin-input/pin-input.meta.js +7 -0
  286. package/dist/popover/popover-content.svelte +2 -1
  287. package/dist/popover/popover-root.svelte +3 -3
  288. package/dist/popover/popover.meta.d.ts +8 -0
  289. package/dist/popover/popover.meta.js +7 -0
  290. package/dist/portal/portal.meta.d.ts +8 -0
  291. package/dist/portal/portal.meta.js +7 -0
  292. package/dist/progress/progress.meta.d.ts +8 -0
  293. package/dist/progress/progress.meta.js +7 -0
  294. package/dist/progress-ring/progress-ring.meta.d.ts +8 -0
  295. package/dist/progress-ring/progress-ring.meta.js +7 -0
  296. package/dist/prompt-input/prompt-input.meta.d.ts +8 -0
  297. package/dist/prompt-input/prompt-input.meta.js +7 -0
  298. package/dist/qr-code/qr-code.meta.d.ts +8 -0
  299. package/dist/qr-code/qr-code.meta.js +7 -0
  300. package/dist/radio-group/radio-group.meta.d.ts +8 -0
  301. package/dist/radio-group/radio-group.meta.js +7 -0
  302. package/dist/radio-group/radio-group.svelte +2 -2
  303. package/dist/range-calendar/range-calendar.meta.d.ts +8 -0
  304. package/dist/range-calendar/range-calendar.meta.js +7 -0
  305. package/dist/rating/rating.meta.d.ts +8 -0
  306. package/dist/rating/rating.meta.js +7 -0
  307. package/dist/relative-time/relative-time.meta.d.ts +8 -0
  308. package/dist/relative-time/relative-time.meta.js +7 -0
  309. package/dist/relative-time/relative-time.svelte +1 -0
  310. package/dist/reveal/reveal.meta.d.ts +8 -0
  311. package/dist/reveal/reveal.meta.js +7 -0
  312. package/dist/rich-text-editor/rich-text-editor-content.svelte +14 -6
  313. package/dist/rich-text-editor/rich-text-editor-root.svelte +19 -9
  314. package/dist/rich-text-editor/rich-text-editor-root.svelte.d.ts +1 -0
  315. package/dist/rich-text-editor/rich-text-editor-toolbar-button-input.svelte +1 -0
  316. package/dist/rich-text-editor/rich-text-editor.meta.d.ts +8 -0
  317. package/dist/rich-text-editor/rich-text-editor.meta.js +7 -0
  318. package/dist/scroll-area/scroll-area.meta.d.ts +8 -0
  319. package/dist/scroll-area/scroll-area.meta.js +7 -0
  320. package/dist/scroll-to-top/scroll-to-top.meta.d.ts +8 -0
  321. package/dist/scroll-to-top/scroll-to-top.meta.js +7 -0
  322. package/dist/segmented-control/segmented-control.meta.d.ts +8 -0
  323. package/dist/segmented-control/segmented-control.meta.js +7 -0
  324. package/dist/select/select-root-input.svelte +3 -3
  325. package/dist/select/select.meta.d.ts +8 -0
  326. package/dist/select/select.meta.js +7 -0
  327. package/dist/separator/separator.meta.d.ts +8 -0
  328. package/dist/separator/separator.meta.js +7 -0
  329. package/dist/separator/separator.svelte +17 -1
  330. package/dist/separator/separator.svelte.d.ts +1 -1
  331. package/dist/shader-canvas/shader-canvas.meta.d.ts +8 -0
  332. package/dist/shader-canvas/shader-canvas.meta.js +7 -0
  333. package/dist/shimmer/shimmer.meta.d.ts +8 -0
  334. package/dist/shimmer/shimmer.meta.js +7 -0
  335. package/dist/sidebar/sidebar.meta.d.ts +8 -0
  336. package/dist/sidebar/sidebar.meta.js +7 -0
  337. package/dist/skeleton/skeleton.meta.d.ts +8 -0
  338. package/dist/skeleton/skeleton.meta.js +7 -0
  339. package/dist/slider/slider.meta.d.ts +8 -0
  340. package/dist/slider/slider.meta.js +7 -0
  341. package/dist/spacer/spacer.meta.d.ts +8 -0
  342. package/dist/spacer/spacer.meta.js +7 -0
  343. package/dist/sparkline/sparkline.meta.d.ts +8 -0
  344. package/dist/sparkline/sparkline.meta.js +7 -0
  345. package/dist/spinner/spinner.meta.d.ts +8 -0
  346. package/dist/spinner/spinner.meta.js +7 -0
  347. package/dist/splitter/splitter.meta.d.ts +8 -0
  348. package/dist/splitter/splitter.meta.js +7 -0
  349. package/dist/spotlight/spotlight.meta.d.ts +8 -0
  350. package/dist/spotlight/spotlight.meta.js +7 -0
  351. package/dist/stagger/index.d.ts +1 -0
  352. package/dist/stagger/index.js +1 -0
  353. package/dist/stagger/stagger.meta.d.ts +8 -0
  354. package/dist/stagger/stagger.meta.js +7 -0
  355. package/dist/star-rating/star-rating.meta.d.ts +8 -0
  356. package/dist/star-rating/star-rating.meta.js +7 -0
  357. package/dist/stepper/stepper.meta.d.ts +8 -0
  358. package/dist/stepper/stepper.meta.js +7 -0
  359. package/dist/svg/svg.meta.d.ts +8 -0
  360. package/dist/svg/svg.meta.js +7 -0
  361. package/dist/table/table.meta.d.ts +8 -0
  362. package/dist/table/table.meta.js +7 -0
  363. package/dist/table-of-contents/table-of-contents.meta.d.ts +8 -0
  364. package/dist/table-of-contents/table-of-contents.meta.js +7 -0
  365. package/dist/tabs/tabs.meta.d.ts +8 -0
  366. package/dist/tabs/tabs.meta.js +7 -0
  367. package/dist/tag/tag.meta.d.ts +8 -0
  368. package/dist/tag/tag.meta.js +7 -0
  369. package/dist/tags-input/tags-input-root.svelte +1 -0
  370. package/dist/tags-input/tags-input.meta.d.ts +8 -0
  371. package/dist/tags-input/tags-input.meta.js +7 -0
  372. package/dist/text/text.meta.d.ts +8 -0
  373. package/dist/text/text.meta.js +7 -0
  374. package/dist/textarea/textarea.meta.d.ts +8 -0
  375. package/dist/textarea/textarea.meta.js +7 -0
  376. package/dist/theme-toggle/theme-toggle.meta.d.ts +8 -0
  377. package/dist/theme-toggle/theme-toggle.meta.js +7 -0
  378. package/dist/themes/aurora.css +20 -0
  379. package/dist/themes/dark.css +40 -0
  380. package/dist/themes/default.css +162 -9
  381. package/dist/themes/midnight.css +20 -0
  382. package/dist/themes/terminal.css +20 -0
  383. package/dist/time-input/time-input.meta.d.ts +8 -0
  384. package/dist/time-input/time-input.meta.js +7 -0
  385. package/dist/timeline/timeline-title.svelte +6 -0
  386. package/dist/timeline/timeline.meta.d.ts +8 -0
  387. package/dist/timeline/timeline.meta.js +7 -0
  388. package/dist/toast/toast-root.svelte +8 -3
  389. package/dist/toast/toast.meta.d.ts +8 -0
  390. package/dist/toast/toast.meta.js +7 -0
  391. package/dist/toggle/toggle.meta.d.ts +8 -0
  392. package/dist/toggle/toggle.meta.js +7 -0
  393. package/dist/toggle-group/toggle-group.meta.d.ts +8 -0
  394. package/dist/toggle-group/toggle-group.meta.js +7 -0
  395. package/dist/toolbar/toolbar-root.svelte +1 -0
  396. package/dist/toolbar/toolbar.meta.d.ts +8 -0
  397. package/dist/toolbar/toolbar.meta.js +7 -0
  398. package/dist/tooltip/tooltip-content.svelte +2 -1
  399. package/dist/tooltip/tooltip-root.svelte +3 -3
  400. package/dist/tooltip/tooltip.meta.d.ts +8 -0
  401. package/dist/tooltip/tooltip.meta.js +7 -0
  402. package/dist/tour/tour.meta.d.ts +8 -0
  403. package/dist/tour/tour.meta.js +7 -0
  404. package/dist/transfer/transfer.meta.d.ts +8 -0
  405. package/dist/transfer/transfer.meta.js +7 -0
  406. package/dist/tree/tree.meta.d.ts +8 -0
  407. package/dist/tree/tree.meta.js +7 -0
  408. package/dist/typing-indicator/typing-indicator.meta.d.ts +8 -0
  409. package/dist/typing-indicator/typing-indicator.meta.js +7 -0
  410. package/dist/typography/typography.meta.d.ts +8 -0
  411. package/dist/typography/typography.meta.js +7 -0
  412. package/dist/video-embed/video-embed-button.svelte +1 -0
  413. package/dist/video-embed/video-embed.meta.d.ts +8 -0
  414. package/dist/video-embed/video-embed.meta.js +7 -0
  415. package/dist/virtual-list/virtual-list.meta.d.ts +8 -0
  416. package/dist/virtual-list/virtual-list.meta.js +7 -0
  417. package/dist/visually-hidden/visually-hidden.meta.d.ts +8 -0
  418. package/dist/visually-hidden/visually-hidden.meta.js +7 -0
  419. package/package.json +37 -4
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'List',
4
+ description: 'Structured list with items, icons, and subheaders',
5
+ category: 'display',
6
+ tags: ['list', 'item', 'icon', 'dense']
7
+ };
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'Listbox',
4
+ description: 'Single or multi-select list with keyboard navigation',
5
+ category: 'input',
6
+ tags: ['listbox', 'select', 'option', 'keyboard']
7
+ };
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'LogoMark',
4
+ description: 'Brand mark, status indicator, or category badge with image or fallback text',
5
+ category: 'display',
6
+ tags: ['logo', 'mark', 'brand', 'indicator', 'badge', 'icon']
7
+ };
@@ -48,6 +48,7 @@
48
48
  {...rest}
49
49
  >
50
50
  {#if showImage}
51
+ <!-- dryui-allow raw-img: LogoMark owns the intrinsic brand mark image and fallback lifecycle. -->
51
52
  <img {src} {alt} onerror={handleError} />
52
53
  {:else}
53
54
  <span aria-hidden="true">{getFallbackText()}</span>
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'Map',
4
+ description: 'Interactive map container with markers, popups, layers, and controls',
5
+ category: 'display',
6
+ tags: ['map', 'geo', 'marker', 'popup', 'layer', 'geojson']
7
+ };
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'MarkdownRenderer',
4
+ description: 'Renders markdown text as styled HTML',
5
+ category: 'display',
6
+ tags: ['markdown', 'text', 'render', 'prose', 'content']
7
+ };
@@ -5,22 +5,28 @@
5
5
  import { Separator } from '../separator/index.js';
6
6
  interface Props extends HTMLAttributes<HTMLDivElement> {
7
7
  content: string;
8
- sanitize?: boolean;
8
+ dangerouslyAllowRawHtml?: boolean;
9
9
  }
10
10
 
11
- let { content, sanitize = true, class: className, ...rest }: Props = $props();
11
+ let { content, dangerouslyAllowRawHtml = false, class: className, ...rest }: Props = $props();
12
12
 
13
- const nodes = $derived(parseMarkdownToAst(content, { sanitize }));
13
+ const nodes = $derived(parseMarkdownToAst(content, { sanitize: !dangerouslyAllowRawHtml }));
14
14
  </script>
15
15
 
16
16
  {#snippet renderNodes(items: MarkdownNode[])}
17
17
  {#each items as node}
18
18
  {#if node.type === 'heading'}
19
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
19
20
  {#if node.level === 1}<h1>{@html node.content}</h1>
21
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
20
22
  {:else if node.level === 2}<h2>{@html node.content}</h2>
23
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
21
24
  {:else if node.level === 3}<h3>{@html node.content}</h3>
25
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
22
26
  {:else if node.level === 4}<h4>{@html node.content}</h4>
27
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
23
28
  {:else if node.level === 5}<h5>{@html node.content}</h5>
29
+ <!-- dryui-allow raw-heading: MarkdownRenderer maps parsed markdown heading nodes to their semantic HTML tag. -->
24
30
  {:else}<h6>{@html node.content}</h6>
25
31
  {/if}
26
32
  {:else if node.type === 'paragraph'}
@@ -1,7 +1,7 @@
1
1
  import type { HTMLAttributes } from 'svelte/elements';
2
2
  interface Props extends HTMLAttributes<HTMLDivElement> {
3
3
  content: string;
4
- sanitize?: boolean;
4
+ dangerouslyAllowRawHtml?: boolean;
5
5
  }
6
6
  declare const MarkdownRenderer: import("svelte").Component<Props, {}, "">;
7
7
  type MarkdownRenderer = ReturnType<typeof MarkdownRenderer>;
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'Marquee',
4
+ description: 'Scrolling text/content ticker with CSS animations',
5
+ category: 'display',
6
+ tags: ['scroll', 'ticker', 'animation', 'text']
7
+ };
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'MaskReveal',
4
+ description: 'Intersection-observer mask transition with circle, diamond, or wipe shapes',
5
+ category: 'visual',
6
+ tags: ['mask', 'reveal', 'transition', 'intersection-observer', 'animation', 'clip-path']
7
+ };
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
- import { generateFormId } from '@dryui/primitives';
5
4
  import { getMegaMenuCtx, setMegaMenuItemCtx } from './context.svelte.js';
6
5
 
7
6
  interface Props extends HTMLAttributes<HTMLDivElement> {
@@ -11,9 +10,10 @@
11
10
  let { class: className, children, ...rest }: Props = $props();
12
11
 
13
12
  const ctx = getMegaMenuCtx();
14
- const itemId = generateFormId('mm-item');
15
- const triggerId = generateFormId('mm-trigger');
16
- const panelId = generateFormId('mm-panel');
13
+ const uid = $props.id();
14
+ const itemId = `mm-item-${uid}`;
15
+ const triggerId = `mm-trigger-${uid}`;
16
+ const panelId = `mm-panel-${uid}`;
17
17
 
18
18
  setMegaMenuItemCtx({
19
19
  itemId,
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'MegaMenu',
4
+ description: 'Horizontal navigation with large dropdown panels and columns',
5
+ category: 'navigation',
6
+ tags: ['menu', 'mega-menu', 'navigation', 'dropdown', 'panel', 'flyout']
7
+ };
@@ -115,6 +115,7 @@
115
115
  </div>
116
116
 
117
117
  <style>
118
+ /* outer: var(--dry-radius-popover); children inside the padded region use var(--dry-radius-nested-popover). */
118
119
  [data-menubar-content] {
119
120
  /* Reset UA popover defaults */
120
121
  inset: unset;
@@ -122,8 +123,9 @@
122
123
 
123
124
  background: var(--dry-color-bg-overlay);
124
125
  color: var(--dry-color-text-strong);
126
+ /* dryui-allow solid-border-on-raised: menu popover keeps a visible edge while floating above varied content. */
125
127
  border: 1px solid var(--dry-color-stroke-weak);
126
- border-radius: var(--dry-radius-lg);
128
+ border-radius: var(--dry-radius-popover);
127
129
  box-shadow: var(--dry-shadow-overlay);
128
130
  padding: var(--dry-space-1);
129
131
 
@@ -59,10 +59,7 @@
59
59
  align-items: center;
60
60
  gap: var(--dry-space-2);
61
61
  padding: var(--dry-menu-item-padding, var(--dry-space-2_5) var(--dry-space-2));
62
- border-radius: var(
63
- --dry-menu-item-radius,
64
- min(var(--dry-control-radius, var(--dry-radius-sm)), var(--dry-space-4))
65
- );
62
+ border-radius: var(--dry-menu-item-radius, var(--dry-radius-nested-popover));
66
63
  font-size: var(--dry-type-small-size, var(--dry-text-sm-size));
67
64
  cursor: pointer;
68
65
  user-select: none;
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { onMount } from 'svelte';
3
3
  import type { Snippet } from 'svelte';
4
- import { generateFormId } from '@dryui/primitives';
5
4
  import { getMenubarCtx, setMenubarMenuCtx } from './context.svelte.js';
6
5
 
7
6
  interface Props {
@@ -10,7 +9,8 @@
10
9
 
11
10
  let { children }: Props = $props();
12
11
 
13
- const menuId = generateFormId('menubar-menu');
12
+ const uid = $props.id();
13
+ const menuId = `menubar-menu-${uid}`;
14
14
  const ctx = getMenubarCtx();
15
15
 
16
16
  onMount(() => {
@@ -82,6 +82,7 @@
82
82
  gap: var(--dry-space-1);
83
83
  padding: var(--dry-space-1);
84
84
  background: var(--dry-color-bg-overlay);
85
+ /* dryui-allow solid-border-on-raised: menubar root presents a persistent command strip boundary. */
85
86
  border: 1px solid var(--dry-color-stroke-weak);
86
87
  border-radius: var(--dry-radius-lg);
87
88
  }
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'Menubar',
4
+ description: 'Horizontal menu bar with dropdown menus',
5
+ category: 'navigation',
6
+ tags: ['menu', 'menubar', 'dropdown', 'navigation']
7
+ };
@@ -0,0 +1,10 @@
1
+ import type { TransitionConfig } from 'svelte/transition';
2
+ export interface EnterOptions {
3
+ index?: number;
4
+ delay?: number;
5
+ duration?: number;
6
+ translate?: number;
7
+ blur?: number;
8
+ easing?: (t: number) => number;
9
+ }
10
+ export declare function enter(node: Element, opts?: EnterOptions): TransitionConfig;
@@ -0,0 +1,36 @@
1
+ import { cubicOut } from 'svelte/easing';
2
+ function resolveMs(value, fallback) {
3
+ if (!value)
4
+ return fallback;
5
+ const trimmed = value.trim();
6
+ if (trimmed.endsWith('ms'))
7
+ return parseFloat(trimmed);
8
+ if (trimmed.endsWith('s'))
9
+ return parseFloat(trimmed) * 1000;
10
+ return parseFloat(trimmed) || fallback;
11
+ }
12
+ export function enter(node, opts = {}) {
13
+ if (typeof window === 'undefined') {
14
+ return { duration: 0, css: () => '' };
15
+ }
16
+ const styles = getComputedStyle(node);
17
+ const duration = opts.duration ?? resolveMs(styles.getPropertyValue('--dry-enter-duration'), 800);
18
+ const stagger = resolveMs(styles.getPropertyValue('--dry-enter-stagger-section'), 100);
19
+ const index = opts.index ?? 0;
20
+ const max = parseFloat(styles.getPropertyValue('--dry-enter-stagger-max') || '16') || 16;
21
+ const delay = opts.delay ?? Math.min(index, max) * stagger;
22
+ const translate = opts.translate ?? (parseFloat(styles.getPropertyValue('--dry-enter-translate') || '8') || 8);
23
+ const blur = opts.blur ?? (parseFloat(styles.getPropertyValue('--dry-enter-blur') || '5') || 5);
24
+ const easing = opts.easing ?? cubicOut;
25
+ return {
26
+ duration,
27
+ delay,
28
+ easing,
29
+ css: (t) => {
30
+ const eased = t;
31
+ const y = (1 - eased) * translate;
32
+ const b = (1 - eased) * blur;
33
+ return `transform: translateY(${y}px); filter: blur(${b}px); opacity: ${eased};`;
34
+ }
35
+ };
36
+ }
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ interface Props {
5
+ index?: number;
6
+ duration?: string;
7
+ as?: string;
8
+ children?: Snippet;
9
+ }
10
+
11
+ let { index = 0, duration, as = 'div', children }: Props = $props();
12
+
13
+ function applyStyles(node: HTMLElement) {
14
+ $effect(() => {
15
+ node.style.setProperty('--dry-enter-index', String(index));
16
+ if (duration) {
17
+ node.style.setProperty('--dry-enter-duration', duration);
18
+ } else {
19
+ node.style.removeProperty('--dry-enter-duration');
20
+ }
21
+ });
22
+ }
23
+ </script>
24
+
25
+ <!-- dryui-allow svelte-element -->
26
+ <svelte:element this={as} class="dry-enter" {@attach applyStyles}>
27
+ {@render children?.()}
28
+ </svelte:element>
@@ -0,0 +1,10 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ index?: number;
4
+ duration?: string;
5
+ as?: string;
6
+ children?: Snippet;
7
+ }
8
+ declare const Enter: import("svelte").Component<Props, {}, "">;
9
+ type Enter = ReturnType<typeof Enter>;
10
+ export default Enter;
@@ -0,0 +1,20 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import { leave } from './leave.js';
4
+
5
+ interface Props {
6
+ children?: Snippet;
7
+ }
8
+
9
+ let { children }: Props = $props();
10
+ </script>
11
+
12
+ <div out:leave>
13
+ {@render children?.()}
14
+ </div>
15
+
16
+ <style>
17
+ div {
18
+ display: contents;
19
+ }
20
+ </style>
@@ -0,0 +1,7 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ children?: Snippet;
4
+ }
5
+ declare const Exit: import("svelte").Component<Props, {}, "">;
6
+ type Exit = ReturnType<typeof Exit>;
7
+ export default Exit;
@@ -0,0 +1,7 @@
1
+ export { default as Enter } from './enter.svelte';
2
+ export { default as Exit } from './exit.svelte';
3
+ export { default as Stagger } from './stagger.svelte';
4
+ export { enter } from './enter.js';
5
+ export { leave } from './leave.js';
6
+ export type { EnterOptions } from './enter.js';
7
+ export type { LeaveOptions } from './leave.js';
@@ -0,0 +1,5 @@
1
+ export { default as Enter } from './enter.svelte';
2
+ export { default as Exit } from './exit.svelte';
3
+ export { default as Stagger } from './stagger.svelte';
4
+ export { enter } from './enter.js';
5
+ export { leave } from './leave.js';
@@ -0,0 +1,9 @@
1
+ import type { TransitionConfig } from 'svelte/transition';
2
+ export interface LeaveOptions {
3
+ delay?: number;
4
+ duration?: number;
5
+ translate?: number;
6
+ blur?: number;
7
+ easing?: (t: number) => number;
8
+ }
9
+ export declare function leave(node: Element, opts?: LeaveOptions): TransitionConfig;
@@ -0,0 +1,32 @@
1
+ import { cubicOut } from 'svelte/easing';
2
+ function resolveMs(value, fallback) {
3
+ if (!value)
4
+ return fallback;
5
+ const trimmed = value.trim();
6
+ if (trimmed.endsWith('ms'))
7
+ return parseFloat(trimmed);
8
+ if (trimmed.endsWith('s'))
9
+ return parseFloat(trimmed) * 1000;
10
+ return parseFloat(trimmed) || fallback;
11
+ }
12
+ export function leave(node, opts = {}) {
13
+ if (typeof window === 'undefined') {
14
+ return { duration: 0, css: () => '' };
15
+ }
16
+ const styles = getComputedStyle(node);
17
+ const duration = opts.duration ?? resolveMs(styles.getPropertyValue('--dry-exit-duration'), 360);
18
+ const translate = opts.translate ?? (parseFloat(styles.getPropertyValue('--dry-exit-translate') || '12') || 12);
19
+ const blur = opts.blur ?? (parseFloat(styles.getPropertyValue('--dry-exit-blur') || '4') || 4);
20
+ const easing = opts.easing ?? cubicOut;
21
+ return {
22
+ duration,
23
+ delay: opts.delay ?? 0,
24
+ easing,
25
+ css: (t) => {
26
+ const eased = t;
27
+ const y = (1 - eased) * translate;
28
+ const b = (1 - eased) * blur;
29
+ return `transform: translateY(${y}px); filter: blur(${b}px); opacity: ${eased};`;
30
+ }
31
+ };
32
+ }
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'Motion',
4
+ description: 'Motion primitives module exported from @dryui/ui/motion: Enter/Exit/Stagger component wrappers plus `enter` / `leave` Svelte transition functions driven by --dry-enter-* and --dry-exit-* tokens.',
5
+ category: 'display',
6
+ tags: ['motion', 'animation', 'enter', 'exit', 'stagger', 'polish']
7
+ };
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ interface Props {
5
+ step?: 'section' | 'word' | 'letter' | number;
6
+ as?: string;
7
+ children?: Snippet;
8
+ }
9
+
10
+ let { step = 'section', as = 'div', children }: Props = $props();
11
+
12
+ const stepValue = $derived.by(() => {
13
+ if (typeof step === 'number') return `${step}ms`;
14
+ if (step === 'letter') return 'var(--dry-enter-stagger-letter)';
15
+ if (step === 'word') return 'var(--dry-enter-stagger-word)';
16
+ return 'var(--dry-enter-stagger-section)';
17
+ });
18
+
19
+ function applyStyles(node: HTMLElement) {
20
+ $effect(() => {
21
+ node.style.setProperty('--dry-stagger-step', stepValue);
22
+ });
23
+ }
24
+ </script>
25
+
26
+ <!-- dryui-allow svelte-element -->
27
+ <svelte:element this={as} data-dry-stagger {@attach applyStyles}>
28
+ {@render children?.()}
29
+ </svelte:element>
@@ -0,0 +1,9 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ step?: 'section' | 'word' | 'letter' | number;
4
+ as?: string;
5
+ children?: Snippet;
6
+ }
7
+ declare const Stagger: import("svelte").Component<Props, {}, "">;
8
+ type Stagger = ReturnType<typeof Stagger>;
9
+ export default Stagger;
@@ -87,6 +87,7 @@
87
87
  margin: 0;
88
88
  grid-template-columns: minmax(anchor-size(inline), max-content);
89
89
  background: var(--dry-color-bg-overlay);
90
+ /* dryui-allow solid-border-on-raised: popover menu keeps an explicit edge for contrast against busy app surfaces. */
90
91
  border: 1px solid var(--dry-color-stroke-weak);
91
92
  border-radius: var(--dry-radius-md);
92
93
  box-shadow: var(--dry-shadow-lg);
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from 'svelte';
3
3
  import type { HTMLAttributes } from 'svelte/elements';
4
- import { generateFormId } from '@dryui/primitives';
5
4
  import { getMultiSelectComboboxCtx } from './context.svelte.js';
6
5
 
7
6
  interface Props extends HTMLAttributes<HTMLDivElement> {
@@ -24,7 +23,8 @@
24
23
  }: Props = $props();
25
24
 
26
25
  const ctx = getMultiSelectComboboxCtx();
27
- const id = generateFormId('multi-select-combobox-item');
26
+ const uid = $props.id();
27
+ const id = `multi-select-combobox-item-${uid}`;
28
28
 
29
29
  const isSelected = $derived(ctx.isSelected(value));
30
30
  const isUnavailable = $derived(disabled || !ctx.canSelect(value));
@@ -2,7 +2,6 @@
2
2
  import { untrack } from 'svelte';
3
3
  import type { Snippet } from 'svelte';
4
4
  import type { HTMLAttributes } from 'svelte/elements';
5
- import { generateFormId } from '@dryui/primitives';
6
5
  import { setMultiSelectComboboxCtx } from './context.svelte.js';
7
6
 
8
7
  interface Props extends HTMLAttributes<HTMLDivElement> {
@@ -31,8 +30,9 @@
31
30
  ...rest
32
31
  }: Props = $props();
33
32
 
34
- const inputId = generateFormId('multi-select-combobox-input');
35
- const contentId = generateFormId('multi-select-combobox-content');
33
+ const uid = $props.id();
34
+ const inputId = `multi-select-combobox-input-${uid}`;
35
+ const contentId = `multi-select-combobox-content-${uid}`;
36
36
 
37
37
  let rootEl = $state<HTMLDivElement | null>(null);
38
38
  let inputEl = $state<HTMLInputElement | null>(null);
@@ -251,6 +251,7 @@
251
251
  justify-content: start;
252
252
  gap: var(--dry-space-1_5);
253
253
  padding: var(--dry-space-2);
254
+ /* dryui-allow solid-border-on-raised: composite input needs a persistent field edge plus raised fill for token contrast. */
254
255
  border: 1px solid var(--dry-color-stroke-strong);
255
256
  border-radius: var(--dry-radius-md);
256
257
  background: var(--dry-color-bg-raised);
@@ -0,0 +1,8 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ declare const _default: {
3
+ name: string;
4
+ description: string;
5
+ category: string;
6
+ tags: string[];
7
+ };
8
+ export default _default;
@@ -0,0 +1,7 @@
1
+ /** DryUI agent metadata. Consumed by @dryui/mcp/load-component-meta. */
2
+ export default {
3
+ name: 'MultiSelectCombobox',
4
+ description: 'Searchable multi-select combobox with removable selected tokens',
5
+ category: 'form',
6
+ tags: ['form', 'multiselect', 'combobox', 'autocomplete', 'tokens', 'chips']
7
+ };
@@ -1,4 +1,3 @@
1
- import { generateFormId } from '@dryui/primitives';
2
1
  export interface NavigationMenuContext {
3
2
  readonly activeItem: string | null;
4
3
  openItem: (id: string) => void;
@@ -12,4 +11,3 @@ export interface NavigationMenuItemContext {
12
11
  readonly open: boolean;
13
12
  }
14
13
  export declare const setNavigationMenuItemCtx: (ctx: NavigationMenuItemContext) => NavigationMenuItemContext, getNavigationMenuItemCtx: () => NavigationMenuItemContext;
15
- export { generateFormId };
@@ -1,4 +1,3 @@
1
- import { createContext, generateFormId } from '@dryui/primitives';
1
+ import { createContext } from '@dryui/primitives';
2
2
  export const [setNavigationMenuCtx, getNavigationMenuCtx] = createContext('navigation-menu');
3
3
  export const [setNavigationMenuItemCtx, getNavigationMenuItemCtx] = createContext('navigation-menu-item');
4
- export { generateFormId };