svelora 2.1.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 (484) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +145 -0
  3. package/dist/Accordion/Accordion.svelte +207 -0
  4. package/dist/Accordion/Accordion.svelte.d.ts +6 -0
  5. package/dist/Accordion/accordion.types.d.ts +225 -0
  6. package/dist/Accordion/accordion.types.js +1 -0
  7. package/dist/Accordion/accordion.variants.d.ts +88 -0
  8. package/dist/Accordion/accordion.variants.js +28 -0
  9. package/dist/Accordion/index.d.ts +2 -0
  10. package/dist/Accordion/index.js +1 -0
  11. package/dist/Alert/Alert.svelte +131 -0
  12. package/dist/Alert/Alert.svelte.d.ts +5 -0
  13. package/dist/Alert/alert.types.d.ts +103 -0
  14. package/dist/Alert/alert.types.js +1 -0
  15. package/dist/Alert/alert.variants.d.ts +213 -0
  16. package/dist/Alert/alert.variants.js +293 -0
  17. package/dist/Alert/index.d.ts +2 -0
  18. package/dist/Alert/index.js +1 -0
  19. package/dist/Avatar/Avatar.svelte +114 -0
  20. package/dist/Avatar/Avatar.svelte.d.ts +6 -0
  21. package/dist/Avatar/avatar.types.d.ts +73 -0
  22. package/dist/Avatar/avatar.types.js +1 -0
  23. package/dist/Avatar/avatar.variants.d.ts +316 -0
  24. package/dist/Avatar/avatar.variants.js +39 -0
  25. package/dist/Avatar/index.d.ts +2 -0
  26. package/dist/Avatar/index.js +1 -0
  27. package/dist/AvatarGroup/AvatarGroup.svelte +71 -0
  28. package/dist/AvatarGroup/AvatarGroup.svelte.d.ts +5 -0
  29. package/dist/AvatarGroup/avatar-group.types.d.ts +49 -0
  30. package/dist/AvatarGroup/avatar-group.types.js +1 -0
  31. package/dist/AvatarGroup/avatar-group.variants.d.ts +258 -0
  32. package/dist/AvatarGroup/avatar-group.variants.js +35 -0
  33. package/dist/AvatarGroup/index.d.ts +2 -0
  34. package/dist/AvatarGroup/index.js +1 -0
  35. package/dist/Badge/Badge.svelte +79 -0
  36. package/dist/Badge/Badge.svelte.d.ts +5 -0
  37. package/dist/Badge/badge.types.d.ts +83 -0
  38. package/dist/Badge/badge.types.js +1 -0
  39. package/dist/Badge/badge.variants.d.ts +303 -0
  40. package/dist/Badge/badge.variants.js +259 -0
  41. package/dist/Badge/index.d.ts +2 -0
  42. package/dist/Badge/index.js +1 -0
  43. package/dist/Banner/Banner.svelte +130 -0
  44. package/dist/Banner/Banner.svelte.d.ts +5 -0
  45. package/dist/Banner/banner.types.d.ts +148 -0
  46. package/dist/Banner/banner.types.js +1 -0
  47. package/dist/Banner/banner.variants.d.ts +293 -0
  48. package/dist/Banner/banner.variants.js +86 -0
  49. package/dist/Banner/index.d.ts +2 -0
  50. package/dist/Banner/index.js +1 -0
  51. package/dist/Breadcrumb/Breadcrumb.svelte +79 -0
  52. package/dist/Breadcrumb/Breadcrumb.svelte.d.ts +5 -0
  53. package/dist/Breadcrumb/breadcrumb.types.d.ts +66 -0
  54. package/dist/Breadcrumb/breadcrumb.types.js +1 -0
  55. package/dist/Breadcrumb/breadcrumb.variants.d.ts +138 -0
  56. package/dist/Breadcrumb/breadcrumb.variants.js +53 -0
  57. package/dist/Breadcrumb/index.d.ts +2 -0
  58. package/dist/Breadcrumb/index.js +1 -0
  59. package/dist/Button/Button.svelte +177 -0
  60. package/dist/Button/Button.svelte.d.ts +5 -0
  61. package/dist/Button/button.types.d.ts +151 -0
  62. package/dist/Button/button.types.js +1 -0
  63. package/dist/Button/button.variants.d.ts +388 -0
  64. package/dist/Button/button.variants.js +461 -0
  65. package/dist/Button/index.d.ts +2 -0
  66. package/dist/Button/index.js +1 -0
  67. package/dist/Calendar/Calendar.svelte +344 -0
  68. package/dist/Calendar/Calendar.svelte.d.ts +6 -0
  69. package/dist/Calendar/calendar.types.d.ts +122 -0
  70. package/dist/Calendar/calendar.types.js +1 -0
  71. package/dist/Calendar/calendar.variants.d.ts +553 -0
  72. package/dist/Calendar/calendar.variants.js +368 -0
  73. package/dist/Calendar/index.d.ts +2 -0
  74. package/dist/Calendar/index.js +1 -0
  75. package/dist/Card/Card.svelte +54 -0
  76. package/dist/Card/Card.svelte.d.ts +5 -0
  77. package/dist/Card/card.types.d.ts +36 -0
  78. package/dist/Card/card.types.js +1 -0
  79. package/dist/Card/card.variants.d.ts +108 -0
  80. package/dist/Card/card.variants.js +32 -0
  81. package/dist/Card/index.d.ts +2 -0
  82. package/dist/Card/index.js +1 -0
  83. package/dist/Carousel/Carousel.svelte +277 -0
  84. package/dist/Carousel/Carousel.svelte.d.ts +26 -0
  85. package/dist/Carousel/carousel.types.d.ts +251 -0
  86. package/dist/Carousel/carousel.types.js +1 -0
  87. package/dist/Carousel/carousel.variants.d.ts +408 -0
  88. package/dist/Carousel/carousel.variants.js +88 -0
  89. package/dist/Carousel/index.d.ts +2 -0
  90. package/dist/Carousel/index.js +1 -0
  91. package/dist/Checkbox/Checkbox.svelte +161 -0
  92. package/dist/Checkbox/Checkbox.svelte.d.ts +6 -0
  93. package/dist/Checkbox/checkbox.types.d.ts +101 -0
  94. package/dist/Checkbox/checkbox.types.js +1 -0
  95. package/dist/Checkbox/checkbox.variants.d.ts +448 -0
  96. package/dist/Checkbox/checkbox.variants.js +209 -0
  97. package/dist/Checkbox/index.d.ts +2 -0
  98. package/dist/Checkbox/index.js +1 -0
  99. package/dist/CheckboxGroup/CheckboxGroup.svelte +219 -0
  100. package/dist/CheckboxGroup/CheckboxGroup.svelte.d.ts +5 -0
  101. package/dist/CheckboxGroup/checkbox-group.types.d.ts +130 -0
  102. package/dist/CheckboxGroup/checkbox-group.types.js +1 -0
  103. package/dist/CheckboxGroup/checkbox-group.variants.d.ts +553 -0
  104. package/dist/CheckboxGroup/checkbox-group.variants.js +231 -0
  105. package/dist/CheckboxGroup/index.d.ts +2 -0
  106. package/dist/CheckboxGroup/index.js +1 -0
  107. package/dist/Chip/Chip.svelte +51 -0
  108. package/dist/Chip/Chip.svelte.d.ts +5 -0
  109. package/dist/Chip/chip.types.d.ts +66 -0
  110. package/dist/Chip/chip.types.js +1 -0
  111. package/dist/Chip/chip.variants.d.ts +418 -0
  112. package/dist/Chip/chip.variants.js +74 -0
  113. package/dist/Chip/index.d.ts +2 -0
  114. package/dist/Chip/index.js +1 -0
  115. package/dist/Collapsible/Collapsible.svelte +69 -0
  116. package/dist/Collapsible/Collapsible.svelte.d.ts +6 -0
  117. package/dist/Collapsible/CollapsibleTestWrapper.svelte +17 -0
  118. package/dist/Collapsible/CollapsibleTestWrapper.svelte.d.ts +4 -0
  119. package/dist/Collapsible/collapsible.types.d.ts +77 -0
  120. package/dist/Collapsible/collapsible.types.js +1 -0
  121. package/dist/Collapsible/collapsible.variants.d.ts +53 -0
  122. package/dist/Collapsible/collapsible.variants.js +21 -0
  123. package/dist/Collapsible/index.d.ts +2 -0
  124. package/dist/Collapsible/index.js +1 -0
  125. package/dist/Command/Command.svelte +183 -0
  126. package/dist/Command/Command.svelte.d.ts +6 -0
  127. package/dist/Command/CommandTestWrapper.svelte +13 -0
  128. package/dist/Command/CommandTestWrapper.svelte.d.ts +4 -0
  129. package/dist/Command/command.types.d.ts +100 -0
  130. package/dist/Command/command.types.js +1 -0
  131. package/dist/Command/command.variants.d.ts +226 -0
  132. package/dist/Command/command.variants.js +86 -0
  133. package/dist/Command/index.d.ts +2 -0
  134. package/dist/Command/index.js +1 -0
  135. package/dist/Container/Container.svelte +21 -0
  136. package/dist/Container/Container.svelte.d.ts +5 -0
  137. package/dist/Container/container.types.d.ts +19 -0
  138. package/dist/Container/container.types.js +1 -0
  139. package/dist/Container/container.variants.d.ts +29 -0
  140. package/dist/Container/container.variants.js +9 -0
  141. package/dist/Container/index.d.ts +2 -0
  142. package/dist/Container/index.js +1 -0
  143. package/dist/ContextMenu/ContextMenu.svelte +344 -0
  144. package/dist/ContextMenu/ContextMenu.svelte.d.ts +6 -0
  145. package/dist/ContextMenu/context-menu.types.d.ts +265 -0
  146. package/dist/ContextMenu/context-menu.types.js +1 -0
  147. package/dist/ContextMenu/context-menu.variants.d.ts +307 -0
  148. package/dist/ContextMenu/context-menu.variants.js +144 -0
  149. package/dist/ContextMenu/index.d.ts +2 -0
  150. package/dist/ContextMenu/index.js +1 -0
  151. package/dist/Drawer/Drawer.svelte +207 -0
  152. package/dist/Drawer/Drawer.svelte.d.ts +6 -0
  153. package/dist/Drawer/DrawerTriggerTestWrapper.svelte +10 -0
  154. package/dist/Drawer/DrawerTriggerTestWrapper.svelte.d.ts +18 -0
  155. package/dist/Drawer/drawer.types.d.ts +116 -0
  156. package/dist/Drawer/drawer.types.js +1 -0
  157. package/dist/Drawer/drawer.variants.d.ts +193 -0
  158. package/dist/Drawer/drawer.variants.js +139 -0
  159. package/dist/Drawer/index.d.ts +2 -0
  160. package/dist/Drawer/index.js +1 -0
  161. package/dist/DropdownMenu/DropdownMenu.svelte +363 -0
  162. package/dist/DropdownMenu/DropdownMenu.svelte.d.ts +6 -0
  163. package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte +12 -0
  164. package/dist/DropdownMenu/DropdownMenuTriggerTestWrapper.svelte.d.ts +7 -0
  165. package/dist/DropdownMenu/dropdown-menu.types.d.ts +279 -0
  166. package/dist/DropdownMenu/dropdown-menu.types.js +1 -0
  167. package/dist/DropdownMenu/dropdown-menu.variants.d.ts +312 -0
  168. package/dist/DropdownMenu/dropdown-menu.variants.js +149 -0
  169. package/dist/DropdownMenu/index.d.ts +2 -0
  170. package/dist/DropdownMenu/index.js +1 -0
  171. package/dist/Editor/Editor.svelte +756 -0
  172. package/dist/Editor/Editor.svelte.d.ts +6 -0
  173. package/dist/Editor/EditorUrlPrompt.svelte +94 -0
  174. package/dist/Editor/EditorUrlPrompt.svelte.d.ts +15 -0
  175. package/dist/Editor/SlashPopup.svelte +74 -0
  176. package/dist/Editor/SlashPopup.svelte.d.ts +11 -0
  177. package/dist/Editor/editor.extensions.d.ts +23 -0
  178. package/dist/Editor/editor.extensions.js +132 -0
  179. package/dist/Editor/editor.schemas.d.ts +5 -0
  180. package/dist/Editor/editor.schemas.js +27 -0
  181. package/dist/Editor/editor.slash.svelte.d.ts +25 -0
  182. package/dist/Editor/editor.slash.svelte.js +299 -0
  183. package/dist/Editor/editor.suggestion.d.ts +7 -0
  184. package/dist/Editor/editor.suggestion.js +165 -0
  185. package/dist/Editor/editor.toolbar.d.ts +11 -0
  186. package/dist/Editor/editor.toolbar.js +204 -0
  187. package/dist/Editor/editor.types.d.ts +367 -0
  188. package/dist/Editor/editor.types.js +1 -0
  189. package/dist/Editor/editor.variants.d.ts +303 -0
  190. package/dist/Editor/editor.variants.js +135 -0
  191. package/dist/Editor/index.d.ts +55 -0
  192. package/dist/Editor/index.js +54 -0
  193. package/dist/Empty/Empty.svelte +118 -0
  194. package/dist/Empty/Empty.svelte.d.ts +5 -0
  195. package/dist/Empty/empty.types.d.ts +91 -0
  196. package/dist/Empty/empty.types.js +1 -0
  197. package/dist/Empty/empty.variants.d.ts +308 -0
  198. package/dist/Empty/empty.variants.js +73 -0
  199. package/dist/Empty/index.d.ts +2 -0
  200. package/dist/Empty/index.js +1 -0
  201. package/dist/FieldGroup/FieldGroup.svelte +53 -0
  202. package/dist/FieldGroup/FieldGroup.svelte.d.ts +5 -0
  203. package/dist/FieldGroup/field-group.types.d.ts +37 -0
  204. package/dist/FieldGroup/field-group.types.js +1 -0
  205. package/dist/FieldGroup/field-group.variants.d.ts +116 -0
  206. package/dist/FieldGroup/field-group.variants.js +49 -0
  207. package/dist/FieldGroup/index.d.ts +2 -0
  208. package/dist/FieldGroup/index.js +1 -0
  209. package/dist/FileUpload/FileUpload.svelte +639 -0
  210. package/dist/FileUpload/FileUpload.svelte.d.ts +8 -0
  211. package/dist/FileUpload/file-upload.types.d.ts +203 -0
  212. package/dist/FileUpload/file-upload.types.js +1 -0
  213. package/dist/FileUpload/file-upload.variants.d.ts +397 -0
  214. package/dist/FileUpload/file-upload.variants.js +224 -0
  215. package/dist/FileUpload/index.d.ts +2 -0
  216. package/dist/FileUpload/index.js +1 -0
  217. package/dist/Form/Form.svelte +197 -0
  218. package/dist/Form/Form.svelte.d.ts +26 -0
  219. package/dist/Form/form.context.svelte.d.ts +64 -0
  220. package/dist/Form/form.context.svelte.js +478 -0
  221. package/dist/Form/form.types.d.ts +164 -0
  222. package/dist/Form/form.types.js +12 -0
  223. package/dist/Form/form.variants.d.ts +39 -0
  224. package/dist/Form/form.variants.js +17 -0
  225. package/dist/Form/index.d.ts +4 -0
  226. package/dist/Form/index.js +6 -0
  227. package/dist/Form/validate-schema.d.ts +13 -0
  228. package/dist/Form/validate-schema.js +113 -0
  229. package/dist/FormField/FormField.svelte +186 -0
  230. package/dist/FormField/FormField.svelte.d.ts +5 -0
  231. package/dist/FormField/form-field.types.d.ts +109 -0
  232. package/dist/FormField/form-field.types.js +1 -0
  233. package/dist/FormField/form-field.variants.d.ts +313 -0
  234. package/dist/FormField/form-field.variants.js +74 -0
  235. package/dist/FormField/index.d.ts +2 -0
  236. package/dist/FormField/index.js +1 -0
  237. package/dist/Icon/Icon.svelte +46 -0
  238. package/dist/Icon/Icon.svelte.d.ts +6 -0
  239. package/dist/Icon/icon.types.d.ts +49 -0
  240. package/dist/Icon/icon.types.js +1 -0
  241. package/dist/Icon/index.d.ts +2 -0
  242. package/dist/Icon/index.js +1 -0
  243. package/dist/Input/Input.svelte +199 -0
  244. package/dist/Input/Input.svelte.d.ts +26 -0
  245. package/dist/Input/index.d.ts +2 -0
  246. package/dist/Input/index.js +1 -0
  247. package/dist/Input/input.types.d.ts +113 -0
  248. package/dist/Input/input.types.js +1 -0
  249. package/dist/Input/input.variants.d.ts +398 -0
  250. package/dist/Input/input.variants.js +387 -0
  251. package/dist/Kbd/Kbd.svelte +45 -0
  252. package/dist/Kbd/Kbd.svelte.d.ts +5 -0
  253. package/dist/Kbd/index.d.ts +3 -0
  254. package/dist/Kbd/index.js +2 -0
  255. package/dist/Kbd/kbd.types.d.ts +91 -0
  256. package/dist/Kbd/kbd.types.js +1 -0
  257. package/dist/Kbd/kbd.variants.d.ts +180 -0
  258. package/dist/Kbd/kbd.variants.js +168 -0
  259. package/dist/Kbd/useKbd.svelte.d.ts +29 -0
  260. package/dist/Kbd/useKbd.svelte.js +248 -0
  261. package/dist/Link/Link.svelte +168 -0
  262. package/dist/Link/Link.svelte.d.ts +5 -0
  263. package/dist/Link/index.d.ts +2 -0
  264. package/dist/Link/index.js +1 -0
  265. package/dist/Link/link.types.d.ts +86 -0
  266. package/dist/Link/link.types.js +1 -0
  267. package/dist/Link/link.variants.d.ts +113 -0
  268. package/dist/Link/link.variants.js +43 -0
  269. package/dist/Modal/Modal.svelte +218 -0
  270. package/dist/Modal/Modal.svelte.d.ts +5 -0
  271. package/dist/Modal/ModalTriggerTestWrapper.svelte +10 -0
  272. package/dist/Modal/ModalTriggerTestWrapper.svelte.d.ts +18 -0
  273. package/dist/Modal/index.d.ts +2 -0
  274. package/dist/Modal/index.js +1 -0
  275. package/dist/Modal/modal.types.d.ts +155 -0
  276. package/dist/Modal/modal.types.js +1 -0
  277. package/dist/Modal/modal.variants.d.ts +303 -0
  278. package/dist/Modal/modal.variants.js +90 -0
  279. package/dist/Pagination/Pagination.svelte +253 -0
  280. package/dist/Pagination/Pagination.svelte.d.ts +6 -0
  281. package/dist/Pagination/index.d.ts +2 -0
  282. package/dist/Pagination/index.js +1 -0
  283. package/dist/Pagination/pagination.types.d.ts +191 -0
  284. package/dist/Pagination/pagination.types.js +1 -0
  285. package/dist/Pagination/pagination.variants.d.ts +160 -0
  286. package/dist/Pagination/pagination.variants.js +125 -0
  287. package/dist/PinInput/PinInput.svelte +162 -0
  288. package/dist/PinInput/PinInput.svelte.d.ts +6 -0
  289. package/dist/PinInput/index.d.ts +2 -0
  290. package/dist/PinInput/index.js +1 -0
  291. package/dist/PinInput/pin-input.types.d.ts +110 -0
  292. package/dist/PinInput/pin-input.types.js +1 -0
  293. package/dist/PinInput/pin-input.variants.d.ts +303 -0
  294. package/dist/PinInput/pin-input.variants.js +196 -0
  295. package/dist/Popover/Popover.svelte +122 -0
  296. package/dist/Popover/Popover.svelte.d.ts +6 -0
  297. package/dist/Popover/index.d.ts +2 -0
  298. package/dist/Popover/index.js +1 -0
  299. package/dist/Popover/popover.types.d.ts +58 -0
  300. package/dist/Popover/popover.types.js +1 -0
  301. package/dist/Popover/popover.variants.d.ts +53 -0
  302. package/dist/Popover/popover.variants.js +31 -0
  303. package/dist/Progress/Progress.svelte +135 -0
  304. package/dist/Progress/Progress.svelte.d.ts +6 -0
  305. package/dist/Progress/index.d.ts +2 -0
  306. package/dist/Progress/index.js +1 -0
  307. package/dist/Progress/progress.types.d.ts +71 -0
  308. package/dist/Progress/progress.types.js +1 -0
  309. package/dist/Progress/progress.variants.d.ts +513 -0
  310. package/dist/Progress/progress.variants.js +204 -0
  311. package/dist/RadioGroup/RadioGroup.svelte +226 -0
  312. package/dist/RadioGroup/RadioGroup.svelte.d.ts +6 -0
  313. package/dist/RadioGroup/index.d.ts +2 -0
  314. package/dist/RadioGroup/index.js +1 -0
  315. package/dist/RadioGroup/radio-group.types.d.ts +111 -0
  316. package/dist/RadioGroup/radio-group.types.js +1 -0
  317. package/dist/RadioGroup/radio-group.variants.d.ts +543 -0
  318. package/dist/RadioGroup/radio-group.variants.js +232 -0
  319. package/dist/Select/Select.svelte +461 -0
  320. package/dist/Select/Select.svelte.d.ts +6 -0
  321. package/dist/Select/index.d.ts +2 -0
  322. package/dist/Select/index.js +1 -0
  323. package/dist/Select/select.types.d.ts +263 -0
  324. package/dist/Select/select.types.js +1 -0
  325. package/dist/Select/select.variants.d.ts +713 -0
  326. package/dist/Select/select.variants.js +482 -0
  327. package/dist/SelectMenu/SelectMenu.svelte +637 -0
  328. package/dist/SelectMenu/SelectMenu.svelte.d.ts +5 -0
  329. package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte +11 -0
  330. package/dist/SelectMenu/SelectMenuFormFieldTestWrapper.svelte.d.ts +7 -0
  331. package/dist/SelectMenu/index.d.ts +2 -0
  332. package/dist/SelectMenu/index.js +1 -0
  333. package/dist/SelectMenu/select-menu.types.d.ts +326 -0
  334. package/dist/SelectMenu/select-menu.types.js +1 -0
  335. package/dist/SelectMenu/select-menu.variants.d.ts +795 -0
  336. package/dist/SelectMenu/select-menu.variants.js +70 -0
  337. package/dist/Separator/Separator.svelte +77 -0
  338. package/dist/Separator/Separator.svelte.d.ts +6 -0
  339. package/dist/Separator/index.d.ts +2 -0
  340. package/dist/Separator/index.js +1 -0
  341. package/dist/Separator/separator.types.d.ts +53 -0
  342. package/dist/Separator/separator.types.js +1 -0
  343. package/dist/Separator/separator.variants.d.ts +509 -0
  344. package/dist/Separator/separator.variants.js +110 -0
  345. package/dist/Skeleton/Skeleton.svelte +39 -0
  346. package/dist/Skeleton/Skeleton.svelte.d.ts +5 -0
  347. package/dist/Skeleton/index.d.ts +2 -0
  348. package/dist/Skeleton/index.js +1 -0
  349. package/dist/Skeleton/skeleton.types.d.ts +27 -0
  350. package/dist/Skeleton/skeleton.types.js +1 -0
  351. package/dist/Skeleton/skeleton.variants.d.ts +18 -0
  352. package/dist/Skeleton/skeleton.variants.js +12 -0
  353. package/dist/Slideover/Slideover.svelte +212 -0
  354. package/dist/Slideover/Slideover.svelte.d.ts +5 -0
  355. package/dist/Slideover/SlideoverTriggerTestWrapper.svelte +10 -0
  356. package/dist/Slideover/SlideoverTriggerTestWrapper.svelte.d.ts +18 -0
  357. package/dist/Slideover/index.d.ts +2 -0
  358. package/dist/Slideover/index.js +1 -0
  359. package/dist/Slideover/slideover.types.d.ts +154 -0
  360. package/dist/Slideover/slideover.types.js +1 -0
  361. package/dist/Slideover/slideover.variants.d.ts +298 -0
  362. package/dist/Slideover/slideover.variants.js +145 -0
  363. package/dist/Slider/Slider.svelte +129 -0
  364. package/dist/Slider/Slider.svelte.d.ts +6 -0
  365. package/dist/Slider/index.d.ts +2 -0
  366. package/dist/Slider/index.js +1 -0
  367. package/dist/Slider/slider.types.d.ts +55 -0
  368. package/dist/Slider/slider.types.js +1 -0
  369. package/dist/Slider/slider.variants.d.ts +383 -0
  370. package/dist/Slider/slider.variants.js +102 -0
  371. package/dist/Stepper/Stepper.svelte +254 -0
  372. package/dist/Stepper/Stepper.svelte.d.ts +5 -0
  373. package/dist/Stepper/index.d.ts +2 -0
  374. package/dist/Stepper/index.js +1 -0
  375. package/dist/Stepper/stepper.types.d.ts +223 -0
  376. package/dist/Stepper/stepper.types.js +1 -0
  377. package/dist/Stepper/stepper.variants.d.ts +428 -0
  378. package/dist/Stepper/stepper.variants.js +204 -0
  379. package/dist/Switch/Switch.svelte +150 -0
  380. package/dist/Switch/Switch.svelte.d.ts +6 -0
  381. package/dist/Switch/index.d.ts +2 -0
  382. package/dist/Switch/index.js +1 -0
  383. package/dist/Switch/switch.types.d.ts +80 -0
  384. package/dist/Switch/switch.types.js +1 -0
  385. package/dist/Switch/switch.variants.d.ts +433 -0
  386. package/dist/Switch/switch.variants.js +171 -0
  387. package/dist/Table/Table.svelte +667 -0
  388. package/dist/Table/Table.svelte.d.ts +26 -0
  389. package/dist/Table/index.d.ts +2 -0
  390. package/dist/Table/index.js +1 -0
  391. package/dist/Table/table.types.d.ts +202 -0
  392. package/dist/Table/table.types.js +1 -0
  393. package/dist/Table/table.utils.d.ts +54 -0
  394. package/dist/Table/table.utils.js +167 -0
  395. package/dist/Table/table.variants.d.ts +205 -0
  396. package/dist/Table/table.variants.js +126 -0
  397. package/dist/Tabs/Tabs.svelte +188 -0
  398. package/dist/Tabs/Tabs.svelte.d.ts +6 -0
  399. package/dist/Tabs/index.d.ts +2 -0
  400. package/dist/Tabs/index.js +1 -0
  401. package/dist/Tabs/tabs.types.d.ts +207 -0
  402. package/dist/Tabs/tabs.types.js +1 -0
  403. package/dist/Tabs/tabs.variants.d.ts +298 -0
  404. package/dist/Tabs/tabs.variants.js +251 -0
  405. package/dist/Textarea/Textarea.svelte +215 -0
  406. package/dist/Textarea/Textarea.svelte.d.ts +5 -0
  407. package/dist/Textarea/index.d.ts +2 -0
  408. package/dist/Textarea/index.js +1 -0
  409. package/dist/Textarea/textarea.types.d.ts +103 -0
  410. package/dist/Textarea/textarea.types.js +1 -0
  411. package/dist/Textarea/textarea.variants.d.ts +403 -0
  412. package/dist/Textarea/textarea.variants.js +404 -0
  413. package/dist/ThemeModeButton/ThemeModeButton.svelte +74 -0
  414. package/dist/ThemeModeButton/ThemeModeButton.svelte.d.ts +5 -0
  415. package/dist/ThemeModeButton/index.d.ts +2 -0
  416. package/dist/ThemeModeButton/index.js +1 -0
  417. package/dist/ThemeModeButton/theme-mode-button.types.d.ts +69 -0
  418. package/dist/ThemeModeButton/theme-mode-button.types.js +1 -0
  419. package/dist/ThemeModeButton/theme-mode-button.variants.d.ts +21 -0
  420. package/dist/ThemeModeButton/theme-mode-button.variants.js +17 -0
  421. package/dist/Timeline/Timeline.svelte +116 -0
  422. package/dist/Timeline/Timeline.svelte.d.ts +5 -0
  423. package/dist/Timeline/index.d.ts +2 -0
  424. package/dist/Timeline/index.js +1 -0
  425. package/dist/Timeline/timeline.types.d.ts +138 -0
  426. package/dist/Timeline/timeline.types.js +1 -0
  427. package/dist/Timeline/timeline.variants.d.ts +413 -0
  428. package/dist/Timeline/timeline.variants.js +201 -0
  429. package/dist/Toast/Toaster.svelte +619 -0
  430. package/dist/Toast/Toaster.svelte.d.ts +5 -0
  431. package/dist/Toast/index.d.ts +4 -0
  432. package/dist/Toast/index.js +2 -0
  433. package/dist/Toast/toast.d.ts +38 -0
  434. package/dist/Toast/toast.js +73 -0
  435. package/dist/Toast/toast.types.d.ts +19 -0
  436. package/dist/Toast/toast.types.js +1 -0
  437. package/dist/Toast/toast.variants.d.ts +7 -0
  438. package/dist/Toast/toast.variants.js +5 -0
  439. package/dist/Tooltip/Tooltip.svelte +151 -0
  440. package/dist/Tooltip/Tooltip.svelte.d.ts +6 -0
  441. package/dist/Tooltip/TooltipTestWrapper.svelte +8 -0
  442. package/dist/Tooltip/TooltipTestWrapper.svelte.d.ts +4 -0
  443. package/dist/Tooltip/index.d.ts +2 -0
  444. package/dist/Tooltip/index.js +1 -0
  445. package/dist/Tooltip/tooltip.types.d.ts +62 -0
  446. package/dist/Tooltip/tooltip.types.js +1 -0
  447. package/dist/Tooltip/tooltip.variants.d.ts +68 -0
  448. package/dist/Tooltip/tooltip.variants.js +35 -0
  449. package/dist/User/User.svelte +98 -0
  450. package/dist/User/User.svelte.d.ts +5 -0
  451. package/dist/User/index.d.ts +2 -0
  452. package/dist/User/index.js +1 -0
  453. package/dist/User/user.types.d.ts +78 -0
  454. package/dist/User/user.types.js +1 -0
  455. package/dist/User/user.variants.d.ts +368 -0
  456. package/dist/User/user.variants.js +85 -0
  457. package/dist/config.d.ts +73 -0
  458. package/dist/config.js +108 -0
  459. package/dist/hooks/HookContextProbe.svelte +7 -0
  460. package/dist/hooks/HookContextProbe.svelte.d.ts +18 -0
  461. package/dist/hooks/HookContextProvider.svelte +9 -0
  462. package/dist/hooks/HookContextProvider.svelte.d.ts +18 -0
  463. package/dist/hooks/HookEmitProbe.svelte +14 -0
  464. package/dist/hooks/HookEmitProbe.svelte.d.ts +18 -0
  465. package/dist/hooks/index.d.ts +14 -0
  466. package/dist/hooks/index.js +7 -0
  467. package/dist/hooks/useClickOutside.svelte.d.ts +31 -0
  468. package/dist/hooks/useClickOutside.svelte.js +37 -0
  469. package/dist/hooks/useClipboard.svelte.d.ts +30 -0
  470. package/dist/hooks/useClipboard.svelte.js +45 -0
  471. package/dist/hooks/useDebounce.svelte.d.ts +36 -0
  472. package/dist/hooks/useDebounce.svelte.js +56 -0
  473. package/dist/hooks/useEscapeKeydown.svelte.d.ts +31 -0
  474. package/dist/hooks/useEscapeKeydown.svelte.js +37 -0
  475. package/dist/hooks/useFormField.svelte.d.ts +54 -0
  476. package/dist/hooks/useFormField.svelte.js +65 -0
  477. package/dist/hooks/useInfiniteScroll.svelte.d.ts +57 -0
  478. package/dist/hooks/useInfiniteScroll.svelte.js +69 -0
  479. package/dist/hooks/useMediaQuery.svelte.d.ts +31 -0
  480. package/dist/hooks/useMediaQuery.svelte.js +38 -0
  481. package/dist/index.d.ts +56 -0
  482. package/dist/index.js +57 -0
  483. package/dist/theme.css +680 -0
  484. package/package.json +237 -0
