@getmicdrop/svelte-components 5.5.1 → 5.5.5

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 (472) hide show
  1. package/dist/calendar/AboutShow/AboutShow.spec.d.ts +2 -0
  2. package/dist/calendar/AboutShow/AboutShow.spec.d.ts.map +1 -0
  3. package/dist/calendar/AboutShow/AboutShow.spec.js +791 -0
  4. package/dist/calendar/AboutShow/AboutShow.svelte +172 -172
  5. package/dist/calendar/Calendar/MiniMonthCalendar.spec.d.ts +2 -0
  6. package/dist/calendar/Calendar/MiniMonthCalendar.spec.d.ts.map +1 -0
  7. package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +1191 -0
  8. package/dist/calendar/Calendar/MiniMonthCalendar.svelte +782 -782
  9. package/dist/calendar/FAQs/FAQs.spec.d.ts +2 -0
  10. package/dist/calendar/FAQs/FAQs.spec.d.ts.map +1 -0
  11. package/dist/calendar/FAQs/FAQs.spec.js +238 -0
  12. package/dist/calendar/FAQs/FAQs.svelte +75 -75
  13. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts +2 -0
  14. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts.map +1 -0
  15. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.js +420 -0
  16. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +126 -126
  17. package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts +2 -0
  18. package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts.map +1 -0
  19. package/dist/calendar/OrderSummary/OrderSummary.spec.js +808 -0
  20. package/dist/calendar/OrderSummary/OrderSummary.svelte +367 -367
  21. package/dist/calendar/PublicCard/PublicCard.spec.d.ts +2 -0
  22. package/dist/calendar/PublicCard/PublicCard.spec.d.ts.map +1 -0
  23. package/dist/calendar/PublicCard/PublicCard.spec.js +301 -0
  24. package/dist/calendar/PublicCard/PublicCard.svelte +134 -134
  25. package/dist/calendar/ShowCard/ShowCard.spec.d.ts +2 -0
  26. package/dist/calendar/ShowCard/ShowCard.spec.d.ts.map +1 -0
  27. package/dist/calendar/ShowCard/ShowCard.spec.js +714 -0
  28. package/dist/calendar/ShowCard/ShowCard.svelte +157 -157
  29. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts +2 -0
  30. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts.map +1 -0
  31. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +241 -0
  32. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +61 -61
  33. package/dist/components/Layout/Grid.svelte +4 -4
  34. package/dist/components/Layout/Section.spec.d.ts +2 -0
  35. package/dist/components/Layout/Section.spec.d.ts.map +1 -0
  36. package/dist/components/Layout/Section.spec.js +149 -0
  37. package/dist/components/Layout/Section.svelte +80 -80
  38. package/dist/components/Layout/Sidebar.spec.d.ts +2 -0
  39. package/dist/components/Layout/Sidebar.spec.d.ts.map +1 -0
  40. package/dist/components/Layout/Sidebar.spec.js +186 -0
  41. package/dist/components/Layout/Sidebar.svelte +108 -108
  42. package/dist/components/Layout/Stack.spec.js +3 -3
  43. package/dist/components/Layout/Stack.svelte +6 -6
  44. package/dist/constants/formOptions.spec.js +9 -5
  45. package/dist/constants/validation.js +91 -91
  46. package/dist/constants/validation.spec.js +64 -64
  47. package/dist/datetime/__tests__/format.test.js +1 -1
  48. package/dist/datetime/__tests__/parse.test.js +1 -1
  49. package/dist/datetime/__tests__/timezone.test.js +124 -2
  50. package/dist/datetime/parse.js +1 -1
  51. package/dist/forms/createFieldTracker.spec.d.ts +2 -0
  52. package/dist/forms/createFieldTracker.spec.d.ts.map +1 -0
  53. package/dist/forms/createFieldTracker.spec.js +343 -0
  54. package/dist/forms/createFormStore.spec.d.ts +2 -0
  55. package/dist/forms/createFormStore.spec.d.ts.map +1 -0
  56. package/dist/forms/createFormStore.spec.js +689 -0
  57. package/dist/forms/createFormStore.svelte.js +0 -1
  58. package/dist/index.d.ts +5 -112
  59. package/dist/index.js +40 -225
  60. package/dist/patterns/data/DataGrid.spec.d.ts +2 -0
  61. package/dist/patterns/data/DataGrid.spec.d.ts.map +1 -0
  62. package/dist/patterns/data/DataGrid.spec.js +159 -0
  63. package/dist/patterns/data/DataGrid.svelte +45 -45
  64. package/dist/patterns/data/DataList.spec.d.ts +2 -0
  65. package/dist/patterns/data/DataList.spec.d.ts.map +1 -0
  66. package/dist/patterns/data/DataList.spec.js +158 -0
  67. package/dist/patterns/data/DataList.svelte +24 -24
  68. package/dist/patterns/data/DataTable.spec.d.ts +2 -0
  69. package/dist/patterns/data/DataTable.spec.d.ts.map +1 -0
  70. package/dist/patterns/data/DataTable.spec.js +196 -0
  71. package/dist/patterns/data/DataTable.svelte +36 -36
  72. package/dist/patterns/forms/FormActions.spec.js +95 -88
  73. package/dist/patterns/forms/FormActions.stories.svelte +97 -97
  74. package/dist/patterns/forms/FormActions.svelte +46 -46
  75. package/dist/patterns/forms/FormGrid.spec.d.ts +2 -0
  76. package/dist/patterns/forms/FormGrid.spec.d.ts.map +1 -0
  77. package/dist/patterns/forms/FormGrid.spec.js +125 -0
  78. package/dist/patterns/forms/FormGrid.svelte +33 -33
  79. package/dist/patterns/forms/FormSection.spec.d.ts +2 -0
  80. package/dist/patterns/forms/FormSection.spec.d.ts.map +1 -0
  81. package/dist/patterns/forms/FormSection.spec.js +153 -0
  82. package/dist/patterns/forms/FormSection.svelte +32 -32
  83. package/dist/patterns/forms/FormValidationSummary.stories.svelte +83 -83
  84. package/dist/patterns/forms/FormValidationSummary.svelte +33 -33
  85. package/dist/patterns/layout/Sidebar.spec.d.ts +2 -0
  86. package/dist/patterns/layout/Sidebar.spec.d.ts.map +1 -0
  87. package/dist/patterns/layout/Sidebar.spec.js +159 -0
  88. package/dist/patterns/layout/Sidebar.svelte +39 -39
  89. package/dist/patterns/navigation/BottomNav.stories.svelte +117 -117
  90. package/dist/patterns/navigation/BottomNav.svelte +20 -20
  91. package/dist/patterns/navigation/Header.spec.js +33 -24
  92. package/dist/patterns/navigation/Header.stories.svelte +77 -77
  93. package/dist/patterns/navigation/Header.svelte +193 -193
  94. package/dist/patterns/page/PageHeader.spec.d.ts +2 -0
  95. package/dist/patterns/page/PageHeader.spec.d.ts.map +1 -0
  96. package/dist/patterns/page/PageHeader.spec.js +167 -0
  97. package/dist/patterns/page/PageHeader.svelte +18 -18
  98. package/dist/patterns/page/PageLayout.spec.d.ts +2 -0
  99. package/dist/patterns/page/PageLayout.spec.d.ts.map +1 -0
  100. package/dist/patterns/page/PageLayout.spec.js +145 -0
  101. package/dist/patterns/page/PageLayout.svelte +40 -40
  102. package/dist/patterns/page/PageLoader.spec.js +57 -54
  103. package/dist/patterns/page/PageLoader.stories.svelte +137 -137
  104. package/dist/patterns/page/PageLoader.svelte +24 -24
  105. package/dist/patterns/page/SectionHeader.spec.d.ts +2 -0
  106. package/dist/patterns/page/SectionHeader.spec.d.ts.map +1 -0
  107. package/dist/patterns/page/SectionHeader.spec.js +197 -0
  108. package/dist/patterns/page/SectionHeader.svelte +29 -29
  109. package/dist/presets/badges.js +112 -112
  110. package/dist/presets/badges.spec.d.ts +2 -0
  111. package/dist/presets/badges.spec.d.ts.map +1 -0
  112. package/dist/presets/badges.spec.js +172 -0
  113. package/dist/presets/buttons.js +76 -76
  114. package/dist/presets/buttons.spec.d.ts +2 -0
  115. package/dist/presets/buttons.spec.d.ts.map +1 -0
  116. package/dist/presets/buttons.spec.js +135 -0
  117. package/dist/presets/index.js +9 -9
  118. package/dist/primitives/Accordion/Accordion.spec.d.ts +2 -0
  119. package/dist/primitives/Accordion/Accordion.spec.d.ts.map +1 -0
  120. package/dist/primitives/Accordion/Accordion.spec.js +83 -0
  121. package/dist/primitives/Accordion/Accordion.stories.svelte +75 -75
  122. package/dist/primitives/Accordion/Accordion.svelte +42 -42
  123. package/dist/primitives/Accordion/AccordionItem.spec.d.ts +2 -0
  124. package/dist/primitives/Accordion/AccordionItem.spec.d.ts.map +1 -0
  125. package/dist/primitives/Accordion/AccordionItem.spec.js +661 -0
  126. package/dist/primitives/Accordion/AccordionItem.svelte +95 -95
  127. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -0
  128. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts +35 -0
  129. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts.map +1 -0
  130. package/dist/primitives/Alert/Alert.spec.js +173 -170
  131. package/dist/primitives/Alert/Alert.stories.svelte +88 -88
  132. package/dist/primitives/Alert/Alert.svelte +27 -27
  133. package/dist/primitives/Avatar/Avatar.spec.d.ts +2 -0
  134. package/dist/primitives/Avatar/Avatar.spec.d.ts.map +1 -0
  135. package/dist/primitives/Avatar/Avatar.spec.js +211 -0
  136. package/dist/primitives/Avatar/Avatar.stories.svelte +94 -94
  137. package/dist/primitives/Avatar/Avatar.svelte +66 -66
  138. package/dist/primitives/Badges/Badge.spec.js +144 -103
  139. package/dist/primitives/Badges/Badge.stories.svelte +86 -86
  140. package/dist/primitives/Badges/Badge.svelte +79 -79
  141. package/dist/primitives/BottomSheet/BottomSheet.spec.js +136 -127
  142. package/dist/primitives/BottomSheet/BottomSheet.stories.svelte +83 -83
  143. package/dist/primitives/BottomSheet/BottomSheet.svelte +100 -100
  144. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte +13 -0
  145. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts +7 -0
  146. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts.map +1 -0
  147. package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +122 -120
  148. package/dist/primitives/Breadcrumb/Breadcrumb.stories.svelte +23 -23
  149. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +89 -89
  150. package/dist/primitives/Button/Button.spec.js +223 -211
  151. package/dist/primitives/Button/Button.stories.svelte +76 -76
  152. package/dist/primitives/Button/Button.svelte +270 -270
  153. package/dist/primitives/Button/ButtonSaveDemo.spec.js +146 -48
  154. package/dist/primitives/Button/ButtonSaveDemo.svelte +25 -25
  155. package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts +2 -0
  156. package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts.map +1 -0
  157. package/dist/primitives/Button/ButtonVariantShowcase.spec.js +202 -0
  158. package/dist/primitives/Button/ButtonVariantShowcase.svelte +129 -129
  159. package/dist/primitives/Card.spec.js +49 -49
  160. package/dist/primitives/Card.stories.svelte +22 -22
  161. package/dist/primitives/Card.svelte +28 -28
  162. package/dist/primitives/Checkbox/Checkbox.spec.d.ts +2 -0
  163. package/dist/primitives/Checkbox/Checkbox.spec.d.ts.map +1 -0
  164. package/dist/primitives/Checkbox/Checkbox.spec.js +252 -0
  165. package/dist/primitives/Checkbox/Checkbox.stories.svelte +84 -84
  166. package/dist/primitives/Checkbox/Checkbox.svelte +88 -88
  167. package/dist/primitives/DarkModeToggle.spec.js +390 -357
  168. package/dist/primitives/DarkModeToggle.stories.svelte +57 -57
  169. package/dist/primitives/DarkModeToggle.svelte +136 -136
  170. package/dist/primitives/Drawer/Drawer.spec.d.ts +2 -0
  171. package/dist/primitives/Drawer/Drawer.spec.d.ts.map +1 -0
  172. package/dist/primitives/Drawer/Drawer.spec.js +212 -0
  173. package/dist/primitives/Drawer/Drawer.stories.svelte +80 -80
  174. package/dist/primitives/Drawer/Drawer.svelte +120 -120
  175. package/dist/primitives/Dropdown/Dropdown.spec.d.ts +2 -0
  176. package/dist/primitives/Dropdown/Dropdown.spec.d.ts.map +1 -0
  177. package/dist/primitives/Dropdown/Dropdown.spec.js +366 -0
  178. package/dist/primitives/Dropdown/Dropdown.stories.svelte +137 -137
  179. package/dist/primitives/Dropdown/Dropdown.svelte +14 -14
  180. package/dist/primitives/Dropdown/DropdownItem.spec.d.ts +2 -0
  181. package/dist/primitives/Dropdown/DropdownItem.spec.d.ts.map +1 -0
  182. package/dist/primitives/Dropdown/DropdownItem.spec.js +182 -0
  183. package/dist/primitives/Dropdown/DropdownItem.svelte +80 -80
  184. package/dist/primitives/Icons/ArrowLeft.svelte +8 -8
  185. package/dist/primitives/Icons/ArrowRight.svelte +8 -8
  186. package/dist/primitives/Icons/Availability.svelte +14 -14
  187. package/dist/primitives/Icons/Back.svelte +14 -14
  188. package/dist/primitives/Icons/CheckCircle.svelte +6 -6
  189. package/dist/primitives/Icons/CheckCircleOutline.svelte +15 -15
  190. package/dist/primitives/Icons/ChevronLeft.svelte +4 -4
  191. package/dist/primitives/Icons/ChevronRight.svelte +4 -4
  192. package/dist/primitives/Icons/Copy.svelte +15 -15
  193. package/dist/primitives/Icons/Cross.svelte +5 -5
  194. package/dist/primitives/Icons/DownArrow.svelte +8 -8
  195. package/dist/primitives/Icons/ErrorCircle.svelte +6 -6
  196. package/dist/primitives/Icons/FacebookIcon.svelte +2 -2
  197. package/dist/primitives/Icons/Home.svelte +15 -15
  198. package/dist/primitives/Icons/Icon.spec.js +169 -169
  199. package/dist/primitives/Icons/Icon.stories.svelte +100 -100
  200. package/dist/primitives/Icons/Icon.svelte +52 -52
  201. package/dist/primitives/Icons/IconGallery.stories.svelte +235 -235
  202. package/dist/primitives/Icons/Info.svelte +7 -7
  203. package/dist/primitives/Icons/InstagramIcon.svelte +4 -4
  204. package/dist/primitives/Icons/LogoInstagram.svelte +2 -2
  205. package/dist/primitives/Icons/Message.svelte +15 -15
  206. package/dist/primitives/Icons/MoonIcon.svelte +5 -5
  207. package/dist/primitives/Icons/More.svelte +21 -21
  208. package/dist/primitives/Icons/MoreHori.spec.js +61 -61
  209. package/dist/primitives/Icons/MoreHori.svelte +22 -22
  210. package/dist/primitives/Icons/Notification.svelte +14 -14
  211. package/dist/primitives/Icons/Payment.svelte +14 -14
  212. package/dist/primitives/Icons/Profile.svelte +21 -21
  213. package/dist/primitives/Icons/Reload.svelte +29 -29
  214. package/dist/primitives/Icons/Shows.svelte +21 -21
  215. package/dist/primitives/Icons/Signout.svelte +21 -21
  216. package/dist/primitives/Icons/SunIcon.svelte +8 -8
  217. package/dist/primitives/Icons/TiktokIcon.svelte +2 -2
  218. package/dist/primitives/Icons/TwitterIcon.svelte +2 -2
  219. package/dist/primitives/Icons/WarningIcon.spec.js +18 -18
  220. package/dist/primitives/Icons/WarningIcon.svelte +5 -5
  221. package/dist/primitives/Icons/iconTestUtils.spec.d.ts +2 -0
  222. package/dist/primitives/Icons/iconTestUtils.spec.d.ts.map +1 -0
  223. package/dist/primitives/Icons/iconTestUtils.spec.js +235 -0
  224. package/dist/primitives/Input/Input.spec.js +573 -573
  225. package/dist/primitives/Input/Input.stories.svelte +139 -139
  226. package/dist/primitives/Input/Input.svelte +384 -397
  227. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  228. package/dist/primitives/Input/Select.spec.js +212 -218
  229. package/dist/primitives/Input/Select.stories.svelte +112 -112
  230. package/dist/primitives/Input/Select.svelte +128 -128
  231. package/dist/primitives/Input/Textarea.spec.d.ts +2 -0
  232. package/dist/primitives/Input/Textarea.spec.d.ts.map +1 -0
  233. package/dist/primitives/Input/Textarea.spec.js +255 -0
  234. package/dist/primitives/Input/Textarea.stories.svelte +137 -137
  235. package/dist/primitives/Input/Textarea.svelte +35 -35
  236. package/dist/primitives/Label/Label.spec.d.ts +2 -0
  237. package/dist/primitives/Label/Label.spec.d.ts.map +1 -0
  238. package/dist/primitives/Label/Label.spec.js +157 -0
  239. package/dist/primitives/Label/Label.svelte +37 -37
  240. package/dist/primitives/Modal/Modal.spec.js +99 -95
  241. package/dist/primitives/Modal/Modal.stories.svelte +86 -86
  242. package/dist/primitives/Modal/Modal.svelte +158 -158
  243. package/dist/primitives/Modal/ModalTestWrapper.svelte +65 -0
  244. package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts +23 -0
  245. package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts.map +1 -0
  246. package/dist/primitives/NumberInput/NumberInput.spec.d.ts +2 -0
  247. package/dist/primitives/NumberInput/NumberInput.spec.d.ts.map +1 -0
  248. package/dist/primitives/NumberInput/NumberInput.spec.js +235 -0
  249. package/dist/primitives/NumberInput/NumberInput.svelte +106 -106
  250. package/dist/primitives/Pagination/Pagination.spec.d.ts +2 -0
  251. package/dist/primitives/Pagination/Pagination.spec.d.ts.map +1 -0
  252. package/dist/primitives/Pagination/Pagination.spec.js +266 -0
  253. package/dist/primitives/Pagination/Pagination.stories.svelte +76 -76
  254. package/dist/primitives/Pagination/Pagination.svelte +261 -261
  255. package/dist/primitives/Radio/Radio.spec.d.ts +2 -0
  256. package/dist/primitives/Radio/Radio.spec.d.ts.map +1 -0
  257. package/dist/primitives/Radio/Radio.spec.js +206 -0
  258. package/dist/primitives/Radio/Radio.stories.svelte +80 -80
  259. package/dist/primitives/Radio/Radio.svelte +67 -67
  260. package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts +2 -0
  261. package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts.map +1 -0
  262. package/dist/primitives/Skeleton/CardPlaceholder.spec.js +156 -0
  263. package/dist/primitives/Skeleton/CardPlaceholder.svelte +87 -87
  264. package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts +2 -0
  265. package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts.map +1 -0
  266. package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +120 -0
  267. package/dist/primitives/Skeleton/ImagePlaceholder.svelte +59 -59
  268. package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts +2 -0
  269. package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts.map +1 -0
  270. package/dist/primitives/Skeleton/ListPlaceholder.spec.js +220 -0
  271. package/dist/primitives/Skeleton/ListPlaceholder.svelte +76 -76
  272. package/dist/primitives/Skeleton/Skeleton.spec.d.ts +2 -0
  273. package/dist/primitives/Skeleton/Skeleton.spec.d.ts.map +1 -0
  274. package/dist/primitives/Skeleton/Skeleton.spec.js +173 -0
  275. package/dist/primitives/Skeleton/Skeleton.stories.svelte +151 -151
  276. package/dist/primitives/Skeleton/Skeleton.svelte +26 -26
  277. package/dist/primitives/Spinner/Spinner.spec.js +71 -75
  278. package/dist/primitives/Spinner/Spinner.stories.svelte +29 -29
  279. package/dist/primitives/Spinner/Spinner.svelte +20 -20
  280. package/dist/primitives/Tabs/TabItem.spec.d.ts +2 -0
  281. package/dist/primitives/Tabs/TabItem.spec.d.ts.map +1 -0
  282. package/dist/primitives/Tabs/TabItem.spec.js +130 -0
  283. package/dist/primitives/Tabs/TabItem.svelte +49 -49
  284. package/dist/primitives/Tabs/Tabs.spec.d.ts +2 -0
  285. package/dist/primitives/Tabs/Tabs.spec.d.ts.map +1 -0
  286. package/dist/primitives/Tabs/Tabs.spec.js +295 -0
  287. package/dist/primitives/Tabs/Tabs.stories.svelte +112 -112
  288. package/dist/primitives/Tabs/Tabs.svelte +123 -123
  289. package/dist/primitives/Tabs/TabsWithItems.test.svelte +18 -0
  290. package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts +16 -0
  291. package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts.map +1 -0
  292. package/dist/primitives/Toggle.spec.js +143 -127
  293. package/dist/primitives/Toggle.stories.svelte +92 -92
  294. package/dist/primitives/Toggle.svelte +71 -71
  295. package/dist/primitives/Typography/Typography.spec.d.ts +2 -0
  296. package/dist/primitives/Typography/Typography.spec.d.ts.map +1 -0
  297. package/dist/primitives/Typography/Typography.spec.js +183 -0
  298. package/dist/primitives/Typography/Typography.svelte +53 -53
  299. package/dist/primitives/ValidationError.spec.js +103 -103
  300. package/dist/primitives/ValidationError.stories.svelte +69 -69
  301. package/dist/primitives/ValidationError.svelte +29 -29
  302. package/dist/primitives/index.d.ts +1 -0
  303. package/dist/primitives/index.js +3 -0
  304. package/dist/recipes/CropImage/CropImage.spec.js +208 -216
  305. package/dist/recipes/CropImage/CropImage.stories.svelte +104 -104
  306. package/dist/recipes/CropImage/CropImage.svelte +238 -238
  307. package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts +2 -0
  308. package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts.map +1 -0
  309. package/dist/recipes/ImageUploader/ImageUploader.spec.js +1351 -0
  310. package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -125
  311. package/dist/recipes/ImageUploader/ImageUploader.svelte +804 -804
  312. package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts +2 -0
  313. package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts.map +1 -0
  314. package/dist/recipes/SuperLogin/SuperLogin.spec.js +1436 -0
  315. package/dist/recipes/SuperLogin/SuperLogin.svelte +7 -6
  316. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  317. package/dist/recipes/Toaster/Toaster.stories.svelte +62 -62
  318. package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts +2 -0
  319. package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts.map +1 -0
  320. package/dist/recipes/feedback/EmptyState/EmptyState.spec.js +202 -0
  321. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +1 -1
  322. package/dist/recipes/feedback/ErrorDisplay.spec.js +69 -69
  323. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +101 -101
  324. package/dist/recipes/feedback/ErrorDisplay.svelte +1 -1
  325. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +133 -129
  326. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +157 -157
  327. package/dist/recipes/fields/CheckboxField.spec.d.ts +2 -0
  328. package/dist/recipes/fields/CheckboxField.spec.d.ts.map +1 -0
  329. package/dist/recipes/fields/CheckboxField.spec.js +135 -0
  330. package/dist/recipes/fields/CheckboxField.svelte +85 -85
  331. package/dist/recipes/fields/FormField.spec.d.ts +2 -0
  332. package/dist/recipes/fields/FormField.spec.d.ts.map +1 -0
  333. package/dist/recipes/fields/FormField.spec.js +159 -0
  334. package/dist/recipes/fields/FormField.svelte +58 -58
  335. package/dist/recipes/fields/RadioGroup.spec.d.ts +2 -0
  336. package/dist/recipes/fields/RadioGroup.spec.d.ts.map +1 -0
  337. package/dist/recipes/fields/RadioGroup.spec.js +199 -0
  338. package/dist/recipes/fields/RadioGroup.svelte +95 -95
  339. package/dist/recipes/fields/SelectField.spec.d.ts +2 -0
  340. package/dist/recipes/fields/SelectField.spec.d.ts.map +1 -0
  341. package/dist/recipes/fields/SelectField.spec.js +188 -0
  342. package/dist/recipes/fields/SelectField.svelte +80 -80
  343. package/dist/recipes/fields/TextareaField.spec.d.ts +2 -0
  344. package/dist/recipes/fields/TextareaField.spec.d.ts.map +1 -0
  345. package/dist/recipes/fields/TextareaField.spec.js +205 -0
  346. package/dist/recipes/fields/TextareaField.svelte +97 -97
  347. package/dist/recipes/fields/ToggleField.spec.d.ts +2 -0
  348. package/dist/recipes/fields/ToggleField.spec.d.ts.map +1 -0
  349. package/dist/recipes/fields/ToggleField.spec.js +153 -0
  350. package/dist/recipes/fields/ToggleField.svelte +60 -60
  351. package/dist/recipes/fields/index.js +7 -7
  352. package/dist/recipes/inputs/MultiSelect.spec.js +258 -257
  353. package/dist/recipes/inputs/MultiSelect.stories.svelte +133 -133
  354. package/dist/recipes/inputs/MultiSelect.svelte +256 -249
  355. package/dist/recipes/inputs/MultiSelect.svelte.d.ts +2 -0
  356. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  357. package/dist/recipes/inputs/OTPInput.spec.js +251 -238
  358. package/dist/recipes/inputs/OTPInput.stories.svelte +162 -162
  359. package/dist/recipes/inputs/OTPInput.svelte +29 -29
  360. package/dist/recipes/inputs/PasswordInput.spec.d.ts +2 -0
  361. package/dist/recipes/inputs/PasswordInput.spec.d.ts.map +1 -0
  362. package/dist/recipes/inputs/PasswordInput.spec.js +410 -0
  363. package/dist/recipes/inputs/PasswordInput.svelte +22 -22
  364. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +245 -165
  365. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +43 -43
  366. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +71 -0
  367. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts +9 -0
  368. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts.map +1 -0
  369. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +1139 -193
  370. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +123 -123
  371. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +326 -326
  372. package/dist/recipes/inputs/Search.spec.d.ts +2 -0
  373. package/dist/recipes/inputs/Search.spec.d.ts.map +1 -0
  374. package/dist/recipes/inputs/Search.spec.js +177 -0
  375. package/dist/recipes/inputs/Search.svelte +37 -37
  376. package/dist/recipes/inputs/SelectDropdown.spec.d.ts +2 -0
  377. package/dist/recipes/inputs/SelectDropdown.spec.d.ts.map +1 -0
  378. package/dist/recipes/inputs/SelectDropdown.spec.js +512 -0
  379. package/dist/recipes/inputs/SelectDropdown.svelte +57 -57
  380. package/dist/recipes/modals/AlertModal.spec.d.ts +2 -0
  381. package/dist/recipes/modals/AlertModal.spec.d.ts.map +1 -0
  382. package/dist/recipes/modals/AlertModal.spec.js +432 -0
  383. package/dist/recipes/modals/AlertModal.svelte +130 -130
  384. package/dist/recipes/modals/ConfirmationModal.spec.js +206 -191
  385. package/dist/recipes/modals/ConfirmationModal.stories.svelte +119 -119
  386. package/dist/recipes/modals/ConfirmationModal.svelte +152 -152
  387. package/dist/recipes/modals/InputModal.spec.d.ts +2 -0
  388. package/dist/recipes/modals/InputModal.spec.d.ts.map +1 -0
  389. package/dist/recipes/modals/InputModal.spec.js +872 -0
  390. package/dist/recipes/modals/InputModal.svelte +182 -182
  391. package/dist/recipes/modals/ModalStateManager.spec.js +100 -100
  392. package/dist/recipes/modals/ModalStateManager.svelte +77 -77
  393. package/dist/recipes/modals/ModalTestWrapper.spec.d.ts +2 -0
  394. package/dist/recipes/modals/ModalTestWrapper.spec.d.ts.map +1 -0
  395. package/dist/recipes/modals/ModalTestWrapper.spec.js +502 -0
  396. package/dist/recipes/modals/ModalTestWrapper.svelte +65 -65
  397. package/dist/recipes/modals/StatusModal.spec.d.ts +2 -0
  398. package/dist/recipes/modals/StatusModal.spec.d.ts.map +1 -0
  399. package/dist/recipes/modals/StatusModal.spec.js +599 -0
  400. package/dist/recipes/modals/StatusModal.svelte +206 -206
  401. package/dist/services/EventService.js +75 -75
  402. package/dist/services/EventService.spec.js +217 -217
  403. package/dist/services/ShowService.spec.js +345 -342
  404. package/dist/stores/auth.js +36 -36
  405. package/dist/stores/auth.spec.js +139 -139
  406. package/dist/stores/toaster.js +13 -13
  407. package/dist/stories/ButtonAuditDashboard.spec.d.ts +2 -0
  408. package/dist/stories/ButtonAuditDashboard.spec.d.ts.map +1 -0
  409. package/dist/stories/ButtonAuditDashboard.spec.js +913 -0
  410. package/dist/stories/ButtonAuditReview.spec.d.ts +2 -0
  411. package/dist/stories/ButtonAuditReview.spec.d.ts.map +1 -0
  412. package/dist/stories/ButtonAuditReview.spec.js +422 -0
  413. package/dist/stories/ButtonAuditReview.stories.svelte +14 -14
  414. package/dist/stories/ButtonAuditReview.svelte +427 -427
  415. package/dist/stories/ButtonGridView.spec.d.ts +2 -0
  416. package/dist/stories/ButtonGridView.spec.d.ts.map +1 -0
  417. package/dist/stories/ButtonGridView.spec.js +667 -0
  418. package/dist/stories/ButtonShowcase.spec.d.ts +2 -0
  419. package/dist/stories/ButtonShowcase.spec.d.ts.map +1 -0
  420. package/dist/stories/ButtonShowcase.spec.js +499 -0
  421. package/dist/stories/PatternsGallery.spec.d.ts +2 -0
  422. package/dist/stories/PatternsGallery.spec.d.ts.map +1 -0
  423. package/dist/stories/PatternsGallery.spec.js +514 -0
  424. package/dist/stories/PatternsGallery.stories.svelte +19 -19
  425. package/dist/stories/PatternsGallery.svelte +206 -206
  426. package/dist/stories/PrimitivesGallery.spec.d.ts +2 -0
  427. package/dist/stories/PrimitivesGallery.spec.d.ts.map +1 -0
  428. package/dist/stories/PrimitivesGallery.spec.js +813 -0
  429. package/dist/stories/PrimitivesGallery.stories.svelte +19 -19
  430. package/dist/stories/PrimitivesGallery.svelte +725 -725
  431. package/dist/stories/RecipesGallery.spec.d.ts +2 -0
  432. package/dist/stories/RecipesGallery.spec.d.ts.map +1 -0
  433. package/dist/stories/RecipesGallery.spec.js +299 -0
  434. package/dist/stories/RecipesGallery.stories.svelte +19 -19
  435. package/dist/stories/RecipesGallery.svelte +271 -271
  436. package/dist/stories/button-audit-manifest.json +11186 -11186
  437. package/dist/stripe/useStripeTheme.spec.d.ts +2 -0
  438. package/dist/stripe/useStripeTheme.spec.d.ts.map +1 -0
  439. package/dist/stripe/useStripeTheme.spec.js +793 -0
  440. package/dist/tailwind/preset.cjs +82 -82
  441. package/dist/telemetry.d.ts.map +1 -1
  442. package/dist/telemetry.js +6 -5
  443. package/dist/telemetry.spec.js +495 -12
  444. package/dist/tokens/__tests__/colors.test.d.ts +2 -0
  445. package/dist/tokens/__tests__/colors.test.d.ts.map +1 -0
  446. package/dist/tokens/__tests__/colors.test.js +152 -0
  447. package/dist/tokens/__tests__/radius.test.d.ts +2 -0
  448. package/dist/tokens/__tests__/radius.test.d.ts.map +1 -0
  449. package/dist/tokens/__tests__/radius.test.js +118 -0
  450. package/dist/tokens/__tests__/shadows.test.d.ts +2 -0
  451. package/dist/tokens/__tests__/shadows.test.d.ts.map +1 -0
  452. package/dist/tokens/__tests__/shadows.test.js +105 -0
  453. package/dist/tokens/__tests__/spacing.test.js +11 -8
  454. package/dist/tokens/__tests__/typography.test.d.ts +2 -0
  455. package/dist/tokens/__tests__/typography.test.d.ts.map +1 -0
  456. package/dist/tokens/__tests__/typography.test.js +156 -0
  457. package/dist/tokens/__tests__/z-index.test.d.ts +2 -0
  458. package/dist/tokens/__tests__/z-index.test.d.ts.map +1 -0
  459. package/dist/tokens/__tests__/z-index.test.js +121 -0
  460. package/dist/tokens/tokens.css +87 -87
  461. package/dist/utils/apiConfig.spec.js +102 -1
  462. package/dist/utils/formatters.spec.d.ts +2 -0
  463. package/dist/utils/formatters.spec.d.ts.map +1 -0
  464. package/dist/utils/formatters.spec.js +82 -0
  465. package/dist/utils/transitions.d.ts +24 -0
  466. package/dist/utils/transitions.d.ts.map +1 -0
  467. package/dist/utils/transitions.js +62 -0
  468. package/dist/utils/transitions.spec.d.ts +2 -0
  469. package/dist/utils/transitions.spec.d.ts.map +1 -0
  470. package/dist/utils/transitions.spec.js +130 -0
  471. package/dist/utils/utils.js +354 -354
  472. package/package.json +288 -283
