@getmicdrop/svelte-components 5.4.1 → 5.5.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 (417) hide show
  1. package/dist/calendar/PublicCard/PublicCard.svelte +12 -11
  2. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
  3. package/dist/calendar/index.d.ts +9 -0
  4. package/dist/calendar/index.d.ts.map +1 -0
  5. package/dist/calendar/index.js +15 -0
  6. package/dist/components/Layout/Grid.spec.d.ts +2 -0
  7. package/dist/components/Layout/Grid.spec.d.ts.map +1 -0
  8. package/dist/components/Layout/Grid.spec.js +230 -0
  9. package/dist/components/Layout/Grid.svelte +97 -105
  10. package/dist/components/Layout/Grid.svelte.d.ts +16 -6
  11. package/dist/components/Layout/Grid.svelte.d.ts.map +1 -1
  12. package/dist/components/Layout/Stack.spec.d.ts +2 -0
  13. package/dist/components/Layout/Stack.spec.d.ts.map +1 -0
  14. package/dist/components/Layout/Stack.spec.js +257 -0
  15. package/dist/components/Layout/Stack.svelte +47 -85
  16. package/dist/components/Layout/Stack.svelte.d.ts +4 -6
  17. package/dist/components/Layout/Stack.svelte.d.ts.map +1 -1
  18. package/dist/components/Layout/__tests__/Grid.test.d.ts +2 -0
  19. package/dist/components/Layout/__tests__/Grid.test.d.ts.map +1 -0
  20. package/dist/components/Layout/__tests__/Grid.test.js +246 -0
  21. package/dist/components/Layout/__tests__/Stack.test.d.ts +2 -0
  22. package/dist/components/Layout/__tests__/Stack.test.d.ts.map +1 -0
  23. package/dist/components/Layout/__tests__/Stack.test.js +267 -0
  24. package/dist/constants/formOptions.spec.d.ts.map +1 -1
  25. package/dist/constants/formOptions.spec.js +69 -82
  26. package/dist/datetime/__tests__/format.test.js +81 -1
  27. package/dist/datetime/format.d.ts +74 -0
  28. package/dist/datetime/format.d.ts.map +1 -1
  29. package/dist/datetime/format.js +104 -0
  30. package/dist/datetime/index.d.ts +1 -1
  31. package/dist/datetime/index.d.ts.map +1 -1
  32. package/dist/datetime/index.js +1 -1
  33. package/dist/datetime/timezone.d.ts.map +1 -1
  34. package/dist/datetime/timezone.js +2 -0
  35. package/dist/datetime/types.d.ts +4 -0
  36. package/dist/datetime/types.d.ts.map +1 -1
  37. package/dist/forms/createFormStore.svelte.d.ts.map +1 -1
  38. package/dist/forms/createFormStore.svelte.js +3 -2
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.js +3 -0
  41. package/dist/index.spec.d.ts +2 -0
  42. package/dist/index.spec.d.ts.map +1 -0
  43. package/dist/index.spec.js +370 -0
  44. package/dist/patterns/data/DataTable.svelte +5 -5
  45. package/dist/patterns/data/index.d.ts +4 -0
  46. package/dist/patterns/data/index.d.ts.map +1 -0
  47. package/dist/patterns/data/index.js +4 -0
  48. package/dist/patterns/forms/FormValidationSummary.spec.d.ts.map +1 -1
  49. package/dist/patterns/forms/FormValidationSummary.spec.js +181 -203
  50. package/dist/patterns/forms/FormValidationSummary.stories.svelte +14 -14
  51. package/dist/patterns/forms/FormValidationSummary.svelte +43 -36
  52. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts +8 -16
  53. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts.map +1 -1
  54. package/dist/patterns/forms/index.d.ts +5 -0
  55. package/dist/patterns/forms/index.d.ts.map +1 -0
  56. package/dist/patterns/forms/index.js +5 -0
  57. package/dist/patterns/index.d.ts +6 -0
  58. package/dist/patterns/index.d.ts.map +1 -0
  59. package/dist/patterns/index.js +18 -0
  60. package/dist/patterns/layout/Stack.svelte +61 -45
  61. package/dist/patterns/layout/Stack.svelte.d.ts +35 -21
  62. package/dist/patterns/layout/Stack.svelte.d.ts.map +1 -1
  63. package/dist/patterns/layout/index.d.ts +5 -0
  64. package/dist/patterns/layout/index.d.ts.map +1 -0
  65. package/dist/patterns/layout/index.js +6 -0
  66. package/dist/patterns/navigation/BottomNav.spec.d.ts.map +1 -1
  67. package/dist/patterns/navigation/BottomNav.spec.js +104 -130
  68. package/dist/patterns/navigation/BottomNav.svelte +44 -34
  69. package/dist/patterns/navigation/BottomNav.svelte.d.ts +10 -10
  70. package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
  71. package/dist/patterns/navigation/Header.spec.d.ts.map +1 -1
  72. package/dist/patterns/navigation/Header.spec.js +161 -203
  73. package/dist/patterns/navigation/Header.svelte +62 -47
  74. package/dist/patterns/navigation/Header.svelte.d.ts +12 -19
  75. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  76. package/dist/patterns/navigation/index.d.ts +3 -0
  77. package/dist/patterns/navigation/index.d.ts.map +1 -0
  78. package/dist/patterns/navigation/index.js +3 -0
  79. package/dist/patterns/page/PageHeader.svelte +31 -18
  80. package/dist/patterns/page/PageHeader.svelte.d.ts +12 -18
  81. package/dist/patterns/page/PageHeader.svelte.d.ts.map +1 -1
  82. package/dist/patterns/page/PageLoader.svelte +29 -17
  83. package/dist/patterns/page/PageLoader.svelte.d.ts +9 -20
  84. package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
  85. package/dist/patterns/page/SectionHeader.svelte +22 -12
  86. package/dist/patterns/page/SectionHeader.svelte.d.ts +8 -17
  87. package/dist/patterns/page/SectionHeader.svelte.d.ts.map +1 -1
  88. package/dist/patterns/page/index.d.ts +5 -0
  89. package/dist/patterns/page/index.d.ts.map +1 -0
  90. package/dist/patterns/page/index.js +5 -0
  91. package/dist/primitives/Accordion/Accordion.svelte +20 -19
  92. package/dist/primitives/Accordion/Accordion.svelte.d.ts.map +1 -1
  93. package/dist/primitives/Alert/Alert.svelte +37 -38
  94. package/dist/primitives/Alert/Alert.svelte.d.ts +2 -1
  95. package/dist/primitives/Alert/Alert.svelte.d.ts.map +1 -1
  96. package/dist/primitives/Badges/Badge.svelte +20 -63
  97. package/dist/primitives/Badges/Badge.svelte.d.ts +4 -2
  98. package/dist/primitives/Badges/Badge.svelte.d.ts.map +1 -1
  99. package/dist/primitives/Button/Button.svelte +39 -70
  100. package/dist/primitives/Button/Button.svelte.d.ts +10 -26
  101. package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
  102. package/dist/primitives/Drawer/Drawer.stories.svelte +20 -20
  103. package/dist/primitives/Drawer/Drawer.svelte +116 -94
  104. package/dist/primitives/Drawer/Drawer.svelte.d.ts +12 -31
  105. package/dist/primitives/Drawer/Drawer.svelte.d.ts.map +1 -1
  106. package/dist/primitives/Dropdown/Dropdown.svelte +146 -134
  107. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts +9 -18
  108. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts.map +1 -1
  109. package/dist/primitives/Icons/ArrowLeft.svelte +13 -12
  110. package/dist/primitives/Icons/ArrowLeft.svelte.d.ts +2 -0
  111. package/dist/primitives/Icons/ArrowLeft.svelte.d.ts.map +1 -1
  112. package/dist/primitives/Icons/ArrowRight.svelte +13 -12
  113. package/dist/primitives/Icons/ArrowRight.svelte.d.ts +2 -0
  114. package/dist/primitives/Icons/ArrowRight.svelte.d.ts.map +1 -1
  115. package/dist/primitives/Icons/Availability.svelte +13 -12
  116. package/dist/primitives/Icons/Availability.svelte.d.ts +2 -0
  117. package/dist/primitives/Icons/Availability.svelte.d.ts.map +1 -1
  118. package/dist/primitives/Icons/Back.svelte +13 -12
  119. package/dist/primitives/Icons/Back.svelte.d.ts +2 -0
  120. package/dist/primitives/Icons/Back.svelte.d.ts.map +1 -1
  121. package/dist/primitives/Icons/CheckCircle.svelte +13 -12
  122. package/dist/primitives/Icons/CheckCircle.svelte.d.ts +2 -0
  123. package/dist/primitives/Icons/CheckCircle.svelte.d.ts.map +1 -1
  124. package/dist/primitives/Icons/CheckCircleOutline.svelte +13 -12
  125. package/dist/primitives/Icons/CheckCircleOutline.svelte.d.ts +2 -0
  126. package/dist/primitives/Icons/CheckCircleOutline.svelte.d.ts.map +1 -1
  127. package/dist/primitives/Icons/CheckCircleSolid.svelte +12 -10
  128. package/dist/primitives/Icons/CheckCircleSolid.svelte.d.ts +4 -0
  129. package/dist/primitives/Icons/CheckCircleSolid.svelte.d.ts.map +1 -1
  130. package/dist/primitives/Icons/CheckOutline.svelte +15 -13
  131. package/dist/primitives/Icons/CheckOutline.svelte.d.ts +4 -0
  132. package/dist/primitives/Icons/CheckOutline.svelte.d.ts.map +1 -1
  133. package/dist/primitives/Icons/ChevronDownOutline.svelte +14 -12
  134. package/dist/primitives/Icons/ChevronDownOutline.svelte.d.ts +4 -0
  135. package/dist/primitives/Icons/ChevronDownOutline.svelte.d.ts.map +1 -1
  136. package/dist/primitives/Icons/ChevronLeft.svelte +13 -12
  137. package/dist/primitives/Icons/ChevronLeft.svelte.d.ts +2 -0
  138. package/dist/primitives/Icons/ChevronLeft.svelte.d.ts.map +1 -1
  139. package/dist/primitives/Icons/ChevronLeftOutline.svelte +14 -12
  140. package/dist/primitives/Icons/ChevronLeftOutline.svelte.d.ts +4 -0
  141. package/dist/primitives/Icons/ChevronLeftOutline.svelte.d.ts.map +1 -1
  142. package/dist/primitives/Icons/ChevronRight.svelte +13 -12
  143. package/dist/primitives/Icons/ChevronRight.svelte.d.ts +2 -0
  144. package/dist/primitives/Icons/ChevronRight.svelte.d.ts.map +1 -1
  145. package/dist/primitives/Icons/ChevronRightOutline.svelte +14 -12
  146. package/dist/primitives/Icons/ChevronRightOutline.svelte.d.ts +4 -0
  147. package/dist/primitives/Icons/ChevronRightOutline.svelte.d.ts.map +1 -1
  148. package/dist/primitives/Icons/ChevronUpOutline.svelte +14 -12
  149. package/dist/primitives/Icons/ChevronUpOutline.svelte.d.ts +4 -0
  150. package/dist/primitives/Icons/ChevronUpOutline.svelte.d.ts.map +1 -1
  151. package/dist/primitives/Icons/CloseCircleOutline.svelte +14 -12
  152. package/dist/primitives/Icons/CloseCircleOutline.svelte.d.ts +4 -0
  153. package/dist/primitives/Icons/CloseCircleOutline.svelte.d.ts.map +1 -1
  154. package/dist/primitives/Icons/CloseOutline.svelte +14 -12
  155. package/dist/primitives/Icons/CloseOutline.svelte.d.ts +4 -0
  156. package/dist/primitives/Icons/CloseOutline.svelte.d.ts.map +1 -1
  157. package/dist/primitives/Icons/Copy.svelte +13 -12
  158. package/dist/primitives/Icons/Copy.svelte.d.ts +2 -0
  159. package/dist/primitives/Icons/Copy.svelte.d.ts.map +1 -1
  160. package/dist/primitives/Icons/Cross.svelte +13 -12
  161. package/dist/primitives/Icons/Cross.svelte.d.ts +2 -0
  162. package/dist/primitives/Icons/Cross.svelte.d.ts.map +1 -1
  163. package/dist/primitives/Icons/DotsHorizontalOutline.svelte +12 -10
  164. package/dist/primitives/Icons/DotsHorizontalOutline.svelte.d.ts +4 -0
  165. package/dist/primitives/Icons/DotsHorizontalOutline.svelte.d.ts.map +1 -1
  166. package/dist/primitives/Icons/DownArrow.svelte +13 -12
  167. package/dist/primitives/Icons/DownArrow.svelte.d.ts +2 -0
  168. package/dist/primitives/Icons/DownArrow.svelte.d.ts.map +1 -1
  169. package/dist/primitives/Icons/ErrorCircle.svelte +13 -12
  170. package/dist/primitives/Icons/ErrorCircle.svelte.d.ts +2 -0
  171. package/dist/primitives/Icons/ErrorCircle.svelte.d.ts.map +1 -1
  172. package/dist/primitives/Icons/ExclamationCircleOutline.svelte +14 -12
  173. package/dist/primitives/Icons/ExclamationCircleOutline.svelte.d.ts +4 -0
  174. package/dist/primitives/Icons/ExclamationCircleOutline.svelte.d.ts.map +1 -1
  175. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte +14 -12
  176. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte.d.ts +4 -0
  177. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte.d.ts.map +1 -1
  178. package/dist/primitives/Icons/EyeOutline.svelte +14 -12
  179. package/dist/primitives/Icons/EyeOutline.svelte.d.ts +4 -0
  180. package/dist/primitives/Icons/EyeOutline.svelte.d.ts.map +1 -1
  181. package/dist/primitives/Icons/EyeSlashOutline.svelte +14 -12
  182. package/dist/primitives/Icons/EyeSlashOutline.svelte.d.ts +4 -0
  183. package/dist/primitives/Icons/EyeSlashOutline.svelte.d.ts.map +1 -1
  184. package/dist/primitives/Icons/FacebookIcon.svelte +13 -11
  185. package/dist/primitives/Icons/FacebookIcon.svelte.d.ts +2 -0
  186. package/dist/primitives/Icons/FacebookIcon.svelte.d.ts.map +1 -1
  187. package/dist/primitives/Icons/FileCopyOutline.svelte +14 -12
  188. package/dist/primitives/Icons/FileCopyOutline.svelte.d.ts +4 -0
  189. package/dist/primitives/Icons/FileCopyOutline.svelte.d.ts.map +1 -1
  190. package/dist/primitives/Icons/Home.svelte +13 -12
  191. package/dist/primitives/Icons/Home.svelte.d.ts +2 -0
  192. package/dist/primitives/Icons/Home.svelte.d.ts.map +1 -1
  193. package/dist/primitives/Icons/HomeSolid.svelte +12 -10
  194. package/dist/primitives/Icons/HomeSolid.svelte.d.ts +4 -0
  195. package/dist/primitives/Icons/HomeSolid.svelte.d.ts.map +1 -1
  196. package/dist/primitives/Icons/Icon.spec.js +6 -6
  197. package/dist/primitives/Icons/Icon.svelte +27 -11
  198. package/dist/primitives/Icons/Icon.svelte.d.ts +5 -3
  199. package/dist/primitives/Icons/Icon.svelte.d.ts.map +1 -1
  200. package/dist/primitives/Icons/Icons.spec.d.ts +8 -0
  201. package/dist/primitives/Icons/Icons.spec.d.ts.map +1 -0
  202. package/dist/primitives/Icons/Icons.spec.js +291 -0
  203. package/dist/primitives/Icons/ImageOutline.svelte +21 -19
  204. package/dist/primitives/Icons/ImageOutline.svelte.d.ts +6 -2
  205. package/dist/primitives/Icons/ImageOutline.svelte.d.ts.map +1 -1
  206. package/dist/primitives/Icons/Info.svelte +13 -12
  207. package/dist/primitives/Icons/Info.svelte.d.ts +2 -0
  208. package/dist/primitives/Icons/Info.svelte.d.ts.map +1 -1
  209. package/dist/primitives/Icons/InfoCircleOutline.svelte +14 -12
  210. package/dist/primitives/Icons/InfoCircleOutline.svelte.d.ts +4 -0
  211. package/dist/primitives/Icons/InfoCircleOutline.svelte.d.ts.map +1 -1
  212. package/dist/primitives/Icons/InstagramIcon.svelte +17 -15
  213. package/dist/primitives/Icons/InstagramIcon.svelte.d.ts +2 -0
  214. package/dist/primitives/Icons/InstagramIcon.svelte.d.ts.map +1 -1
  215. package/dist/primitives/Icons/LogoInstagram.svelte +13 -13
  216. package/dist/primitives/Icons/LogoInstagram.svelte.d.ts +4 -2
  217. package/dist/primitives/Icons/LogoInstagram.svelte.d.ts.map +1 -1
  218. package/dist/primitives/Icons/Message.svelte +13 -12
  219. package/dist/primitives/Icons/Message.svelte.d.ts +2 -0
  220. package/dist/primitives/Icons/Message.svelte.d.ts.map +1 -1
  221. package/dist/primitives/Icons/MinusOutline.svelte +14 -12
  222. package/dist/primitives/Icons/MinusOutline.svelte.d.ts +4 -0
  223. package/dist/primitives/Icons/MinusOutline.svelte.d.ts.map +1 -1
  224. package/dist/primitives/Icons/MoonIcon.svelte +13 -11
  225. package/dist/primitives/Icons/MoonIcon.svelte.d.ts +2 -0
  226. package/dist/primitives/Icons/MoonIcon.svelte.d.ts.map +1 -1
  227. package/dist/primitives/Icons/More.svelte +13 -12
  228. package/dist/primitives/Icons/More.svelte.d.ts +2 -0
  229. package/dist/primitives/Icons/More.svelte.d.ts.map +1 -1
  230. package/dist/primitives/Icons/MoreHori.spec.js +6 -6
  231. package/dist/primitives/Icons/MoreHori.svelte +13 -12
  232. package/dist/primitives/Icons/MoreHori.svelte.d.ts +2 -0
  233. package/dist/primitives/Icons/MoreHori.svelte.d.ts.map +1 -1
  234. package/dist/primitives/Icons/Notification.svelte +13 -12
  235. package/dist/primitives/Icons/Notification.svelte.d.ts +2 -0
  236. package/dist/primitives/Icons/Notification.svelte.d.ts.map +1 -1
  237. package/dist/primitives/Icons/Payment.svelte +13 -12
  238. package/dist/primitives/Icons/Payment.svelte.d.ts +2 -0
  239. package/dist/primitives/Icons/Payment.svelte.d.ts.map +1 -1
  240. package/dist/primitives/Icons/PlusOutline.svelte +14 -12
  241. package/dist/primitives/Icons/PlusOutline.svelte.d.ts +4 -0
  242. package/dist/primitives/Icons/PlusOutline.svelte.d.ts.map +1 -1
  243. package/dist/primitives/Icons/Profile.svelte +13 -12
  244. package/dist/primitives/Icons/Profile.svelte.d.ts +2 -0
  245. package/dist/primitives/Icons/Profile.svelte.d.ts.map +1 -1
  246. package/dist/primitives/Icons/Reload.svelte +13 -12
  247. package/dist/primitives/Icons/Reload.svelte.d.ts +2 -0
  248. package/dist/primitives/Icons/Reload.svelte.d.ts.map +1 -1
  249. package/dist/primitives/Icons/SearchOutline.svelte +14 -12
  250. package/dist/primitives/Icons/SearchOutline.svelte.d.ts +4 -0
  251. package/dist/primitives/Icons/SearchOutline.svelte.d.ts.map +1 -1
  252. package/dist/primitives/Icons/ShareOutline.svelte +14 -12
  253. package/dist/primitives/Icons/ShareOutline.svelte.d.ts +4 -0
  254. package/dist/primitives/Icons/ShareOutline.svelte.d.ts.map +1 -1
  255. package/dist/primitives/Icons/Shows.svelte +13 -12
  256. package/dist/primitives/Icons/Shows.svelte.d.ts +2 -0
  257. package/dist/primitives/Icons/Shows.svelte.d.ts.map +1 -1
  258. package/dist/primitives/Icons/Signout.svelte +13 -12
  259. package/dist/primitives/Icons/Signout.svelte.d.ts +2 -0
  260. package/dist/primitives/Icons/Signout.svelte.d.ts.map +1 -1
  261. package/dist/primitives/Icons/SunIcon.svelte +13 -11
  262. package/dist/primitives/Icons/SunIcon.svelte.d.ts +2 -0
  263. package/dist/primitives/Icons/SunIcon.svelte.d.ts.map +1 -1
  264. package/dist/primitives/Icons/TiktokIcon.svelte +13 -11
  265. package/dist/primitives/Icons/TiktokIcon.svelte.d.ts +2 -0
  266. package/dist/primitives/Icons/TiktokIcon.svelte.d.ts.map +1 -1
  267. package/dist/primitives/Icons/TrashBinOutline.svelte +21 -19
  268. package/dist/primitives/Icons/TrashBinOutline.svelte.d.ts +6 -2
  269. package/dist/primitives/Icons/TrashBinOutline.svelte.d.ts.map +1 -1
  270. package/dist/primitives/Icons/TwitterIcon.svelte +13 -11
  271. package/dist/primitives/Icons/TwitterIcon.svelte.d.ts +2 -0
  272. package/dist/primitives/Icons/TwitterIcon.svelte.d.ts.map +1 -1
  273. package/dist/primitives/Icons/WarningIcon.spec.js +12 -12
  274. package/dist/primitives/Icons/WarningIcon.svelte +19 -19
  275. package/dist/primitives/Icons/WarningIcon.svelte.d.ts +6 -2
  276. package/dist/primitives/Icons/WarningIcon.svelte.d.ts.map +1 -1
  277. package/dist/primitives/Icons/iconTestUtils.d.ts +162 -0
  278. package/dist/primitives/Icons/iconTestUtils.d.ts.map +1 -0
  279. package/dist/primitives/Icons/iconTestUtils.js +160 -0
  280. package/dist/primitives/Icons/index.d.ts +56 -54
  281. package/dist/primitives/Icons/index.d.ts.map +1 -1
  282. package/dist/primitives/Icons/index.js +59 -61
  283. package/dist/primitives/Icons/types.d.ts +31 -0
  284. package/dist/primitives/Icons/types.d.ts.map +1 -0
  285. package/dist/primitives/Icons/types.js +8 -0
  286. package/dist/primitives/Input/Input.svelte +40 -53
  287. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  288. package/dist/primitives/Input/Select.svelte +121 -104
  289. package/dist/primitives/Input/Select.svelte.d.ts +16 -24
  290. package/dist/primitives/Input/Select.svelte.d.ts.map +1 -1
  291. package/dist/primitives/Input/Textarea.svelte +70 -44
  292. package/dist/primitives/Input/Textarea.svelte.d.ts +20 -39
  293. package/dist/primitives/Input/Textarea.svelte.d.ts.map +1 -1
  294. package/dist/primitives/NumberInput/NumberInput.svelte +106 -0
  295. package/dist/primitives/NumberInput/NumberInput.svelte.d.ts +23 -0
  296. package/dist/primitives/NumberInput/NumberInput.svelte.d.ts.map +1 -0
  297. package/dist/primitives/NumberInput/index.d.ts +2 -0
  298. package/dist/primitives/NumberInput/index.d.ts.map +1 -0
  299. package/dist/primitives/NumberInput/index.js +1 -0
  300. package/dist/primitives/Skeleton/Skeleton.svelte +21 -27
  301. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +2 -1
  302. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
  303. package/dist/primitives/Spinner/Spinner.svelte +24 -37
  304. package/dist/primitives/Spinner/Spinner.svelte.d.ts +4 -2
  305. package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
  306. package/dist/primitives/Tabs/TabItem.svelte +3 -2
  307. package/dist/primitives/Tabs/TabItem.svelte.d.ts.map +1 -1
  308. package/dist/primitives/Tabs/Tabs.svelte +6 -5
  309. package/dist/primitives/Tabs/Tabs.svelte.d.ts.map +1 -1
  310. package/dist/primitives/ValidationError.stories.svelte +43 -42
  311. package/dist/primitives/ValidationError.svelte +1 -1
  312. package/dist/primitives/index.d.ts +31 -0
  313. package/dist/primitives/index.d.ts.map +1 -0
  314. package/dist/primitives/index.js +81 -0
  315. package/dist/recipes/ImageUploader/ImageUploader.svelte +155 -176
  316. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
  317. package/dist/recipes/SuperLogin/SuperLogin.svelte +18 -17
  318. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  319. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +65 -46
  320. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -1
  321. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
  322. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +12 -11
  323. package/dist/recipes/feedback/ErrorDisplay.svelte +66 -37
  324. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts +7 -0
  325. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts.map +1 -1
  326. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +22 -13
  327. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts +2 -2
  328. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts.map +1 -1
  329. package/dist/recipes/feedback/index.d.ts +4 -0
  330. package/dist/recipes/feedback/index.d.ts.map +1 -0
  331. package/dist/recipes/feedback/index.js +4 -0
  332. package/dist/recipes/fields/SelectField.svelte +2 -2
  333. package/dist/recipes/fields/SelectField.svelte.d.ts +4 -1
  334. package/dist/recipes/fields/SelectField.svelte.d.ts.map +1 -1
  335. package/dist/recipes/fields/TextareaField.svelte +4 -4
  336. package/dist/recipes/fields/TextareaField.svelte.d.ts +6 -2
  337. package/dist/recipes/fields/TextareaField.svelte.d.ts.map +1 -1
  338. package/dist/recipes/index.d.ts +8 -0
  339. package/dist/recipes/index.d.ts.map +1 -0
  340. package/dist/recipes/index.js +24 -0
  341. package/dist/recipes/inputs/MultiSelect.svelte +5 -0
  342. package/dist/recipes/inputs/MultiSelect.svelte.d.ts +2 -0
  343. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  344. package/dist/recipes/inputs/OTPInput.svelte +89 -74
  345. package/dist/recipes/inputs/OTPInput.svelte.d.ts +15 -20
  346. package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
  347. package/dist/recipes/inputs/PasswordInput.svelte +99 -78
  348. package/dist/recipes/inputs/PasswordInput.svelte.d.ts +27 -34
  349. package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
  350. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +75 -66
  351. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -16
  352. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
  353. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +47 -42
  354. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts.map +1 -1
  355. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +12 -12
  356. package/dist/recipes/inputs/Search.svelte +65 -48
  357. package/dist/recipes/inputs/Search.svelte.d.ts +16 -32
  358. package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
  359. package/dist/recipes/inputs/SelectDropdown.svelte +112 -104
  360. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts +12 -18
  361. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts.map +1 -1
  362. package/dist/recipes/inputs/index.d.ts +8 -0
  363. package/dist/recipes/inputs/index.d.ts.map +1 -0
  364. package/dist/recipes/inputs/index.js +8 -0
  365. package/dist/recipes/modals/index.d.ts +7 -0
  366. package/dist/recipes/modals/index.d.ts.map +1 -0
  367. package/dist/recipes/modals/index.js +7 -0
  368. package/dist/stories/ButtonAuditDashboard.svelte +23 -18
  369. package/dist/stories/ButtonAuditDashboard.svelte.d.ts.map +1 -1
  370. package/dist/stories/PatternsGallery.svelte +199 -188
  371. package/dist/stories/PatternsGallery.svelte.d.ts.map +1 -1
  372. package/dist/stories/PrimitivesGallery.svelte +27 -27
  373. package/dist/stories/RecipesGallery.svelte +200 -170
  374. package/dist/stories/RecipesGallery.svelte.d.ts.map +1 -1
  375. package/dist/telemetry.d.ts.map +1 -1
  376. package/dist/telemetry.js +1 -0
  377. package/dist/telemetry.server.d.ts.map +1 -1
  378. package/dist/telemetry.server.js +1 -0
  379. package/dist/telemetry.server.spec.js +1 -0
  380. package/dist/telemetry.spec.js +1 -0
  381. package/dist/tokens/__tests__/sizing.test.d.ts +2 -0
  382. package/dist/tokens/__tests__/sizing.test.d.ts.map +1 -0
  383. package/dist/tokens/__tests__/sizing.test.js +307 -0
  384. package/dist/tokens/__tests__/spacing.test.d.ts +2 -0
  385. package/dist/tokens/__tests__/spacing.test.d.ts.map +1 -0
  386. package/dist/tokens/__tests__/spacing.test.js +178 -0
  387. package/dist/tokens/__tests__/variants.test.d.ts +2 -0
  388. package/dist/tokens/__tests__/variants.test.d.ts.map +1 -0
  389. package/dist/tokens/__tests__/variants.test.js +329 -0
  390. package/dist/tokens/index.d.ts +3 -0
  391. package/dist/tokens/index.d.ts.map +1 -1
  392. package/dist/tokens/index.js +16 -0
  393. package/dist/tokens/sizing.d.ts +118 -0
  394. package/dist/tokens/sizing.d.ts.map +1 -0
  395. package/dist/tokens/sizing.js +125 -0
  396. package/dist/tokens/spacing.d.ts +105 -0
  397. package/dist/tokens/spacing.d.ts.map +1 -1
  398. package/dist/tokens/spacing.js +76 -0
  399. package/dist/tokens/variants.d.ts +78 -0
  400. package/dist/tokens/variants.d.ts.map +1 -0
  401. package/dist/tokens/variants.js +89 -0
  402. package/dist/utils/__tests__/auth.test.d.ts +2 -0
  403. package/dist/utils/__tests__/auth.test.d.ts.map +1 -0
  404. package/dist/utils/__tests__/auth.test.js +431 -0
  405. package/dist/utils/__tests__/formatters.test.d.ts +2 -0
  406. package/dist/utils/__tests__/formatters.test.d.ts.map +1 -0
  407. package/dist/utils/__tests__/formatters.test.js +73 -0
  408. package/dist/utils/auth.d.ts +46 -0
  409. package/dist/utils/auth.d.ts.map +1 -0
  410. package/dist/utils/auth.js +195 -0
  411. package/dist/utils/formatters.d.ts +13 -0
  412. package/dist/utils/formatters.d.ts.map +1 -0
  413. package/dist/utils/formatters.js +24 -0
  414. package/package.json +9 -5
  415. package/dist/patterns/layout/Grid.svelte +0 -35
  416. package/dist/patterns/layout/Grid.svelte.d.ts +0 -18
  417. package/dist/patterns/layout/Grid.svelte.d.ts.map +0 -1
