@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,307 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import {
3
+ // Form controls
4
+ formInputSizes, formControlSizes,
5
+ // Icons/Spinners
6
+ iconSizes,
7
+ // Badges
8
+ badgeSizes, badgeSizeLegacyMap,
9
+ // Skeletons
10
+ skeletonSizes,
11
+ // Buttons
12
+ buttonSizes, buttonIconSizes, buttonAvatarSizes, buttonMenuItemSizes, buttonCardSizes, } from '../sizing';
13
+ describe('sizing tokens', () => {
14
+ describe('formInputSizes', () => {
15
+ it('contains sm, md, lg sizes', () => {
16
+ expect(formInputSizes).toHaveProperty('sm');
17
+ expect(formInputSizes).toHaveProperty('md');
18
+ expect(formInputSizes).toHaveProperty('lg');
19
+ });
20
+ it('includes height classes for fixed input heights', () => {
21
+ expect(formInputSizes.sm).toContain('h-9');
22
+ expect(formInputSizes.md).toContain('h-10');
23
+ expect(formInputSizes.lg).toContain('h-12');
24
+ });
25
+ it('includes padding and text size classes', () => {
26
+ for (const size of Object.values(formInputSizes)) {
27
+ expect(size).toMatch(/py-\d/);
28
+ expect(size).toMatch(/px-\d/);
29
+ expect(size).toMatch(/text-(sm|base)/);
30
+ }
31
+ });
32
+ it('has exactly 3 sizes', () => {
33
+ expect(Object.keys(formInputSizes)).toHaveLength(3);
34
+ });
35
+ });
36
+ describe('formControlSizes', () => {
37
+ it('contains sm, md, lg sizes', () => {
38
+ expect(formControlSizes).toHaveProperty('sm');
39
+ expect(formControlSizes).toHaveProperty('md');
40
+ expect(formControlSizes).toHaveProperty('lg');
41
+ });
42
+ it('does NOT include height classes (for flexible controls)', () => {
43
+ for (const size of Object.values(formControlSizes)) {
44
+ expect(size).not.toMatch(/h-\d/);
45
+ }
46
+ });
47
+ it('includes padding and text size classes', () => {
48
+ for (const size of Object.values(formControlSizes)) {
49
+ expect(size).toMatch(/py-\d/);
50
+ expect(size).toMatch(/px-\d/);
51
+ expect(size).toMatch(/text-(sm|base)/);
52
+ }
53
+ });
54
+ it('has exactly 3 sizes', () => {
55
+ expect(Object.keys(formControlSizes)).toHaveLength(3);
56
+ });
57
+ });
58
+ describe('iconSizes', () => {
59
+ it('contains xs, sm, md, lg, xl sizes', () => {
60
+ expect(iconSizes).toHaveProperty('xs');
61
+ expect(iconSizes).toHaveProperty('sm');
62
+ expect(iconSizes).toHaveProperty('md');
63
+ expect(iconSizes).toHaveProperty('lg');
64
+ expect(iconSizes).toHaveProperty('xl');
65
+ });
66
+ it('uses width and height classes', () => {
67
+ for (const size of Object.values(iconSizes)) {
68
+ expect(size).toMatch(/w-\d+/);
69
+ expect(size).toMatch(/h-\d+/);
70
+ }
71
+ });
72
+ it('has matching width and height for each size', () => {
73
+ expect(iconSizes.xs).toBe('w-3 h-3');
74
+ expect(iconSizes.sm).toBe('w-4 h-4');
75
+ expect(iconSizes.md).toBe('w-8 h-8');
76
+ expect(iconSizes.lg).toBe('w-12 h-12');
77
+ expect(iconSizes.xl).toBe('w-16 h-16');
78
+ });
79
+ it('has exactly 5 sizes', () => {
80
+ expect(Object.keys(iconSizes)).toHaveLength(5);
81
+ });
82
+ it('sizes increase progressively', () => {
83
+ const sizeOrder = ['xs', 'sm', 'md', 'lg', 'xl'];
84
+ const extractWidth = (s) => parseInt(s.match(/w-(\d+)/)?.[1] || '0');
85
+ for (let i = 0; i < sizeOrder.length - 1; i++) {
86
+ const current = extractWidth(iconSizes[sizeOrder[i]]);
87
+ const next = extractWidth(iconSizes[sizeOrder[i + 1]]);
88
+ expect(next).toBeGreaterThan(current);
89
+ }
90
+ });
91
+ });
92
+ describe('badgeSizes', () => {
93
+ it('contains xs, sm, md, lg sizes', () => {
94
+ expect(badgeSizes).toHaveProperty('xs');
95
+ expect(badgeSizes).toHaveProperty('sm');
96
+ expect(badgeSizes).toHaveProperty('md');
97
+ expect(badgeSizes).toHaveProperty('lg');
98
+ });
99
+ it('includes text-xs for smaller badges and text-sm for large', () => {
100
+ expect(badgeSizes.xs).toContain('text-xs');
101
+ expect(badgeSizes.sm).toContain('text-xs');
102
+ expect(badgeSizes.md).toContain('text-xs');
103
+ expect(badgeSizes.lg).toContain('text-sm');
104
+ });
105
+ it('includes padding classes', () => {
106
+ for (const size of Object.values(badgeSizes)) {
107
+ expect(size).toMatch(/px-\d/);
108
+ expect(size).toMatch(/py-\d/);
109
+ }
110
+ });
111
+ it('includes font-medium for all sizes', () => {
112
+ for (const size of Object.values(badgeSizes)) {
113
+ expect(size).toContain('font-medium');
114
+ }
115
+ });
116
+ it('has exactly 4 sizes', () => {
117
+ expect(Object.keys(badgeSizes)).toHaveLength(4);
118
+ });
119
+ });
120
+ describe('badgeSizeLegacyMap', () => {
121
+ it('maps legacy string names to standard sizes', () => {
122
+ expect(badgeSizeLegacyMap.small).toBe('sm');
123
+ expect(badgeSizeLegacyMap.medium).toBe('md');
124
+ expect(badgeSizeLegacyMap.large).toBe('lg');
125
+ });
126
+ it('has exactly 3 legacy mappings', () => {
127
+ expect(Object.keys(badgeSizeLegacyMap)).toHaveLength(3);
128
+ });
129
+ it('maps to valid badgeSizes keys', () => {
130
+ for (const mapped of Object.values(badgeSizeLegacyMap)) {
131
+ expect(badgeSizes).toHaveProperty(mapped);
132
+ }
133
+ });
134
+ });
135
+ describe('skeletonSizes', () => {
136
+ it('contains sm, md, lg, xl, 2xl sizes', () => {
137
+ expect(skeletonSizes).toHaveProperty('sm');
138
+ expect(skeletonSizes).toHaveProperty('md');
139
+ expect(skeletonSizes).toHaveProperty('lg');
140
+ expect(skeletonSizes).toHaveProperty('xl');
141
+ expect(skeletonSizes).toHaveProperty('2xl');
142
+ });
143
+ it('uses height classes only', () => {
144
+ for (const size of Object.values(skeletonSizes)) {
145
+ expect(size).toMatch(/^h-\d/);
146
+ }
147
+ });
148
+ it('has progressive height values', () => {
149
+ expect(skeletonSizes.sm).toBe('h-2');
150
+ expect(skeletonSizes.md).toBe('h-2.5');
151
+ expect(skeletonSizes.lg).toBe('h-3');
152
+ expect(skeletonSizes.xl).toBe('h-3.5');
153
+ expect(skeletonSizes['2xl']).toBe('h-4');
154
+ });
155
+ it('has exactly 5 sizes', () => {
156
+ expect(Object.keys(skeletonSizes)).toHaveLength(5);
157
+ });
158
+ });
159
+ describe('buttonSizes', () => {
160
+ it('contains standard sizes xs through xl', () => {
161
+ expect(buttonSizes).toHaveProperty('xs');
162
+ expect(buttonSizes).toHaveProperty('sm');
163
+ expect(buttonSizes).toHaveProperty('md');
164
+ expect(buttonSizes).toHaveProperty('lg');
165
+ expect(buttonSizes).toHaveProperty('xl');
166
+ });
167
+ it('contains special size variants', () => {
168
+ expect(buttonSizes).toHaveProperty('xl-medium');
169
+ expect(buttonSizes).toHaveProperty('full');
170
+ expect(buttonSizes).toHaveProperty('full-md-auto');
171
+ expect(buttonSizes).toHaveProperty('half');
172
+ });
173
+ it('standard sizes include padding and text sizing', () => {
174
+ const standardSizes = ['xs', 'sm', 'md', 'lg', 'xl'];
175
+ for (const size of standardSizes) {
176
+ expect(buttonSizes[size]).toMatch(/px-\d/);
177
+ expect(buttonSizes[size]).toMatch(/py-\d/);
178
+ expect(buttonSizes[size]).toMatch(/text-(xs|sm)/);
179
+ }
180
+ });
181
+ it('full width variants include w-full', () => {
182
+ expect(buttonSizes.full).toContain('w-full');
183
+ expect(buttonSizes['full-md-auto']).toContain('w-full');
184
+ expect(buttonSizes['xl-medium']).toContain('w-full');
185
+ });
186
+ it('half variant includes w-1/2', () => {
187
+ expect(buttonSizes.half).toContain('w-1/2');
188
+ });
189
+ it('has exactly 9 size variants', () => {
190
+ expect(Object.keys(buttonSizes)).toHaveLength(9);
191
+ });
192
+ });
193
+ describe('buttonIconSizes', () => {
194
+ it('contains xs, sm, md, lg sizes', () => {
195
+ expect(buttonIconSizes).toHaveProperty('xs');
196
+ expect(buttonIconSizes).toHaveProperty('sm');
197
+ expect(buttonIconSizes).toHaveProperty('md');
198
+ expect(buttonIconSizes).toHaveProperty('lg');
199
+ });
200
+ it('uses padding only (no width/height)', () => {
201
+ for (const size of Object.values(buttonIconSizes)) {
202
+ expect(size).toMatch(/^p-\d/);
203
+ expect(size).not.toMatch(/w-/);
204
+ expect(size).not.toMatch(/h-/);
205
+ }
206
+ });
207
+ it('has progressive padding values', () => {
208
+ expect(buttonIconSizes.xs).toBe('p-1.5');
209
+ expect(buttonIconSizes.sm).toBe('p-2');
210
+ expect(buttonIconSizes.md).toBe('p-2.5');
211
+ expect(buttonIconSizes.lg).toBe('p-3');
212
+ });
213
+ it('has exactly 4 sizes', () => {
214
+ expect(Object.keys(buttonIconSizes)).toHaveLength(4);
215
+ });
216
+ });
217
+ describe('buttonAvatarSizes', () => {
218
+ it('contains sm, md, lg sizes', () => {
219
+ expect(buttonAvatarSizes).toHaveProperty('sm');
220
+ expect(buttonAvatarSizes).toHaveProperty('md');
221
+ expect(buttonAvatarSizes).toHaveProperty('lg');
222
+ });
223
+ it('uses min-width and min-height classes', () => {
224
+ for (const size of Object.values(buttonAvatarSizes)) {
225
+ expect(size).toMatch(/min-w-\d+/);
226
+ expect(size).toMatch(/min-h-\d+/);
227
+ }
228
+ });
229
+ it('has progressive dimension values', () => {
230
+ expect(buttonAvatarSizes.sm).toBe('min-w-8 min-h-8');
231
+ expect(buttonAvatarSizes.md).toBe('min-w-10 min-h-10');
232
+ expect(buttonAvatarSizes.lg).toBe('min-w-12 min-h-12');
233
+ });
234
+ it('has exactly 3 sizes', () => {
235
+ expect(Object.keys(buttonAvatarSizes)).toHaveLength(3);
236
+ });
237
+ });
238
+ describe('buttonMenuItemSizes', () => {
239
+ it('contains sm, md, lg, nav sizes', () => {
240
+ expect(buttonMenuItemSizes).toHaveProperty('sm');
241
+ expect(buttonMenuItemSizes).toHaveProperty('md');
242
+ expect(buttonMenuItemSizes).toHaveProperty('lg');
243
+ expect(buttonMenuItemSizes).toHaveProperty('nav');
244
+ });
245
+ it('uses padding and text sizing', () => {
246
+ for (const size of Object.values(buttonMenuItemSizes)) {
247
+ expect(size).toMatch(/py-\d/);
248
+ expect(size).toMatch(/px-\d/);
249
+ expect(size).toMatch(/text-(sm|base)/);
250
+ }
251
+ });
252
+ it('nav size has font-normal for navigation items', () => {
253
+ expect(buttonMenuItemSizes.nav).toContain('font-normal');
254
+ });
255
+ it('has exactly 4 sizes', () => {
256
+ expect(Object.keys(buttonMenuItemSizes)).toHaveLength(4);
257
+ });
258
+ });
259
+ describe('buttonCardSizes', () => {
260
+ it('contains sm, md, lg sizes', () => {
261
+ expect(buttonCardSizes).toHaveProperty('sm');
262
+ expect(buttonCardSizes).toHaveProperty('md');
263
+ expect(buttonCardSizes).toHaveProperty('lg');
264
+ });
265
+ it('uses uniform padding (p-*) not separate px/py', () => {
266
+ for (const size of Object.values(buttonCardSizes)) {
267
+ expect(size).toMatch(/^p-\d/);
268
+ }
269
+ });
270
+ it('includes text sizing', () => {
271
+ for (const size of Object.values(buttonCardSizes)) {
272
+ expect(size).toMatch(/text-(sm|base)/);
273
+ }
274
+ });
275
+ it('has progressive padding values', () => {
276
+ expect(buttonCardSizes.sm).toBe('p-3 text-sm');
277
+ expect(buttonCardSizes.md).toBe('p-4 text-sm');
278
+ expect(buttonCardSizes.lg).toBe('p-5 text-base');
279
+ });
280
+ it('has exactly 3 sizes', () => {
281
+ expect(Object.keys(buttonCardSizes)).toHaveLength(3);
282
+ });
283
+ });
284
+ describe('cross-token consistency', () => {
285
+ it('form input and control sizes have the same keys', () => {
286
+ expect(Object.keys(formInputSizes).sort()).toEqual(Object.keys(formControlSizes).sort());
287
+ });
288
+ it('badge legacy map values match badge size keys', () => {
289
+ const badgeSizeKeys = Object.keys(badgeSizes);
290
+ for (const legacyValue of Object.values(badgeSizeLegacyMap)) {
291
+ expect(badgeSizeKeys).toContain(legacyValue);
292
+ }
293
+ });
294
+ it('button icon sizes are a subset of standard button sizes', () => {
295
+ const buttonIconKeys = Object.keys(buttonIconSizes);
296
+ const buttonKeys = Object.keys(buttonSizes);
297
+ for (const key of buttonIconKeys) {
298
+ expect(buttonKeys).toContain(key);
299
+ }
300
+ });
301
+ it('button avatar sizes are a subset of standard button sizes (sm, md, lg)', () => {
302
+ const avatarKeys = Object.keys(buttonAvatarSizes);
303
+ const expectedKeys = ['sm', 'md', 'lg'];
304
+ expect(avatarKeys.sort()).toEqual(expectedKeys.sort());
305
+ });
306
+ });
307
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=spacing.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spacing.test.d.ts","sourceRoot":"","sources":["../../../src/lib/tokens/__tests__/spacing.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,178 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { spacing, spacingAliases, gapScale, gapMap, alignScale, justifyScale, } from '../spacing';
3
+ describe('spacing tokens', () => {
4
+ describe('spacing', () => {
5
+ it('contains all standard Tailwind spacing values', () => {
6
+ expect(spacing['0']).toBe('0px');
7
+ expect(spacing['1']).toBe('0.25rem');
8
+ expect(spacing['2']).toBe('0.5rem');
9
+ expect(spacing['4']).toBe('1rem');
10
+ expect(spacing['8']).toBe('2rem');
11
+ expect(spacing['16']).toBe('4rem');
12
+ });
13
+ it('includes px value', () => {
14
+ expect(spacing['px']).toBe('1px');
15
+ });
16
+ it('includes fractional values', () => {
17
+ expect(spacing['0.5']).toBe('0.125rem');
18
+ expect(spacing['1.5']).toBe('0.375rem');
19
+ expect(spacing['2.5']).toBe('0.625rem');
20
+ expect(spacing['3.5']).toBe('0.875rem');
21
+ });
22
+ it('includes large values', () => {
23
+ expect(spacing['48']).toBe('12rem');
24
+ expect(spacing['64']).toBe('16rem');
25
+ expect(spacing['96']).toBe('24rem');
26
+ });
27
+ });
28
+ describe('spacingAliases', () => {
29
+ it('maps semantic sizes to spacing values', () => {
30
+ expect(spacingAliases.xs).toBe(spacing['1']);
31
+ expect(spacingAliases.sm).toBe(spacing['2']);
32
+ expect(spacingAliases.md).toBe(spacing['4']);
33
+ expect(spacingAliases.lg).toBe(spacing['6']);
34
+ expect(spacingAliases.xl).toBe(spacing['8']);
35
+ expect(spacingAliases['2xl']).toBe(spacing['12']);
36
+ expect(spacingAliases['3xl']).toBe(spacing['16']);
37
+ });
38
+ it('includes component-specific aliases', () => {
39
+ expect(spacingAliases.cardPadding).toBe(spacing['4']);
40
+ expect(spacingAliases.modalPadding).toBe(spacing['6']);
41
+ expect(spacingAliases.formGap).toBe(spacing['4']);
42
+ expect(spacingAliases.buttonPaddingX).toBe(spacing['4']);
43
+ expect(spacingAliases.buttonPaddingY).toBe(spacing['2']);
44
+ expect(spacingAliases.inputPaddingX).toBe(spacing['3']);
45
+ expect(spacingAliases.inputPaddingY).toBe(spacing['2']);
46
+ expect(spacingAliases.tableCellPaddingX).toBe(spacing['4']);
47
+ expect(spacingAliases.tableCellPaddingY).toBe(spacing['3']);
48
+ });
49
+ });
50
+ describe('gapScale', () => {
51
+ describe('semantic', () => {
52
+ it('provides semantic gap names with Tailwind classes', () => {
53
+ expect(gapScale.semantic.tight).toBe('gap-1');
54
+ expect(gapScale.semantic.compact).toBe('gap-1.5');
55
+ expect(gapScale.semantic.item).toBe('gap-2');
56
+ expect(gapScale.semantic.group).toBe('gap-3');
57
+ expect(gapScale.semantic.content).toBe('gap-4');
58
+ expect(gapScale.semantic.section).toBe('gap-6');
59
+ expect(gapScale.semantic.layout).toBe('gap-8');
60
+ expect(gapScale.semantic.page).toBe('gap-12');
61
+ });
62
+ it('has 8 semantic gap values', () => {
63
+ expect(Object.keys(gapScale.semantic)).toHaveLength(8);
64
+ });
65
+ });
66
+ describe('numeric', () => {
67
+ it('provides numeric gap values matching Tailwind spacing', () => {
68
+ expect(gapScale.numeric['0']).toBe('gap-0');
69
+ expect(gapScale.numeric['1']).toBe('gap-1');
70
+ expect(gapScale.numeric['1.5']).toBe('gap-1.5');
71
+ expect(gapScale.numeric['2']).toBe('gap-2');
72
+ expect(gapScale.numeric['3']).toBe('gap-3');
73
+ expect(gapScale.numeric['4']).toBe('gap-4');
74
+ expect(gapScale.numeric['6']).toBe('gap-6');
75
+ expect(gapScale.numeric['8']).toBe('gap-8');
76
+ expect(gapScale.numeric['12']).toBe('gap-12');
77
+ expect(gapScale.numeric['16']).toBe('gap-16');
78
+ });
79
+ it('has 10 numeric gap values', () => {
80
+ expect(Object.keys(gapScale.numeric)).toHaveLength(10);
81
+ });
82
+ });
83
+ describe('legacy', () => {
84
+ it('provides backwards-compatible aliases', () => {
85
+ expect(gapScale.legacy.none).toBe('gap-0');
86
+ expect(gapScale.legacy.xs).toBe('gap-1');
87
+ expect(gapScale.legacy.sm).toBe('gap-2');
88
+ expect(gapScale.legacy.md).toBe('gap-4');
89
+ expect(gapScale.legacy.lg).toBe('gap-6');
90
+ expect(gapScale.legacy.xl).toBe('gap-8');
91
+ });
92
+ it('has 6 legacy gap values', () => {
93
+ expect(Object.keys(gapScale.legacy)).toHaveLength(6);
94
+ });
95
+ });
96
+ describe('grid', () => {
97
+ it('provides grid-specific semantic gap names', () => {
98
+ expect(gapScale.grid['grid-tight']).toBe('gap-4');
99
+ expect(gapScale.grid['grid-standard']).toBe('gap-6');
100
+ expect(gapScale.grid['grid-spacious']).toBe('gap-8');
101
+ });
102
+ it('has 3 grid gap values', () => {
103
+ expect(Object.keys(gapScale.grid)).toHaveLength(3);
104
+ });
105
+ });
106
+ });
107
+ describe('gapMap', () => {
108
+ it('combines all gap scales into a single map', () => {
109
+ // Check numeric values
110
+ expect(gapMap['0']).toBe('gap-0');
111
+ expect(gapMap['4']).toBe('gap-4');
112
+ // Check legacy values
113
+ expect(gapMap.none).toBe('gap-0');
114
+ expect(gapMap.xs).toBe('gap-1');
115
+ // Check semantic values
116
+ expect(gapMap.tight).toBe('gap-4'); // grid.tight overwrites semantic.tight
117
+ expect(gapMap.content).toBe('gap-4');
118
+ expect(gapMap.section).toBe('gap-6');
119
+ // Check grid values
120
+ expect(gapMap.standard).toBe('gap-6');
121
+ expect(gapMap.spacious).toBe('gap-8');
122
+ });
123
+ it('allows grid values to override semantic values with same key', () => {
124
+ // grid.tight (gap-4) should override semantic.tight (gap-1)
125
+ expect(gapMap.tight).toBe('gap-4');
126
+ });
127
+ it('contains all expected keys', () => {
128
+ const expectedKeys = [
129
+ // numeric
130
+ '0', '1', '1.5', '2', '3', '4', '6', '8', '12', '16',
131
+ // legacy
132
+ 'none', 'xs', 'sm', 'md', 'lg', 'xl',
133
+ // semantic (excluding 'tight' which is overwritten by grid)
134
+ 'compact', 'item', 'group', 'content', 'section', 'layout', 'page',
135
+ // grid
136
+ 'tight', 'standard', 'spacious',
137
+ ];
138
+ for (const key of expectedKeys) {
139
+ expect(gapMap).toHaveProperty(key);
140
+ }
141
+ });
142
+ });
143
+ describe('alignScale', () => {
144
+ it('provides all flexbox align-items classes', () => {
145
+ expect(alignScale.start).toBe('items-start');
146
+ expect(alignScale.center).toBe('items-center');
147
+ expect(alignScale.end).toBe('items-end');
148
+ expect(alignScale.stretch).toBe('items-stretch');
149
+ expect(alignScale.baseline).toBe('items-baseline');
150
+ });
151
+ it('has 5 align values', () => {
152
+ expect(Object.keys(alignScale)).toHaveLength(5);
153
+ });
154
+ it('uses correct Tailwind class format', () => {
155
+ for (const value of Object.values(alignScale)) {
156
+ expect(value).toMatch(/^items-/);
157
+ }
158
+ });
159
+ });
160
+ describe('justifyScale', () => {
161
+ it('provides all flexbox justify-content classes', () => {
162
+ expect(justifyScale.start).toBe('justify-start');
163
+ expect(justifyScale.center).toBe('justify-center');
164
+ expect(justifyScale.end).toBe('justify-end');
165
+ expect(justifyScale.between).toBe('justify-between');
166
+ expect(justifyScale.around).toBe('justify-around');
167
+ expect(justifyScale.evenly).toBe('justify-evenly');
168
+ });
169
+ it('has 6 justify values', () => {
170
+ expect(Object.keys(justifyScale)).toHaveLength(6);
171
+ });
172
+ it('uses correct Tailwind class format', () => {
173
+ for (const value of Object.values(justifyScale)) {
174
+ expect(value).toMatch(/^justify-/);
175
+ }
176
+ });
177
+ });
178
+ });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=variants.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variants.test.d.ts","sourceRoot":"","sources":["../../../src/lib/tokens/__tests__/variants.test.ts"],"names":[],"mappings":""}