@@ -1,87 +1,87 @@
1
- :root {
2
- --bg-primary: 0 0% 100%;
3
- --bg-secondary: 220 7% 97%;
4
- --bg-tertiary: 220 7% 94%;
5
- --bg-quaternary: 220 6% 91%;
6
-
7
- --text-primary: 221 50% 10%;
8
- --text-secondary: 220 20% 18%;
9
- --text-tertiary: 221 9% 44%;
10
- --text-head: 221 9% 44%;
11
-
12
- --brand-primary: 209 99% 50%;
13
-
14
- --accent-warning: 28 100% 59%;
15
- --accent-danger: 0 100% 70%;
16
- --accent-success: 131 77% 35%;
17
-
18
- --stroke-primary: 216 6% 84%;
19
- --stroke-secondary: 216 6% 84%;
20
- --border: 220 13% 91%;
21
-
22
- --card: 0 0% 100%;
23
- --card-foreground: 224 71.4% 4.1%;
24
- --popover: 0 0% 100%;
25
- --popover-foreground: 224 71.4% 4.1%;
26
- --muted: 220 14.3% 95.9%;
27
- --muted-foreground: 220 8.9% 46.1%;
28
- --hover-primary: 210 20% 96%;
29
-
30
- --sidebar-background: 0 0% 100%;
31
- --sidebar-foreground: 220 20% 18%;
32
- --sidebar-border: 220 13% 91%;
33
- --sidebar-primary: 221 65% 54%;
34
- --sidebar-primary-foreground: 221 50% 10%;
35
-
36
- --BG-Primary: var(--bg-primary);
37
- --BG-Secondary: var(--bg-secondary);
38
- --BG-Tertiary: var(--bg-tertiary);
39
- --BG-Quaternary: var(--bg-quaternary);
40
- --Text-Primary: var(--text-primary);
41
- --Text-Secondary: var(--text-secondary);
42
- --Text-Tartiary: var(--text-tertiary);
43
- --Text-Head: var(--text-head);
44
- --Brand-Primary: var(--brand-primary);
45
- --Accent-Warning: var(--accent-warning);
46
- --Accent-Danger: var(--accent-danger);
47
- --Accent-Success: var(--accent-success);
48
- --Stroke-Primary: var(--stroke-primary);
49
- --Stroke-Secondary: var(--stroke-secondary);
50
- }
51
-
52
- [data-theme="dark"],
53
- .dark {
54
- --bg-primary: 220 20% 18%;
55
- --bg-secondary: 221 50% 10%;
56
- --bg-tertiary: 221 50% 6%;
57
- --bg-quaternary: 0 0% 0%;
58
-
59
- --text-primary: 220 7% 97%;
60
- --text-secondary: 220 7% 94%;
61
- --text-tertiary: 220 6% 91%;
62
- --text-head: 220 9% 70%;
63
-
64
- --brand-primary: 220 89% 63%;
65
-
66
- --accent-warning: 30 100% 70%;
67
- --accent-danger: 0 100% 70%;
68
- --accent-success: 142 71% 45%;
69
-
70
- --stroke-primary: 220 20% 28%;
71
- --stroke-secondary: 220 20% 28%;
72
- --border: 215 27.9% 16.9%;
73
-
74
- --card: 224 20% 10%;
75
- --card-foreground: 210 20% 98%;
76
- --popover: 224 71.4% 4.1%;
77
- --popover-foreground: 210 20% 98%;
78
- --muted: 215 27.9% 16.9%;
79
- --muted-foreground: 217.9 10.6% 64.9%;
80
- --hover-primary: 222 10% 39%;
81
-
82
- --sidebar-background: 220 20% 18%;
83
- --sidebar-foreground: 220 7% 94%;
84
- --sidebar-border: 215 20% 20%;
85
- --sidebar-primary: 221 65% 54%;
86
- --sidebar-primary-foreground: 220 7% 97%;
87
- }
1
+ :root {
2
+ --bg-primary: 0 0% 100%;
3
+ --bg-secondary: 220 7% 97%;
4
+ --bg-tertiary: 220 7% 94%;
5
+ --bg-quaternary: 220 6% 91%;
6
+
7
+ --text-primary: 221 50% 10%;
8
+ --text-secondary: 220 20% 18%;
9
+ --text-tertiary: 221 9% 44%;
10
+ --text-head: 221 9% 44%;
11
+
12
+ --brand-primary: 209 99% 50%;
13
+
14
+ --accent-warning: 28 100% 59%;
15
+ --accent-danger: 0 100% 70%;
16
+ --accent-success: 131 77% 35%;
17
+
18
+ --stroke-primary: 216 6% 84%;
19
+ --stroke-secondary: 216 6% 84%;
20
+ --border: 220 13% 91%;
21
+
22
+ --card: 0 0% 100%;
23
+ --card-foreground: 224 71.4% 4.1%;
24
+ --popover: 0 0% 100%;
25
+ --popover-foreground: 224 71.4% 4.1%;
26
+ --muted: 220 14.3% 95.9%;
27
+ --muted-foreground: 220 8.9% 46.1%;
28
+ --hover-primary: 210 20% 96%;
29
+
30
+ --sidebar-background: 0 0% 100%;
31
+ --sidebar-foreground: 220 20% 18%;
32
+ --sidebar-border: 220 13% 91%;
33
+ --sidebar-primary: 221 65% 54%;
34
+ --sidebar-primary-foreground: 221 50% 10%;
35
+
36
+ --BG-Primary: var(--bg-primary);
37
+ --BG-Secondary: var(--bg-secondary);
38
+ --BG-Tertiary: var(--bg-tertiary);
39
+ --BG-Quaternary: var(--bg-quaternary);
40
+ --Text-Primary: var(--text-primary);
41
+ --Text-Secondary: var(--text-secondary);
42
+ --Text-Tartiary: var(--text-tertiary);
43
+ --Text-Head: var(--text-head);
44
+ --Brand-Primary: var(--brand-primary);
45
+ --Accent-Warning: var(--accent-warning);
46
+ --Accent-Danger: var(--accent-danger);
47
+ --Accent-Success: var(--accent-success);
48
+ --Stroke-Primary: var(--stroke-primary);
49
+ --Stroke-Secondary: var(--stroke-secondary);
50
+ }
51
+
52
+ [data-theme="dark"],
53
+ .dark {
54
+ --bg-primary: 220 20% 18%;
55
+ --bg-secondary: 221 50% 10%;
56
+ --bg-tertiary: 221 50% 6%;
57
+ --bg-quaternary: 0 0% 0%;
58
+
59
+ --text-primary: 220 7% 97%;
60
+ --text-secondary: 220 7% 94%;
61
+ --text-tertiary: 220 6% 91%;
62
+ --text-head: 220 9% 70%;
63
+
64
+ --brand-primary: 220 89% 63%;
65
+
66
+ --accent-warning: 30 100% 70%;
67
+ --accent-danger: 0 100% 70%;
68
+ --accent-success: 142 71% 45%;
69
+
70
+ --stroke-primary: 220 20% 28%;
71
+ --stroke-secondary: 220 20% 28%;
72
+ --border: 215 27.9% 16.9%;
73
+
74
+ --card: 224 20% 10%;
75
+ --card-foreground: 210 20% 98%;
76
+ --popover: 224 71.4% 4.1%;
77
+ --popover-foreground: 210 20% 98%;
78
+ --muted: 215 27.9% 16.9%;
79
+ --muted-foreground: 217.9 10.6% 64.9%;
80
+ --hover-primary: 222 10% 39%;
81
+
82
+ --sidebar-background: 220 20% 18%;
83
+ --sidebar-foreground: 220 7% 94%;
84
+ --sidebar-border: 215 20% 20%;
85
+ --sidebar-primary: 221 65% 54%;
86
+ --sidebar-primary-foreground: 220 7% 97%;
87
+ }
@@ -1,9 +1,12 @@
1
- import { describe, it, expect } from 'vitest';
1
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
2
2
  import {
3
3
  API_BASE_URL,
4
4
  FRONTEND_BASE_URL,
5
5
  buildApiUrl,
6
6
  API_ENDPOINTS,
7
+ buildPerformerInviteUrl,
8
+ getPerformerInviteMethod,
9
+ buildV2PerformerActionUrl,
7
10
  } from './apiConfig';