@@ -0,0 +1,329 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { badgeColorVariants, alertColorVariants, alertCloseButtonVariants, spinnerColorVariants, getBadgeVariantClasses, getAlertVariantClasses, getSpinnerColorClasses, } from '../variants';
3
+ describe('color variant tokens', () => {
4
+ describe('badgeColorVariants', () => {
5
+ describe('semantic variants', () => {
6
+ it('has success variant with green colors', () => {
7
+ expect(badgeColorVariants.success).toContain('text-green-800');
8
+ expect(badgeColorVariants.success).toContain('bg-green-100');
9
+ expect(badgeColorVariants.success).toContain('dark:bg-green-900');
10
+ expect(badgeColorVariants.success).toContain('dark:text-green-300');
11
+ });
12
+ it('has warning variant with yellow colors', () => {
13
+ expect(badgeColorVariants.warning).toContain('text-yellow-800');
14
+ expect(badgeColorVariants.warning).toContain('bg-yellow-100');
15
+ expect(badgeColorVariants.warning).toContain('dark:bg-yellow-900');
16
+ expect(badgeColorVariants.warning).toContain('dark:text-yellow-300');
17
+ });
18
+ it('has error variant with red colors', () => {
19
+ expect(badgeColorVariants.error).toContain('text-red-800');
20
+ expect(badgeColorVariants.error).toContain('bg-red-100');
21
+ expect(badgeColorVariants.error).toContain('dark:bg-red-900');
22
+ expect(badgeColorVariants.error).toContain('dark:text-red-300');
23
+ });
24
+ it('has danger variant identical to error', () => {
25
+ expect(badgeColorVariants.danger).toBe(badgeColorVariants.error);
26
+ });
27
+ it('has info variant with blue colors', () => {
28
+ expect(badgeColorVariants.info).toContain('text-blue-800');
29
+ expect(badgeColorVariants.info).toContain('bg-blue-100');
30
+ expect(badgeColorVariants.info).toContain('dark:bg-blue-900');
31
+ expect(badgeColorVariants.info).toContain('dark:text-blue-300');
32
+ });
33
+ it('has neutral variant with gray colors', () => {
34
+ expect(badgeColorVariants.neutral).toContain('text-gray-800');
35
+ expect(badgeColorVariants.neutral).toContain('bg-gray-100');
36
+ expect(badgeColorVariants.neutral).toContain('dark:bg-gray-700');
37
+ expect(badgeColorVariants.neutral).toContain('dark:text-gray-300');
38
+ });
39
+ });
40
+ describe('color variants', () => {
41
+ const colorVariants = [
42
+ 'red',
43
+ 'blue',
44
+ 'purple',
45
+ 'green',
46
+ 'orange',
47
+ 'yellow',
48
+ 'gray',
49
+ 'pink',
50
+ 'indigo',
51
+ 'cyan',
52
+ ];
53
+ it.each(colorVariants)('has %s color variant', (color) => {
54
+ expect(badgeColorVariants[color]).toBeDefined();
55
+ expect(badgeColorVariants[color]).toContain(`text-${color}-800`);
56
+ expect(badgeColorVariants[color]).toContain(`bg-${color}-100`);
57
+ });
58
+ it('green color variant matches success semantic variant', () => {
59
+ expect(badgeColorVariants.green).toBe(badgeColorVariants.success);
60
+ });
61
+ it('red color variant matches error semantic variant', () => {
62
+ expect(badgeColorVariants.red).toBe(badgeColorVariants.error);
63
+ });
64
+ it('blue color variant matches info semantic variant', () => {
65
+ expect(badgeColorVariants.blue).toBe(badgeColorVariants.info);
66
+ });
67
+ });
68
+ describe('special variants', () => {
69
+ it('has notification variant with white text and red background', () => {
70
+ expect(badgeColorVariants.notification).toContain('text-white');
71
+ expect(badgeColorVariants.notification).toContain('bg-red-500');
72
+ expect(badgeColorVariants.notification).toContain('dark:bg-red-600');
73
+ });
74
+ });
75
+ it('has exactly 17 variants', () => {
76
+ expect(Object.keys(badgeColorVariants)).toHaveLength(17);
77
+ });
78
+ it('all variants include dark mode support', () => {
79
+ for (const [key, value] of Object.entries(badgeColorVariants)) {
80
+ expect(value).toContain('dark:');
81
+ }
82
+ });
83
+ });
84
+ describe('alertColorVariants', () => {
85
+ it('has info variant with blue-50 background', () => {
86
+ expect(alertColorVariants.info).toContain('text-blue-800');
87
+ expect(alertColorVariants.info).toContain('bg-blue-50');
88
+ expect(alertColorVariants.info).toContain('dark:bg-gray-800');
89
+ expect(alertColorVariants.info).toContain('dark:text-blue-400');
90
+ });
91
+ it('has success variant with green-50 background', () => {
92
+ expect(alertColorVariants.success).toContain('text-green-800');
93
+ expect(alertColorVariants.success).toContain('bg-green-50');
94
+ expect(alertColorVariants.success).toContain('dark:text-green-400');
95
+ });
96
+ it('has warning variant with yellow-50 background', () => {
97
+ expect(alertColorVariants.warning).toContain('text-yellow-800');
98
+ expect(alertColorVariants.warning).toContain('bg-yellow-50');
99
+ expect(alertColorVariants.warning).toContain('dark:text-yellow-300');
100
+ });
101
+ it('has danger variant with red-50 background', () => {
102
+ expect(alertColorVariants.danger).toContain('text-red-800');
103
+ expect(alertColorVariants.danger).toContain('bg-red-50');
104
+ expect(alertColorVariants.danger).toContain('dark:text-red-400');
105
+ });
106
+ it('has exactly 4 variants', () => {
107
+ expect(Object.keys(alertColorVariants)).toHaveLength(4);
108
+ });
109
+ it('uses bg-*-50 pattern (lighter than badge variants)', () => {
110
+ for (const value of Object.values(alertColorVariants)) {
111
+ expect(value).toMatch(/bg-\w+-50/);
112
+ }
113
+ });
114
+ });
115
+ describe('alertCloseButtonVariants', () => {
116
+ it('has matching keys with alertColorVariants', () => {
117
+ const alertKeys = Object.keys(alertColorVariants);
118
+ const closeButtonKeys = Object.keys(alertCloseButtonVariants);
119
+ expect(closeButtonKeys).toEqual(alertKeys);
120
+ });
121
+ it('includes hover states for each variant', () => {
122
+ for (const value of Object.values(alertCloseButtonVariants)) {
123
+ expect(value).toContain('hover:');
124
+ expect(value).toContain('dark:hover:');
125
+ }
126
+ });
127
+ it('info close button has correct colors', () => {
128
+ expect(alertCloseButtonVariants.info).toContain('text-blue-500');
129
+ expect(alertCloseButtonVariants.info).toContain('hover:bg-blue-200');
130
+ });
131
+ });
132
+ describe('spinnerColorVariants', () => {
133
+ const spinnerColors = [
134
+ 'blue',
135
+ 'gray',
136
+ 'green',
137
+ 'red',
138
+ 'yellow',
139
+ 'pink',
140
+ 'purple',
141
+ 'white',
142
+ ];
143
+ it.each(spinnerColors)('has %s spinner color', (color) => {
144
+ expect(spinnerColorVariants[color]).toBeDefined();
145
+ expect(spinnerColorVariants[color]).toContain('fill-');
146
+ });
147
+ it('has exactly 8 spinner colors', () => {
148
+ expect(Object.keys(spinnerColorVariants)).toHaveLength(8);
149
+ });
150
+ it('gray spinner has dark mode support', () => {
151
+ expect(spinnerColorVariants.gray).toContain('dark:fill-gray-300');
152
+ });
153
+ it('white spinner is just fill-white', () => {
154
+ expect(spinnerColorVariants.white).toBe('fill-white');
155
+ });
156
+ it('uses fill-* pattern for all variants', () => {
157
+ for (const value of Object.values(spinnerColorVariants)) {
158
+ expect(value).toMatch(/fill-/);
159
+ }
160
+ });
161
+ });
162
+ });
163
+ describe('variant helper functions', () => {
164
+ describe('getBadgeVariantClasses', () => {
165
+ it('returns correct classes for valid variants', () => {
166
+ expect(getBadgeVariantClasses('success')).toBe(badgeColorVariants.success);
167
+ expect(getBadgeVariantClasses('error')).toBe(badgeColorVariants.error);
168
+ expect(getBadgeVariantClasses('info')).toBe(badgeColorVariants.info);
169
+ expect(getBadgeVariantClasses('warning')).toBe(badgeColorVariants.warning);
170
+ expect(getBadgeVariantClasses('neutral')).toBe(badgeColorVariants.neutral);
171
+ });
172
+ it('returns correct classes for color variants', () => {
173
+ expect(getBadgeVariantClasses('red')).toBe(badgeColorVariants.red);
174
+ expect(getBadgeVariantClasses('blue')).toBe(badgeColorVariants.blue);
175
+ expect(getBadgeVariantClasses('green')).toBe(badgeColorVariants.green);
176
+ expect(getBadgeVariantClasses('purple')).toBe(badgeColorVariants.purple);
177
+ });
178
+ it('is case-insensitive', () => {
179
+ expect(getBadgeVariantClasses('SUCCESS')).toBe(badgeColorVariants.success);
180
+ expect(getBadgeVariantClasses('Error')).toBe(badgeColorVariants.error);
181
+ expect(getBadgeVariantClasses('INFO')).toBe(badgeColorVariants.info);
182
+ expect(getBadgeVariantClasses('Green')).toBe(badgeColorVariants.green);
183
+ });
184
+ it('returns neutral for undefined', () => {
185
+ expect(getBadgeVariantClasses(undefined)).toBe(badgeColorVariants.neutral);
186
+ });
187
+ it('returns neutral for invalid variants', () => {
188
+ expect(getBadgeVariantClasses('invalid')).toBe(badgeColorVariants.neutral);
189
+ expect(getBadgeVariantClasses('unknown')).toBe(badgeColorVariants.neutral);
190
+ expect(getBadgeVariantClasses('')).toBe(badgeColorVariants.neutral);
191
+ });
192
+ it('returns neutral for empty string', () => {
193
+ expect(getBadgeVariantClasses('')).toBe(badgeColorVariants.neutral);
194
+ });
195
+ });
196
+ describe('getAlertVariantClasses', () => {
197
+ it('returns correct classes for valid variants', () => {
198
+ expect(getAlertVariantClasses('info')).toBe(alertColorVariants.info);
199
+ expect(getAlertVariantClasses('success')).toBe(alertColorVariants.success);
200
+ expect(getAlertVariantClasses('warning')).toBe(alertColorVariants.warning);
201
+ expect(getAlertVariantClasses('danger')).toBe(alertColorVariants.danger);
202
+ });
203
+ it('is case-insensitive', () => {
204
+ expect(getAlertVariantClasses('INFO')).toBe(alertColorVariants.info);
205
+ expect(getAlertVariantClasses('Success')).toBe(alertColorVariants.success);
206
+ expect(getAlertVariantClasses('WARNING')).toBe(alertColorVariants.warning);
207
+ });
208
+ it('returns info for undefined', () => {
209
+ expect(getAlertVariantClasses(undefined)).toBe(alertColorVariants.info);
210
+ });
211
+ it('returns info for invalid variants', () => {
212
+ expect(getAlertVariantClasses('invalid')).toBe(alertColorVariants.info);
213
+ expect(getAlertVariantClasses('error')).toBe(alertColorVariants.info); // alert uses 'danger' not 'error'
214
+ expect(getAlertVariantClasses('')).toBe(alertColorVariants.info);
215
+ });
216
+ });
217
+ describe('getSpinnerColorClasses', () => {
218
+ it('returns correct classes for valid colors', () => {
219
+ expect(getSpinnerColorClasses('blue')).toBe(spinnerColorVariants.blue);
220
+ expect(getSpinnerColorClasses('gray')).toBe(spinnerColorVariants.gray);
221
+ expect(getSpinnerColorClasses('green')).toBe(spinnerColorVariants.green);
222
+ expect(getSpinnerColorClasses('red')).toBe(spinnerColorVariants.red);
223
+ expect(getSpinnerColorClasses('white')).toBe(spinnerColorVariants.white);
224
+ });
225
+ it('is case-insensitive', () => {
226
+ expect(getSpinnerColorClasses('BLUE')).toBe(spinnerColorVariants.blue);
227
+ expect(getSpinnerColorClasses('Green')).toBe(spinnerColorVariants.green);
228
+ expect(getSpinnerColorClasses('RED')).toBe(spinnerColorVariants.red);
229
+ });
230
+ it('returns blue for undefined', () => {
231
+ expect(getSpinnerColorClasses(undefined)).toBe(spinnerColorVariants.blue);
232
+ });
233
+ it('returns blue for invalid colors', () => {
234
+ expect(getSpinnerColorClasses('invalid')).toBe(spinnerColorVariants.blue);
235
+ expect(getSpinnerColorClasses('orange')).toBe(spinnerColorVariants.blue);
236
+ expect(getSpinnerColorClasses('')).toBe(spinnerColorVariants.blue);
237
+ });
238
+ });
239
+ });
240
+ describe('type exports', () => {
241
+ it('BadgeColorVariant type includes all badge variants', () => {
242
+ // Type assertion test - if this compiles, the type is correct
243
+ const validVariants = [
244
+ 'success',
245
+ 'warning',
246
+ 'error',
247
+ 'danger',
248
+ 'info',
249
+ 'neutral',
250
+ 'red',
251
+ 'blue',
252
+ 'purple',
253
+ 'green',
254
+ 'orange',
255
+ 'yellow',
256
+ 'gray',
257
+ 'pink',
258
+ 'indigo',
259
+ 'cyan',
260
+ 'notification',
261
+ ];
262
+ expect(validVariants).toHaveLength(17);
263
+ });
264
+ it('AlertColorVariant type includes all alert variants', () => {
265
+ const validVariants = [
266
+ 'info',
267
+ 'success',
268
+ 'warning',
269
+ 'danger',
270
+ ];
271
+ expect(validVariants).toHaveLength(4);
272
+ });
273
+ it('SpinnerColorVariant type includes all spinner colors', () => {
274
+ const validVariants = [
275
+ 'blue',
276
+ 'gray',
277
+ 'green',
278
+ 'red',
279
+ 'yellow',
280
+ 'pink',
281
+ 'purple',
282
+ 'white',
283
+ ];
284
+ expect(validVariants).toHaveLength(8);
285
+ });
286
+ });
287
+ describe('consistency checks', () => {
288
+ it('all badge variants follow consistent pattern', () => {
289
+ // Check that all non-special variants follow the same structure
290
+ const standardVariants = [
291
+ 'success',
292
+ 'warning',
293
+ 'error',
294
+ 'info',
295
+ 'red',
296
+ 'blue',
297
+ 'purple',
298
+ 'green',
299
+ 'orange',
300
+ 'yellow',
301
+ 'pink',
302
+ 'indigo',
303
+ 'cyan',
304
+ ];
305
+ for (const variant of standardVariants) {
306
+ const classes = badgeColorVariants[variant];
307
+ // Should have text-*-800 and bg-*-100 and dark: variants
308
+ expect(classes).toMatch(/text-\w+-800/);
309
+ expect(classes).toMatch(/bg-\w+-100/);
310
+ expect(classes).toMatch(/dark:bg-\w+-900/);
311
+ expect(classes).toMatch(/dark:text-\w+-300/);
312
+ }
313
+ });
314
+ it('gray and neutral badge variants are identical', () => {
315
+ expect(badgeColorVariants.gray).toBe(badgeColorVariants.neutral);
316
+ });
317
+ it('semantic badge variants map to correct colors', () => {
318
+ // success = green
319
+ expect(badgeColorVariants.success).toContain('green');
320
+ // error = red
321
+ expect(badgeColorVariants.error).toContain('red');
322
+ // warning = yellow
323
+ expect(badgeColorVariants.warning).toContain('yellow');
324
+ // info = blue
325
+ expect(badgeColorVariants.info).toContain('blue');
326
+ // neutral = gray
327
+ expect(badgeColorVariants.neutral).toContain('gray');
328
+ });
329
+ });
@@ -4,4 +4,7 @@
4
4
  * Centralized styling constants for consistent design across all Micdrop apps.
