@getmicdrop/svelte-components 5.4.0 → 5.4.2

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 +1 -0
  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 +19 -27
  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 +13 -51
  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 +4 -112
  40. package/dist/index.js +8 -184
  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 +2 -2
  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 +162 -184
  50. package/dist/patterns/forms/FormValidationSummary.stories.svelte +6 -6
  51. package/dist/patterns/forms/FormValidationSummary.svelte +11 -4
  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 +50 -34
  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 +85 -111
  68. package/dist/patterns/navigation/BottomNav.svelte +15 -5
  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 +147 -189
  73. package/dist/patterns/navigation/Header.svelte +20 -5
  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 +17 -4
  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 +14 -2
  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 +12 -2
  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 +3 -2
  92. package/dist/primitives/Accordion/Accordion.svelte.d.ts.map +1 -1
  93. package/dist/primitives/Alert/Alert.svelte +10 -11
  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 +15 -58
  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 +37 -69
  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 +10 -10
  103. package/dist/primitives/Drawer/Drawer.svelte +32 -10
  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 +29 -17
  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 +3 -2
  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 +3 -2
  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 +8 -7
  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 +8 -7
  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 +8 -7
  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 +3 -2
  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 +8 -7
  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 +8 -7
  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 +3 -2
  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 +3 -2
  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 +3 -2
  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 +8 -7
  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 +3 -1
  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 +3 -2
  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 +2 -2
  197. package/dist/primitives/Icons/Icon.svelte +19 -3
  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 +5 -3
  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 +3 -2
  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 +3 -1
  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 +3 -3
  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 +3 -2
  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 +3 -1
  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 +8 -7
  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 +3 -3
  231. package/dist/primitives/Icons/MoreHori.svelte +3 -2
  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 +8 -7
  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 +8 -7
  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 +8 -7
  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 +3 -2
  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 +8 -7
  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 +8 -7
  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 +3 -1
  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 +3 -1
  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 +5 -3
  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 +3 -1
  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 +4 -4
  274. package/dist/primitives/Icons/WarningIcon.svelte +6 -6
  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 +7 -20
  287. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  288. package/dist/primitives/Input/Select.svelte +35 -18
  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 +35 -9
  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/Skeleton/Skeleton.svelte +4 -10
  295. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +2 -1
  296. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
  297. package/dist/primitives/Spinner/Spinner.svelte +10 -23
  298. package/dist/primitives/Spinner/Spinner.svelte.d.ts +4 -2
  299. package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
  300. package/dist/primitives/Tabs/TabItem.svelte +3 -2
  301. package/dist/primitives/Tabs/TabItem.svelte.d.ts.map +1 -1
  302. package/dist/primitives/Tabs/Tabs.svelte +2 -1
  303. package/dist/primitives/Tabs/Tabs.svelte.d.ts.map +1 -1
  304. package/dist/primitives/ValidationError.stories.svelte +10 -9
  305. package/dist/primitives/ValidationError.svelte +1 -1
  306. package/dist/primitives/index.d.ts +31 -0
  307. package/dist/primitives/index.d.ts.map +1 -0
  308. package/dist/primitives/index.js +81 -0
  309. package/dist/recipes/ImageUploader/ImageUploader.svelte +62 -83
  310. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
  311. package/dist/recipes/SuperLogin/SuperLogin.svelte +18 -17
  312. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  313. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +25 -6
  314. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -1
  315. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
  316. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +2 -1
  317. package/dist/recipes/feedback/ErrorDisplay.svelte +34 -5
  318. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts +7 -0
  319. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts.map +1 -1
  320. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +14 -5
  321. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts +2 -2
  322. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts.map +1 -1
  323. package/dist/recipes/feedback/index.d.ts +4 -0
  324. package/dist/recipes/feedback/index.d.ts.map +1 -0
  325. package/dist/recipes/feedback/index.js +4 -0
  326. package/dist/recipes/fields/SelectField.svelte +1 -1
  327. package/dist/recipes/fields/SelectField.svelte.d.ts +4 -1
  328. package/dist/recipes/fields/SelectField.svelte.d.ts.map +1 -1
  329. package/dist/recipes/fields/TextareaField.svelte +2 -2
  330. package/dist/recipes/fields/TextareaField.svelte.d.ts +6 -2
  331. package/dist/recipes/fields/TextareaField.svelte.d.ts.map +1 -1
  332. package/dist/recipes/index.d.ts +8 -0
  333. package/dist/recipes/index.d.ts.map +1 -0
  334. package/dist/recipes/index.js +24 -0
  335. package/dist/recipes/inputs/MultiSelect.svelte +56 -24
  336. package/dist/recipes/inputs/MultiSelect.svelte.d.ts +17 -26
  337. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  338. package/dist/recipes/inputs/OTPInput.svelte +25 -10
  339. package/dist/recipes/inputs/OTPInput.svelte.d.ts +15 -20
  340. package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
  341. package/dist/recipes/inputs/PasswordInput.svelte +42 -21
  342. package/dist/recipes/inputs/PasswordInput.svelte.d.ts +27 -34
  343. package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
  344. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +15 -6
  345. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -16
  346. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
  347. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +6 -1
  348. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts.map +1 -1
  349. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +4 -4
  350. package/dist/recipes/inputs/Search.svelte +29 -12
  351. package/dist/recipes/inputs/Search.svelte.d.ts +16 -32
  352. package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
  353. package/dist/recipes/inputs/SelectDropdown.svelte +26 -18
  354. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts +12 -18
  355. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts.map +1 -1
  356. package/dist/recipes/inputs/index.d.ts +8 -0
  357. package/dist/recipes/inputs/index.d.ts.map +1 -0
  358. package/dist/recipes/inputs/index.js +8 -0
  359. package/dist/recipes/modals/index.d.ts +7 -0
  360. package/dist/recipes/modals/index.d.ts.map +1 -0
  361. package/dist/recipes/modals/index.js +7 -0
  362. package/dist/stories/ButtonAuditDashboard.svelte +23 -18
  363. package/dist/stories/ButtonAuditDashboard.svelte.d.ts.map +1 -1
  364. package/dist/stories/PatternsGallery.svelte +66 -55
  365. package/dist/stories/PatternsGallery.svelte.d.ts.map +1 -1
  366. package/dist/stories/PrimitivesGallery.svelte +13 -13
  367. package/dist/stories/RecipesGallery.svelte +85 -55
  368. package/dist/stories/RecipesGallery.svelte.d.ts.map +1 -1
  369. package/dist/stripe/index.d.ts +8 -0
  370. package/dist/stripe/index.d.ts.map +1 -0
  371. package/dist/stripe/index.js +7 -0
  372. package/dist/stripe/useStripeTheme.svelte.d.ts +79 -0
  373. package/dist/stripe/useStripeTheme.svelte.d.ts.map +1 -0
  374. package/dist/stripe/useStripeTheme.svelte.js +138 -0
  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 +14 -2
  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