@@ -0,0 +1,224 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const fileUploadVariants = tv({
3
+ slots: {
4
+ root: 'relative flex flex-col',
5
+ base: [
6
+ 'w-full bg-surface-container border border-outline-variant select-none',
7
+ 'flex flex-col items-stretch justify-center rounded-lg',
8
+ 'focus-visible:outline-2 focus-visible:outline-offset-2',
9
+ 'transition-colors duration-200'
10
+ ],
11
+ wrapper: 'flex flex-col items-center justify-center text-center',
12
+ icon: 'shrink-0 text-on-surface-variant',
13
+ label: 'font-medium text-on-surface mt-2',
14
+ description: 'text-on-surface-variant mt-1',
15
+ actions: 'flex flex-wrap gap-1.5 shrink-0 mt-4',
16
+ files: '',
17
+ file: 'relative',
18
+ fileLeading: 'shrink-0',
19
+ fileWrapper: 'flex flex-col min-w-0',
20
+ fileName: 'text-on-surface truncate',
21
+ fileSize: 'text-on-surface-variant truncate',
22
+ fileTrailing: '',
23
+ previewContent: '',
24
+ previewBody: ''
25
+ },
26
+ variants: {
27
+ color: {
28
+ primary: { base: 'focus-visible:outline-primary' },
29
+ secondary: { base: 'focus-visible:outline-secondary' },
30
+ tertiary: { base: 'focus-visible:outline-tertiary' },
31
+ success: { base: 'focus-visible:outline-success' },
32
+ warning: { base: 'focus-visible:outline-warning' },
33
+ error: { base: 'focus-visible:outline-error' },
34
+ info: { base: 'focus-visible:outline-info' },
35
+ surface: { base: 'focus-visible:outline-outline' }
36
+ },
37
+ variant: {
38
+ area: {
39
+ base: 'p-4 min-h-[120px]',
40
+ wrapper: 'py-6'
41
+ },
42
+ button: {}
43
+ },
44
+ size: {
45
+ xs: {
46
+ base: 'text-xs',
47
+ icon: 'size-5',
48
+ label: 'text-xs',
49
+ description: 'text-xs',
50
+ file: 'text-xs px-2 py-1 gap-1',
51
+ fileWrapper: 'flex-row gap-1'
52
+ },
53
+ sm: {
54
+ base: 'text-xs',
55
+ icon: 'size-6',
56
+ label: 'text-sm',
57
+ description: 'text-xs',
58
+ file: 'text-xs px-2.5 py-1.5 gap-1.5',
59
+ fileWrapper: 'flex-row gap-1'
60
+ },
61
+ md: {
62
+ base: 'text-sm',
63
+ icon: 'size-8',
64
+ label: 'text-sm',
65
+ description: 'text-sm',
66
+ file: 'text-xs px-2.5 py-1.5 gap-1.5'
67
+ },
68
+ lg: {
69
+ base: 'text-sm',
70
+ icon: 'size-10',
71
+ label: 'text-base',
72
+ description: 'text-sm',
73
+ file: 'text-sm px-3 py-2 gap-2',
74
+ fileSize: 'text-xs'
75
+ },
76
+ xl: {
77
+ base: 'text-base',
78
+ icon: 'size-12',
79
+ label: 'text-base',
80
+ description: 'text-base',
81
+ file: 'text-sm px-3 py-2 gap-2'
82
+ }
83
+ },
84
+ layout: {
85
+ list: {
86
+ root: 'gap-2 items-start',
87
+ files: 'flex flex-col w-full gap-1.5',
88
+ file: 'min-w-0 flex items-center bg-surface-container border border-outline-variant rounded-md w-full',
89
+ fileTrailing: 'ms-auto'
90
+ },
91
+ grid: {
92
+ root: 'gap-2',
93
+ files: 'grid grid-cols-2 gap-3 w-full',
94
+ file: 'relative aspect-square rounded-lg border border-outline-variant',
95
+ fileWrapper: 'hidden',
96
+ fileLeading: 'size-full',
97
+ fileTrailing: ''
98
+ }
99
+ },
100
+ dropzone: {
101
+ true: {
102
+ base: 'border-dashed data-[dragging=true]:bg-surface-container-high data-[dragging=true]:border-solid'
103
+ }
104
+ },
105
+ interactive: {
106
+ true: {
107
+ base: 'cursor-pointer hover:bg-surface-container-high'
108
+ }
109
+ },
110
+ highlight: {
111
+ true: {}
112
+ },
113
+ multiple: {
114
+ true: {}
115
+ },
116
+ disabled: {
117
+ true: {
118
+ base: 'cursor-not-allowed opacity-75 hover:bg-surface-container'
119
+ }
120
+ }
121
+ },
122
+ compoundVariants: [
123
+ // Highlight: colored border
124
+ { color: 'primary', highlight: true, class: { base: 'border-primary' } },
125
+ { color: 'secondary', highlight: true, class: { base: 'border-secondary' } },
126
+ { color: 'tertiary', highlight: true, class: { base: 'border-tertiary' } },
127
+ { color: 'success', highlight: true, class: { base: 'border-success' } },
128
+ { color: 'warning', highlight: true, class: { base: 'border-warning' } },
129
+ { color: 'error', highlight: true, class: { base: 'border-error' } },
130
+ { color: 'info', highlight: true, class: { base: 'border-info' } },
131
+ { color: 'surface', highlight: true, class: { base: 'border-outline' } },
132
+ // Dragging: colored border per color
133
+ {
134
+ color: 'primary',
135
+ dropzone: true,
136
+ class: { base: 'data-[dragging=true]:border-primary' }
137
+ },
138
+ {
139
+ color: 'secondary',
140
+ dropzone: true,
141
+ class: { base: 'data-[dragging=true]:border-secondary' }
142
+ },
143
+ {
144
+ color: 'tertiary',
145
+ dropzone: true,
146
+ class: { base: 'data-[dragging=true]:border-tertiary' }
147
+ },
148
+ {
149
+ color: 'success',
150
+ dropzone: true,
151
+ class: { base: 'data-[dragging=true]:border-success' }
152
+ },
153
+ {
154
+ color: 'warning',
155
+ dropzone: true,
156
+ class: { base: 'data-[dragging=true]:border-warning' }
157
+ },
158
+ { color: 'error', dropzone: true, class: { base: 'data-[dragging=true]:border-error' } },
159
+ { color: 'info', dropzone: true, class: { base: 'data-[dragging=true]:border-info' } },
160
+ // Button variant size padding
161
+ { variant: 'button', size: 'xs', class: { base: 'p-1' } },
162
+ { variant: 'button', size: 'sm', class: { base: 'p-1.5' } },
163
+ { variant: 'button', size: 'md', class: { base: 'p-1.5' } },
164
+ { variant: 'button', size: 'lg', class: { base: 'p-2' } },
165
+ { variant: 'button', size: 'xl', class: { base: 'p-2' } },
166
+ // Grid + multiple: 3 cols on larger screens, remove button outside top-right corner
167
+ {
168
+ layout: 'grid',
169
+ multiple: true,
170
+ class: { files: 'sm:grid-cols-3', fileTrailing: 'absolute -top-1.5 -end-1.5' }
171
+ },
172
+ // Grid + single: file overlays the base, remove button top-right inside
173
+ // variant:'area' guard is required — without it, variant='button' would also get
174
+ // absolute inset-0 on the external file item, making it invisible.
175
+ {
176
+ layout: 'grid',
177
+ multiple: false,
178
+ variant: 'area',
179
+ class: {
180
+ base: 'relative overflow-hidden',
181
+ file: 'absolute inset-0 p-0 border-0 rounded-none aspect-auto',
182
+ fileTrailing: 'absolute top-2 end-2'
183
+ }
184
+ },
185
+ // List size trailing adjustments
186
+ { size: 'xs', layout: 'list', class: { fileTrailing: '-me-1' } },
187
+ { size: 'sm', layout: 'list', class: { fileTrailing: '-me-1.5' } },
188
+ { size: 'md', layout: 'list', class: { fileTrailing: '-me-1.5' } },
189
+ { size: 'lg', layout: 'list', class: { fileTrailing: '-me-2' } },
190
+ { size: 'xl', layout: 'list', class: { fileTrailing: '-me-2' } }
191
+ ],
192
+ defaultVariants: {
193
+ color: 'primary',
194
+ variant: 'area',
195
+ size: 'md',
196
+ layout: 'list'
197
+ }
198
+ });
199
+ export const fileUploadDefaults = {
200
+ defaultVariants: {
201
+ color: 'primary',
202
+ variant: 'area',
203
+ size: 'md',
204
+ layout: 'list'
205
+ },
206
+ slots: {
207
+ root: '',
208
+ base: '',
209
+ wrapper: '',
210
+ icon: '',
211
+ label: '',
212
+ description: '',
213
+ actions: '',
214
+ files: '',
215
+ file: '',
216
+ fileLeading: '',
217
+ fileWrapper: '',
218
+ fileName: '',
219
+ fileSize: '',
220
+ fileTrailing: '',
221
+ previewContent: '',
222
+ previewBody: ''
223
+ }
224
+ };
@@ -0,0 +1,2 @@
1
+ export { default as FileUpload } from './FileUpload.svelte';
2
+ export type { FileUploadProps, FileUploadRejection, FileUploadRejectionReason } from './file-upload.types.js';
@@ -0,0 +1 @@
1
+ export { default as FileUpload } from './FileUpload.svelte';
@@ -0,0 +1,197 @@
1
+ <script lang="ts" module>
2
+ import type { FormProps, FormSchema } from './form.types.js'
3
+
4
+ export type Props<
5
+ S extends FormSchema | undefined = FormSchema | undefined,
6
+ T extends boolean = true,
7
+ N extends boolean = false
8
+ > = FormProps<S, T, N>
9
+ </script>
10
+
11
+ <script
12
+ lang="ts"
13
+ generics="S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false"
14
+ >
15
+ import { onDestroy, onMount, setContext, untrack } from 'svelte'
16
+ import type { HTMLAttributes } from 'svelte/elements'
17
+ import { getComponentConfig } from '../config.js'
18
+ import { FORM_CONTEXT_KEY, FormContext, getFormContext } from './form.context.svelte.js'
19
+ import type { FormApi, FormErrorWithId } from './form.types.js'
20
+ import { formDefaults, formVariants } from './form.variants.js'
21
+
22
+ const config = getComponentConfig('form', formDefaults)
23
+
24
+ let {
25
+ ref = $bindable(null),
26
+ api = $bindable<FormApi<unknown> | undefined>(),
27
+ id,
28
+ schema,
29
+ state = $bindable({} as never),
30
+ validate: customValidate,
31
+ validateOn = ['input', 'blur', 'change'],
32
+ validateOnInputDelay = 300,
33
+ disabled = false,
34
+ loadingAuto = true,
35
+ transform = true as T,
36
+ nested = false as N,
37
+ name,
38
+ onsubmit,
39
+ onerror,
40
+ class: className,
41
+ ui,
42
+ children,
43
+ ...restProps
44
+ }: Props<S, T, N> = $props()
45
+
46
+ // Generate a stable form id. Both `id` and `nested` are effectively init-only
47
+ // (they should not change over a form instance's lifetime), so `untrack`
48
+ // silences Svelte's state_referenced_locally warning.
49
+ const formId: string | number = untrack(
50
+ () =>
51
+ (id as string | number | undefined) ??
52
+ (typeof crypto !== 'undefined' && 'randomUUID' in crypto
53
+ ? crypto.randomUUID()
54
+ : `svelora-form-${Math.random().toString(36).slice(2)}`)
55
+ )
56
+
57
+ // Parent context captured once at init — `nested` is effectively immutable
58
+ // over a form instance's lifetime. We warn (dev-only) if it's mutated later.
59
+ const parentCtx = untrack(() => (nested ? getFormContext() : undefined))
60
+ const initialNested = untrack(() => nested)
61
+ $effect(() => {
62
+ if (nested !== initialNested) {
63
+ }
64
+ })
65
+
66
+ // Create the reactive form context. All config is passed via getter closures
67
+ // so that reactive prop changes are visible inside the class.
68
+ const ctx = new FormContext(
69
+ {
70
+ getState: () => state as unknown,
71
+ getSchema: () => schema as FormSchema | undefined,
72
+ getCustomValidate: () =>
73
+ customValidate as
74
+ | ((s: unknown) => ReturnType<NonNullable<typeof customValidate>>)
75
+ | undefined,
76
+ getValidateOn: () => validateOn,
77
+ getValidateOnInputDelay: () => validateOnInputDelay,
78
+ getDisabled: () => disabled,
79
+ getLoadingAuto: () => loadingAuto,
80
+ getTransform: () => transform,
81
+ getName: () => name as string | undefined,
82
+ getOnSubmit: () =>
83
+ onsubmit as
84
+ | ((
85
+ e: import('./form.types.js').FormSubmitEvent<unknown>
86
+ ) => void | Promise<void>)
87
+ | undefined,
88
+ getOnError: () => onerror
89
+ },
90
+ formId,
91
+ parentCtx
92
+ )
93
+
94
+ setContext(FORM_CONTEXT_KEY, ctx)
95
+
96
+ // Build the bindable API object. Getters ensure reactive state reads stay live.
97
+ const apiObject: FormApi<unknown> = {
98
+ validate: (opts) => ctx.validate(opts) as Promise<unknown | false>,
99
+ submit: () => ctx.submit(),
100
+ clear: (name) => ctx.clear(name),
101
+ getErrors: (name) => ctx.getErrors(name),
102
+ setErrors: (errs, name) => ctx.setErrors(errs, name),
103
+ reset: () => ctx.reset(),
104
+ get errors() {
105
+ return ctx.errors
106
+ },
107
+ get loading() {
108
+ return ctx.loading
109
+ },
110
+ get disabled() {
111
+ return ctx.disabled
112
+ },
113
+ get dirty() {
114
+ return ctx.dirty
115
+ },
116
+ get dirtyFields() {
117
+ return ctx.dirtyFields as ReadonlySet<string>
118
+ },
119
+ get touchedFields() {
120
+ return ctx.touchedFields as ReadonlySet<string>
121
+ },
122
+ get blurredFields() {
123
+ return ctx.blurredFields as ReadonlySet<string>
124
+ },
125
+ get submitCount() {
126
+ return ctx.submitCount
127
+ }
128
+ }
129
+
130
+ // Sync the api object to the bindable prop once at setup time. `apiObject`
131
+ // is a stable reference built from getters, so there's nothing reactive to
132
+ // track — direct assignment is sufficient.
133
+ api = apiObject as typeof api
134
+
135
+ // Nested form attach/detach lifecycle.
136
+ onMount(() => {
137
+ if (parentCtx && nested) {
138
+ parentCtx.attachChild(formId, {
139
+ formId,
140
+ name: name as string | undefined,
141
+ validate: (opts) => ctx.validate(opts) as Promise<unknown | false>,
142
+ clear: (n) => ctx.clear(n),
143
+ reset: () => ctx.reset(),
144
+ setErrors: (errs, n) => ctx.setErrors(errs, n)
145
+ })
146
+ }
147
+ })
148
+
149
+ onDestroy(() => {
150
+ if (parentCtx && nested) parentCtx.detachChild(formId)
151
+ ctx.dispose()
152
+ })
153
+
154
+ async function handleSubmit(event: SubmitEvent) {
155
+ event.preventDefault()
156
+ // Forward the real SubmitEvent so user handlers can read `submitter`,
157
+ // `target`, etc. When `api.submit()` is called programmatically, ctx.submit
158
+ // synthesizes a fresh event instead.
159
+ await ctx.submit(event)
160
+ }
161
+
162
+ // `formVariants` has no variants (only a single `root` slot), so its
163
+ // output is stable — compute once at setup rather than via $derived.
164
+ const variantSlots = formVariants()
165
+ const classes = $derived({
166
+ root: variantSlots.root({
167
+ class: [config.slots.root, className, ui?.root]
168
+ })
169
+ })
170
+
171
+ // Slot props for children
172
+ const slotProps = $derived({
173
+ errors: ctx.errors as FormErrorWithId[],
174
+ loading: ctx.loading
175
+ })
176
+ </script>
177
+
178
+ {#if nested}
179
+ <div
180
+ {...restProps as unknown as HTMLAttributes<HTMLDivElement>}
181
+ bind:this={ref}
182
+ id={typeof id === 'number' ? String(id) : id}
183
+ class={classes.root}
184
+ >
185
+ {@render children?.(slotProps)}
186
+ </div>
187
+ {:else}
188
+ <form
189
+ {...restProps}
190
+ bind:this={ref}
191
+ id={typeof id === 'number' ? String(id) : id}
192
+ class={classes.root}
193
+ onsubmit={handleSubmit}
194
+ >
195
+ {@render children?.(slotProps)}
196
+ </form>
197
+ {/if}
@@ -0,0 +1,26 @@
1
+ import type { FormProps, FormSchema } from './form.types.js';
2
+ export type Props<S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false> = FormProps<S, T, N>;
3
+ declare function $$render<S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false>(): {
4
+ props: Props<S, T, N>;
5
+ exports: {};
6
+ bindings: "ref" | "api" | "state";
7
+ slots: {};
8
+ events: {};
9
+ };
10
+ declare class __sveltets_Render<S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false> {
11
+ props(): ReturnType<typeof $$render<S, T, N>>['props'];
12
+ events(): ReturnType<typeof $$render<S, T, N>>['events'];
13
+ slots(): ReturnType<typeof $$render<S, T, N>>['slots'];
14
+ bindings(): "ref" | "api" | "state";
15
+ exports(): {};
16
+ }
17
+ interface $$IsomorphicComponent {
18
+ new <S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<S, T, N>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<S, T, N>['props']>, ReturnType<__sveltets_Render<S, T, N>['events']>, ReturnType<__sveltets_Render<S, T, N>['slots']>> & {
19
+ $$bindings?: ReturnType<__sveltets_Render<S, T, N>['bindings']>;
20
+ } & ReturnType<__sveltets_Render<S, T, N>['exports']>;
21
+ <S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false>(internal: unknown, props: ReturnType<__sveltets_Render<S, T, N>['props']> & {}): ReturnType<__sveltets_Render<S, T, N>['exports']>;
22
+ z_$$bindings?: ReturnType<__sveltets_Render<any, any, any>['bindings']>;
23
+ }
24
+ declare const Form: $$IsomorphicComponent;
25
+ type Form<S extends FormSchema | undefined = FormSchema | undefined, T extends boolean = true, N extends boolean = false> = InstanceType<typeof Form<S, T, N>>;
26
+ export default Form;
@@ -0,0 +1,64 @@
1
+ import { SvelteSet } from 'svelte/reactivity';
2
+ import { type FormError, type FormErrorEvent, type FormErrorWithId, type FormFieldRegistryEntry, type FormInputEvents, type FormSchema, type FormSubmitEvent, type FormValidateOpts, type NestedFormEntry } from './form.types.js';
3
+ export declare const FORM_CONTEXT_KEY: unique symbol;
4
+ export declare function getFormContext<T = unknown>(): FormContext<T> | undefined;
5
+ export interface FormContextOptions<T> {
6
+ getState: () => T;
7
+ getSchema: () => FormSchema | undefined;
8
+ getCustomValidate: () => ((state: T) => FormError[] | Promise<FormError[]>) | undefined;
9
+ getValidateOn: () => FormInputEvents[];
10
+ getValidateOnInputDelay: () => number;
11
+ getDisabled: () => boolean;
12
+ getLoadingAuto: () => boolean;
13
+ getTransform: () => boolean;
14
+ getName: () => string | undefined;
15
+ getOnSubmit: () => ((event: FormSubmitEvent<unknown>) => void | Promise<void>) | undefined;
16
+ getOnError: () => ((event: FormErrorEvent) => void) | undefined;
17
+ }
18
+ export declare class FormContext<T = unknown> {
19
+ #private;
20
+ errors: FormErrorWithId[];
21
+ loading: boolean;
22
+ submitCount: number;
23
+ dirtyFields: SvelteSet<string>;
24
+ touchedFields: SvelteSet<string>;
25
+ blurredFields: SvelteSet<string>;
26
+ formId: string | number;
27
+ constructor(opts: FormContextOptions<T>, formId: string | number, parentCtx?: FormContext | undefined);
28
+ get dirty(): boolean;
29
+ get disabled(): boolean;
30
+ /**
31
+ * Current state. For nested forms, read the sub-tree from parent state by name.
32
+ * Falls back to `{}` if the parent hasn't initialized the sub-object yet —
33
+ * avoids crashing downstream validators when consumers forget to prefill it.
34
+ */
35
+ get state(): T;
36
+ getErrors(name?: (string | RegExp) | undefined): FormErrorWithId[];
37
+ setErrors(errs: FormError[], name?: (string | RegExp) | undefined): void;
38
+ clear(name?: (string | RegExp) | undefined): void;
39
+ /**
40
+ * Reset all form tracking state: errors, dirty/touched/blurred field sets,
41
+ * and submitCount. Does NOT modify `state` (caller owns that). Cascades to
42
+ * nested forms.
43
+ */
44
+ reset(): void;
45
+ registerField(name: string, entry: FormFieldRegistryEntry): void;
46
+ unregisterField(name: string): void;
47
+ attachChild(childFormId: string | number, entry: NestedFormEntry): void;
48
+ detachChild(childFormId: string | number): void;
49
+ onFocus(name: string): void;
50
+ onBlur(name: string): void;
51
+ onChange(name: string): void;
52
+ onInput(name: string, eager?: boolean): void;
53
+ validate(opts?: FormValidateOpts): Promise<T | false>;
54
+ /**
55
+ * Run full validation and fire onsubmit / onerror.
56
+ *
57
+ * @param sourceEvent - Real SubmitEvent from the `<form>` submit handler,
58
+ * forwarded to the user's onsubmit / onerror so they can read `submitter`,
59
+ * `preventDefault`, etc. When called programmatically (via the public API),
60
+ * a fresh SubmitEvent is synthesized.
61
+ */
62
+ submit(sourceEvent?: SubmitEvent | undefined): Promise<void>;
63
+ dispose(): void;
64
+ }