@marwes-ui/svelte 1.3.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 (371) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/LICENSE +21 -0
  3. package/README.md +518 -0
  4. package/dist/components/accordion/Accordion.svelte +56 -0
  5. package/dist/components/accordion/Accordion.svelte.d.ts +4 -0
  6. package/dist/components/accordion/AccordionField.svelte +90 -0
  7. package/dist/components/accordion/AccordionField.svelte.d.ts +4 -0
  8. package/dist/components/accordion/FAQAccordion.svelte +21 -0
  9. package/dist/components/accordion/FAQAccordion.svelte.d.ts +20 -0
  10. package/dist/components/accordion/README.md +19 -0
  11. package/dist/components/accordion/SectionsAccordion.svelte +22 -0
  12. package/dist/components/accordion/SectionsAccordion.svelte.d.ts +21 -0
  13. package/dist/components/accordion/SettingsAccordion.svelte +21 -0
  14. package/dist/components/accordion/SettingsAccordion.svelte.d.ts +20 -0
  15. package/dist/components/accordion/index.d.ts +2 -0
  16. package/dist/components/accordion/index.js +1 -0
  17. package/dist/components/accordion/types.d.ts +28 -0
  18. package/dist/components/accordion/types.js +1 -0
  19. package/dist/components/avatar/Avatar.svelte +45 -0
  20. package/dist/components/avatar/Avatar.svelte.d.ts +4 -0
  21. package/dist/components/avatar/AvatarBadge.svelte +47 -0
  22. package/dist/components/avatar/AvatarBadge.svelte.d.ts +7 -0
  23. package/dist/components/avatar/AvatarGroup.svelte +50 -0
  24. package/dist/components/avatar/AvatarGroup.svelte.d.ts +15 -0
  25. package/dist/components/avatar/PresenceAvatar.svelte +12 -0
  26. package/dist/components/avatar/PresenceAvatar.svelte.d.ts +7 -0
  27. package/dist/components/avatar/ProfileAvatar.svelte +7 -0
  28. package/dist/components/avatar/ProfileAvatar.svelte.d.ts +4 -0
  29. package/dist/components/avatar/README.md +19 -0
  30. package/dist/components/avatar/TeamAvatarGroup.svelte +21 -0
  31. package/dist/components/avatar/TeamAvatarGroup.svelte.d.ts +15 -0
  32. package/dist/components/avatar/index.d.ts +2 -0
  33. package/dist/components/avatar/index.js +1 -0
  34. package/dist/components/avatar/types.d.ts +6 -0
  35. package/dist/components/avatar/types.js +1 -0
  36. package/dist/components/badge/Badge.svelte +26 -0
  37. package/dist/components/badge/Badge.svelte.d.ts +4 -0
  38. package/dist/components/badge/BadgeGroup.svelte +25 -0
  39. package/dist/components/badge/BadgeGroup.svelte.d.ts +4 -0
  40. package/dist/components/badge/NotificationBadge.svelte +7 -0
  41. package/dist/components/badge/NotificationBadge.svelte.d.ts +4 -0
  42. package/dist/components/badge/PriorityBadge.svelte +7 -0
  43. package/dist/components/badge/PriorityBadge.svelte.d.ts +4 -0
  44. package/dist/components/badge/README.md +16 -0
  45. package/dist/components/badge/StatusBadge.svelte +7 -0
  46. package/dist/components/badge/StatusBadge.svelte.d.ts +4 -0
  47. package/dist/components/badge/index.d.ts +3 -0
  48. package/dist/components/badge/index.js +2 -0
  49. package/dist/components/badge/types.d.ts +15 -0
  50. package/dist/components/badge/types.js +1 -0
  51. package/dist/components/button/Button.svelte +92 -0
  52. package/dist/components/button/Button.svelte.d.ts +4 -0
  53. package/dist/components/button/CancelButton.svelte +8 -0
  54. package/dist/components/button/CancelButton.svelte.d.ts +5 -0
  55. package/dist/components/button/CloseButton.svelte +8 -0
  56. package/dist/components/button/CloseButton.svelte.d.ts +5 -0
  57. package/dist/components/button/ConfirmButton.svelte +8 -0
  58. package/dist/components/button/ConfirmButton.svelte.d.ts +5 -0
  59. package/dist/components/button/CopyButton.svelte +8 -0
  60. package/dist/components/button/CopyButton.svelte.d.ts +5 -0
  61. package/dist/components/button/CreateButton.svelte +7 -0
  62. package/dist/components/button/CreateButton.svelte.d.ts +5 -0
  63. package/dist/components/button/DestructiveButton.svelte +8 -0
  64. package/dist/components/button/DestructiveButton.svelte.d.ts +5 -0
  65. package/dist/components/button/DownloadButton.svelte +8 -0
  66. package/dist/components/button/DownloadButton.svelte.d.ts +5 -0
  67. package/dist/components/button/DropdownButton.svelte +8 -0
  68. package/dist/components/button/DropdownButton.svelte.d.ts +5 -0
  69. package/dist/components/button/EditButton.svelte +8 -0
  70. package/dist/components/button/EditButton.svelte.d.ts +5 -0
  71. package/dist/components/button/FilterButton.svelte +8 -0
  72. package/dist/components/button/FilterButton.svelte.d.ts +5 -0
  73. package/dist/components/button/LinkButton.svelte +8 -0
  74. package/dist/components/button/LinkButton.svelte.d.ts +5 -0
  75. package/dist/components/button/PrimaryButton.svelte +7 -0
  76. package/dist/components/button/PrimaryButton.svelte.d.ts +5 -0
  77. package/dist/components/button/README.md +21 -0
  78. package/dist/components/button/RefreshButton.svelte +8 -0
  79. package/dist/components/button/RefreshButton.svelte.d.ts +5 -0
  80. package/dist/components/button/SaveButton.svelte +8 -0
  81. package/dist/components/button/SaveButton.svelte.d.ts +5 -0
  82. package/dist/components/button/SearchButton.svelte +8 -0
  83. package/dist/components/button/SearchButton.svelte.d.ts +5 -0
  84. package/dist/components/button/SecondaryButton.svelte +7 -0
  85. package/dist/components/button/SecondaryButton.svelte.d.ts +5 -0
  86. package/dist/components/button/SortButton.svelte +8 -0
  87. package/dist/components/button/SortButton.svelte.d.ts +5 -0
  88. package/dist/components/button/SubmitButton.svelte +7 -0
  89. package/dist/components/button/SubmitButton.svelte.d.ts +5 -0
  90. package/dist/components/button/SuccessButton.svelte +7 -0
  91. package/dist/components/button/SuccessButton.svelte.d.ts +5 -0
  92. package/dist/components/button/TextButton.svelte +7 -0
  93. package/dist/components/button/TextButton.svelte.d.ts +5 -0
  94. package/dist/components/button/UploadButton.svelte +8 -0
  95. package/dist/components/button/UploadButton.svelte.d.ts +5 -0
  96. package/dist/components/button/VerifyButton.svelte +8 -0
  97. package/dist/components/button/VerifyButton.svelte.d.ts +5 -0
  98. package/dist/components/button/index.d.ts +2 -0
  99. package/dist/components/button/index.js +1 -0
  100. package/dist/components/button/types.d.ts +8 -0
  101. package/dist/components/button/types.js +1 -0
  102. package/dist/components/card/Card.svelte +33 -0
  103. package/dist/components/card/Card.svelte.d.ts +4 -0
  104. package/dist/components/card/ProductCard.svelte +6 -0
  105. package/dist/components/card/ProductCard.svelte.d.ts +4 -0
  106. package/dist/components/card/ProfileCard.svelte +6 -0
  107. package/dist/components/card/ProfileCard.svelte.d.ts +4 -0
  108. package/dist/components/card/README.md +15 -0
  109. package/dist/components/card/StatCard.svelte +6 -0
  110. package/dist/components/card/StatCard.svelte.d.ts +4 -0
  111. package/dist/components/card/index.d.ts +2 -0
  112. package/dist/components/card/index.js +1 -0
  113. package/dist/components/card/types.d.ts +10 -0
  114. package/dist/components/card/types.js +1 -0
  115. package/dist/components/checkbox/Checkbox.svelte +54 -0
  116. package/dist/components/checkbox/Checkbox.svelte.d.ts +4 -0
  117. package/dist/components/checkbox/CheckboxField.svelte +74 -0
  118. package/dist/components/checkbox/CheckboxField.svelte.d.ts +4 -0
  119. package/dist/components/checkbox/CheckboxGroupField.svelte +50 -0
  120. package/dist/components/checkbox/CheckboxGroupField.svelte.d.ts +4 -0
  121. package/dist/components/checkbox/README.md +17 -0
  122. package/dist/components/checkbox/index.d.ts +3 -0
  123. package/dist/components/checkbox/index.js +2 -0
  124. package/dist/components/checkbox/types.d.ts +30 -0
  125. package/dist/components/checkbox/types.js +1 -0
  126. package/dist/components/date-picker/DatePicker.svelte +108 -0
  127. package/dist/components/date-picker/DatePicker.svelte.d.ts +4 -0
  128. package/dist/components/date-picker/README.md +17 -0
  129. package/dist/components/date-picker/index.d.ts +2 -0
  130. package/dist/components/date-picker/index.js +1 -0
  131. package/dist/components/date-picker/types.d.ts +13 -0
  132. package/dist/components/date-picker/types.js +1 -0
  133. package/dist/components/dialog/ConfirmDialog.svelte +28 -0
  134. package/dist/components/dialog/ConfirmDialog.svelte.d.ts +4 -0
  135. package/dist/components/dialog/DestructiveDialog.svelte +28 -0
  136. package/dist/components/dialog/DestructiveDialog.svelte.d.ts +4 -0
  137. package/dist/components/dialog/Dialog.svelte +114 -0
  138. package/dist/components/dialog/Dialog.svelte.d.ts +4 -0
  139. package/dist/components/dialog/DialogModal.svelte +120 -0
  140. package/dist/components/dialog/DialogModal.svelte.d.ts +4 -0
  141. package/dist/components/dialog/InfoDialog.svelte +24 -0
  142. package/dist/components/dialog/InfoDialog.svelte.d.ts +4 -0
  143. package/dist/components/dialog/README.md +23 -0
  144. package/dist/components/dialog/index.d.ts +6 -0
  145. package/dist/components/dialog/index.js +5 -0
  146. package/dist/components/dialog/types.d.ts +42 -0
  147. package/dist/components/dialog/types.js +1 -0
  148. package/dist/components/divider/Divider.svelte +25 -0
  149. package/dist/components/divider/Divider.svelte.d.ts +4 -0
  150. package/dist/components/divider/README.md +15 -0
  151. package/dist/components/divider/index.d.ts +2 -0
  152. package/dist/components/divider/index.js +1 -0
  153. package/dist/components/divider/types.d.ts +5 -0
  154. package/dist/components/divider/types.js +1 -0
  155. package/dist/components/heading/H1.svelte +23 -0
  156. package/dist/components/heading/H1.svelte.d.ts +4 -0
  157. package/dist/components/heading/H2.svelte +23 -0
  158. package/dist/components/heading/H2.svelte.d.ts +4 -0
  159. package/dist/components/heading/H3.svelte +23 -0
  160. package/dist/components/heading/H3.svelte.d.ts +4 -0
  161. package/dist/components/heading/README.md +13 -0
  162. package/dist/components/heading/index.d.ts +4 -0
  163. package/dist/components/heading/index.js +3 -0
  164. package/dist/components/heading/types.d.ts +26 -0
  165. package/dist/components/heading/types.js +1 -0
  166. package/dist/components/icon/Icon.svelte +65 -0
  167. package/dist/components/icon/Icon.svelte.d.ts +4 -0
  168. package/dist/components/icon/README.md +18 -0
  169. package/dist/components/icon/index.d.ts +2 -0
  170. package/dist/components/icon/index.js +1 -0
  171. package/dist/components/icon/types.d.ts +12 -0
  172. package/dist/components/icon/types.js +1 -0
  173. package/dist/components/input/CurrencyField.svelte +12 -0
  174. package/dist/components/input/CurrencyField.svelte.d.ts +7 -0
  175. package/dist/components/input/DateOfBirthField.svelte +21 -0
  176. package/dist/components/input/DateOfBirthField.svelte.d.ts +14 -0
  177. package/dist/components/input/DropdownField.svelte +29 -0
  178. package/dist/components/input/DropdownField.svelte.d.ts +14 -0
  179. package/dist/components/input/EmailField.svelte +9 -0
  180. package/dist/components/input/EmailField.svelte.d.ts +7 -0
  181. package/dist/components/input/Input.svelte +49 -0
  182. package/dist/components/input/Input.svelte.d.ts +4 -0
  183. package/dist/components/input/InputField.svelte +139 -0
  184. package/dist/components/input/InputField.svelte.d.ts +4 -0
  185. package/dist/components/input/InputOtp.svelte +140 -0
  186. package/dist/components/input/InputOtp.svelte.d.ts +4 -0
  187. package/dist/components/input/PasswordField.svelte +9 -0
  188. package/dist/components/input/PasswordField.svelte.d.ts +7 -0
  189. package/dist/components/input/PhoneField.svelte +9 -0
  190. package/dist/components/input/PhoneField.svelte.d.ts +7 -0
  191. package/dist/components/input/README.md +24 -0
  192. package/dist/components/input/RichText.svelte +177 -0
  193. package/dist/components/input/RichText.svelte.d.ts +4 -0
  194. package/dist/components/input/RichTextField.svelte +84 -0
  195. package/dist/components/input/RichTextField.svelte.d.ts +4 -0
  196. package/dist/components/input/SearchField.svelte +9 -0
  197. package/dist/components/input/SearchField.svelte.d.ts +7 -0
  198. package/dist/components/input/Select.svelte +88 -0
  199. package/dist/components/input/Select.svelte.d.ts +4 -0
  200. package/dist/components/input/SelectField.svelte +395 -0
  201. package/dist/components/input/SelectField.svelte.d.ts +4 -0
  202. package/dist/components/input/Textarea.svelte +50 -0
  203. package/dist/components/input/Textarea.svelte.d.ts +4 -0
  204. package/dist/components/input/TextareaField.svelte +57 -0
  205. package/dist/components/input/TextareaField.svelte.d.ts +4 -0
  206. package/dist/components/input/URLField.svelte +9 -0
  207. package/dist/components/input/URLField.svelte.d.ts +7 -0
  208. package/dist/components/input/ZipCodeField.svelte +21 -0
  209. package/dist/components/input/ZipCodeField.svelte.d.ts +14 -0
  210. package/dist/components/input/index.d.ts +7 -0
  211. package/dist/components/input/index.js +6 -0
  212. package/dist/components/input/types.d.ts +104 -0
  213. package/dist/components/input/types.js +1 -0
  214. package/dist/components/paragraph/Paragraph.svelte +23 -0
  215. package/dist/components/paragraph/Paragraph.svelte.d.ts +4 -0
  216. package/dist/components/paragraph/README.md +13 -0
  217. package/dist/components/paragraph/index.d.ts +2 -0
  218. package/dist/components/paragraph/index.js +1 -0
  219. package/dist/components/paragraph/types.d.ts +9 -0
  220. package/dist/components/paragraph/types.js +1 -0
  221. package/dist/components/radio/OptionRadioGroup.svelte +52 -0
  222. package/dist/components/radio/OptionRadioGroup.svelte.d.ts +21 -0
  223. package/dist/components/radio/README.md +16 -0
  224. package/dist/components/radio/Radio.svelte +38 -0
  225. package/dist/components/radio/Radio.svelte.d.ts +4 -0
  226. package/dist/components/radio/RadioGroupField.svelte +75 -0
  227. package/dist/components/radio/RadioGroupField.svelte.d.ts +4 -0
  228. package/dist/components/radio/RatingRadioGroup.svelte +51 -0
  229. package/dist/components/radio/RatingRadioGroup.svelte.d.ts +17 -0
  230. package/dist/components/radio/YesNoRadioGroup.svelte +48 -0
  231. package/dist/components/radio/YesNoRadioGroup.svelte.d.ts +16 -0
  232. package/dist/components/radio/index.d.ts +3 -0
  233. package/dist/components/radio/index.js +2 -0
  234. package/dist/components/radio/types.d.ts +22 -0
  235. package/dist/components/radio/types.js +1 -0
  236. package/dist/components/skeleton/README.md +16 -0
  237. package/dist/components/skeleton/Skeleton.svelte +29 -0
  238. package/dist/components/skeleton/Skeleton.svelte.d.ts +4 -0
  239. package/dist/components/skeleton/index.d.ts +2 -0
  240. package/dist/components/skeleton/index.js +1 -0
  241. package/dist/components/skeleton/types.d.ts +6 -0
  242. package/dist/components/skeleton/types.js +1 -0
  243. package/dist/components/slider/BrightnessSlider.svelte +31 -0
  244. package/dist/components/slider/BrightnessSlider.svelte.d.ts +11 -0
  245. package/dist/components/slider/README.md +20 -0
  246. package/dist/components/slider/RadiusSlider.svelte +31 -0
  247. package/dist/components/slider/RadiusSlider.svelte.d.ts +11 -0
  248. package/dist/components/slider/Slider.svelte +67 -0
  249. package/dist/components/slider/Slider.svelte.d.ts +4 -0
  250. package/dist/components/slider/SliderField.svelte +115 -0
  251. package/dist/components/slider/SliderField.svelte.d.ts +4 -0
  252. package/dist/components/slider/VolumeSlider.svelte +31 -0
  253. package/dist/components/slider/VolumeSlider.svelte.d.ts +11 -0
  254. package/dist/components/slider/index.d.ts +2 -0
  255. package/dist/components/slider/index.js +1 -0
  256. package/dist/components/slider/types.d.ts +28 -0
  257. package/dist/components/slider/types.js +1 -0
  258. package/dist/components/spacing/README.md +15 -0
  259. package/dist/components/spacing/Spacer.svelte +8 -0
  260. package/dist/components/spacing/Spacer.svelte.d.ts +3 -0
  261. package/dist/components/spacing/Spacing.svelte +23 -0
  262. package/dist/components/spacing/Spacing.svelte.d.ts +4 -0
  263. package/dist/components/spacing/index.d.ts +3 -0
  264. package/dist/components/spacing/index.js +2 -0
  265. package/dist/components/spacing/types.d.ts +7 -0
  266. package/dist/components/spacing/types.js +1 -0
  267. package/dist/components/spinner/ButtonSpinner.svelte +35 -0
  268. package/dist/components/spinner/ButtonSpinner.svelte.d.ts +4 -0
  269. package/dist/components/spinner/EmptyStateSpinner.svelte +20 -0
  270. package/dist/components/spinner/EmptyStateSpinner.svelte.d.ts +4 -0
  271. package/dist/components/spinner/README.md +19 -0
  272. package/dist/components/spinner/Spinner.svelte +60 -0
  273. package/dist/components/spinner/Spinner.svelte.d.ts +4 -0
  274. package/dist/components/spinner/index.d.ts +3 -0
  275. package/dist/components/spinner/index.js +2 -0
  276. package/dist/components/spinner/types.d.ts +9 -0
  277. package/dist/components/spinner/types.js +1 -0
  278. package/dist/components/stat-tile/README.md +15 -0
  279. package/dist/components/stat-tile/StatTile.svelte +44 -0
  280. package/dist/components/stat-tile/StatTile.svelte.d.ts +4 -0
  281. package/dist/components/stat-tile/index.d.ts +2 -0
  282. package/dist/components/stat-tile/index.js +1 -0
  283. package/dist/components/stat-tile/types.d.ts +14 -0
  284. package/dist/components/stat-tile/types.js +1 -0
  285. package/dist/components/switch/FeatureToggle.svelte +19 -0
  286. package/dist/components/switch/FeatureToggle.svelte.d.ts +13 -0
  287. package/dist/components/switch/PermissionSwitch.svelte +19 -0
  288. package/dist/components/switch/PermissionSwitch.svelte.d.ts +13 -0
  289. package/dist/components/switch/PreferenceSwitch.svelte +19 -0
  290. package/dist/components/switch/PreferenceSwitch.svelte.d.ts +13 -0
  291. package/dist/components/switch/README.md +17 -0
  292. package/dist/components/switch/Switch.svelte +52 -0
  293. package/dist/components/switch/Switch.svelte.d.ts +4 -0
  294. package/dist/components/switch/SwitchField.svelte +71 -0
  295. package/dist/components/switch/SwitchField.svelte.d.ts +4 -0
  296. package/dist/components/switch/index.d.ts +3 -0
  297. package/dist/components/switch/index.js +2 -0
  298. package/dist/components/switch/types.d.ts +20 -0
  299. package/dist/components/switch/types.js +1 -0
  300. package/dist/components/tab/ContentTabs.svelte +11 -0
  301. package/dist/components/tab/ContentTabs.svelte.d.ts +3 -0
  302. package/dist/components/tab/NavigationTabs.svelte +11 -0
  303. package/dist/components/tab/NavigationTabs.svelte.d.ts +3 -0
  304. package/dist/components/tab/README.md +26 -0
  305. package/dist/components/tab/SettingsTabs.svelte +11 -0
  306. package/dist/components/tab/SettingsTabs.svelte.d.ts +3 -0
  307. package/dist/components/tab/Tab.svelte +32 -0
  308. package/dist/components/tab/Tab.svelte.d.ts +4 -0
  309. package/dist/components/tab/TabGroup.svelte +132 -0
  310. package/dist/components/tab/TabGroup.svelte.d.ts +4 -0
  311. package/dist/components/tab/TabPanel.svelte +25 -0
  312. package/dist/components/tab/TabPanel.svelte.d.ts +4 -0
  313. package/dist/components/tab/index.d.ts +7 -0
  314. package/dist/components/tab/index.js +6 -0
  315. package/dist/components/tab/types.d.ts +36 -0
  316. package/dist/components/tab/types.js +1 -0
  317. package/dist/components/toast/ErrorToast.svelte +24 -0
  318. package/dist/components/toast/ErrorToast.svelte.d.ts +4 -0
  319. package/dist/components/toast/InfoToast.svelte +24 -0
  320. package/dist/components/toast/InfoToast.svelte.d.ts +4 -0
  321. package/dist/components/toast/README.md +35 -0
  322. package/dist/components/toast/SuccessToast.svelte +25 -0
  323. package/dist/components/toast/SuccessToast.svelte.d.ts +4 -0
  324. package/dist/components/toast/Toast.svelte +53 -0
  325. package/dist/components/toast/Toast.svelte.d.ts +4 -0
  326. package/dist/components/toast/ToastContainer.svelte +212 -0
  327. package/dist/components/toast/ToastContainer.svelte.d.ts +4 -0
  328. package/dist/components/toast/ToastProvider.svelte +71 -0
  329. package/dist/components/toast/ToastProvider.svelte.d.ts +7 -0
  330. package/dist/components/toast/WarningToast.svelte +24 -0
  331. package/dist/components/toast/WarningToast.svelte.d.ts +4 -0
  332. package/dist/components/toast/index.d.ts +9 -0
  333. package/dist/components/toast/index.js +8 -0
  334. package/dist/components/toast/types.d.ts +48 -0
  335. package/dist/components/toast/types.js +1 -0
  336. package/dist/components/tooltip/README.md +22 -0
  337. package/dist/components/tooltip/Tooltip.svelte +29 -0
  338. package/dist/components/tooltip/Tooltip.svelte.d.ts +4 -0
  339. package/dist/components/tooltip/TooltipGroup.svelte +100 -0
  340. package/dist/components/tooltip/TooltipGroup.svelte.d.ts +4 -0
  341. package/dist/components/tooltip/index.d.ts +3 -0
  342. package/dist/components/tooltip/index.js +2 -0
  343. package/dist/components/tooltip/types.d.ts +22 -0
  344. package/dist/components/tooltip/types.js +1 -0
  345. package/dist/index.d.ts +149 -0
  346. package/dist/index.js +149 -0
  347. package/dist/internal/attrs.d.ts +2 -0
  348. package/dist/internal/attrs.js +5 -0
  349. package/dist/internal/css-vars.d.ts +5 -0
  350. package/dist/internal/css-vars.js +20 -0
  351. package/dist/internal/merge-class.d.ts +1 -0
  352. package/dist/internal/merge-class.js +4 -0
  353. package/dist/internal/svg-attrs.d.ts +9 -0
  354. package/dist/internal/svg-attrs.js +16 -0
  355. package/dist/provider/MarwesProvider.svelte +186 -0
  356. package/dist/provider/MarwesProvider.svelte.d.ts +4 -0
  357. package/dist/provider/context.d.ts +3 -0
  358. package/dist/provider/context.js +12 -0
  359. package/dist/provider/runtime-theme.d.ts +5 -0
  360. package/dist/provider/runtime-theme.js +63 -0
  361. package/dist/provider/theme-mode-runtime.d.ts +15 -0
  362. package/dist/provider/theme-mode-runtime.js +84 -0
  363. package/dist/provider/types.d.ts +32 -0
  364. package/dist/provider/types.js +1 -0
  365. package/dist/provider/use-theme-mode.d.ts +24 -0
  366. package/dist/provider/use-theme-mode.js +38 -0
  367. package/dist/provider/use-theme.d.ts +15 -0
  368. package/dist/provider/use-theme.js +19 -0
  369. package/dist/ssr.d.ts +2 -0
  370. package/dist/ssr.js +1 -0
  371. package/package.json +59 -0
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import { createTooltipRecipe } from "@marwes-ui/core";
3
+ import { cssVarsToStyle, mergeStyle } from "../../internal/css-vars.js";
4
+ import { mergeClass } from "../../internal/merge-class.js";
5
+ import type { TooltipProps } from "./types.js";
6
+
7
+ let {
8
+ children,
9
+ class: className,
10
+ style,
11
+ dataAttributes,
12
+ ...options
13
+ }: TooltipProps = $props();
14
+
15
+ const kit = $derived(createTooltipRecipe(options));
16
+ const mergedClass = $derived(mergeClass(kit.className, className));
17
+ const mergedStyle = $derived(mergeStyle(cssVarsToStyle(kit.vars), style));
18
+ </script>
19
+
20
+ <span
21
+ id={kit.a11y.id}
22
+ class={mergedClass}
23
+ style={mergedStyle}
24
+ role={kit.a11y.role}
25
+ {...kit.dataAttributes}
26
+ {...dataAttributes}
27
+ >
28
+ {@render children?.()}
29
+ </span>
@@ -0,0 +1,4 @@
1
+ import type { TooltipProps } from "./types.js";
2
+ declare const Tooltip: import("svelte").Component<TooltipProps, {}, "">;
3
+ type Tooltip = ReturnType<typeof Tooltip>;
4
+ export default Tooltip;
@@ -0,0 +1,100 @@
1
+ <script lang="ts">
2
+ import { IconName } from "@marwes-ui/core";
3
+ import type { IconNameType } from "@marwes-ui/core";
4
+ import { mergeClass } from "../../internal/merge-class.js";
5
+ import Icon from "../icon/Icon.svelte";
6
+ import Tooltip from "./Tooltip.svelte";
7
+ import type { TooltipGroupProps } from "./types.js";
8
+
9
+ const TOOLTIP_EXIT_DURATION_MS = 160;
10
+
11
+ let {
12
+ content,
13
+ icon = IconName.HelpCircle,
14
+ triggerLabel = "Show tooltip",
15
+ open,
16
+ defaultOpen = false,
17
+ onopenchange,
18
+ tooltipId: tooltipIdProp,
19
+ tooltipClass,
20
+ triggerClass,
21
+ dataAttributes,
22
+ class: className,
23
+ id: idProp,
24
+ }: TooltipGroupProps = $props();
25
+
26
+ const uniqueId = $props.id();
27
+ const groupId = $derived(idProp ?? `mw-tooltip-group-${uniqueId}`);
28
+ const resolvedTooltipId = $derived(tooltipIdProp ?? `${groupId}-tooltip`);
29
+
30
+ const isControlled = $derived(open !== undefined);
31
+ let internalOpen = $state(defaultOpen);
32
+ const resolvedOpen = $derived(isControlled ? (open as boolean) : internalOpen);
33
+ let isTooltipMounted = $state(resolvedOpen);
34
+
35
+ $effect(() => {
36
+ if (resolvedOpen) {
37
+ isTooltipMounted = true;
38
+ } else {
39
+ const timer = setTimeout(() => {
40
+ isTooltipMounted = false;
41
+ }, TOOLTIP_EXIT_DURATION_MS);
42
+ return () => clearTimeout(timer);
43
+ }
44
+ });
45
+
46
+ function updateOpen(nextOpen: boolean): void {
47
+ if (resolvedOpen === nextOpen) return;
48
+ if (!isControlled) {
49
+ internalOpen = nextOpen;
50
+ }
51
+ onopenchange?.(nextOpen);
52
+ }
53
+
54
+ const mergedClass = $derived(mergeClass("mw-tooltip-group", className));
55
+ const mergedTriggerClass = $derived(mergeClass("mw-tooltip-group__trigger", triggerClass));
56
+ </script>
57
+
58
+ <span
59
+ id={groupId}
60
+ class={mergedClass}
61
+ data-component="tooltip-group"
62
+ data-open={resolvedOpen ? "true" : undefined}
63
+ {...dataAttributes}
64
+ onmouseenter={() => updateOpen(true)}
65
+ onmouseleave={() => updateOpen(false)}
66
+ onfocusin={() => updateOpen(true)}
67
+ onfocusout={(e) => {
68
+ const related = e.relatedTarget;
69
+ if (related instanceof Node && e.currentTarget.contains(related)) return;
70
+ updateOpen(false);
71
+ }}
72
+ onkeydown={(e) => { if (e.key === "Escape") updateOpen(false); }}
73
+ role="presentation"
74
+ >
75
+ {#if isTooltipMounted}
76
+ <Tooltip
77
+ id={resolvedTooltipId}
78
+ {...(tooltipClass ? { class: tooltipClass } : {})}
79
+ dataAttributes={{
80
+ "data-state": resolvedOpen ? "open" : "closed",
81
+ ...(resolvedOpen ? {} : { "aria-hidden": "true" }),
82
+ }}
83
+ >
84
+ {#if typeof content === "string"}
85
+ {content}
86
+ {:else}
87
+ {@render content()}
88
+ {/if}
89
+ </Tooltip>
90
+ {/if}
91
+
92
+ <button
93
+ type="button"
94
+ class={mergedTriggerClass}
95
+ aria-label={triggerLabel}
96
+ aria-describedby={resolvedOpen ? resolvedTooltipId : undefined}
97
+ >
98
+ <Icon name={icon} decorative />
99
+ </button>
100
+ </span>
@@ -0,0 +1,4 @@
1
+ import type { TooltipGroupProps } from "./types.js";
2
+ declare const TooltipGroup: import("svelte").Component<TooltipGroupProps, {}, "">;
3
+ type TooltipGroup = ReturnType<typeof TooltipGroup>;
4
+ export default TooltipGroup;
@@ -0,0 +1,3 @@
1
+ export { default as Tooltip } from "./Tooltip.svelte";
2
+ export { default as TooltipGroup } from "./TooltipGroup.svelte";
3
+ export type { TooltipGroupProps, TooltipProps } from "./types.js";
@@ -0,0 +1,2 @@
1
+ export { default as Tooltip } from "./Tooltip.svelte";
2
+ export { default as TooltipGroup } from "./TooltipGroup.svelte";
@@ -0,0 +1,22 @@
1
+ import type { IconNameType, TooltipOptions } from "@marwes-ui/core";
2
+ import type { Snippet } from "svelte";
3
+ export interface TooltipProps extends TooltipOptions {
4
+ children?: Snippet;
5
+ class?: string;
6
+ style?: string;
7
+ dataAttributes?: Record<string, string>;
8
+ }
9
+ export interface TooltipGroupProps {
10
+ content: Snippet | string;
11
+ icon?: IconNameType;
12
+ triggerLabel?: string;
13
+ open?: boolean;
14
+ defaultOpen?: boolean;
15
+ onopenchange?: (open: boolean) => void;
16
+ tooltipId?: string;
17
+ tooltipClass?: string;
18
+ triggerClass?: string;
19
+ dataAttributes?: Record<string, string>;
20
+ class?: string;
21
+ id?: string;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,149 @@
1
+ export { default as MarwesProvider } from "./provider/MarwesProvider.svelte";
2
+ export type { MarwesProviderProps, MarwesContextState, MarwesContextValue, } from "./provider/types.js";
3
+ export { useTheme } from "./provider/use-theme.js";
4
+ export type { UseThemeReturn } from "./provider/use-theme.js";
5
+ export { useThemeMode } from "./provider/use-theme-mode.js";
6
+ export type { ThemeModeContextValue } from "./provider/use-theme-mode.js";
7
+ export { createMarwesThemeScript, createMarwesThemeStyle } from "./ssr.js";
8
+ export type { MarwesThemeScriptOptions, MarwesThemeStyleOptions } from "./ssr.js";
9
+ export { default as Button } from "./components/button/Button.svelte";
10
+ export { default as PrimaryButton } from "./components/button/PrimaryButton.svelte";
11
+ export { default as SecondaryButton } from "./components/button/SecondaryButton.svelte";
12
+ export { default as TextButton } from "./components/button/TextButton.svelte";
13
+ export { default as SuccessButton } from "./components/button/SuccessButton.svelte";
14
+ export { default as DestructiveButton } from "./components/button/DestructiveButton.svelte";
15
+ export { default as SubmitButton } from "./components/button/SubmitButton.svelte";
16
+ export { default as CancelButton } from "./components/button/CancelButton.svelte";
17
+ export { default as CreateButton } from "./components/button/CreateButton.svelte";
18
+ export { default as LinkButton } from "./components/button/LinkButton.svelte";
19
+ export { default as SaveButton } from "./components/button/SaveButton.svelte";
20
+ export { default as ConfirmButton } from "./components/button/ConfirmButton.svelte";
21
+ export { default as VerifyButton } from "./components/button/VerifyButton.svelte";
22
+ export { default as EditButton } from "./components/button/EditButton.svelte";
23
+ export { default as CloseButton } from "./components/button/CloseButton.svelte";
24
+ export { default as RefreshButton } from "./components/button/RefreshButton.svelte";
25
+ export { default as UploadButton } from "./components/button/UploadButton.svelte";
26
+ export { default as DownloadButton } from "./components/button/DownloadButton.svelte";
27
+ export { default as CopyButton } from "./components/button/CopyButton.svelte";
28
+ export { default as SearchButton } from "./components/button/SearchButton.svelte";
29
+ export { default as FilterButton } from "./components/button/FilterButton.svelte";
30
+ export { default as SortButton } from "./components/button/SortButton.svelte";
31
+ export { default as DropdownButton } from "./components/button/DropdownButton.svelte";
32
+ export type { ButtonProps } from "./components/button/types.js";
33
+ export { default as Icon } from "./components/icon/Icon.svelte";
34
+ export type { IconProps } from "./components/icon/types.js";
35
+ export { default as Spinner } from "./components/spinner/Spinner.svelte";
36
+ export { default as ButtonSpinner } from "./components/spinner/ButtonSpinner.svelte";
37
+ export { default as EmptyStateSpinner } from "./components/spinner/EmptyStateSpinner.svelte";
38
+ export type { SpinnerProps, ButtonSpinnerProps } from "./components/spinner/types.js";
39
+ export { default as Input } from "./components/input/Input.svelte";
40
+ export { default as InputField } from "./components/input/InputField.svelte";
41
+ export { default as PasswordField } from "./components/input/PasswordField.svelte";
42
+ export { default as EmailField } from "./components/input/EmailField.svelte";
43
+ export { default as SearchField } from "./components/input/SearchField.svelte";
44
+ export { default as PhoneField } from "./components/input/PhoneField.svelte";
45
+ export { default as URLField } from "./components/input/URLField.svelte";
46
+ export { default as CurrencyField } from "./components/input/CurrencyField.svelte";
47
+ export { default as DateOfBirthField } from "./components/input/DateOfBirthField.svelte";
48
+ export { default as ZipCodeField } from "./components/input/ZipCodeField.svelte";
49
+ export { default as DropdownField } from "./components/input/DropdownField.svelte";
50
+ export { default as InputOtp } from "./components/input/InputOtp.svelte";
51
+ export { default as RichText } from "./components/input/RichText.svelte";
52
+ export { default as RichTextField } from "./components/input/RichTextField.svelte";
53
+ export type { InputProps, InputFieldProps, InputOtpProps, RichTextProps, RichTextFieldProps, } from "./components/input/types.js";
54
+ export { default as Badge } from "./components/badge/Badge.svelte";
55
+ export { default as BadgeGroup } from "./components/badge/BadgeGroup.svelte";
56
+ export { default as StatusBadge } from "./components/badge/StatusBadge.svelte";
57
+ export { default as PriorityBadge } from "./components/badge/PriorityBadge.svelte";
58
+ export { default as NotificationBadge } from "./components/badge/NotificationBadge.svelte";
59
+ export type { BadgeProps, BadgeGroupProps } from "./components/badge/types.js";
60
+ export { default as Card } from "./components/card/Card.svelte";
61
+ export { default as ProductCard } from "./components/card/ProductCard.svelte";
62
+ export { default as ProfileCard } from "./components/card/ProfileCard.svelte";
63
+ export { default as StatCard } from "./components/card/StatCard.svelte";
64
+ export type { CardProps } from "./components/card/types.js";
65
+ export { default as Divider } from "./components/divider/Divider.svelte";
66
+ export type { DividerProps } from "./components/divider/types.js";
67
+ export { default as Spacing } from "./components/spacing/Spacing.svelte";
68
+ export { default as Spacer } from "./components/spacing/Spacer.svelte";
69
+ export type { SpacingProps, SpacerProps } from "./components/spacing/types.js";
70
+ export { default as H1 } from "./components/heading/H1.svelte";
71
+ export { default as H2 } from "./components/heading/H2.svelte";
72
+ export { default as H3 } from "./components/heading/H3.svelte";
73
+ export type { H1Props, H2Props, H3Props } from "./components/heading/types.js";
74
+ export { default as Paragraph } from "./components/paragraph/Paragraph.svelte";
75
+ export type { ParagraphProps } from "./components/paragraph/types.js";
76
+ export { default as Textarea } from "./components/input/Textarea.svelte";
77
+ export { default as TextareaField } from "./components/input/TextareaField.svelte";
78
+ export type { TextareaProps, TextareaFieldProps } from "./components/input/types.js";
79
+ export { default as Select } from "./components/input/Select.svelte";
80
+ export { default as SelectField } from "./components/input/SelectField.svelte";
81
+ export type { SelectProps, SelectFieldProps } from "./components/input/types.js";
82
+ export { default as Checkbox } from "./components/checkbox/Checkbox.svelte";
83
+ export { default as CheckboxField } from "./components/checkbox/CheckboxField.svelte";
84
+ export { default as CheckboxGroupField } from "./components/checkbox/CheckboxGroupField.svelte";
85
+ export type { CheckboxProps, CheckboxFieldProps, CheckboxGroupFieldProps, } from "./components/checkbox/types.js";
86
+ export { default as Switch } from "./components/switch/Switch.svelte";
87
+ export { default as SwitchField } from "./components/switch/SwitchField.svelte";
88
+ export { default as FeatureToggle } from "./components/switch/FeatureToggle.svelte";
89
+ export { default as PreferenceSwitch } from "./components/switch/PreferenceSwitch.svelte";
90
+ export { default as PermissionSwitch } from "./components/switch/PermissionSwitch.svelte";
91
+ export type { SwitchProps, SwitchFieldProps } from "./components/switch/types.js";
92
+ export { default as Radio } from "./components/radio/Radio.svelte";
93
+ export { default as RadioGroupField } from "./components/radio/RadioGroupField.svelte";
94
+ export { default as OptionRadioGroup } from "./components/radio/OptionRadioGroup.svelte";
95
+ export { default as YesNoRadioGroup } from "./components/radio/YesNoRadioGroup.svelte";
96
+ export { default as RatingRadioGroup } from "./components/radio/RatingRadioGroup.svelte";
97
+ export type { RadioProps, RadioGroupFieldProps } from "./components/radio/types.js";
98
+ export { default as Avatar } from "./components/avatar/Avatar.svelte";
99
+ export { default as AvatarBadge } from "./components/avatar/AvatarBadge.svelte";
100
+ export { default as AvatarGroup } from "./components/avatar/AvatarGroup.svelte";
101
+ export { default as ProfileAvatar } from "./components/avatar/ProfileAvatar.svelte";
102
+ export { default as PresenceAvatar } from "./components/avatar/PresenceAvatar.svelte";
103
+ export { default as TeamAvatarGroup } from "./components/avatar/TeamAvatarGroup.svelte";
104
+ export type { AvatarProps } from "./components/avatar/types.js";
105
+ export { default as DatePicker } from "./components/date-picker/DatePicker.svelte";
106
+ export type { DatePickerProps } from "./components/date-picker/types.js";
107
+ export { default as Skeleton } from "./components/skeleton/Skeleton.svelte";
108
+ export type { SkeletonProps } from "./components/skeleton/types.js";
109
+ export { default as StatTile } from "./components/stat-tile/StatTile.svelte";
110
+ export type { StatTileProps } from "./components/stat-tile/types.js";
111
+ export { default as Tooltip } from "./components/tooltip/Tooltip.svelte";
112
+ export { default as TooltipGroup } from "./components/tooltip/TooltipGroup.svelte";
113
+ export type { TooltipProps, TooltipGroupProps } from "./components/tooltip/types.js";
114
+ export { default as Toast } from "./components/toast/Toast.svelte";
115
+ export { default as ToastContainer } from "./components/toast/ToastContainer.svelte";
116
+ export { default as ToastProvider } from "./components/toast/ToastProvider.svelte";
117
+ export { useToast } from "./components/toast/ToastProvider.svelte";
118
+ export { default as SuccessToast } from "./components/toast/SuccessToast.svelte";
119
+ export { default as ErrorToast } from "./components/toast/ErrorToast.svelte";
120
+ export { default as WarningToast } from "./components/toast/WarningToast.svelte";
121
+ export { default as InfoToast } from "./components/toast/InfoToast.svelte";
122
+ export type { ToastProps, ToastContainerProps, ToastProviderProps, ToastController, ManagedToast, ShowToastOptions, SuccessToastProps, ErrorToastProps, WarningToastProps, InfoToastProps, } from "./components/toast/types.js";
123
+ export { default as Dialog } from "./components/dialog/Dialog.svelte";
124
+ export { default as DialogModal } from "./components/dialog/DialogModal.svelte";
125
+ export { default as ConfirmDialog } from "./components/dialog/ConfirmDialog.svelte";
126
+ export { default as DestructiveDialog } from "./components/dialog/DestructiveDialog.svelte";
127
+ export { default as InfoDialog } from "./components/dialog/InfoDialog.svelte";
128
+ export type { DialogProps, DialogModalProps, ConfirmDialogProps, DestructiveDialogProps, InfoDialogProps, } from "./components/dialog/types.js";
129
+ export { default as Accordion } from "./components/accordion/Accordion.svelte";
130
+ export { default as AccordionField } from "./components/accordion/AccordionField.svelte";
131
+ export { default as FAQAccordion } from "./components/accordion/FAQAccordion.svelte";
132
+ export { default as SettingsAccordion } from "./components/accordion/SettingsAccordion.svelte";
133
+ export { default as SectionsAccordion } from "./components/accordion/SectionsAccordion.svelte";
134
+ export type { AccordionProps, AccordionFieldItem, AccordionFieldProps, } from "./components/accordion/types.js";
135
+ export { default as Tab } from "./components/tab/Tab.svelte";
136
+ export { default as TabPanel } from "./components/tab/TabPanel.svelte";
137
+ export { default as TabGroup } from "./components/tab/TabGroup.svelte";
138
+ export { default as NavigationTabs } from "./components/tab/NavigationTabs.svelte";
139
+ export { default as ContentTabs } from "./components/tab/ContentTabs.svelte";
140
+ export { default as SettingsTabs } from "./components/tab/SettingsTabs.svelte";
141
+ export type { TabProps, TabPanelProps, TabGroupProps, TabGroupItem, NavigationTabsProps, ContentTabsProps, SettingsTabsProps, } from "./components/tab/types.js";
142
+ export { default as Slider } from "./components/slider/Slider.svelte";
143
+ export { default as SliderField } from "./components/slider/SliderField.svelte";
144
+ export { default as VolumeSlider } from "./components/slider/VolumeSlider.svelte";
145
+ export { default as BrightnessSlider } from "./components/slider/BrightnessSlider.svelte";
146
+ export { default as RadiusSlider } from "./components/slider/RadiusSlider.svelte";
147
+ export type { SliderProps, SliderFieldProps } from "./components/slider/types.js";
148
+ export { AvatarSize, AvatarType, BadgeVariant, ButtonAction, ButtonSize, ButtonVariant, createFontStack, IconName, mwAvailableFonts, mwFontFallbacks, mwGoogleFontFamilies, mwStyledTheme, mwThemeVarNames, mwThemeVars, mwVar, Spacings, SwitchSize, ThemeMode, } from "@marwes-ui/core";
149
+ export type { Density, FontLoadingConfig, FontLoadingMode, FontLoadingOptions, MwAvailableFont, MwFontFallback, MwGoogleFontFamily, MwStyledTheme, MwThemeVarName, MwThemeVarNames, MwThemeVarReference, MwThemeVars, ResolvedTheme, SpacingSize, Theme, ThemeInput, ThemeModeAttribute, ThemeModeRootTarget, ThemePreference, ThemeVariableStrategy, ToneName, } from "@marwes-ui/core";
package/dist/index.js ADDED
@@ -0,0 +1,149 @@
1
+ // @marwes-ui/svelte — main public API
2
+ // CSS is NOT imported here. Users import from @marwes-ui/presets explicitly.
3
+ // Provider
4
+ export { default as MarwesProvider } from "./provider/MarwesProvider.svelte";
5
+ export { useTheme } from "./provider/use-theme.js";
6
+ export { useThemeMode } from "./provider/use-theme-mode.js";
7
+ // SSR
8
+ export { createMarwesThemeScript, createMarwesThemeStyle } from "./ssr.js";
9
+ // Button
10
+ export { default as Button } from "./components/button/Button.svelte";
11
+ export { default as PrimaryButton } from "./components/button/PrimaryButton.svelte";
12
+ export { default as SecondaryButton } from "./components/button/SecondaryButton.svelte";
13
+ export { default as TextButton } from "./components/button/TextButton.svelte";
14
+ export { default as SuccessButton } from "./components/button/SuccessButton.svelte";
15
+ export { default as DestructiveButton } from "./components/button/DestructiveButton.svelte";
16
+ export { default as SubmitButton } from "./components/button/SubmitButton.svelte";
17
+ export { default as CancelButton } from "./components/button/CancelButton.svelte";
18
+ export { default as CreateButton } from "./components/button/CreateButton.svelte";
19
+ export { default as LinkButton } from "./components/button/LinkButton.svelte";
20
+ export { default as SaveButton } from "./components/button/SaveButton.svelte";
21
+ export { default as ConfirmButton } from "./components/button/ConfirmButton.svelte";
22
+ export { default as VerifyButton } from "./components/button/VerifyButton.svelte";
23
+ export { default as EditButton } from "./components/button/EditButton.svelte";
24
+ export { default as CloseButton } from "./components/button/CloseButton.svelte";
25
+ export { default as RefreshButton } from "./components/button/RefreshButton.svelte";
26
+ export { default as UploadButton } from "./components/button/UploadButton.svelte";
27
+ export { default as DownloadButton } from "./components/button/DownloadButton.svelte";
28
+ export { default as CopyButton } from "./components/button/CopyButton.svelte";
29
+ export { default as SearchButton } from "./components/button/SearchButton.svelte";
30
+ export { default as FilterButton } from "./components/button/FilterButton.svelte";
31
+ export { default as SortButton } from "./components/button/SortButton.svelte";
32
+ export { default as DropdownButton } from "./components/button/DropdownButton.svelte";
33
+ // Icon
34
+ export { default as Icon } from "./components/icon/Icon.svelte";
35
+ // Spinner
36
+ export { default as Spinner } from "./components/spinner/Spinner.svelte";
37
+ export { default as ButtonSpinner } from "./components/spinner/ButtonSpinner.svelte";
38
+ export { default as EmptyStateSpinner } from "./components/spinner/EmptyStateSpinner.svelte";
39
+ // Input
40
+ export { default as Input } from "./components/input/Input.svelte";
41
+ export { default as InputField } from "./components/input/InputField.svelte";
42
+ export { default as PasswordField } from "./components/input/PasswordField.svelte";
43
+ export { default as EmailField } from "./components/input/EmailField.svelte";
44
+ export { default as SearchField } from "./components/input/SearchField.svelte";
45
+ export { default as PhoneField } from "./components/input/PhoneField.svelte";
46
+ export { default as URLField } from "./components/input/URLField.svelte";
47
+ export { default as CurrencyField } from "./components/input/CurrencyField.svelte";
48
+ export { default as DateOfBirthField } from "./components/input/DateOfBirthField.svelte";
49
+ export { default as ZipCodeField } from "./components/input/ZipCodeField.svelte";
50
+ export { default as DropdownField } from "./components/input/DropdownField.svelte";
51
+ export { default as InputOtp } from "./components/input/InputOtp.svelte";
52
+ export { default as RichText } from "./components/input/RichText.svelte";
53
+ export { default as RichTextField } from "./components/input/RichTextField.svelte";
54
+ // Badge
55
+ export { default as Badge } from "./components/badge/Badge.svelte";
56
+ export { default as BadgeGroup } from "./components/badge/BadgeGroup.svelte";
57
+ export { default as StatusBadge } from "./components/badge/StatusBadge.svelte";
58
+ export { default as PriorityBadge } from "./components/badge/PriorityBadge.svelte";
59
+ export { default as NotificationBadge } from "./components/badge/NotificationBadge.svelte";
60
+ // Card
61
+ export { default as Card } from "./components/card/Card.svelte";
62
+ export { default as ProductCard } from "./components/card/ProductCard.svelte";
63
+ export { default as ProfileCard } from "./components/card/ProfileCard.svelte";
64
+ export { default as StatCard } from "./components/card/StatCard.svelte";
65
+ // Divider
66
+ export { default as Divider } from "./components/divider/Divider.svelte";
67
+ // Spacing
68
+ export { default as Spacing } from "./components/spacing/Spacing.svelte";
69
+ export { default as Spacer } from "./components/spacing/Spacer.svelte";
70
+ // Heading
71
+ export { default as H1 } from "./components/heading/H1.svelte";
72
+ export { default as H2 } from "./components/heading/H2.svelte";
73
+ export { default as H3 } from "./components/heading/H3.svelte";
74
+ // Paragraph
75
+ export { default as Paragraph } from "./components/paragraph/Paragraph.svelte";
76
+ // Textarea
77
+ export { default as Textarea } from "./components/input/Textarea.svelte";
78
+ export { default as TextareaField } from "./components/input/TextareaField.svelte";
79
+ // Select
80
+ export { default as Select } from "./components/input/Select.svelte";
81
+ export { default as SelectField } from "./components/input/SelectField.svelte";
82
+ // Checkbox
83
+ export { default as Checkbox } from "./components/checkbox/Checkbox.svelte";
84
+ export { default as CheckboxField } from "./components/checkbox/CheckboxField.svelte";
85
+ export { default as CheckboxGroupField } from "./components/checkbox/CheckboxGroupField.svelte";
86
+ // Switch
87
+ export { default as Switch } from "./components/switch/Switch.svelte";
88
+ export { default as SwitchField } from "./components/switch/SwitchField.svelte";
89
+ export { default as FeatureToggle } from "./components/switch/FeatureToggle.svelte";
90
+ export { default as PreferenceSwitch } from "./components/switch/PreferenceSwitch.svelte";
91
+ export { default as PermissionSwitch } from "./components/switch/PermissionSwitch.svelte";
92
+ // Radio
93
+ export { default as Radio } from "./components/radio/Radio.svelte";
94
+ export { default as RadioGroupField } from "./components/radio/RadioGroupField.svelte";
95
+ export { default as OptionRadioGroup } from "./components/radio/OptionRadioGroup.svelte";
96
+ export { default as YesNoRadioGroup } from "./components/radio/YesNoRadioGroup.svelte";
97
+ export { default as RatingRadioGroup } from "./components/radio/RatingRadioGroup.svelte";
98
+ // Avatar
99
+ export { default as Avatar } from "./components/avatar/Avatar.svelte";
100
+ export { default as AvatarBadge } from "./components/avatar/AvatarBadge.svelte";
101
+ export { default as AvatarGroup } from "./components/avatar/AvatarGroup.svelte";
102
+ export { default as ProfileAvatar } from "./components/avatar/ProfileAvatar.svelte";
103
+ export { default as PresenceAvatar } from "./components/avatar/PresenceAvatar.svelte";
104
+ export { default as TeamAvatarGroup } from "./components/avatar/TeamAvatarGroup.svelte";
105
+ // DatePicker
106
+ export { default as DatePicker } from "./components/date-picker/DatePicker.svelte";
107
+ // Skeleton
108
+ export { default as Skeleton } from "./components/skeleton/Skeleton.svelte";
109
+ // StatTile
110
+ export { default as StatTile } from "./components/stat-tile/StatTile.svelte";
111
+ // Tooltip
112
+ export { default as Tooltip } from "./components/tooltip/Tooltip.svelte";
113
+ export { default as TooltipGroup } from "./components/tooltip/TooltipGroup.svelte";
114
+ // Toast
115
+ export { default as Toast } from "./components/toast/Toast.svelte";
116
+ export { default as ToastContainer } from "./components/toast/ToastContainer.svelte";
117
+ export { default as ToastProvider } from "./components/toast/ToastProvider.svelte";
118
+ export { useToast } from "./components/toast/ToastProvider.svelte";
119
+ export { default as SuccessToast } from "./components/toast/SuccessToast.svelte";
120
+ export { default as ErrorToast } from "./components/toast/ErrorToast.svelte";
121
+ export { default as WarningToast } from "./components/toast/WarningToast.svelte";
122
+ export { default as InfoToast } from "./components/toast/InfoToast.svelte";
123
+ // Dialog
124
+ export { default as Dialog } from "./components/dialog/Dialog.svelte";
125
+ export { default as DialogModal } from "./components/dialog/DialogModal.svelte";
126
+ export { default as ConfirmDialog } from "./components/dialog/ConfirmDialog.svelte";
127
+ export { default as DestructiveDialog } from "./components/dialog/DestructiveDialog.svelte";
128
+ export { default as InfoDialog } from "./components/dialog/InfoDialog.svelte";
129
+ // Accordion
130
+ export { default as Accordion } from "./components/accordion/Accordion.svelte";
131
+ export { default as AccordionField } from "./components/accordion/AccordionField.svelte";
132
+ export { default as FAQAccordion } from "./components/accordion/FAQAccordion.svelte";
133
+ export { default as SettingsAccordion } from "./components/accordion/SettingsAccordion.svelte";
134
+ export { default as SectionsAccordion } from "./components/accordion/SectionsAccordion.svelte";
135
+ // Tab
136
+ export { default as Tab } from "./components/tab/Tab.svelte";
137
+ export { default as TabPanel } from "./components/tab/TabPanel.svelte";
138
+ export { default as TabGroup } from "./components/tab/TabGroup.svelte";
139
+ export { default as NavigationTabs } from "./components/tab/NavigationTabs.svelte";
140
+ export { default as ContentTabs } from "./components/tab/ContentTabs.svelte";
141
+ export { default as SettingsTabs } from "./components/tab/SettingsTabs.svelte";
142
+ // Slider
143
+ export { default as Slider } from "./components/slider/Slider.svelte";
144
+ export { default as SliderField } from "./components/slider/SliderField.svelte";
145
+ export { default as VolumeSlider } from "./components/slider/VolumeSlider.svelte";
146
+ export { default as BrightnessSlider } from "./components/slider/BrightnessSlider.svelte";
147
+ export { default as RadiusSlider } from "./components/slider/RadiusSlider.svelte";
148
+ // Core re-exports
149
+ export { AvatarSize, AvatarType, BadgeVariant, ButtonAction, ButtonSize, ButtonVariant, createFontStack, IconName, mwAvailableFonts, mwFontFallbacks, mwGoogleFontFamilies, mwStyledTheme, mwThemeVarNames, mwThemeVars, mwVar, Spacings, SwitchSize, ThemeMode, } from "@marwes-ui/core";
@@ -0,0 +1,2 @@
1
+ export type DOMAttrs = Record<string, string | number | boolean | undefined>;
2
+ export declare function cleanAttrs(attrs: DOMAttrs | undefined): DOMAttrs;
@@ -0,0 +1,5 @@
1
+ export function cleanAttrs(attrs) {
2
+ if (!attrs)
3
+ return {};
4
+ return Object.fromEntries(Object.entries(attrs).filter(([, value]) => value !== undefined));
5
+ }
@@ -0,0 +1,5 @@
1
+ import type { CssVars } from "@marwes-ui/core";
2
+ export type SvelteStyleInput = string | Record<string, string | number | null | undefined> | null | undefined;
3
+ export declare function cssVarsToStyle(vars: CssVars | undefined): string | undefined;
4
+ export declare function styleObjectToString(style: Record<string, string | number | null | undefined> | undefined): string | undefined;
5
+ export declare function mergeStyle(...parts: Array<string | undefined>): string | undefined;
@@ -0,0 +1,20 @@
1
+ export function cssVarsToStyle(vars) {
2
+ if (!vars)
3
+ return undefined;
4
+ const declarations = Object.entries(vars)
5
+ .filter(([, value]) => value !== undefined && value !== null && value !== "")
6
+ .map(([property, value]) => `${property}: ${String(value)}`);
7
+ return declarations.length > 0 ? declarations.join("; ") : undefined;
8
+ }
9
+ export function styleObjectToString(style) {
10
+ if (!style)
11
+ return undefined;
12
+ const declarations = Object.entries(style)
13
+ .filter(([, value]) => value !== undefined && value !== null && value !== "")
14
+ .map(([property, value]) => `${property}: ${String(value)}`);
15
+ return declarations.length > 0 ? declarations.join("; ") : undefined;
16
+ }
17
+ export function mergeStyle(...parts) {
18
+ const style = parts.filter(Boolean).join("; ");
19
+ return style.length > 0 ? style : undefined;
20
+ }
@@ -0,0 +1 @@
1
+ export declare function mergeClass(...parts: Array<string | false | null | undefined>): string | undefined;
@@ -0,0 +1,4 @@
1
+ export function mergeClass(...parts) {
2
+ const className = parts.filter(Boolean).join(" ");
3
+ return className.length > 0 ? className : undefined;
4
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Convert camelCase SVG attribute names to kebab-case.
3
+ * React JSX does this automatically; Svelte needs it explicitly.
4
+ *
5
+ * e.g. strokeDasharray → stroke-dasharray
6
+ * strokeWidth → stroke-width
7
+ * strokeLinecap → stroke-linecap
8
+ */
9
+ export declare function svgAttrsToKebab(attrs: Record<string, string>): Record<string, string>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Convert camelCase SVG attribute names to kebab-case.
3
+ * React JSX does this automatically; Svelte needs it explicitly.
4
+ *
5
+ * e.g. strokeDasharray → stroke-dasharray
6
+ * strokeWidth → stroke-width
7
+ * strokeLinecap → stroke-linecap
8
+ */
9
+ export function svgAttrsToKebab(attrs) {
10
+ const result = {};
11
+ for (const [key, value] of Object.entries(attrs)) {
12
+ const kebabKey = key.replace(/([A-Z])/g, "-$1").toLowerCase();
13
+ result[kebabKey] = value;
14
+ }
15
+ return result;
16
+ }