@@ -4,9 +4,13 @@ type EyeSlashOutline = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const EyeSlashOutline: import("svelte").Component<{
7
+ size?: string;
8
+ color?: string;
7
9
  class?: string;
8
10
  }, {}, "">;
9
11
  type $$ComponentProps = {
12
+ size?: string;
13
+ color?: string;
10
14
  class?: string;
11
15
  };
12
16
  //# sourceMappingURL=EyeSlashOutline.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EyeSlashOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/EyeSlashOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;YAT6B,MAAM;WAS2B;wBAT3C;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"EyeSlashOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/EyeSlashOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;YAAU,MAAM;WASJ;wBAT3C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1,8 +1,10 @@
1
1
  <script>
2
- let { size = "20", color = "currentColor" } = $props();
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
3
  </script>
4
4
 
5
5
  <svg
6
+ class={className}
7
+ aria-hidden="true"
6
8
  width={size}
7
9
  height={size}
8
10
  viewBox="0 0 24 24"
@@ -6,9 +6,11 @@ type FacebookIcon = {
6
6
  declare const FacebookIcon: import("svelte").Component<{
7
7
  size?: string;
8
8
  color?: string;
9
+ class?: string;
9
10
  }, {}, "">;
10
11
  type $$ComponentProps = {
11
12
  size?: string;
12
13
  color?: string;
14
+ class?: string;
13
15
  };
14
16
  //# sourceMappingURL=FacebookIcon.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FacebookIcon.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/FacebookIcon.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;WASS;wBATxC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"FacebookIcon.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/FacebookIcon.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;YAAU,MAAM;WASP;wBATxC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1,15 +1,17 @@
1
1
  <script>
2
- let { class: className = "" } = $props();
3
- </script>
4
-
5
- <svg
6
- class={className}
7
- aria-hidden="true"
8
- fill="none"
9
- stroke="currentColor"
10
- stroke-width="1.5"
11
- viewBox="0 0 24 24"
12
- xmlns="http://www.w3.org/2000/svg"
13
- >
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
+ </script>
4
+
5
+ <svg
6
+ class={className}
7
+ aria-hidden="true"
8
+ width={size}
9
+ height={size}
10
+ fill="none"
11
+ stroke={color}
12
+ stroke-width="1.5"
13
+ viewBox="0 0 24 24"
14
+ xmlns="http://www.w3.org/2000/svg"
15
+ >
14
16
  <path stroke-linecap="round" stroke-linejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 01-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 011.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 00-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 01-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5a3.375 3.375 0 00-3.375-3.375H9.75" />
15
17
  </svg>
@@ -4,9 +4,13 @@ type FileCopyOutline = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const FileCopyOutline: import("svelte").Component<{
7
+ size?: string;
8
+ color?: string;
7
9
  class?: string;
8
10
  }, {}, "">;
9
11
  type $$ComponentProps = {
12
+ size?: string;
13
+ color?: string;
10
14
  class?: string;
11
15
  };
12
16
  //# sourceMappingURL=FileCopyOutline.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileCopyOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/FileCopyOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;YAT6B,MAAM;WAS2B;wBAT3C;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"FileCopyOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/FileCopyOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;YAAU,MAAM;WASJ;wBAT3C;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1,9 +1,10 @@
1
1
  <script>
2
- let { size = "20", color = "currentColor" } = $props();
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
3
  </script>
4
4
 
5
5
  <svg
6
- {size}
6
+ class={className}
7
+ aria-hidden="true"
7
8
  width={size}
8
9
  height={size}
9
10
  viewBox="0 0 20 21"
@@ -6,9 +6,11 @@ type Home = {
6
6
  declare const Home: import("svelte").Component<{
7
7
  size?: string;
8
8
  color?: string;
9
+ class?: string;
9
10
  }, {}, "">;
10
11
  type $$ComponentProps = {
11
12
  size?: string;
12
13
  color?: string;
14
+ class?: string;
13
15
  };
14
16
  //# sourceMappingURL=Home.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Home.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Home.svelte.js"],"names":[],"mappings":";;;;;AAcA;WAV4B,MAAM;YAAU,MAAM;WAUC;wBAVhC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"Home.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Home.svelte.js"],"names":[],"mappings":";;;;;AAcA;WAV4B,MAAM;YAAU,MAAM;YAAU,MAAM;WAUf;wBAVhC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1,14 +1,16 @@
1
1
  <script>
2
- let { class: className = "" } = $props();
3
- </script>
4
-
5
- <svg
6
- class={className}
7
- aria-hidden="true"
8
- fill="currentColor"
9
- viewBox="0 0 24 24"
10
- xmlns="http://www.w3.org/2000/svg"
11
- >
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
+ </script>
4
+
5
+ <svg
6
+ class={className}
7
+ aria-hidden="true"
8
+ width={size}
9
+ height={size}
10
+ fill={color}
11
+ viewBox="0 0 24 24"
12
+ xmlns="http://www.w3.org/2000/svg"
13
+ >
12
14
  <path d="M11.47 3.84a.75.75 0 011.06 0l8.69 8.69a.75.75 0 101.06-1.06l-8.689-8.69a2.25 2.25 0 00-3.182 0l-8.69 8.69a.75.75 0 001.061 1.06l8.69-8.69z" />
13
15
  <path d="M12 5.432l8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 01-.75-.75v-4.5a.75.75 0 00-.75-.75h-3a.75.75 0 00-.75.75V21a.75.75 0 01-.75.75H5.625a1.875 1.875 0 01-1.875-1.875v-6.198a2.29 2.29 0 00.091-.086L12 5.43z" />
14
16
  </svg>
@@ -4,9 +4,13 @@ type HomeSolid = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const HomeSolid: import("svelte").Component<{
7
+ size?: string;
8
+ color?: string;
7
9
  class?: string;
8
10
  }, {}, "">;
9
11
  type $$ComponentProps = {
12
+ size?: string;
13
+ color?: string;
10
14
  class?: string;
11
15
  };
12
16
  //# sourceMappingURL=HomeSolid.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HomeSolid.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/HomeSolid.svelte.js"],"names":[],"mappings":";;;;;AAcA;YAV6B,MAAM;WAUqB;wBAVrC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"HomeSolid.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/HomeSolid.svelte.js"],"names":[],"mappings":";;;;;AAcA;WAV4B,MAAM;YAAU,MAAM;YAAU,MAAM;WAUV;wBAVrC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -86,11 +86,11 @@ describe("Icon Component Tests", () => {
86
86
  expect(screen.getByText('Icon "UnknownIcon" not found.')).toBeInTheDocument();
87
87
  });