5
5
  */
6
6
  export { typography, type TypographyToken } from './typography.js';
7
+ export { formInputSizes, formControlSizes, type FormInputSize, type FormControlSize, iconSizes, type IconSize, badgeSizes, badgeSizeLegacyMap, type BadgeSize, type BadgeSizeLegacy, skeletonSizes, type SkeletonSize, buttonSizes, buttonIconSizes, buttonAvatarSizes, buttonMenuItemSizes, buttonCardSizes, type ButtonSize, type ButtonIconSize, type ButtonAvatarSize, type ButtonMenuItemSize, type ButtonCardSize, } from './sizing.js';
8
+ export { spacing, spacingAliases, gapScale, gapMap, alignScale, justifyScale, type SpacingKey, type SpacingAlias, type GapSemanticKey, type GapNumericKey, type GapLegacyKey, type GapGridKey, type GapKey, type AlignKey, type JustifyKey, } from './spacing.js';
9
+ export { alertCloseButtonVariants, alertColorVariants, type AlertColorVariant, badgeColorVariants, type BadgeColorVariant, getAlertVariantClasses, getBadgeVariantClasses, getSpinnerColorClasses, spinnerColorVariants, type SpinnerColorVariant, } from './variants.js';
7
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/tokens/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGnE,OAAO,EAEL,cAAc,EACd,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,eAAe,EAEpB,SAAS,EACT,KAAK,QAAQ,EAEb,UAAU,EACV,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,eAAe,EAEpB,aAAa,EACb,KAAK,YAAY,EAEjB,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,OAAO,EACP,cAAc,EACd,QAAQ,EACR,MAAM,EACN,UAAU,EACV,YAAY,EACZ,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,GAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC"}
@@ -4,3 +4,19 @@
4
4
  * Centralized styling constants for consistent design across all Micdrop apps.
