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,126 @@
1
+ import { tv } from 'tailwind-variants';
2
+ export const tableVariants = tv({
3
+ slots: {
4
+ root: 'relative w-full overflow-x-auto scrollbar-thin rounded-xl border border-outline-variant/50 bg-surface [contain:inline-size]',
5
+ base: 'min-w-full',
6
+ caption: 'sr-only',
7
+ thead: 'relative bg-surface-container-low',
8
+ tbody: [
9
+ '[&>tr]:transition-colors [&>tr]:duration-150',
10
+ '[&>tr]:border-b [&>tr]:border-outline-variant/30',
11
+ '[&>tr:last-child]:border-b-0'
12
+ ],
13
+ tfoot: 'relative bg-surface-container-low border-t border-outline-variant/50',
14
+ tr: 'data-[selected=true]:bg-primary-container/20 data-[pinned-row=true]:bg-surface-container-lowest',
15
+ th: [
16
+ 'relative px-4 py-3 text-xs font-semibold uppercase tracking-wider',
17
+ 'text-on-surface-variant text-left rtl:text-right',
18
+ '[&:has([role=checkbox])]:pe-0 [&:has([role=checkbox])]:w-12'
19
+ ],
20
+ td: [
21
+ 'px-4 py-3.5 text-sm text-on-surface',
22
+ 'whitespace-nowrap max-sm:whitespace-normal max-sm:break-words',
23
+ '[&:has([role=checkbox])]:pe-0 [&:has([role=checkbox])]:w-12'
24
+ ],
25
+ separator: 'h-px bg-outline-variant/50',
26
+ empty: 'py-10 text-center text-sm text-on-surface-variant/70',
27
+ loading: 'py-10 text-center'
28
+ },
29
+ variants: {
30
+ pinned: {
31
+ true: {
32
+ th: 'sticky bg-surface-container-low/95 backdrop-blur-sm z-1',
33
+ td: 'sticky bg-surface/95 backdrop-blur-sm z-1'
34
+ }
35
+ },
36
+ hoverable: {
37
+ true: {
38
+ tbody: '[&>tr]:data-[selectable=true]:cursor-pointer [&>tr]:data-[selectable=true]:hover:bg-surface-container/60 [&>tr]:data-[selectable=true]:focus-visible:outline-2 [&>tr]:data-[selectable=true]:focus-visible:outline-primary [&>tr]:data-[selectable=true]:focus-visible:outline-offset-[-2px]'
39
+ }
40
+ },
41
+ sticky: {
42
+ true: {
43
+ thead: 'sticky top-0 inset-x-0 bg-surface-container-low/95 backdrop-blur-sm z-10 rounded-t-xl',
44
+ tfoot: 'sticky bottom-0 inset-x-0 bg-surface-container-low/95 backdrop-blur-sm z-10 rounded-b-xl'
45
+ },
46
+ header: {
47
+ thead: 'sticky top-0 inset-x-0 bg-surface-container-low/95 backdrop-blur-sm z-10 rounded-t-xl'
48
+ },
49
+ footer: {
50
+ tfoot: 'sticky bottom-0 inset-x-0 bg-surface-container-low/95 backdrop-blur-sm z-10 rounded-b-xl'
51
+ }
52
+ },
53
+ striped: {
54
+ true: {
55
+ tbody: '[&>tr:nth-child(even)]:bg-surface-container-lowest/60'
56
+ }
57
+ },
58
+ loading: {
59
+ true: {
60
+ thead: 'after:absolute after:top-0 after:left-0 after:z-20 after:h-0.5 after:rounded-full'
61
+ }
62
+ },
63
+ loadingColor: {
64
+ primary: '',
65
+ secondary: '',
66
+ tertiary: '',
67
+ success: '',
68
+ warning: '',
69
+ error: '',
70
+ info: '',
71
+ surface: ''
72
+ },
73
+ loadingAnimation: {
74
+ carousel: '',
75
+ 'carousel-inverse': '',
76
+ swing: '',
77
+ elastic: ''
78
+ }
79
+ },
80
+ compoundVariants: [
81
+ // ========== LOADING COLOR ==========
82
+ { loading: true, loadingColor: 'primary', class: { thead: 'after:bg-primary' } },
83
+ { loading: true, loadingColor: 'secondary', class: { thead: 'after:bg-secondary' } },
84
+ { loading: true, loadingColor: 'tertiary', class: { thead: 'after:bg-tertiary' } },
85
+ { loading: true, loadingColor: 'success', class: { thead: 'after:bg-success' } },
86
+ { loading: true, loadingColor: 'warning', class: { thead: 'after:bg-warning' } },
87
+ { loading: true, loadingColor: 'error', class: { thead: 'after:bg-error' } },
88
+ { loading: true, loadingColor: 'info', class: { thead: 'after:bg-info' } },
89
+ { loading: true, loadingColor: 'surface', class: { thead: 'after:bg-on-surface' } },
90
+ // ========== LOADING ANIMATION ==========
91
+ {
92
+ loading: true,
93
+ loadingAnimation: 'carousel',
94
+ class: { thead: 'after:animate-[carousel_2s_ease-in-out_infinite]' }
95
+ },
96
+ {
97
+ loading: true,
98
+ loadingAnimation: 'carousel-inverse',
99
+ class: { thead: 'after:animate-[carousel-inverse_2s_ease-in-out_infinite]' }
100
+ },
101
+ {
102
+ loading: true,
103
+ loadingAnimation: 'swing',
104
+ class: { thead: 'after:animate-[swing_2s_ease-in-out_infinite]' }
105
+ },
106
+ {
107
+ loading: true,
108
+ loadingAnimation: 'elastic',
109
+ class: { thead: 'after:animate-[elastic_2s_ease-in-out_infinite]' }
110
+ }
111
+ ],
112
+ defaultVariants: {
113
+ hoverable: true,
114
+ loadingColor: 'primary',
115
+ loadingAnimation: 'carousel'
116
+ }
117
+ });
118
+ export const tableDefaults = {
119
+ defaultVariants: {
120
+ ...tableVariants.defaultVariants,
121
+ hoverable: true,
122
+ loadingColor: 'primary',
123
+ loadingAnimation: 'carousel'
124
+ },
125
+ slots: {}
126
+ };
@@ -0,0 +1,188 @@
1
+ <script lang="ts" module>
2
+ import type { TabsItem, TabsProps } from './tabs.types.js'
3
+
4
+ export type Props = TabsProps
5
+ </script>
6
+
7
+ <script lang="ts">
8
+ import { Tabs } from 'bits-ui'
9
+ import { tick, untrack } from 'svelte'
10
+ import { getComponentConfig } from '../config.js'
11
+ import Icon from '../Icon/Icon.svelte'
12
+ import { tabsDefaults, tabsVariants } from './tabs.variants.js'
13
+
14
+ const config = getComponentConfig('tabs', tabsDefaults)
15
+
16
+ let {
17
+ ref = $bindable(null),
18
+ items = [],
19
+ value = $bindable(),
20
+ defaultValue,
21
+ onValueChange,
22
+ variant = config.defaultVariants.variant ?? 'pill',
23
+ color = config.defaultVariants.color ?? 'primary',
24
+ size = config.defaultVariants.size ?? 'md',
25
+ orientation = config.defaultVariants.orientation ?? 'horizontal',
26
+ activationMode = 'automatic',
27
+ disabled = false,
28
+ loop = true,
29
+ content: showContent = true,
30
+ ui,
31
+ class: className,
32
+ leading,
33
+ label: labelSlot,
34
+ trailing,
35
+ body: bodySlot,
36
+ ...restProps
37
+ }: Props = $props()
38
+
39
+ // Initialize value if not provided (intentionally reads initial values only)
40
+ if (value === undefined) {
41
+ value = untrack(
42
+ () => defaultValue ?? (items.length > 0 ? (items[0].value ?? '0') : undefined)
43
+ )
44
+ }
45
+
46
+ let listEl: HTMLElement | null = $state(null)
47
+ let indicatorStyle = $state('')
48
+
49
+ const variantSlots = $derived(tabsVariants({ variant, color, size, orientation }))
50
+
51
+ const classes = $derived({
52
+ root: variantSlots.root({ class: [config.slots.root, className, ui?.root] }),
53
+ list: variantSlots.list({ class: [config.slots.list, ui?.list] }),
54
+ indicator: variantSlots.indicator({
55
+ class: [config.slots.indicator, ui?.indicator]
56
+ }),
57
+ trigger: variantSlots.trigger({ class: [config.slots.trigger, ui?.trigger] }),
58
+ leadingIcon: variantSlots.leadingIcon({
59
+ class: [config.slots.leadingIcon, ui?.leadingIcon]
60
+ }),
61
+ label: variantSlots.label({ class: [config.slots.label, ui?.label] }),
62
+ content: variantSlots.content({ class: [config.slots.content, ui?.content] })
63
+ })
64
+
65
+ let rafId = 0
66
+
67
+ function getItemValue(item: TabsItem, index: number): string {
68
+ return item.value ?? String(index)
69
+ }
70
+
71
+ function getTriggerClass(item: TabsItem) {
72
+ if (!item.ui?.trigger && !item.class) return classes.trigger
73
+ return variantSlots.trigger({
74
+ class: [config.slots.trigger, ui?.trigger, item.ui?.trigger, item.class]
75
+ })
76
+ }
77
+
78
+ function getIconClass(item: TabsItem) {
79
+ if (!item.ui?.leadingIcon) return classes.leadingIcon
80
+ return variantSlots.leadingIcon({
81
+ class: [config.slots.leadingIcon, ui?.leadingIcon, item.ui?.leadingIcon]
82
+ })
83
+ }
84
+
85
+ function getLabelClass(item: TabsItem) {
86
+ if (!item.ui?.label) return classes.label
87
+ return variantSlots.label({
88
+ class: [config.slots.label, ui?.label, item.ui?.label]
89
+ })
90
+ }
91
+
92
+ function updateIndicator() {
93
+ if (!listEl) return
94
+ const activeTrigger = listEl.querySelector('[data-state="active"]') as HTMLElement
95
+ if (!activeTrigger) {
96
+ indicatorStyle = 'opacity: 0;'
97
+ return
98
+ }
99
+
100
+ if (orientation === 'horizontal') {
101
+ indicatorStyle = `left: ${activeTrigger.offsetLeft}px; width: ${activeTrigger.offsetWidth}px;`
102
+ } else {
103
+ indicatorStyle = `top: ${activeTrigger.offsetTop}px; height: ${activeTrigger.offsetHeight}px;`
104
+ }
105
+ }
106
+
107
+ function scheduleIndicatorUpdate() {
108
+ cancelAnimationFrame(rafId)
109
+ rafId = requestAnimationFrame(updateIndicator)
110
+ }
111
+
112
+ // Update indicator on mount and when dependencies change
113
+ $effect(() => {
114
+ void value
115
+ void orientation
116
+ void items
117
+ tick().then(updateIndicator)
118
+ })
119
+
120
+ // Handle resize with rAF debouncing
121
+ $effect(() => {
122
+ if (!listEl) return
123
+
124
+ const observer = new ResizeObserver(scheduleIndicatorUpdate)
125
+ observer.observe(listEl)
126
+
127
+ return () => {
128
+ observer.disconnect()
129
+ cancelAnimationFrame(rafId)
130
+ }
131
+ })
132
+ </script>
133
+
134
+ <Tabs.Root
135
+ {...restProps}
136
+ bind:ref
137
+ bind:value
138
+ {onValueChange}
139
+ {orientation}
140
+ {activationMode}
141
+ {disabled}
142
+ {loop}
143
+ class={classes.root}
144
+ >
145
+ <Tabs.List bind:ref={listEl} class={classes.list}>
146
+ <div class={classes.indicator} style={indicatorStyle} aria-hidden="true"></div>
147
+
148
+ {#each items as item, index (item.value ?? index)}
149
+ {@const itemValue = getItemValue(item, index)}
150
+ {@const active = value === itemValue}
151
+ <Tabs.Trigger value={itemValue} disabled={item.disabled} class={getTriggerClass(item)}>
152
+ {#if leading}
153
+ {@render leading({ item, index, active })}
154
+ {:else if item.icon}
155
+ <Icon name={item.icon} class={getIconClass(item)} />
156
+ {/if}
157
+
158
+ {#if item.label || labelSlot}
159
+ <span class={getLabelClass(item)}>
160
+ {#if labelSlot}
161
+ {@render labelSlot({ item, index, active })}
162
+ {:else}
163
+ {item.label}
164
+ {/if}
165
+ </span>
166
+ {/if}
167
+
168
+ {#if trailing}
169
+ {@render trailing({ item, index, active })}
170
+ {/if}
171
+ </Tabs.Trigger>
172
+ {/each}
173
+ </Tabs.List>
174
+
175
+ {#if showContent}
176
+ {#each items as item, index (item.value ?? index)}
177
+ {@const itemValue = getItemValue(item, index)}
178
+ {@const active = value === itemValue}
179
+ <Tabs.Content value={itemValue} class={classes.content}>
180
+ {#if bodySlot}
181
+ {@render bodySlot({ item, index, active })}
182
+ {:else if item.content}
183
+ {item.content}
184
+ {/if}
185
+ </Tabs.Content>
186
+ {/each}
187
+ {/if}
188
+ </Tabs.Root>
@@ -0,0 +1,6 @@
1
+ import type { TabsProps } from './tabs.types.js';
2
+ export type Props = TabsProps;
3
+ import { Tabs } from 'bits-ui';
4
+ declare const Tabs: import("svelte").Component<TabsProps, {}, "value" | "ref">;
5
+ type Tabs = ReturnType<typeof Tabs>;
6
+ export default Tabs;
@@ -0,0 +1,2 @@
1
+ export { default as Tabs } from './Tabs.svelte';
2
+ export type { TabsItem, TabsProps } from './tabs.types.js';
@@ -0,0 +1 @@
1
+ export { default as Tabs } from './Tabs.svelte';
@@ -0,0 +1,207 @@
1
+ import type { TabsRootProps } from 'bits-ui';
2
+ import type { Snippet } from 'svelte';
3
+ import type { ClassNameValue } from 'tailwind-merge';
4
+ import type { TabsSlots, TabsVariantProps } from './tabs.variants.js';
5
+ /**
6
+ * Configuration for an individual tab item.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const item: TabsItem = {
11
+ * label: 'Account',
12
+ * icon: 'lucide:user',
13
+ * value: 'account',
14
+ * content: 'Manage your account settings here.'
15
+ * }
16
+ * ```
17
+ */
18
+ export interface TabsItem {
19
+ /**
20
+ * The visible text displayed in the tab trigger.
21
+ */
22
+ label?: string;
23
+ /**
24
+ * Icon displayed before the label (leading position).
25
+ * Supports any Iconify icon name (e.g., 'lucide:home', 'mdi:account').
26
+ */
27
+ icon?: string;
28
+ /**
29
+ * Unique identifier for this tab.
30
+ * Used to control which tab is active via the `value` prop.
31
+ * @default String(index) - Falls back to the item's index as a string
32
+ */
33
+ value?: string;
34
+ /**
35
+ * Whether this specific tab trigger is disabled.
36
+ * Disabled tabs cannot be activated by the user.
37
+ * @default false
38
+ */
39
+ disabled?: boolean;
40
+ /**
41
+ * The text content shown in the tab panel when this tab is active.
42
+ * For complex content, use the `body` snippet instead.
43
+ */
44
+ content?: string;
45
+ /**
46
+ * Additional CSS classes applied to this item's trigger element.
47
+ */
48
+ class?: ClassNameValue;
49
+ /**
50
+ * Override classes for specific slots within this item's trigger.
51
+ * Allows fine-grained styling control per item.
52
+ */
53
+ ui?: Partial<Pick<Record<TabsSlots, ClassNameValue>, 'trigger' | 'leadingIcon' | 'label'>>;
54
+ }
55
+ /**
56
+ * Props passed to tabs snippet slots.
57
+ * Provides context about the current item and its state.
58
+ */
59
+ export interface TabsSlotProps {
60
+ /** The current tab item data */
61
+ item: TabsItem;
62
+ /** Zero-based index of the item in the items array */
63
+ index: number;
64
+ /** Whether this tab is currently active */
65
+ active: boolean;
66
+ }
67
+ /**
68
+ * Props for the Tabs component.
69
+ *
70
+ * Wraps bits-ui's Tabs primitives with enhanced styling,
71
+ * data-driven rendering, and animated indicator support.
72
+ *
73
+ * @example
74
+ * ```svelte
75
+ * <Tabs
76
+ * items={tabItems}
77
+ * bind:value={activeTab}
78
+ * variant="pill"
79
+ * color="primary"
80
+ * />
81
+ * ```
82
+ *
83
+ * @see https://bits-ui.com/docs/components/tabs
84
+ */
85
+ export interface TabsProps extends Pick<TabsRootProps, 'id' | 'style' | 'title' | 'role' | 'tabindex' | 'aria-label' | 'aria-labelledby' | 'aria-describedby' | 'onclick' | 'onkeydown' | 'onmouseenter' | 'onmouseleave' | 'onfocus' | 'onblur'> {
86
+ /** Custom data attributes are forwarded to the root element. */
87
+ [key: `data-${string}`]: string | number | boolean | null | undefined;
88
+ /**
89
+ * Bindable reference to the root DOM element.
90
+ */
91
+ ref?: HTMLElement | null;
92
+ /**
93
+ * Array of tab items to render.
94
+ * Each item can have a label, icon, content, and optional styling overrides.
95
+ */
96
+ items?: TabsItem[];
97
+ /**
98
+ * The currently active tab value.
99
+ * Use `bind:value` for two-way binding.
100
+ * @default First item's value or '0'
101
+ */
102
+ value?: string;
103
+ /**
104
+ * The default active tab value when uncontrolled.
105
+ * Used as the initial value when `value` is not provided.
106
+ */
107
+ defaultValue?: string;
108
+ /**
109
+ * Callback fired when the active tab changes.
110
+ * Receives the new active tab value.
111
+ */
112
+ onValueChange?: (value: string) => void;
113
+ /**
114
+ * Visual style variant for the tabs.
115
+ * - `'pill'`: Rounded background indicator with shadow
116
+ * - `'link'`: Thin line indicator (bottom for horizontal, side for vertical)
117
+ * @default 'pill'
118
+ */
119
+ variant?: NonNullable<TabsVariantProps['variant']>;
120
+ /**
121
+ * Color theme for the active tab indicator and text.
122
+ * @default 'primary'
123
+ */
124
+ color?: NonNullable<TabsVariantProps['color']>;
125
+ /**
126
+ * Size variant controlling padding, text size, and icon dimensions.
127
+ * @default 'md'
128
+ */
129
+ size?: NonNullable<TabsVariantProps['size']>;
130
+ /**
131
+ * Layout orientation of the tabs.
132
+ * - `'horizontal'`: Tabs arranged in a row, content below
133
+ * - `'vertical'`: Tabs arranged in a column, content to the side
134
+ * @default 'horizontal'
135
+ */
136
+ orientation?: NonNullable<TabsVariantProps['orientation']>;
137
+ /**
138
+ * Controls how tabs are activated.
139
+ * - `'automatic'`: Tab activates on focus (arrow key navigation)
140
+ * - `'manual'`: Tab activates on explicit click/enter
141
+ * @default 'automatic'
142
+ */
143
+ activationMode?: 'automatic' | 'manual';
144
+ /**
145
+ * Whether all tabs are disabled.
146
+ * @default false
147
+ */
148
+ disabled?: boolean;
149
+ /**
150
+ * Whether keyboard navigation wraps around at the edges.
151
+ * @default true
152
+ */
153
+ loop?: boolean;
154
+ /**
155
+ * Whether to render content panels for each tab.
156
+ * Set to `false` when using tabs purely for navigation.
157
+ * @default true
158
+ */
159
+ content?: boolean;
160
+ /**
161
+ * Additional CSS classes for the root tabs container.
162
+ */
163
+ class?: ClassNameValue;
164
+ /**
165
+ * Override classes for tabs component slots.
166
+ * Allows customization of root, list, indicator, trigger, content,
167
+ * leadingIcon, and label elements.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * ui={{
172
+ * list: 'bg-surface-container-high',
173
+ * trigger: 'font-semibold',
174
+ * content: 'p-4'
175
+ * }}
176
+ * ```
177
+ */
178
+ ui?: Partial<Record<TabsSlots, ClassNameValue>>;
179
+ /**
180
+ * Custom snippet for the leading section of all tab triggers.
181
+ * Replaces the default leading icon when provided.
182
+ *
183
+ * @param props - Contains `{ item, index, active }`
184
+ */
185
+ leading?: Snippet<[TabsSlotProps]>;
186
+ /**
187
+ * Custom snippet for the label section of all tab triggers.
188
+ * Replaces the default `item.label` text when provided.
189
+ *
190
+ * @param props - Contains `{ item, index, active }`
191
+ */
192
+ label?: Snippet<[TabsSlotProps]>;
193
+ /**
194
+ * Custom snippet for the trailing section of all tab triggers.
195
+ * Rendered after the label.
196
+ *
197
+ * @param props - Contains `{ item, index, active }`
198
+ */
199
+ trailing?: Snippet<[TabsSlotProps]>;
200
+ /**
201
+ * Custom snippet for tab content body.
202
+ * Replaces `item.content` text when provided.
203
+ *
204
+ * @param props - Contains `{ item, index, active }`
205
+ */
206
+ body?: Snippet<[TabsSlotProps]>;
207
+ }
@@ -0,0 +1 @@
1
+ export {};