88
88
 
89
- test("Default size is 20", () => {
89
+ test("Default size is 24", () => {
90
90
  const { container } = render(Icon, { props: { name: "Home" } });
91
91
  const svg = container.querySelector("svg");
92
92
  // Check width or height attribute
93
- expect(svg).toHaveAttribute("width", "20");
93
+ expect(svg).toHaveAttribute("width", "24");
94
94
  });
95
95
 
96
96
  test("Accepts custom size prop", () => {
@@ -50,14 +50,30 @@
50
50
  Cross,
51
51
  };
52
52
 
53
- let { name, size = "20", color = "currentColor" }: { name: keyof typeof iconMap; size?: string; color?: string } = $props();
53
+ type IconName = keyof typeof iconMap;
54
+
55
+ let { name, size = "24", color = "currentColor", class: className = "" }: { name: string; size?: string; color?: string; class?: string } = $props();
54
56
 
55
- let Component = $derived(iconMap[name] || null);
57
+ // Support both lowercase and PascalCase icon names
58
+ function getIcon(iconName: string) {
59
+ // If already in iconMap, use directly
60
+ if (iconName in iconMap) {
61
+ return iconMap[iconName as IconName];
62
+ }
63
+ // Try PascalCase conversion (e.g., 'home' -> 'Home')
64
+ const pascalCase = iconName.charAt(0).toUpperCase() + iconName.slice(1);
65
+ if (pascalCase in iconMap) {
66
+ return iconMap[pascalCase as IconName];
67
+ }
68
+ return null;
69
+ }
70
+
71
+ let Component = $derived(getIcon(name));
56
72
  </script>
57
73
 
58
74
  {#if Component}
59
75
  {@const IconComponent = Component}
60
- <IconComponent {size} {color} />
76
+ <IconComponent {size} {color} class={className} />
61
77
  {:else}
62
78
  <span>Icon "{name}" not found.</span>
63
79
  {/if}
@@ -1,8 +1,10 @@
1
- declare const Icon: import("svelte").Component<{
2
- name: "Home" | "Shows" | "Availability" | "Profile" | "Payment" | "Notification" | "More" | "MoreHori" | "Info" | "ChevronLeft" | "ChevronRight" | "Signout" | "CheckCircle" | "CheckCircleOutline" | "ErrorCircle" | "ArrowLeft" | "ArrowRight" | "Back" | "DownArrow" | "Message" | "Reload" | "Copy" | "Cross";
1
+ type $$ComponentProps = {
2
+ name: string;
3
3
  size?: string;
4
4
  color?: string;
5
- }, {}, "">;
5
+ class?: string;
6
+ };
7
+ declare const Icon: import("svelte").Component<$$ComponentProps, {}, "">;
6
8
  type Icon = ReturnType<typeof Icon>;
7
9
  export default Icon;
8
10
  //# sourceMappingURL=Icon.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Icon.svelte.ts"],"names":[],"mappings":"AA8FA,QAAA,MAAM,IAAI;;WAhByD,MAAM;YAAU,MAAM;UAgBvC,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Icon.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Icon.svelte.ts"],"names":[],"mappings":"AA4BC,KAAK,gBAAgB,GAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAmF1F,QAAA,MAAM,IAAI,sDAAwC,CAAC;AACnD,KAAK,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC;AACpC,eAAe,IAAI,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Comprehensive Icon Test Suite
3
+ *
4
+ * Tests all icon components against the standardized IconProps API.
5
+ * Ensures consistency across the entire icon library.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=Icons.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icons.spec.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Icons.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Comprehensive Icon Test Suite
3
+ *
4
+ * Tests all icon components against the standardized IconProps API.
5
+ * Ensures consistency across the entire icon library.
6
+ */
7
+ import { describe, it, expect } from 'vitest';
8
+ import { render } from '@testing-library/svelte';
9
+ // =============================================================================
10
+ // Outline Icons (stroke-based)
11
+ // =============================================================================
12
+ import ChevronLeftOutline from './ChevronLeftOutline.svelte';
13
+ import ChevronRightOutline from './ChevronRightOutline.svelte';
14
+ import ChevronDownOutline from './ChevronDownOutline.svelte';
15
+ import ChevronUpOutline from './ChevronUpOutline.svelte';
16
+ import CloseOutline from './CloseOutline.svelte';
17
+ import CheckOutline from './CheckOutline.svelte';
18
+ import ShareOutline from './ShareOutline.svelte';
19
+ import SearchOutline from './SearchOutline.svelte';
20
+ import EyeOutline from './EyeOutline.svelte';
21
+ import EyeSlashOutline from './EyeSlashOutline.svelte';
22
+ import CloseCircleOutline from './CloseCircleOutline.svelte';
23
+ import ExclamationCircleOutline from './ExclamationCircleOutline.svelte';
24
+ import InfoCircleOutline from './InfoCircleOutline.svelte';
25
+ import MinusOutline from './MinusOutline.svelte';
26
+ import PlusOutline from './PlusOutline.svelte';
27
+ import ExclamationTriangleOutline from './ExclamationTriangleOutline.svelte';
28
+ import DotsHorizontalOutline from './DotsHorizontalOutline.svelte';
29
+ import FileCopyOutline from './FileCopyOutline.svelte';
30
+ import ImageOutline from './ImageOutline.svelte';
31
+ import TrashBinOutline from './TrashBinOutline.svelte';
32
+ // =============================================================================
33
+ // Solid Icons (fill-based)
34
+ // =============================================================================
35
+ import CheckCircleSolid from './CheckCircleSolid.svelte';
36
+ import HomeSolid from './HomeSolid.svelte';
37
+ // =============================================================================
38
+ // Brand Icons
39
+ // =============================================================================
40
+ import LogoInstagram from './LogoInstagram.svelte';
41
+ import FacebookIcon from './FacebookIcon.svelte';
42
+ import InstagramIcon from './InstagramIcon.svelte';
43
+ import TwitterIcon from './TwitterIcon.svelte';
44
+ import TiktokIcon from './TiktokIcon.svelte';
45
+ // =============================================================================
46
+ // Legacy Icons
47
+ // =============================================================================
48
+ import ArrowLeft from './ArrowLeft.svelte';
49
+ import ArrowRight from './ArrowRight.svelte';
50
+ import Availability from './Availability.svelte';
51
+ import Back from './Back.svelte';
52
+ import CheckCircle from './CheckCircle.svelte';
53
+ import CheckCircleOutline from './CheckCircleOutline.svelte';
54
+ import ChevronLeft from './ChevronLeft.svelte';
55
+ import ChevronRight from './ChevronRight.svelte';
56
+ import Copy from './Copy.svelte';
57
+ import Cross from './Cross.svelte';
58
+ import DownArrow from './DownArrow.svelte';
59
+ import ErrorCircle from './ErrorCircle.svelte';
60
+ import Home from './Home.svelte';
61
+ import Info from './Info.svelte';
62
+ import Message from './Message.svelte';
63
+ import MoonIcon from './MoonIcon.svelte';
64
+ import More from './More.svelte';
65
+ import MoreHori from './MoreHori.svelte';
66
+ import Notification from './Notification.svelte';
67
+ import Payment from './Payment.svelte';
68
+ import Profile from './Profile.svelte';
69
+ import Reload from './Reload.svelte';
70
+ import Shows from './Shows.svelte';
71
+ import Signout from './Signout.svelte';
72
+ import SunIcon from './SunIcon.svelte';
73
+ import WarningIcon from './WarningIcon.svelte';
74
+ const outlineIcons = {
75
+ ChevronLeftOutline: { component: ChevronLeftOutline, colorAttribute: 'stroke' },
76
+ ChevronRightOutline: { component: ChevronRightOutline, colorAttribute: 'stroke' },
77
+ ChevronDownOutline: { component: ChevronDownOutline, colorAttribute: 'stroke' },
78
+ ChevronUpOutline: { component: ChevronUpOutline, colorAttribute: 'stroke' },
79
+ CloseOutline: { component: CloseOutline, colorAttribute: 'stroke' },
80
+ CheckOutline: { component: CheckOutline, colorAttribute: 'stroke' },
81
+ ShareOutline: { component: ShareOutline, colorAttribute: 'stroke' },
82
+ SearchOutline: { component: SearchOutline, colorAttribute: 'stroke' },
83
+ EyeOutline: { component: EyeOutline, colorAttribute: 'stroke' },
84
+ EyeSlashOutline: { component: EyeSlashOutline, colorAttribute: 'stroke' },
85
+ CloseCircleOutline: { component: CloseCircleOutline, colorAttribute: 'stroke' },
86
+ ExclamationCircleOutline: { component: ExclamationCircleOutline, colorAttribute: 'stroke' },
87
+ InfoCircleOutline: { component: InfoCircleOutline, colorAttribute: 'stroke' },
88
+ MinusOutline: { component: MinusOutline, colorAttribute: 'stroke' },
89
+ PlusOutline: { component: PlusOutline, colorAttribute: 'stroke' },
90
+ ExclamationTriangleOutline: { component: ExclamationTriangleOutline, colorAttribute: 'stroke' },
91
+ DotsHorizontalOutline: { component: DotsHorizontalOutline, colorAttribute: 'stroke' },
92
+ FileCopyOutline: { component: FileCopyOutline, colorAttribute: 'stroke' },
93
+ ImageOutline: { component: ImageOutline, colorAttribute: 'stroke' },
94
+ TrashBinOutline: { component: TrashBinOutline, colorAttribute: 'stroke' },
95
+ };
96
+ const solidIcons = {
97
+ CheckCircleSolid: { component: CheckCircleSolid, colorAttribute: 'fill' },
98
+ HomeSolid: { component: HomeSolid, colorAttribute: 'fill' },
99
+ };
100
+ const brandIcons = {
101
+ LogoInstagram: { component: LogoInstagram, colorAttribute: 'stroke' },
102
+ FacebookIcon: { component: FacebookIcon, colorAttribute: 'fill' },
103
+ InstagramIcon: { component: InstagramIcon, colorAttribute: 'stroke' },
104
+ TwitterIcon: { component: TwitterIcon, colorAttribute: 'fill' },
105
+ TiktokIcon: { component: TiktokIcon, colorAttribute: 'fill' },
106
+ };
107
+ const legacyIcons = {
108
+ ArrowLeft: { component: ArrowLeft, colorAttribute: 'stroke' },
109
+ ArrowRight: { component: ArrowRight, colorAttribute: 'stroke' },
110
+ Availability: { component: Availability, colorAttribute: 'stroke' },
111
+ Back: { component: Back, colorAttribute: 'stroke' },
112
+ CheckCircle: { component: CheckCircle, colorAttribute: 'fill' },
113
+ CheckCircleOutline: { component: CheckCircleOutline, colorAttribute: 'stroke' },
114
+ ChevronLeft: { component: ChevronLeft, colorAttribute: 'stroke' },
115
+ ChevronRight: { component: ChevronRight, colorAttribute: 'stroke' },
116
+ Copy: { component: Copy, colorAttribute: 'stroke' },
117
+ Cross: { component: Cross, colorAttribute: 'stroke' },
118
+ DownArrow: { component: DownArrow, colorAttribute: 'stroke' },
119
+ ErrorCircle: { component: ErrorCircle, colorAttribute: 'stroke' },
120
+ Home: { component: Home, colorAttribute: 'stroke' },
121
+ Info: { component: Info, colorAttribute: 'stroke' },
122
+ Message: { component: Message, colorAttribute: 'stroke' },
123
+ MoonIcon: { component: MoonIcon, colorAttribute: 'stroke' },
124
+ More: { component: More, colorAttribute: 'stroke' },
125
+ MoreHori: { component: MoreHori, colorAttribute: 'stroke' },
126
+ Notification: { component: Notification, colorAttribute: 'stroke' },
127
+ Payment: { component: Payment, colorAttribute: 'stroke' },
128
+ Profile: { component: Profile, colorAttribute: 'stroke' },
129
+ Reload: { component: Reload, colorAttribute: 'stroke' },
130
+ Shows: { component: Shows, colorAttribute: 'stroke' },
131
+ Signout: { component: Signout, colorAttribute: 'stroke' },
132
+ SunIcon: { component: SunIcon, colorAttribute: 'stroke' },
133
+ WarningIcon: { component: WarningIcon, defaultSize: '16', colorAttribute: 'fill' },
134
+ };
135
+ const allIcons = {
136
+ ...outlineIcons,
137
+ ...solidIcons,
138
+ ...brandIcons,
139
+ ...legacyIcons,
140
+ };
141
+ // =============================================================================
142
+ // Test Helpers
143
+ // =============================================================================
144
+ function testIcon(name, config) {
145
+ const { component: IconComponent, defaultSize = '24', colorAttribute = 'stroke' } = config;
146
+ describe(name, () => {
147
+ it('renders an SVG element', () => {
148
+ const { container } = render(IconComponent);
149
+ const svg = container.querySelector('svg');
150
+ expect(svg).toBeInTheDocument();
151
+ });
152
+ it(`has default size of ${defaultSize}`, () => {
153
+ const { container } = render(IconComponent);
154
+ const svg = container.querySelector('svg');
155
+ expect(svg).toHaveAttribute('width', defaultSize);
156
+ expect(svg).toHaveAttribute('height', defaultSize);
157
+ });
158
+ it('accepts custom size prop', () => {
159
+ const { container } = render(IconComponent, {
160
+ props: { size: '48' },
161
+ });
162
+ const svg = container.querySelector('svg');
163
+ expect(svg).toHaveAttribute('width', '48');
164
+ expect(svg).toHaveAttribute('height', '48');
165
+ });
166
+ it('accepts custom class prop', () => {
167
+ const { container } = render(IconComponent, {
168
+ props: { class: 'my-custom-class' },
169
+ });
170
+ const svg = container.querySelector('svg');
171
+ expect(svg).toHaveClass('my-custom-class');
172
+ });
173
+ it('has aria-hidden="true" for accessibility', () => {
174
+ const { container } = render(IconComponent);
175
+ const svg = container.querySelector('svg');
176
+ expect(svg).toHaveAttribute('aria-hidden', 'true');
177
+ });
178
+ it('has a viewBox attribute', () => {
179
+ const { container } = render(IconComponent);
180
+ const svg = container.querySelector('svg');
181
+ expect(svg).toHaveAttribute('viewBox');
182
+ });
183
+ it('uses currentColor as default color', () => {
184
+ const { container } = render(IconComponent);
185
+ if (colorAttribute === 'stroke' || colorAttribute === 'both') {
186
+ const strokeElements = container.querySelectorAll('[stroke]');
187
+ const hasCurrentColorStroke = Array.from(strokeElements).some((el) => el.getAttribute('stroke') === 'currentColor');
188
+ if (strokeElements.length > 0) {
189
+ expect(hasCurrentColorStroke).toBe(true);
190
+ }
191
+ }
192
+ if (colorAttribute === 'fill' || colorAttribute === 'both') {
193
+ const fillElements = container.querySelectorAll('[fill]:not([fill="none"])');
194
+ const hasCurrentColorFill = Array.from(fillElements).some((el) => el.getAttribute('fill') === 'currentColor');
195
+ if (fillElements.length > 0) {
196
+ expect(hasCurrentColorFill).toBe(true);
197
+ }
198
+ }
199
+ });
200
+ it('accepts custom color prop', () => {
201
+ const { container } = render(IconComponent, {
202
+ props: { color: '#ff0000' },
203
+ });
204
+ if (colorAttribute === 'stroke' || colorAttribute === 'both') {
205
+ const strokeElements = container.querySelectorAll('[stroke]');
206
+ const hasCustomStroke = Array.from(strokeElements).some((el) => el.getAttribute('stroke') === '#ff0000');
207
+ if (strokeElements.length > 0) {
208
+ expect(hasCustomStroke).toBe(true);
209
+ }
210
+ }
211
+ if (colorAttribute === 'fill' || colorAttribute === 'both') {
212
+ const fillElements = container.querySelectorAll('[fill]:not([fill="none"])');
213
+ const hasCustomFill = Array.from(fillElements).some((el) => el.getAttribute('fill') === '#ff0000');
214
+ if (fillElements.length > 0) {
215
+ expect(hasCustomFill).toBe(true);
216
+ }
217
+ }
218
+ });
219
+ });
220
+ }
221
+ // =============================================================================
222
+ // Test Suites
223
+ // =============================================================================
224
+ describe('Icon Components', () => {
225
+ describe('Outline Icons', () => {
226
+ Object.entries(outlineIcons).forEach(([name, config]) => {
227
+ testIcon(name, config);
228
+ });
229
+ });
230
+ describe('Solid Icons', () => {
231
+ Object.entries(solidIcons).forEach(([name, config]) => {
232
+ testIcon(name, config);
233
+ });
234
+ });
235
+ describe('Brand Icons', () => {
236
+ Object.entries(brandIcons).forEach(([name, config]) => {
237
+ testIcon(name, config);
238
+ });
239
+ });
240
+ describe('Legacy Icons', () => {
241
+ Object.entries(legacyIcons).forEach(([name, config]) => {
242
+ testIcon(name, config);
243
+ });
244
+ });
245
+ // =============================================================================
246
+ // API Consistency Tests
247
+ // =============================================================================
248
+ describe('API Consistency', () => {
249
+ it('all icons have the same prop interface', () => {
250
+ // This test verifies that all icons accept the standard props
251
+ // by attempting to render each with all standard props
252
+ const testProps = {
253
+ size: '32',
254
+ color: 'blue',
255
+ class: 'test-class',
256
+ };
257
+ Object.entries(allIcons).forEach(([name, { component }]) => {
258
+ const { container } = render(component, { props: testProps });
259
+ const svg = container.querySelector('svg');
260
+ expect(svg, `${name} should render an SVG`).toBeInTheDocument();
261
+ expect(svg, `${name} should accept size prop`).toHaveAttribute('width', '32');
262
+ expect(svg, `${name} should accept class prop`).toHaveClass('test-class');
263
+ });
264
+ });
265
+ it('all icons count matches expected', () => {
266
+ const totalIcons = Object.keys(allIcons).length;
267
+ // 20 outline + 2 solid + 5 brand + 26 legacy = 53
268
+ // Note: CheckCircleOutline appears in both outline and legacy, so actual unique count may differ
269
+ expect(totalIcons).toBeGreaterThanOrEqual(50);
270
+ });
271
+ });
272
+ // =============================================================================
273
+ // Accessibility Tests
274
+ // =============================================================================
275
+ describe('Accessibility', () => {
276
+ it('all icons have aria-hidden="true"', () => {
277
+ Object.entries(allIcons).forEach(([name, { component }]) => {
278
+ const { container } = render(component);
279
+ const svg = container.querySelector('svg');
280
+ expect(svg, `${name} should have aria-hidden`).toHaveAttribute('aria-hidden', 'true');
281
+ });
282
+ });
283
+ it('all icons have viewBox for proper scaling', () => {
284
+ Object.entries(allIcons).forEach(([name, { component }]) => {
285
+ const { container } = render(component);
286
+ const svg = container.querySelector('svg');
287
+ expect(svg, `${name} should have viewBox`).toHaveAttribute('viewBox');
288
+ });
289
+ });
290
+ });
291
+ });
@@ -1,14 +1,16 @@
1
1
  <script>
2
- let { class: className = 'w-5 h-5', ...restProps } = $props();
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
3
  </script>
4
4
 
5
5
  <svg
6
6
  class={className}
7
+ aria-hidden="true"
8
+ width={size}
9
+ height={size}
7
10
  fill="none"
8
- stroke="currentColor"
11
+ stroke={color}
9
12
  viewBox="0 0 24 24"
10
13
  xmlns="http://www.w3.org/2000/svg"
11
- {...restProps}
12
14
  >
13
15
  <path
14
16
  stroke-linecap="round"
@@ -4,9 +4,13 @@ type ImageOutline = {
4
4
  $set?(props: Partial<$$ComponentProps>): void;
5
5
  };
6
6
  declare const ImageOutline: import("svelte").Component<{
7
+ size?: string;
8
+ color?: string;
7
9
  class?: string;
8
- } & Record<string, any>, {}, "">;
10
+ }, {}, "">;
9
11
  type $$ComponentProps = {
12
+ size?: string;
13
+ color?: string;
10
14
  class?: string;
11
- } & Record<string, any>;
15
+ };
12
16
  //# sourceMappingURL=ImageOutline.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/ImageOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;YAT6B,MAAM;iCASwB;wBATxC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC"}
1
+ {"version":3,"file":"ImageOutline.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/ImageOutline.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;YAAU,MAAM;WASP;wBATxC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
@@ -1,9 +1,10 @@
1
1
  <script>
2
- let { size = "20", color = "currentColor" } = $props();
2
+ let { size = "24", color = "currentColor", class: className = "" } = $props();
3
3
  </script>
4
4
 
5
5
  <svg
6
- {size}
6
+ class={className}
7
+ aria-hidden="true"
7
8
  width={size}
8
9
  height={size}
9
10
  viewBox="0 0 18 18"
@@ -6,9 +6,11 @@ type Info = {
6
6
  declare const Info: import("svelte").Component<{
7
7
  size?: string;
8
8
  color?: string;
9
+ class?: string;
9
10
  }, {}, "">;
10
11
  type $$ComponentProps = {
11
12
  size?: string;
12
13
  color?: string;
14
+ class?: string;
13
15
  };
14
16
  //# sourceMappingURL=Info.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Info.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Info.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;WASC;wBAThC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}
1
+ {"version":3,"file":"Info.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/primitives/Icons/Info.svelte.js"],"names":[],"mappings":";;;;;AAaA;WAT4B,MAAM;YAAU,MAAM;YAAU,MAAM;WASf;wBAThC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE"}