5
5
  */
6
6
  export { typography } from './typography.js';
7
+ // Sizing tokens for all components
8
+ export {
9
+ // Form controls
10
+ formInputSizes, formControlSizes,
11
+ // Icons/Spinners
12
+ iconSizes,
13
+ // Badges
14
+ badgeSizes, badgeSizeLegacyMap,
15
+ // Skeletons
16
+ skeletonSizes,
17
+ // Buttons
18
+ buttonSizes, buttonIconSizes, buttonAvatarSizes, buttonMenuItemSizes, buttonCardSizes, } from './sizing.js';
19
+ // Spacing and layout tokens
20
+ export { spacing, spacingAliases, gapScale, gapMap, alignScale, justifyScale, } from './spacing.js';
21
+ // Color variant classes for components
22
+ export { alertCloseButtonVariants, alertColorVariants, badgeColorVariants, getAlertVariantClasses, getBadgeVariantClasses, getSpinnerColorClasses, spinnerColorVariants, } from './variants.js';
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Sizing Tokens
3
+ *
4
+ * Shared size class mappings for consistent component sizing across the design system.
5
+ * Single source of truth for all component size variants.
6
+ */
7
+ /**
8
+ * Form input sizes - for Input component with fixed heights
9
+ * Provides consistent height, padding, and text sizing for text inputs.
10
+ */
11
+ export declare const formInputSizes: {
12
+ readonly sm: "py-2 px-3 text-sm h-9";
13
+ readonly md: "py-2.5 px-4 text-sm h-10";
14
+ readonly lg: "py-3 px-4 text-base h-12";
15
+ };
16
+ /**
17
+ * Form control sizes - for Select and other form controls without fixed heights
18
+ * Provides consistent padding and text sizing.
19
+ */
20
+ export declare const formControlSizes: {
21
+ readonly sm: "py-2 px-3 text-sm";
22
+ readonly md: "py-2.5 px-4 text-sm";
23
+ readonly lg: "py-3 px-4 text-base";
24
+ };
25
+ export type FormInputSize = keyof typeof formInputSizes;
26
+ export type FormControlSize = keyof typeof formControlSizes;
27
+ /**
28
+ * Icon dimension sizes - width and height classes for icons and spinners.
29
+ * Used by Spinner and icon-only components.
30
+ */
31
+ export declare const iconSizes: {
32
+ readonly xs: "w-3 h-3";
33
+ readonly sm: "w-4 h-4";
34
+ readonly md: "w-8 h-8";
35
+ readonly lg: "w-12 h-12";
36
+ readonly xl: "w-16 h-16";
37
+ };
38
+ export type IconSize = keyof typeof iconSizes;
39
+ /**
40
+ * Badge sizes - text, padding, and font weight for badges.
41
+ */
42
+ export declare const badgeSizes: {
43
+ readonly xs: "text-xs px-1.5 py-0.5 font-medium";
44
+ readonly sm: "text-xs px-2 py-0.5 font-medium";
45
+ readonly md: "text-xs px-2.5 py-0.5 font-medium";
46
+ readonly lg: "text-sm px-3 py-0.5 font-medium";
47
+ };
48
+ /**
49
+ * Legacy badge size name mapping for backwards compatibility.
50
+ */
51
+ export declare const badgeSizeLegacyMap: Record<string, keyof typeof badgeSizes>;
52
+ export type BadgeSize = keyof typeof badgeSizes;
53
+ export type BadgeSizeLegacy = 'small' | 'medium' | 'large';
54
+ /**
55
+ * Skeleton line height sizes - for loading placeholder lines.
56
+ */
57
+ export declare const skeletonSizes: {
58
+ readonly sm: "h-2";
59
+ readonly md: "h-2.5";
60
+ readonly lg: "h-3";
61
+ readonly xl: "h-3.5";
62
+ readonly '2xl': "h-4";
63
+ };
64
+ export type SkeletonSize = keyof typeof skeletonSizes;
65
+ /**
66
+ * Standard button sizes - padding and text sizing.
67
+ */
68
+ export declare const buttonSizes: {
69
+ readonly xs: "px-3 py-1.5 text-xs";
70
+ readonly sm: "px-3 py-2 text-sm";
71
+ readonly md: "px-4 py-2.5 text-sm";
72
+ readonly lg: "px-5 py-3 text-sm";
73
+ readonly xl: "px-6 py-3.5 text-sm";
74
+ readonly 'xl-medium': "w-full px-6 py-3.5 text-sm";
75
+ readonly full: "w-full px-5 py-3 text-sm";
76
+ readonly 'full-md-auto': "w-full px-5 py-3 text-sm md:w-auto";
77
+ readonly half: "w-1/2 px-4 py-2.5 text-sm";
78
+ };
79
+ /**
80
+ * Icon-only button sizes - padding only, no text.
81
+ */
82
+ export declare const buttonIconSizes: {
83
+ readonly xs: "p-1.5";
84
+ readonly sm: "p-2";
85
+ readonly md: "p-2.5";
86
+ readonly lg: "p-3";
87
+ };
88
+ /**
89
+ * Avatar button sizes - minimal padding, just dimensions.
90
+ */
91
+ export declare const buttonAvatarSizes: {
92
+ readonly sm: "min-w-8 min-h-8";
93
+ readonly md: "min-w-10 min-h-10";
94
+ readonly lg: "min-w-12 min-h-12";
95
+ };
96
+ /**
97
+ * Menu item button sizes - for dropdown and sheet items.
98
+ */
99
+ export declare const buttonMenuItemSizes: {
100
+ readonly sm: "py-2 px-4 text-sm";
101
+ readonly md: "py-3 px-4 text-sm";
102
+ readonly lg: "py-4 px-6 text-base";
103
+ readonly nav: "py-2 px-3 text-base font-normal";
104
+ };
105
+ /**
106
+ * Card button sizes - larger padding for card-like buttons.
107
+ */
108
+ export declare const buttonCardSizes: {
109
+ readonly sm: "p-3 text-sm";
110
+ readonly md: "p-4 text-sm";
111
+ readonly lg: "p-5 text-base";
112
+ };
113
+ export type ButtonSize = keyof typeof buttonSizes;
114
+ export type ButtonIconSize = keyof typeof buttonIconSizes;
115
+ export type ButtonAvatarSize = keyof typeof buttonAvatarSizes;
116
+ export type ButtonMenuItemSize = keyof typeof buttonMenuItemSizes;
117
+ export type ButtonCardSize = keyof typeof buttonCardSizes;
118
+ //# sourceMappingURL=sizing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sizing.d.ts","sourceRoot":"","sources":["../../src/lib/tokens/sizing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,cAAc,CAAC;AACxD,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAM5D;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;CAMZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,SAAS,CAAC;AAM9C;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,UAAU,CAItE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAChD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAM3D;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;CAMhB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,aAAa,CAAC;AAMtD;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,WAAW,CAAC;AAClD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,eAAe,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAC9D,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,mBAAmB,CAAC;AAClE,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,eAAe,CAAC"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Sizing Tokens
3
+ *
4
+ * Shared size class mappings for consistent component sizing across the design system.
5
+ * Single source of truth for all component size variants.
6
+ */
7
+ // =============================================================================
8
+ // FORM CONTROLS
9
+ // =============================================================================
10
+ /**
11
+ * Form input sizes - for Input component with fixed heights
12
+ * Provides consistent height, padding, and text sizing for text inputs.
13
+ */
14
+ export const formInputSizes = {
15
+ sm: 'py-2 px-3 text-sm h-9',
16
+ md: 'py-2.5 px-4 text-sm h-10',
17
+ lg: 'py-3 px-4 text-base h-12',
18
+ };
19
+ /**
20
+ * Form control sizes - for Select and other form controls without fixed heights
21
+ * Provides consistent padding and text sizing.
22
+ */
23
+ export const formControlSizes = {
24
+ sm: 'py-2 px-3 text-sm',
25
+ md: 'py-2.5 px-4 text-sm',
26
+ lg: 'py-3 px-4 text-base',
27
+ };
28
+ // =============================================================================
29
+ // ICON/SPINNER SIZES
30
+ // =============================================================================
31
+ /**
32
+ * Icon dimension sizes - width and height classes for icons and spinners.
33
+ * Used by Spinner and icon-only components.
34
+ */
35
+ export const iconSizes = {
36
+ xs: 'w-3 h-3',
37
+ sm: 'w-4 h-4',
38
+ md: 'w-8 h-8',
39
+ lg: 'w-12 h-12',
40
+ xl: 'w-16 h-16',
41
+ };
42
+ // =============================================================================
43
+ // BADGE SIZES
44
+ // =============================================================================
45
+ /**
46
+ * Badge sizes - text, padding, and font weight for badges.
47
+ */
48
+ export const badgeSizes = {
49
+ xs: 'text-xs px-1.5 py-0.5 font-medium',
50
+ sm: 'text-xs px-2 py-0.5 font-medium',
51
+ md: 'text-xs px-2.5 py-0.5 font-medium',
52
+ lg: 'text-sm px-3 py-0.5 font-medium',
53
+ };
54
+ /**
55
+ * Legacy badge size name mapping for backwards compatibility.
56
+ */
57
+ export const badgeSizeLegacyMap = {
58
+ small: 'sm',
59
+ medium: 'md',
60
+ large: 'lg',
61
+ };
62
+ // =============================================================================
63
+ // SKELETON SIZES
64
+ // =============================================================================
65
+ /**
66
+ * Skeleton line height sizes - for loading placeholder lines.
67
+ */
68
+ export const skeletonSizes = {
69
+ sm: 'h-2',
70
+ md: 'h-2.5',
71
+ lg: 'h-3',
72
+ xl: 'h-3.5',
73
+ '2xl': 'h-4',
74
+ };
75
+ // =============================================================================
76
+ // BUTTON SIZES
77
+ // =============================================================================
78
+ /**
79
+ * Standard button sizes - padding and text sizing.
80
+ */
81
+ export const buttonSizes = {
82
+ xs: 'px-3 py-1.5 text-xs',
83
+ sm: 'px-3 py-2 text-sm',
84
+ md: 'px-4 py-2.5 text-sm',
85
+ lg: 'px-5 py-3 text-sm',
86
+ xl: 'px-6 py-3.5 text-sm',
87
+ 'xl-medium': 'w-full px-6 py-3.5 text-sm',
88
+ full: 'w-full px-5 py-3 text-sm',
89
+ 'full-md-auto': 'w-full px-5 py-3 text-sm md:w-auto',
90
+ half: 'w-1/2 px-4 py-2.5 text-sm',
91
+ };
92
+ /**
93
+ * Icon-only button sizes - padding only, no text.
94
+ */
95
+ export const buttonIconSizes = {
96
+ xs: 'p-1.5',
97
+ sm: 'p-2',
98
+ md: 'p-2.5',
99
+ lg: 'p-3',
100
+ };
101
+ /**
102
+ * Avatar button sizes - minimal padding, just dimensions.
103
+ */
104
+ export const buttonAvatarSizes = {
105
+ sm: 'min-w-8 min-h-8',
106
+ md: 'min-w-10 min-h-10',
107
+ lg: 'min-w-12 min-h-12',
108
+ };
109
+ /**
110
+ * Menu item button sizes - for dropdown and sheet items.
111
+ */
112
+ export const buttonMenuItemSizes = {
113
+ sm: 'py-2 px-4 text-sm',
114
+ md: 'py-3 px-4 text-sm',
115
+ lg: 'py-4 px-6 text-base',
116
+ nav: 'py-2 px-3 text-base font-normal',
117
+ };
118
+ /**
119
+ * Card button sizes - larger padding for card-like buttons.
120
+ */
121
+ export const buttonCardSizes = {
122
+ sm: 'p-3 text-sm',
123
+ md: 'p-4 text-sm',
124
+ lg: 'p-5 text-base',
125
+ };