@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,104 @@
1
+ import type { InputOptions, RichTextOptions, SelectOptions, TextareaOptions } from "@marwes-ui/core";
2
+ export type { SelectOption } from "@marwes-ui/core";
3
+ export interface InputProps extends Omit<InputOptions, "describedBy"> {
4
+ value?: string;
5
+ oninput?: (e: Event & {
6
+ currentTarget: HTMLInputElement;
7
+ }) => void;
8
+ class?: string;
9
+ style?: string | undefined;
10
+ /** Merged aria-describedby from InputField or user. */
11
+ describedBy?: string | undefined;
12
+ }
13
+ export interface InputFieldProps {
14
+ /** Optional: if omitted, a stable id is generated. */
15
+ id?: string;
16
+ /** Field label (required for accessibility). */
17
+ label: string;
18
+ /** Optional helper text shown below the input. */
19
+ helperText?: string;
20
+ /** Optional error message. When present, input is marked invalid. */
21
+ error?: string;
22
+ /** Props forwarded to the Input atom. */
23
+ input?: Omit<InputProps, "value">;
24
+ /** Additional aria-describedby IDs to merge with internal helper/error IDs. */
25
+ ariaDescribedBy?: string;
26
+ /** Optional leading text symbol displayed inside the input on the left (e.g. "$", "€", "kr"). */
27
+ leadingSymbol?: string;
28
+ /** The input value — supports bind:value. */
29
+ value?: string;
30
+ class?: string;
31
+ }
32
+ export interface InputOtpProps {
33
+ id?: string;
34
+ name?: string;
35
+ label: string;
36
+ helperText?: string;
37
+ error?: string;
38
+ ariaDescribedBy?: string;
39
+ value?: string;
40
+ defaultValue?: string;
41
+ length?: number;
42
+ placeholderCharacter?: string;
43
+ disabled?: boolean;
44
+ readOnly?: boolean;
45
+ required?: boolean;
46
+ invalid?: boolean;
47
+ ariaLabel?: string;
48
+ onvaluechange?: (value: string) => void;
49
+ class?: string;
50
+ }
51
+ export interface RichTextProps extends RichTextOptions {
52
+ onvaluechange?: (value: string) => void;
53
+ class?: string;
54
+ }
55
+ export interface RichTextFieldProps {
56
+ id?: string;
57
+ label: string;
58
+ helperText?: string;
59
+ error?: string;
60
+ editor: RichTextOptions & {
61
+ onvaluechange?: (value: string) => void;
62
+ class?: string;
63
+ };
64
+ ariaDescribedBy?: string;
65
+ }
66
+ export interface SelectProps extends Omit<SelectOptions, "describedBy"> {
67
+ value?: string;
68
+ onvaluechange?: (value: string) => void;
69
+ onchange?: (e: Event & {
70
+ currentTarget: HTMLSelectElement;
71
+ }) => void;
72
+ class?: string;
73
+ style?: string | undefined;
74
+ describedBy?: string | undefined;
75
+ }
76
+ export interface SelectFieldProps {
77
+ id?: string;
78
+ label: string;
79
+ helperText?: string;
80
+ error?: string;
81
+ select?: SelectProps;
82
+ ariaDescribedBy?: string;
83
+ value?: string;
84
+ class?: string;
85
+ }
86
+ export interface TextareaProps extends Omit<TextareaOptions, "describedBy"> {
87
+ value?: string;
88
+ oninput?: (e: Event & {
89
+ currentTarget: HTMLTextAreaElement;
90
+ }) => void;
91
+ class?: string;
92
+ style?: string | undefined;
93
+ describedBy?: string | undefined;
94
+ }
95
+ export interface TextareaFieldProps {
96
+ id?: string;
97
+ label: string;
98
+ helperText?: string;
99
+ error?: string;
100
+ textarea?: Omit<TextareaProps, "value">;
101
+ ariaDescribedBy?: string;
102
+ value?: string;
103
+ class?: string;
104
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,23 @@
1
+ <script lang="ts">
2
+ import { paragraphRecipe } from "@marwes-ui/core";
3
+ import { cssVarsToStyle, mergeStyle } from "../../internal/css-vars.js";
4
+ import { mergeClass } from "../../internal/merge-class.js";
5
+ import { useTheme } from "../../provider/use-theme.js";
6
+ import type { ParagraphProps } from "./types.js";
7
+
8
+ let {
9
+ children,
10
+ class: className,
11
+ style,
12
+ ...opts
13
+ }: ParagraphProps = $props();
14
+
15
+ const { theme } = useTheme();
16
+ const kit = $derived(paragraphRecipe(opts, theme));
17
+ const mergedClass = $derived(mergeClass(kit.className, className));
18
+ const mergedStyle = $derived(mergeStyle(cssVarsToStyle(kit.vars), style));
19
+ </script>
20
+
21
+ <p id={kit.a11y.id} class={mergedClass} style={mergedStyle}>
22
+ {@render children?.()}
23
+ </p>
@@ -0,0 +1,4 @@
1
+ import type { ParagraphProps } from "./types.js";
2
+ declare const Paragraph: import("svelte").Component<ParagraphProps, {}, "">;
3
+ type Paragraph = ReturnType<typeof Paragraph>;
4
+ export default Paragraph;
@@ -0,0 +1,13 @@
1
+ # Paragraph — Parity Findings
2
+
3
+ ## Svelte vs React/Vue
4
+
5
+ ### Aligned ✅
6
+ - `Paragraph` component with `paragraphRecipe`
7
+ - `mw-p` class with size modifiers (`mw-p--sm`, `mw-p--md`, `mw-p--lg`)
8
+ - CSS vars for font family, size, weight, line height from resolved theme
9
+ - Optional `id`, `size`, custom `class`, `style`
10
+ - Requires `MarwesProvider` context for theme access
11
+
12
+ ### Notes
13
+ - Paragraph recipe requires the resolved theme to compute font variables.
@@ -0,0 +1,2 @@
1
+ export { default as Paragraph } from "./Paragraph.svelte";
2
+ export type { ParagraphProps } from "./types.js";
@@ -0,0 +1 @@
1
+ export { default as Paragraph } from "./Paragraph.svelte";
@@ -0,0 +1,9 @@
1
+ import type { ParagraphSize } from "@marwes-ui/core";
2
+ import type { Snippet } from "svelte";
3
+ export interface ParagraphProps {
4
+ size?: ParagraphSize;
5
+ id?: string;
6
+ children?: Snippet;
7
+ class?: string;
8
+ style?: string | undefined;
9
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ <script lang="ts">
2
+ import Radio from "./Radio.svelte";
3
+ import RadioGroupField from "./RadioGroupField.svelte";
4
+
5
+ interface OptionRadioGroupProps {
6
+ name: string;
7
+ label: string;
8
+ description?: string;
9
+ error?: string;
10
+ ariaDescribedBy?: string;
11
+ options: Array<{ value: string; label: string; disabled?: boolean }>;
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onchange?: (value: string) => void;
15
+ disabled?: boolean;
16
+ required?: boolean;
17
+ class?: string;
18
+ }
19
+
20
+ let { name, options, value, defaultValue, onchange, disabled, required, error, ...fieldProps }: OptionRadioGroupProps = $props();
21
+
22
+ let selected = $state(value ?? defaultValue ?? "");
23
+ const isInvalid = $derived(error !== undefined && error.trim().length > 0);
24
+
25
+ function handleChange(optValue: string) {
26
+ selected = optValue;
27
+ onchange?.(optValue);
28
+ }
29
+ </script>
30
+
31
+ <RadioGroupField
32
+ {...fieldProps}
33
+ error={error ?? ""}
34
+ disabled={disabled === true}
35
+ required={required === true}
36
+ dataAttributes={{ "data-purpose": "selection" }}
37
+ >
38
+ {#each options as opt (opt.value)}
39
+ <label class="mw-radio-group-field__option">
40
+ <Radio
41
+ {name}
42
+ value={opt.value}
43
+ checked={selected === opt.value}
44
+ disabled={disabled || opt.disabled || false}
45
+ invalid={isInvalid}
46
+ required={required === true}
47
+ onchange={() => handleChange(opt.value)}
48
+ />
49
+ <span class="mw-p mw-p--sm">{opt.label}</span>
50
+ </label>
51
+ {/each}
52
+ </RadioGroupField>
@@ -0,0 +1,21 @@
1
+ interface OptionRadioGroupProps {
2
+ name: string;
3
+ label: string;
4
+ description?: string;
5
+ error?: string;
6
+ ariaDescribedBy?: string;
7
+ options: Array<{
8
+ value: string;
9
+ label: string;
10
+ disabled?: boolean;
11
+ }>;
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onchange?: (value: string) => void;
15
+ disabled?: boolean;
16
+ required?: boolean;
17
+ class?: string;
18
+ }
19
+ declare const OptionRadioGroup: import("svelte").Component<OptionRadioGroupProps, {}, "">;
20
+ type OptionRadioGroup = ReturnType<typeof OptionRadioGroup>;
21
+ export default OptionRadioGroup;
@@ -0,0 +1,16 @@
1
+ # Radio — Parity Findings
2
+
3
+ ## Svelte vs React/Vue
4
+
5
+ ### Aligned ✅
6
+ - `Radio` atom with `radioRecipe`
7
+ - `bind:checked` support
8
+ - `oncheckedchange` callback
9
+ - `RadioGroupField` molecule with fieldset, legend, aria-labelledby, error region
10
+ - `buildRadioGroupFieldA11yIds` integration
11
+
12
+ ### Missing ❌
13
+ - **Purpose variant wrappers**: React/Vue have `RadioCard` and similar (not critical)
14
+
15
+ ### Notes
16
+ - Full functional parity for the core atom + group field. Variant wrappers are optional enhancements.
@@ -0,0 +1,38 @@
1
+ <script lang="ts">
2
+ import { radioRecipe } from "@marwes-ui/core";
3
+ import { mergeClass } from "../../internal/merge-class.js";
4
+ import type { RadioProps } from "./types.js";
5
+
6
+ let {
7
+ checked = $bindable(false),
8
+ onchange,
9
+ oncheckedchange,
10
+ class: className,
11
+ ...coreProps
12
+ }: RadioProps = $props();
13
+
14
+ const kit = $derived(radioRecipe({ ...coreProps, checked }));
15
+ const mergedClass = $derived(mergeClass(kit.className, className));
16
+
17
+ function handleChange(e: Event & { currentTarget: HTMLInputElement }): void {
18
+ checked = e.currentTarget.checked;
19
+ onchange?.(e);
20
+ oncheckedchange?.(e.currentTarget.checked);
21
+ }
22
+ </script>
23
+
24
+ <input
25
+ type="radio"
26
+ class={mergedClass}
27
+ id={kit.a11y.id}
28
+ name={kit.a11y.name}
29
+ value={kit.a11y.value}
30
+ disabled={kit.a11y.disabled === true}
31
+ required={kit.a11y.required === true}
32
+ aria-label={kit.a11y.ariaLabel}
33
+ aria-labelledby={kit.a11y.ariaLabelledBy}
34
+ aria-describedby={kit.a11y.ariaDescribedBy}
35
+ aria-invalid={kit.a11y.ariaInvalid === true ? true : undefined}
36
+ {checked}
37
+ onchange={handleChange}
38
+ />
@@ -0,0 +1,4 @@
1
+ import type { RadioProps } from "./types.js";
2
+ declare const Radio: import("svelte").Component<RadioProps, {}, "checked">;
3
+ type Radio = ReturnType<typeof Radio>;
4
+ export default Radio;
@@ -0,0 +1,75 @@
1
+ <script lang="ts">
2
+ import { buildRadioGroupFieldA11yIds } from "@marwes-ui/core";
3
+ import { mergeClass } from "../../internal/merge-class.js";
4
+ import type { RadioGroupFieldProps } from "./types.js";
5
+
6
+ let {
7
+ id: userProvidedId,
8
+ label,
9
+ description,
10
+ error,
11
+ ariaDescribedBy,
12
+ required,
13
+ disabled,
14
+ dataAttributes,
15
+ children,
16
+ class: className,
17
+ }: RadioGroupFieldProps = $props();
18
+
19
+ const uniqueId = $props.id();
20
+ const fieldId = $derived(userProvidedId ?? `mw-radio-group-${uniqueId}`);
21
+
22
+ function hasTextContent(text: string | undefined): boolean {
23
+ return text !== undefined && text.trim().length > 0;
24
+ }
25
+
26
+ const hasDescription = $derived(hasTextContent(description));
27
+ const hasError = $derived(hasTextContent(error));
28
+
29
+ const a11yIds = $derived(
30
+ buildRadioGroupFieldA11yIds({
31
+ id: fieldId,
32
+ hasDescription,
33
+ hasError,
34
+ externalDescribedBy: ariaDescribedBy,
35
+ })
36
+ );
37
+
38
+ const wrapperClass = $derived(
39
+ mergeClass(
40
+ "mw-radio-group-field",
41
+ disabled && "mw-radio-group-field--disabled",
42
+ hasError && "mw-radio-group-field--invalid",
43
+ className
44
+ )
45
+ );
46
+ </script>
47
+
48
+ <div class={wrapperClass} {...dataAttributes}>
49
+ <div class="mw-radio-group-field__label" id={a11yIds.labelId}>
50
+ <p class="mw-p mw-p--sm">{label}</p>
51
+ </div>
52
+
53
+ {#if hasDescription}
54
+ <div class="mw-radio-group-field__description" id={a11yIds.descriptionId}>
55
+ <p class="mw-p mw-p--sm">{description}</p>
56
+ </div>
57
+ {/if}
58
+
59
+ <div
60
+ role="radiogroup"
61
+ aria-labelledby={a11yIds.labelId}
62
+ aria-describedby={a11yIds.describedBy}
63
+ aria-invalid={hasError ? true : undefined}
64
+ aria-required={required ? true : undefined}
65
+ class="mw-radio-group-field__options"
66
+ >
67
+ {@render children?.()}
68
+ </div>
69
+
70
+ {#if hasError}
71
+ <div class="mw-radio-group-field__error" id={a11yIds.errorId} aria-live="polite">
72
+ <p class="mw-p mw-p--sm">{error}</p>
73
+ </div>
74
+ {/if}
75
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { RadioGroupFieldProps } from "./types.js";
2
+ declare const RadioGroupField: import("svelte").Component<RadioGroupFieldProps, {}, "">;
3
+ type RadioGroupField = ReturnType<typeof RadioGroupField>;
4
+ export default RadioGroupField;
@@ -0,0 +1,51 @@
1
+ <script lang="ts">
2
+ import Radio from "./Radio.svelte";
3
+ import RadioGroupField from "./RadioGroupField.svelte";
4
+
5
+ interface RatingRadioGroupProps {
6
+ name: string;
7
+ label: string;
8
+ description?: string;
9
+ error?: string;
10
+ min?: number;
11
+ max?: number;
12
+ labelFn?: (value: number) => string;
13
+ value?: string;
14
+ defaultValue?: string;
15
+ onchange?: (value: string) => void;
16
+ disabled?: boolean;
17
+ class?: string;
18
+ }
19
+
20
+ let { name, min = 1, max = 5, labelFn = String, value, defaultValue, onchange, disabled, ...fieldProps }: RatingRadioGroupProps = $props();
21
+
22
+ let selected = $state(value ?? defaultValue ?? "");
23
+
24
+ const options = $derived(
25
+ Array.from({ length: max - min + 1 }, (_, i) => {
26
+ const v = min + i;
27
+ return { value: String(v), label: labelFn(v) };
28
+ })
29
+ );
30
+
31
+ function handleChange(optValue: string) {
32
+ selected = optValue;
33
+ onchange?.(optValue);
34
+ }
35
+ </script>
36
+ <div data-purpose="rating">
37
+ <RadioGroupField {...fieldProps}>
38
+ {#each options as opt (opt.value)}
39
+ <label class="mw-radio-group-field__option">
40
+ <Radio
41
+ {name}
42
+ value={opt.value}
43
+ checked={selected === opt.value}
44
+ disabled={disabled || false}
45
+ onchange={() => handleChange(opt.value)}
46
+ />
47
+ <span class="mw-p mw-p--sm">{opt.label}</span>
48
+ </label>
49
+ {/each}
50
+ </RadioGroupField>
51
+ </div>
@@ -0,0 +1,17 @@
1
+ interface RatingRadioGroupProps {
2
+ name: string;
3
+ label: string;
4
+ description?: string;
5
+ error?: string;
6
+ min?: number;
7
+ max?: number;
8
+ labelFn?: (value: number) => string;
9
+ value?: string;
10
+ defaultValue?: string;
11
+ onchange?: (value: string) => void;
12
+ disabled?: boolean;
13
+ class?: string;
14
+ }
15
+ declare const RatingRadioGroup: import("svelte").Component<RatingRadioGroupProps, {}, "">;
16
+ type RatingRadioGroup = ReturnType<typeof RatingRadioGroup>;
17
+ export default RatingRadioGroup;
@@ -0,0 +1,48 @@
1
+ <script lang="ts">
2
+ import Radio from "./Radio.svelte";
3
+ import RadioGroupField from "./RadioGroupField.svelte";
4
+
5
+ interface YesNoRadioGroupProps {
6
+ name: string;
7
+ label: string;
8
+ description?: string;
9
+ error?: string;
10
+ yesLabel?: string;
11
+ noLabel?: string;
12
+ value?: string;
13
+ defaultValue?: string;
14
+ onchange?: (value: string) => void;
15
+ disabled?: boolean;
16
+ class?: string;
17
+ }
18
+
19
+ let { name, yesLabel = "Yes", noLabel = "No", value, defaultValue, onchange, disabled, ...fieldProps }: YesNoRadioGroupProps = $props();
20
+
21
+ let selected = $state(value ?? defaultValue ?? "");
22
+
23
+ const options = $derived([
24
+ { value: "yes", label: yesLabel },
25
+ { value: "no", label: noLabel },
26
+ ]);
27
+
28
+ function handleChange(optValue: string) {
29
+ selected = optValue;
30
+ onchange?.(optValue);
31
+ }
32
+ </script>
33
+ <div data-purpose="binary-choice">
34
+ <RadioGroupField {...fieldProps}>
35
+ {#each options as opt (opt.value)}
36
+ <label class="mw-radio-group-field__option">
37
+ <Radio
38
+ {name}
39
+ value={opt.value}
40
+ checked={selected === opt.value}
41
+ disabled={disabled || false}
42
+ onchange={() => handleChange(opt.value)}
43
+ />
44
+ <span class="mw-p mw-p--sm">{opt.label}</span>
45
+ </label>
46
+ {/each}
47
+ </RadioGroupField>
48
+ </div>
@@ -0,0 +1,16 @@
1
+ interface YesNoRadioGroupProps {
2
+ name: string;
3
+ label: string;
4
+ description?: string;
5
+ error?: string;
6
+ yesLabel?: string;
7
+ noLabel?: string;
8
+ value?: string;
9
+ defaultValue?: string;
10
+ onchange?: (value: string) => void;
11
+ disabled?: boolean;
12
+ class?: string;
13
+ }
14
+ declare const YesNoRadioGroup: import("svelte").Component<YesNoRadioGroupProps, {}, "">;
15
+ type YesNoRadioGroup = ReturnType<typeof YesNoRadioGroup>;
16
+ export default YesNoRadioGroup;
@@ -0,0 +1,3 @@
1
+ export { default as Radio } from "./Radio.svelte";
2
+ export { default as RadioGroupField } from "./RadioGroupField.svelte";
3
+ export type { RadioProps, RadioGroupFieldProps } from "./types.js";
@@ -0,0 +1,2 @@
1
+ export { default as Radio } from "./Radio.svelte";
2
+ export { default as RadioGroupField } from "./RadioGroupField.svelte";
@@ -0,0 +1,22 @@
1
+ import type { RadioOptions } from "@marwes-ui/core";
2
+ import type { Snippet } from "svelte";
3
+ export interface RadioProps extends RadioOptions {
4
+ checked?: boolean;
5
+ onchange?: (e: Event & {
6
+ currentTarget: HTMLInputElement;
7
+ }) => void;
8
+ oncheckedchange?: (checked: boolean) => void;
9
+ class?: string;
10
+ }
11
+ export interface RadioGroupFieldProps {
12
+ id?: string;
13
+ label: string;
14
+ description?: string;
15
+ error?: string;
16
+ ariaDescribedBy?: string;
17
+ required?: boolean;
18
+ disabled?: boolean;
19
+ dataAttributes?: Record<string, string>;
20
+ children?: Snippet;
21
+ class?: string;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,16 @@
1
+ # Skeleton — Parity Findings
2
+
3
+ ## Svelte vs React/Vue
4
+
5
+ ### Aligned ✅
6
+ - Full parity with React/Vue
7
+ - `createSkeletonRecipe` integration
8
+ - All variants: text, circular, rectangular
9
+ - All animations: pulse, wave, none
10
+ - Custom width, height, radius
11
+ - CSS vars for dimensions
12
+ - Accessibility: aria-hidden or role="status" with aria-label
13
+ - Data attributes
14
+
15
+ ### Missing ❌
16
+ - None — full parity.
@@ -0,0 +1,29 @@
1
+ <script lang="ts">
2
+ import { createSkeletonRecipe } from "@marwes-ui/core";
3
+ import { cssVarsToStyle, mergeStyle } from "../../internal/css-vars.js";
4
+ import { mergeClass } from "../../internal/merge-class.js";
5
+ import type { SkeletonProps } from "./types.js";
6
+
7
+ let {
8
+ class: className,
9
+ style,
10
+ dataAttributes,
11
+ ...options
12
+ }: SkeletonProps = $props();
13
+
14
+ const kit = $derived(createSkeletonRecipe(options));
15
+ const mergedClass = $derived(mergeClass(kit.className, className));
16
+ const mergedStyle = $derived(mergeStyle(cssVarsToStyle(kit.vars), style));
17
+ </script>
18
+
19
+ <span
20
+ class={mergedClass}
21
+ style={mergedStyle}
22
+ id={kit.a11y.id}
23
+ role={kit.a11y.role}
24
+ aria-hidden={kit.a11y.ariaHidden ? "true" : undefined}
25
+ aria-label={kit.a11y.ariaLabel}
26
+ aria-live={kit.a11y.ariaLive}
27
+ {...kit.dataAttributes}
28
+ {...dataAttributes}
29
+ ></span>
@@ -0,0 +1,4 @@
1
+ import type { SkeletonProps } from "./types.js";
2
+ declare const Skeleton: import("svelte").Component<SkeletonProps, {}, "">;
3
+ type Skeleton = ReturnType<typeof Skeleton>;
4
+ export default Skeleton;
@@ -0,0 +1,2 @@
1
+ export { default as Skeleton } from "./Skeleton.svelte";
2
+ export type { SkeletonProps } from "./types.js";
@@ -0,0 +1 @@
1
+ export { default as Skeleton } from "./Skeleton.svelte";
@@ -0,0 +1,6 @@
1
+ import type { SkeletonOptions } from "@marwes-ui/core";
2
+ export interface SkeletonProps extends SkeletonOptions {
3
+ class?: string;
4
+ style?: string | undefined;
5
+ dataAttributes?: Record<string, string>;
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,31 @@
1
+ <script lang="ts">
2
+ import SliderField from "./SliderField.svelte";
3
+ import type { SliderFieldProps, SliderProps } from "./types.js";
4
+
5
+ interface BrightnessSliderProps extends Omit<SliderFieldProps, "label" | "slider" | "minValueLabel" | "maxValueLabel"> {
6
+ label?: string;
7
+ slider?: Omit<SliderProps, "value">;
8
+ orientation?: SliderProps["orientation"];
9
+ minValueLabel?: string;
10
+ maxValueLabel?: string;
11
+ }
12
+
13
+ let {
14
+ label = "Brightness",
15
+ slider,
16
+ orientation,
17
+ minValueLabel = "0",
18
+ maxValueLabel = "100",
19
+ dataAttributes,
20
+ ...rest
21
+ }: BrightnessSliderProps = $props();
22
+ </script>
23
+
24
+ <SliderField
25
+ {...rest}
26
+ {label}
27
+ {minValueLabel}
28
+ {maxValueLabel}
29
+ slider={{ min: 0, max: 100, step: 1, showTooltip: true, ...(orientation !== undefined ? { orientation } : {}), ...slider }}
30
+ dataAttributes={{ ...dataAttributes, "data-purpose": "brightness" }}
31
+ />