8
11
 
9
12
  describe('apiConfig', () => {
@@ -115,4 +118,102 @@ describe('apiConfig', () => {
115
118
  expect(loginUrl).toContain('/api/public/login');
116
119
  });
117
120
  });
121
+
122
+ describe('buildPerformerInviteUrl', () => {
123
+ it('builds V1 accept URL', () => {
124
+ const url = buildPerformerInviteUrl(123, 'accept');
125
+ expect(url).toContain('/api/public/acceptEventPerformerInvite/123');
126
+ });
127
+
128
+ it('builds V1 decline URL', () => {
129
+ const url = buildPerformerInviteUrl(456, 'decline');
130
+ expect(url).toContain('/api/public/declineEventPerformerInvite/456');
131
+ });
132
+
133
+ it('builds V1 cancel URL', () => {
134
+ const url = buildPerformerInviteUrl(789, 'cancel');
135
+ expect(url).toContain('/api/public/cancelEventPerformerInvite/789');
136
+ });
137
+ });
138
+
139
+ describe('getPerformerInviteMethod', () => {
140
+ it('returns correct HTTP method for V1 actions', () => {
141
+ expect(getPerformerInviteMethod('accept')).toBe('PUT');
142
+ expect(getPerformerInviteMethod('decline')).toBe('PUT');
143
+ expect(getPerformerInviteMethod('cancel')).toBe('PUT');
144
+ });
145
+ });
146
+
147
+ describe('buildV2PerformerActionUrl', () => {
148
+ it('builds V2 performer action URL with confirm', () => {
149
+ const url = buildV2PerformerActionUrl(123, 'confirm');
150
+ expect(url).toContain('/api/v2/event-performers/123/confirm');
151
+ });
152
+
153
+ it('builds V2 performer action URL with decline', () => {
154
+ const url = buildV2PerformerActionUrl(456, 'decline');
155
+ expect(url).toContain('/api/v2/event-performers/456/decline');
156
+ });
157
+
158
+ it('builds V2 performer action URL with reassign', () => {
159
+ const url = buildV2PerformerActionUrl(789, 'reassign');
160
+ expect(url).toContain('/api/v2/event-performers/789/reassign');
161
+ });
162
+ });
163
+
164
+ describe('V2 API paths', () => {
165
+ let originalEnv;
166
+
167
+ beforeEach(async () => {
168
+ originalEnv = import.meta.env.VITE_API_VERSION;
169
+ vi.resetModules();
170
+ });
171
+
172
+ afterEach(async () => {
173
+ import.meta.env.VITE_API_VERSION = originalEnv;
174
+ vi.resetModules();
175
+ });
176
+
177
+ it('buildPerformerInviteUrl uses V2 endpoint for accept when USE_V2_API is true', async () => {
178
+ // Set environment variable to v2
179
+ import.meta.env.VITE_API_VERSION = 'v2';
180
+
181
+ // Re-import to get fresh module with new env
182
+ const module = await import('./apiConfig');
183
+
184
+ const url = module.buildPerformerInviteUrl(123, 'accept');
185
+ expect(url).toContain('/api/v2/event-performers/123/confirm');
186
+ });
187
+
188
+ it('buildPerformerInviteUrl uses V2 endpoint for decline when USE_V2_API is true', async () => {
189
+ import.meta.env.VITE_API_VERSION = 'v2';
190
+ const module = await import('./apiConfig');
191
+
192
+ const url = module.buildPerformerInviteUrl(456, 'decline');
193
+ expect(url).toContain('/api/v2/event-performers/456/decline');
194
+ });
195
+
196
+ it('buildPerformerInviteUrl uses V1 endpoint for cancel even when USE_V2_API is true', async () => {
197
+ import.meta.env.VITE_API_VERSION = 'v2';
198
+ const module = await import('./apiConfig');
199
+
200
+ const url = module.buildPerformerInviteUrl(789, 'cancel');
201
+ expect(url).toContain('/api/public/cancelEventPerformerInvite/789');
202
+ });
203
+
204
+ it('getPerformerInviteMethod returns POST for V2 non-cancel actions', async () => {
205
+ import.meta.env.VITE_API_VERSION = 'v2';
206
+ const module = await import('./apiConfig');
207
+
208
+ expect(module.getPerformerInviteMethod('accept')).toBe('POST');
209
+ expect(module.getPerformerInviteMethod('decline')).toBe('POST');
210
+ });
211
+
212
+ it('getPerformerInviteMethod returns PUT for V2 cancel action', async () => {
213
+ import.meta.env.VITE_API_VERSION = 'v2';
214
+ const module = await import('./apiConfig');
215
+
216
+ expect(module.getPerformerInviteMethod('cancel')).toBe('PUT');
217
+ });
218
+ });
118
219
  });
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=formatters.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.spec.d.ts","sourceRoot":"","sources":["../../src/lib/utils/formatters.spec.js"],"names":[],"mappings":""}
@@ -0,0 +1,82 @@
1
+ import { expect, describe, test } from 'vitest';
2
+ import { formatCreditCardNumber, formatPhoneNumber } from './formatters.ts';
3
+
4
+ describe('formatCreditCardNumber', () => {
5
+ test('formats empty string', () => {
6
+ expect(formatCreditCardNumber('')).toBe('');
7
+ });
8
+
9
+ test('formats 4 digits', () => {
10
+ expect(formatCreditCardNumber('1234')).toBe('1234');
11
+ });
12
+
13
+ test('formats 8 digits with space', () => {
14
+ expect(formatCreditCardNumber('12345678')).toBe('1234 5678');
15
+ });
16
+
17
+ test('formats 12 digits with spaces', () => {
18
+ expect(formatCreditCardNumber('123456789012')).toBe('1234 5678 9012');
19
+ });
20
+
21
+ test('formats 16 digits with spaces', () => {
22
+ expect(formatCreditCardNumber('1234567890123456')).toBe('1234 5678 9012 3456');
23
+ });
24
+
25
+ test('removes non-digit characters', () => {
26
+ expect(formatCreditCardNumber('1234-5678-9012-3456')).toBe('1234 5678 9012 3456');
27
+ });
28
+
29
+ test('handles spaces in input', () => {
30
+ expect(formatCreditCardNumber('1234 5678')).toBe('1234 5678');
31
+ });
32
+
33
+ test('handles letters in input', () => {
34
+ expect(formatCreditCardNumber('1234abcd5678')).toBe('1234 5678');
35
+ });
36
+
37
+ test('handles partial card number', () => {
38
+ expect(formatCreditCardNumber('123456789')).toBe('1234 5678 9');
39
+ });
40
+ });
41
+
42
+ describe('formatPhoneNumber', () => {
43
+ test('formats empty string', () => {
44
+ expect(formatPhoneNumber('')).toBe('');
45
+ });
46
+
47
+ test('formats 3 digits', () => {
48
+ expect(formatPhoneNumber('123')).toBe('123');
49
+ });
50
+
51
+ test('formats 4 digits with dash', () => {
52
+ expect(formatPhoneNumber('1234')).toBe('123-4');
53
+ });
54
+
55
+ test('formats 6 digits with dash', () => {
56
+ expect(formatPhoneNumber('123456')).toBe('123-456');
57
+ });
58
+
59
+ test('formats 7 digits with two dashes', () => {
60
+ expect(formatPhoneNumber('1234567')).toBe('123-456-7');
61
+ });
62
+
63
+ test('formats 10 digits fully', () => {
64
+ expect(formatPhoneNumber('1234567890')).toBe('123-456-7890');
65
+ });
66
+
67
+ test('removes non-digit characters', () => {
68
+ expect(formatPhoneNumber('123-456-7890')).toBe('123-456-7890');
69
+ });
70
+
71
+ test('handles parentheses in input', () => {
72
+ expect(formatPhoneNumber('(123) 456-7890')).toBe('123-456-7890');
73
+ });
74
+
75
+ test('handles letters in input', () => {
76
+ expect(formatPhoneNumber('123abc456')).toBe('123-456');
77
+ });
78
+
79
+ test('truncates after 10 digits', () => {
80
+ expect(formatPhoneNumber('12345678901234')).toBe('123-456-7890');
81
+ });
82
+ });
@@ -0,0 +1,24 @@
1
+ /**
2
+ * A safe version of Svelte's slide transition that guards against NaN height values.
3
+ *
4
+ * When an element is inside an {#if} block and the condition becomes true,
5
+ * Svelte tries to animate from height 0. If the element hasn't been measured yet,
6
+ * offsetHeight can be 0 or undefined, leading to NaN in the animation.
7
+ *
8
+ * This wrapper checks if the element is measurable and skips the animation if not.
9
+ *
10
+ * @param {HTMLElement} node - The element to transition
11
+ * @param {Object} params - Transition parameters
12
+ * @param {number} [params.delay=0] - Delay before transition starts (ms)
13
+ * @param {number} [params.duration=400] - Duration of transition (ms)
14
+ * @param {Function} [params.easing] - Easing function
15
+ * @param {'x'|'y'} [params.axis='y'] - Axis to slide on
16
+ * @returns {Object} Transition configuration
17
+ */
18
+ export function safeSlide(node: HTMLElement, params?: {
19
+ delay?: number | undefined;
20
+ duration?: number | undefined;
21
+ easing?: Function | undefined;
22
+ axis?: "y" | "x" | undefined;
23
+ }): Object;
24
+ //# sourceMappingURL=transitions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../src/lib/utils/transitions.js"],"names":[],"mappings":"AAWA;;;;;;;;;;;;;;;;GAgBG;AACH,gCARW,WAAW,WAEnB;IAAwB,KAAK;IACL,QAAQ;IACN,MAAM;IACP,IAAI;CAC7B,GAAU,MAAM,CAkBlB"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Safe transition utilities that guard against NaN values
3
+ *
4
+ * The standard Svelte slide transition can produce "Invalid keyframe value for property height: NaNpx"
5
+ * when the element hasn't been measured yet (e.g., during SSR hydration or when mounted in an unmeasured container).
6
+ *
7
+ * These utilities wrap Svelte's transitions with guards against invalid values.
8
+ */
9
+
10
+ import { slide as svelteSlide } from 'svelte/transition';
11
+
12
+ /**
13
+ * A safe version of Svelte's slide transition that guards against NaN height values.
14
+ *
15
+ * When an element is inside an {#if} block and the condition becomes true,
16
+ * Svelte tries to animate from height 0. If the element hasn't been measured yet,
17
+ * offsetHeight can be 0 or undefined, leading to NaN in the animation.
18
+ *
19
+ * This wrapper checks if the element is measurable and skips the animation if not.
20
+ *
21
+ * @param {HTMLElement} node - The element to transition
22
+ * @param {Object} params - Transition parameters
23
+ * @param {number} [params.delay=0] - Delay before transition starts (ms)
24
+ * @param {number} [params.duration=400] - Duration of transition (ms)
25
+ * @param {Function} [params.easing] - Easing function
26
+ * @param {'x'|'y'} [params.axis='y'] - Axis to slide on
27
+ * @returns {Object} Transition configuration
28
+ */
29
+ export function safeSlide(node, params = {}) {
30
+ // Check if the element is measurable
31
+ const height = node.offsetHeight;
32
+ const width = node.offsetWidth;
33
+
34
+ // If element has no dimensions (not yet in DOM or hidden), skip animation
35
+ if ((!height && !width) || !isFinite(height) || !isFinite(width)) {
36
+ return {
37
+ delay: params.delay || 0,
38
+ duration: 0,
39
+ css: () => ''
40
+ };
41
+ }
42
+
43
+ // Element is measurable, use standard slide
44
+ return svelteSlide(node, params);
45
+ }
46
+
47
+ /**
48
+ * CSS-based slide alternative using grid-template-rows.
49
+ * This approach doesn't require JS measurement and never produces NaN.
50
+ *
51
+ * Usage in Svelte:
52
+ * ```svelte
53
+ * <div class="grid {isOpen ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]'} transition-all duration-200">
54
+ * <div class="overflow-hidden">
55
+ * <!-- content -->
56
+ * </div>
57
+ * </div>
58
+ * ```
59
+ *
60
+ * This is an alternative approach documented here for reference.
61
+ * The grid-based approach is more performant but requires wrapping content.
62
+ */
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transitions.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transitions.spec.d.ts","sourceRoot":"","sources":["../../src/lib/utils/transitions.spec.js"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ import { expect, describe, test, vi } from 'vitest';
2
+ import { safeSlide } from './transitions.js';
3
+
4
+ // Mock svelte/transition
5
+ vi.mock('svelte/transition', () => ({
6
+ slide: vi.fn((node, params) => ({
7
+ delay: params?.delay || 0,
8
+ duration: params?.duration || 400,
9
+ css: (t) => `height: ${t * 100}px`
10
+ }))
11
+ }));
12
+
13
+ describe('safeSlide', () => {
14
+ test('returns no-op transition for zero dimensions', () => {
15
+ const node = {
16
+ offsetHeight: 0,
17
+ offsetWidth: 0
18
+ };
19
+
20
+ const result = safeSlide(node);
21
+
22
+ expect(result.duration).toBe(0);
23
+ expect(result.css()).toBe('');
24
+ });
25
+
26
+ test('returns no-op transition for undefined dimensions', () => {
27
+ const node = {};
28
+
29
+ const result = safeSlide(node);
30
+
31
+ expect(result.duration).toBe(0);
32
+ expect(result.css()).toBe('');
33
+ });
34
+
35
+ test('returns no-op transition for NaN dimensions', () => {
36
+ const node = {
37
+ offsetHeight: NaN,
38
+ offsetWidth: NaN
39
+ };
40
+
41
+ const result = safeSlide(node);
42
+
43
+ expect(result.duration).toBe(0);
44
+ expect(result.css()).toBe('');
45
+ });
46
+
47
+ test('returns no-op transition for Infinity dimensions', () => {
48
+ const node = {
49
+ offsetHeight: Infinity,
50
+ offsetWidth: Infinity
51
+ };
52
+
53
+ const result = safeSlide(node);
54
+
55
+ expect(result.duration).toBe(0);
56
+ expect(result.css()).toBe('');
57
+ });
58
+
59
+ test('uses standard slide for valid dimensions', async () => {
60
+ const node = {
61
+ offsetHeight: 100,
62
+ offsetWidth: 200
63
+ };
64
+
65
+ const result = safeSlide(node);
66
+
67
+ // Should have received slide transition result
68
+ expect(result.duration).toBe(400);
69
+ expect(typeof result.css).toBe('function');
70
+ });
71
+
72
+ test('passes params to slide transition', async () => {
73
+ const node = {
74
+ offsetHeight: 100,
75
+ offsetWidth: 200
76
+ };
77
+ const params = { delay: 100, duration: 200 };
78
+
79
+ const result = safeSlide(node, params);
80
+
81
+ expect(result.delay).toBe(100);
82
+ expect(result.duration).toBe(200);
83
+ });
84
+
85
+ test('uses default delay for no-op transition', () => {
86
+ const node = {
87
+ offsetHeight: 0,
88
+ offsetWidth: 0
89
+ };
90
+
91
+ const result = safeSlide(node);
92
+
93
+ expect(result.delay).toBe(0);
94
+ });
95
+
96
+ test('uses custom delay for no-op transition', () => {
97
+ const node = {
98
+ offsetHeight: 0,
99
+ offsetWidth: 0
100
+ };
101
+
102
+ const result = safeSlide(node, { delay: 500 });
103
+
104
+ expect(result.delay).toBe(500);
105
+ });
106
+
107
+ test('handles node with only height (uses slide)', () => {
108
+ const node = {
109
+ offsetHeight: 100,
110
+ offsetWidth: 0
111
+ };
112
+
113
+ const result = safeSlide(node);
114
+
115
+ // At least one dimension is valid, so should use slide
116
+ expect(result.duration).toBe(400);
117
+ });
118
+
119
+ test('handles node with only width (uses slide)', () => {
120
+ const node = {
121
+ offsetHeight: 0,
122
+ offsetWidth: 100
123
+ };
124
+
125
+ const result = safeSlide(node);
126
+
127
+ // At least one dimension is valid, so should use slide
128
+ expect(result.duration).toBe(400);
129
+ });
130
+ });