@getmicdrop/svelte-components 5.5.4 → 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 (290) 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/Calendar/MiniMonthCalendar.spec.d.ts +2 -0
  5. package/dist/calendar/Calendar/MiniMonthCalendar.spec.d.ts.map +1 -0
  6. package/dist/calendar/Calendar/MiniMonthCalendar.spec.js +1191 -0
  7. package/dist/calendar/FAQs/FAQs.spec.d.ts +2 -0
  8. package/dist/calendar/FAQs/FAQs.spec.d.ts.map +1 -0
  9. package/dist/calendar/FAQs/FAQs.spec.js +238 -0
  10. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts +2 -0
  11. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.d.ts.map +1 -0
  12. package/dist/calendar/MonthSwitcher/MonthSwitcher.spec.js +420 -0
  13. package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts +2 -0
  14. package/dist/calendar/OrderSummary/OrderSummary.spec.d.ts.map +1 -0
  15. package/dist/calendar/OrderSummary/OrderSummary.spec.js +808 -0
  16. package/dist/calendar/PublicCard/PublicCard.spec.d.ts +2 -0
  17. package/dist/calendar/PublicCard/PublicCard.spec.d.ts.map +1 -0
  18. package/dist/calendar/PublicCard/PublicCard.spec.js +301 -0
  19. package/dist/calendar/ShowCard/ShowCard.spec.d.ts +2 -0
  20. package/dist/calendar/ShowCard/ShowCard.spec.d.ts.map +1 -0
  21. package/dist/calendar/ShowCard/ShowCard.spec.js +714 -0
  22. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts +2 -0
  23. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.d.ts.map +1 -0
  24. package/dist/calendar/ShowTimeCard/ShowTimeCard.spec.js +241 -0
  25. package/dist/components/Layout/Section.spec.d.ts +2 -0
  26. package/dist/components/Layout/Section.spec.d.ts.map +1 -0
  27. package/dist/components/Layout/Section.spec.js +149 -0
  28. package/dist/components/Layout/Sidebar.spec.d.ts +2 -0
  29. package/dist/components/Layout/Sidebar.spec.d.ts.map +1 -0
  30. package/dist/components/Layout/Sidebar.spec.js +186 -0
  31. package/dist/components/Layout/Stack.spec.js +3 -3
  32. package/dist/constants/formOptions.spec.js +9 -5
  33. package/dist/datetime/__tests__/format.test.js +1 -1
  34. package/dist/datetime/__tests__/parse.test.js +1 -1
  35. package/dist/datetime/__tests__/timezone.test.js +124 -2
  36. package/dist/datetime/parse.js +1 -1
  37. package/dist/forms/createFieldTracker.spec.d.ts +2 -0
  38. package/dist/forms/createFieldTracker.spec.d.ts.map +1 -0
  39. package/dist/forms/createFieldTracker.spec.js +343 -0
  40. package/dist/forms/createFormStore.spec.d.ts +2 -0
  41. package/dist/forms/createFormStore.spec.d.ts.map +1 -0
  42. package/dist/forms/createFormStore.spec.js +689 -0
  43. package/dist/forms/createFormStore.svelte.js +0 -1
  44. package/dist/index.d.ts +4 -112
  45. package/dist/index.js +4 -190
  46. package/dist/patterns/data/DataGrid.spec.d.ts +2 -0
  47. package/dist/patterns/data/DataGrid.spec.d.ts.map +1 -0
  48. package/dist/patterns/data/DataGrid.spec.js +159 -0
  49. package/dist/patterns/data/DataList.spec.d.ts +2 -0
  50. package/dist/patterns/data/DataList.spec.d.ts.map +1 -0
  51. package/dist/patterns/data/DataList.spec.js +158 -0
  52. package/dist/patterns/data/DataTable.spec.d.ts +2 -0
  53. package/dist/patterns/data/DataTable.spec.d.ts.map +1 -0
  54. package/dist/patterns/data/DataTable.spec.js +196 -0
  55. package/dist/patterns/forms/FormActions.spec.js +10 -3
  56. package/dist/patterns/forms/FormGrid.spec.d.ts +2 -0
  57. package/dist/patterns/forms/FormGrid.spec.d.ts.map +1 -0
  58. package/dist/patterns/forms/FormGrid.spec.js +125 -0
  59. package/dist/patterns/forms/FormSection.spec.d.ts +2 -0
  60. package/dist/patterns/forms/FormSection.spec.d.ts.map +1 -0
  61. package/dist/patterns/forms/FormSection.spec.js +153 -0
  62. package/dist/patterns/layout/Sidebar.spec.d.ts +2 -0
  63. package/dist/patterns/layout/Sidebar.spec.d.ts.map +1 -0
  64. package/dist/patterns/layout/Sidebar.spec.js +159 -0
  65. package/dist/patterns/navigation/BottomNav.svelte +4 -4
  66. package/dist/patterns/navigation/Header.spec.js +33 -24
  67. package/dist/patterns/page/PageHeader.spec.d.ts +2 -0
  68. package/dist/patterns/page/PageHeader.spec.d.ts.map +1 -0
  69. package/dist/patterns/page/PageHeader.spec.js +167 -0
  70. package/dist/patterns/page/PageLayout.spec.d.ts +2 -0
  71. package/dist/patterns/page/PageLayout.spec.d.ts.map +1 -0
  72. package/dist/patterns/page/PageLayout.spec.js +145 -0
  73. package/dist/patterns/page/PageLoader.spec.js +5 -2
  74. package/dist/patterns/page/SectionHeader.spec.d.ts +2 -0
  75. package/dist/patterns/page/SectionHeader.spec.d.ts.map +1 -0
  76. package/dist/patterns/page/SectionHeader.spec.js +197 -0
  77. package/dist/presets/badges.spec.d.ts +2 -0
  78. package/dist/presets/badges.spec.d.ts.map +1 -0
  79. package/dist/presets/badges.spec.js +172 -0
  80. package/dist/presets/buttons.spec.d.ts +2 -0
  81. package/dist/presets/buttons.spec.d.ts.map +1 -0
  82. package/dist/presets/buttons.spec.js +135 -0
  83. package/dist/primitives/Accordion/Accordion.spec.d.ts +2 -0
  84. package/dist/primitives/Accordion/Accordion.spec.d.ts.map +1 -0
  85. package/dist/primitives/Accordion/Accordion.spec.js +83 -0
  86. package/dist/primitives/Accordion/AccordionItem.spec.d.ts +2 -0
  87. package/dist/primitives/Accordion/AccordionItem.spec.d.ts.map +1 -0
  88. package/dist/primitives/Accordion/AccordionItem.spec.js +661 -0
  89. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -0
  90. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts +35 -0
  91. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte.d.ts.map +1 -0
  92. package/dist/primitives/Alert/Alert.spec.js +5 -2
  93. package/dist/primitives/Avatar/Avatar.spec.d.ts +2 -0
  94. package/dist/primitives/Avatar/Avatar.spec.d.ts.map +1 -0
  95. package/dist/primitives/Avatar/Avatar.spec.js +211 -0
  96. package/dist/primitives/Badges/Badge.spec.js +109 -68
  97. package/dist/primitives/BottomSheet/BottomSheet.spec.js +36 -27
  98. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte +13 -0
  99. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts +7 -0
  100. package/dist/primitives/BottomSheet/BottomSheetWrapper.test.svelte.d.ts.map +1 -0
  101. package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +15 -13
  102. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +5 -5
  103. package/dist/primitives/Button/Button.spec.js +83 -71
  104. package/dist/primitives/Button/ButtonSaveDemo.spec.js +100 -2
  105. package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts +2 -0
  106. package/dist/primitives/Button/ButtonVariantShowcase.spec.d.ts.map +1 -0
  107. package/dist/primitives/Button/ButtonVariantShowcase.spec.js +202 -0
  108. package/dist/primitives/Card.spec.js +1 -1
  109. package/dist/primitives/Checkbox/Checkbox.spec.d.ts +2 -0
  110. package/dist/primitives/Checkbox/Checkbox.spec.d.ts.map +1 -0
  111. package/dist/primitives/Checkbox/Checkbox.spec.js +252 -0
  112. package/dist/primitives/DarkModeToggle.spec.js +84 -51
  113. package/dist/primitives/Drawer/Drawer.spec.d.ts +2 -0
  114. package/dist/primitives/Drawer/Drawer.spec.d.ts.map +1 -0
  115. package/dist/primitives/Drawer/Drawer.spec.js +212 -0
  116. package/dist/primitives/Dropdown/Dropdown.spec.d.ts +2 -0
  117. package/dist/primitives/Dropdown/Dropdown.spec.d.ts.map +1 -0
  118. package/dist/primitives/Dropdown/Dropdown.spec.js +366 -0
  119. package/dist/primitives/Dropdown/DropdownItem.spec.d.ts +2 -0
  120. package/dist/primitives/Dropdown/DropdownItem.spec.d.ts.map +1 -0
  121. package/dist/primitives/Dropdown/DropdownItem.spec.js +182 -0
  122. package/dist/primitives/Icons/iconTestUtils.spec.d.ts +2 -0
  123. package/dist/primitives/Icons/iconTestUtils.spec.d.ts.map +1 -0
  124. package/dist/primitives/Icons/iconTestUtils.spec.js +235 -0
  125. package/dist/primitives/Input/Input.spec.js +14 -14
  126. package/dist/primitives/Input/Input.svelte +1 -14
  127. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  128. package/dist/primitives/Input/Select.spec.js +11 -17
  129. package/dist/primitives/Input/Textarea.spec.d.ts +2 -0
  130. package/dist/primitives/Input/Textarea.spec.d.ts.map +1 -0
  131. package/dist/primitives/Input/Textarea.spec.js +255 -0
  132. package/dist/primitives/Label/Label.spec.d.ts +2 -0
  133. package/dist/primitives/Label/Label.spec.d.ts.map +1 -0
  134. package/dist/primitives/Label/Label.spec.js +157 -0
  135. package/dist/primitives/Modal/Modal.spec.js +29 -25
  136. package/dist/primitives/Modal/ModalTestWrapper.svelte +65 -0
  137. package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts +23 -0
  138. package/dist/primitives/Modal/ModalTestWrapper.svelte.d.ts.map +1 -0
  139. package/dist/primitives/NumberInput/NumberInput.spec.d.ts +2 -0
  140. package/dist/primitives/NumberInput/NumberInput.spec.d.ts.map +1 -0
  141. package/dist/primitives/NumberInput/NumberInput.spec.js +235 -0
  142. package/dist/primitives/Pagination/Pagination.spec.d.ts +2 -0
  143. package/dist/primitives/Pagination/Pagination.spec.d.ts.map +1 -0
  144. package/dist/primitives/Pagination/Pagination.spec.js +266 -0
  145. package/dist/primitives/Radio/Radio.spec.d.ts +2 -0
  146. package/dist/primitives/Radio/Radio.spec.d.ts.map +1 -0
  147. package/dist/primitives/Radio/Radio.spec.js +206 -0
  148. package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts +2 -0
  149. package/dist/primitives/Skeleton/CardPlaceholder.spec.d.ts.map +1 -0
  150. package/dist/primitives/Skeleton/CardPlaceholder.spec.js +156 -0
  151. package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts +2 -0
  152. package/dist/primitives/Skeleton/ImagePlaceholder.spec.d.ts.map +1 -0
  153. package/dist/primitives/Skeleton/ImagePlaceholder.spec.js +120 -0
  154. package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts +2 -0
  155. package/dist/primitives/Skeleton/ListPlaceholder.spec.d.ts.map +1 -0
  156. package/dist/primitives/Skeleton/ListPlaceholder.spec.js +220 -0
  157. package/dist/primitives/Skeleton/Skeleton.spec.d.ts +2 -0
  158. package/dist/primitives/Skeleton/Skeleton.spec.d.ts.map +1 -0
  159. package/dist/primitives/Skeleton/Skeleton.spec.js +173 -0
  160. package/dist/primitives/Spinner/Spinner.spec.js +25 -29
  161. package/dist/primitives/Tabs/TabItem.spec.d.ts +2 -0
  162. package/dist/primitives/Tabs/TabItem.spec.d.ts.map +1 -0
  163. package/dist/primitives/Tabs/TabItem.spec.js +130 -0
  164. package/dist/primitives/Tabs/Tabs.spec.d.ts +2 -0
  165. package/dist/primitives/Tabs/Tabs.spec.d.ts.map +1 -0
  166. package/dist/primitives/Tabs/Tabs.spec.js +295 -0
  167. package/dist/primitives/Tabs/TabsWithItems.test.svelte +18 -0
  168. package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts +16 -0
  169. package/dist/primitives/Tabs/TabsWithItems.test.svelte.d.ts.map +1 -0
  170. package/dist/primitives/Toggle.spec.js +93 -77
  171. package/dist/primitives/Typography/Typography.spec.d.ts +2 -0
  172. package/dist/primitives/Typography/Typography.spec.d.ts.map +1 -0
  173. package/dist/primitives/Typography/Typography.spec.js +183 -0
  174. package/dist/primitives/ValidationError.spec.js +1 -1
  175. package/dist/primitives/index.d.ts +1 -0
  176. package/dist/primitives/index.js +3 -0
  177. package/dist/recipes/CropImage/CropImage.spec.js +1 -9
  178. package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts +2 -0
  179. package/dist/recipes/ImageUploader/ImageUploader.spec.d.ts.map +1 -0
  180. package/dist/recipes/ImageUploader/ImageUploader.spec.js +1351 -0
  181. package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts +2 -0
  182. package/dist/recipes/SuperLogin/SuperLogin.spec.d.ts.map +1 -0
  183. package/dist/recipes/SuperLogin/SuperLogin.spec.js +1436 -0
  184. package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts +2 -0
  185. package/dist/recipes/feedback/EmptyState/EmptyState.spec.d.ts.map +1 -0
  186. package/dist/recipes/feedback/EmptyState/EmptyState.spec.js +202 -0
  187. package/dist/recipes/feedback/ErrorDisplay.spec.js +6 -6
  188. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +21 -17
  189. package/dist/recipes/fields/CheckboxField.spec.d.ts +2 -0
  190. package/dist/recipes/fields/CheckboxField.spec.d.ts.map +1 -0
  191. package/dist/recipes/fields/CheckboxField.spec.js +135 -0
  192. package/dist/recipes/fields/FormField.spec.d.ts +2 -0
  193. package/dist/recipes/fields/FormField.spec.d.ts.map +1 -0
  194. package/dist/recipes/fields/FormField.spec.js +159 -0
  195. package/dist/recipes/fields/RadioGroup.spec.d.ts +2 -0
  196. package/dist/recipes/fields/RadioGroup.spec.d.ts.map +1 -0
  197. package/dist/recipes/fields/RadioGroup.spec.js +199 -0
  198. package/dist/recipes/fields/SelectField.spec.d.ts +2 -0
  199. package/dist/recipes/fields/SelectField.spec.d.ts.map +1 -0
  200. package/dist/recipes/fields/SelectField.spec.js +188 -0
  201. package/dist/recipes/fields/TextareaField.spec.d.ts +2 -0
  202. package/dist/recipes/fields/TextareaField.spec.d.ts.map +1 -0
  203. package/dist/recipes/fields/TextareaField.spec.js +205 -0
  204. package/dist/recipes/fields/ToggleField.spec.d.ts +2 -0
  205. package/dist/recipes/fields/ToggleField.spec.d.ts.map +1 -0
  206. package/dist/recipes/fields/ToggleField.spec.js +153 -0
  207. package/dist/recipes/inputs/MultiSelect.spec.js +4 -3
  208. package/dist/recipes/inputs/MultiSelect.svelte +10 -3
  209. package/dist/recipes/inputs/MultiSelect.svelte.d.ts +2 -0
  210. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  211. package/dist/recipes/inputs/OTPInput.spec.js +52 -39
  212. package/dist/recipes/inputs/PasswordInput.spec.d.ts +2 -0
  213. package/dist/recipes/inputs/PasswordInput.spec.d.ts.map +1 -0
  214. package/dist/recipes/inputs/PasswordInput.spec.js +410 -0
  215. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +253 -173
  216. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte +71 -0
  217. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts +9 -0
  218. package/dist/recipes/inputs/PasswordStrengthIndicator/TestWrapper.svelte.d.ts.map +1 -0
  219. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +1246 -300
  220. package/dist/recipes/inputs/Search.spec.d.ts +2 -0
  221. package/dist/recipes/inputs/Search.spec.d.ts.map +1 -0
  222. package/dist/recipes/inputs/Search.spec.js +177 -0
  223. package/dist/recipes/inputs/SelectDropdown.spec.d.ts +2 -0
  224. package/dist/recipes/inputs/SelectDropdown.spec.d.ts.map +1 -0
  225. package/dist/recipes/inputs/SelectDropdown.spec.js +512 -0
  226. package/dist/recipes/modals/AlertModal.spec.d.ts +2 -0
  227. package/dist/recipes/modals/AlertModal.spec.d.ts.map +1 -0
  228. package/dist/recipes/modals/AlertModal.spec.js +432 -0
  229. package/dist/recipes/modals/ConfirmationModal.spec.js +36 -21
  230. package/dist/recipes/modals/InputModal.spec.d.ts +2 -0
  231. package/dist/recipes/modals/InputModal.spec.d.ts.map +1 -0
  232. package/dist/recipes/modals/InputModal.spec.js +872 -0
  233. package/dist/recipes/modals/ModalTestWrapper.spec.d.ts +2 -0
  234. package/dist/recipes/modals/ModalTestWrapper.spec.d.ts.map +1 -0
  235. package/dist/recipes/modals/ModalTestWrapper.spec.js +502 -0
  236. package/dist/recipes/modals/StatusModal.spec.d.ts +2 -0
  237. package/dist/recipes/modals/StatusModal.spec.d.ts.map +1 -0
  238. package/dist/recipes/modals/StatusModal.spec.js +599 -0
  239. package/dist/services/ShowService.spec.js +18 -15
  240. package/dist/stories/ButtonAuditDashboard.spec.d.ts +2 -0
  241. package/dist/stories/ButtonAuditDashboard.spec.d.ts.map +1 -0
  242. package/dist/stories/ButtonAuditDashboard.spec.js +913 -0
  243. package/dist/stories/ButtonAuditReview.spec.d.ts +2 -0
  244. package/dist/stories/ButtonAuditReview.spec.d.ts.map +1 -0
  245. package/dist/stories/ButtonAuditReview.spec.js +422 -0
  246. package/dist/stories/ButtonGridView.spec.d.ts +2 -0
  247. package/dist/stories/ButtonGridView.spec.d.ts.map +1 -0
  248. package/dist/stories/ButtonGridView.spec.js +667 -0
  249. package/dist/stories/ButtonShowcase.spec.d.ts +2 -0
  250. package/dist/stories/ButtonShowcase.spec.d.ts.map +1 -0
  251. package/dist/stories/ButtonShowcase.spec.js +499 -0
  252. package/dist/stories/PatternsGallery.spec.d.ts +2 -0
  253. package/dist/stories/PatternsGallery.spec.d.ts.map +1 -0
  254. package/dist/stories/PatternsGallery.spec.js +514 -0
  255. package/dist/stories/PrimitivesGallery.spec.d.ts +2 -0
  256. package/dist/stories/PrimitivesGallery.spec.d.ts.map +1 -0
  257. package/dist/stories/PrimitivesGallery.spec.js +813 -0
  258. package/dist/stories/RecipesGallery.spec.d.ts +2 -0
  259. package/dist/stories/RecipesGallery.spec.d.ts.map +1 -0
  260. package/dist/stories/RecipesGallery.spec.js +299 -0
  261. package/dist/stripe/useStripeTheme.spec.d.ts +2 -0
  262. package/dist/stripe/useStripeTheme.spec.d.ts.map +1 -0
  263. package/dist/stripe/useStripeTheme.spec.js +793 -0
  264. package/dist/telemetry.d.ts.map +1 -1
  265. package/dist/telemetry.js +6 -5
  266. package/dist/telemetry.spec.js +495 -12
  267. package/dist/tokens/__tests__/colors.test.d.ts +2 -0
  268. package/dist/tokens/__tests__/colors.test.d.ts.map +1 -0
  269. package/dist/tokens/__tests__/colors.test.js +152 -0
  270. package/dist/tokens/__tests__/radius.test.d.ts +2 -0
  271. package/dist/tokens/__tests__/radius.test.d.ts.map +1 -0
  272. package/dist/tokens/__tests__/radius.test.js +118 -0
  273. package/dist/tokens/__tests__/shadows.test.d.ts +2 -0
  274. package/dist/tokens/__tests__/shadows.test.d.ts.map +1 -0
  275. package/dist/tokens/__tests__/shadows.test.js +105 -0
  276. package/dist/tokens/__tests__/spacing.test.js +11 -8
  277. package/dist/tokens/__tests__/typography.test.d.ts +2 -0
  278. package/dist/tokens/__tests__/typography.test.d.ts.map +1 -0
  279. package/dist/tokens/__tests__/typography.test.js +156 -0
  280. package/dist/tokens/__tests__/z-index.test.d.ts +2 -0
  281. package/dist/tokens/__tests__/z-index.test.d.ts.map +1 -0
  282. package/dist/tokens/__tests__/z-index.test.js +121 -0
  283. package/dist/utils/apiConfig.spec.js +102 -1
  284. package/dist/utils/formatters.spec.d.ts +2 -0
  285. package/dist/utils/formatters.spec.d.ts.map +1 -0
  286. package/dist/utils/formatters.spec.js +82 -0
  287. package/dist/utils/transitions.spec.d.ts +2 -0
  288. package/dist/utils/transitions.spec.d.ts.map +1 -0
  289. package/dist/utils/transitions.spec.js +130 -0
  290. package/package.json +8 -3
@@ -0,0 +1,121 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { zIndex, layers } from '../z-index';
3
+ describe('Z-Index Tokens', () => {
4
+ it('has auto value', () => {
5
+ expect(zIndex.auto).toBe('auto');
6
+ });
7
+ it('has base 0 value', () => {
8
+ expect(zIndex['0']).toBe('0');
9
+ });
10
+ it('has 10 value', () => {
11
+ expect(zIndex['10']).toBe('10');
12
+ });
13
+ it('has 20 value', () => {
14
+ expect(zIndex['20']).toBe('20');
15
+ });
16
+ it('has 30 value', () => {
17
+ expect(zIndex['30']).toBe('30');
18
+ });
19
+ it('has 40 value', () => {
20
+ expect(zIndex['40']).toBe('40');
21
+ });
22
+ it('has 50 value', () => {
23
+ expect(zIndex['50']).toBe('50');
24
+ });
25
+ it('has 51 value for modal content', () => {
26
+ expect(zIndex['51']).toBe('51');
27
+ });
28
+ it('has 60 value', () => {
29
+ expect(zIndex['60']).toBe('60');
30
+ });
31
+ it('has 70 value', () => {
32
+ expect(zIndex['70']).toBe('70');
33
+ });
34
+ it('has 100 value for critical', () => {
35
+ expect(zIndex['100']).toBe('100');
36
+ });
37
+ });
38
+ describe('Layer Aliases', () => {
39
+ it('base is 0', () => {
40
+ expect(layers.base).toBe('0');
41
+ expect(layers.base).toBe(zIndex['0']);
42
+ });
43
+ it('sticky is 10', () => {
44
+ expect(layers.sticky).toBe('10');
45
+ expect(layers.sticky).toBe(zIndex['10']);
46
+ });
47
+ it('navigation is 20', () => {
48
+ expect(layers.navigation).toBe('20');
49
+ expect(layers.navigation).toBe(zIndex['20']);
50
+ });
51
+ it('dropdown is 30', () => {
52
+ expect(layers.dropdown).toBe('30');
53
+ expect(layers.dropdown).toBe(zIndex['30']);
54
+ });
55
+ it('overlay is 40', () => {
56
+ expect(layers.overlay).toBe('40');
57
+ expect(layers.overlay).toBe(zIndex['40']);
58
+ });
59
+ it('modal is 50', () => {
60
+ expect(layers.modal).toBe('50');
61
+ expect(layers.modal).toBe(zIndex['50']);
62
+ });
63
+ it('modalContent is 51 (above modal)', () => {
64
+ expect(layers.modalContent).toBe('51');
65
+ expect(layers.modalContent).toBe(zIndex['51']);
66
+ });
67
+ it('toast is 60', () => {
68
+ expect(layers.toast).toBe('60');
69
+ expect(layers.toast).toBe(zIndex['60']);
70
+ });
71
+ it('tooltip is 70', () => {
72
+ expect(layers.tooltip).toBe('70');
73
+ expect(layers.tooltip).toBe(zIndex['70']);
74
+ });
75
+ it('critical is 100', () => {
76
+ expect(layers.critical).toBe('100');
77
+ expect(layers.critical).toBe(zIndex['100']);
78
+ });
79
+ });
80
+ describe('Layer Stacking Order', () => {
81
+ it('layers stack in correct order', () => {
82
+ const order = [
83
+ parseInt(layers.base),
84
+ parseInt(layers.sticky),
85
+ parseInt(layers.navigation),
86
+ parseInt(layers.dropdown),
87
+ parseInt(layers.overlay),
88
+ parseInt(layers.modal),
89
+ parseInt(layers.modalContent),
90
+ parseInt(layers.toast),
91
+ parseInt(layers.tooltip),
92
+ parseInt(layers.critical),
93
+ ];
94
+ for (let i = 0; i < order.length - 1; i++) {
95
+ expect(order[i + 1]).toBeGreaterThanOrEqual(order[i]);
96
+ }
97
+ });
98
+ it('modal content is above modal', () => {
99
+ expect(parseInt(layers.modalContent)).toBeGreaterThan(parseInt(layers.modal));
100
+ });
101
+ it('toast is above overlay', () => {
102
+ expect(parseInt(layers.toast)).toBeGreaterThan(parseInt(layers.overlay));
103
+ });
104
+ it('tooltip is above toast', () => {
105
+ expect(parseInt(layers.tooltip)).toBeGreaterThan(parseInt(layers.toast));
106
+ });
107
+ it('critical is highest', () => {
108
+ expect(parseInt(layers.critical)).toBeGreaterThanOrEqual(parseInt(layers.tooltip));
109
+ });
110
+ });
111
+ describe('Z-Index Semantic Meaning', () => {
112
+ it('dropdowns appear above navigation', () => {
113
+ expect(parseInt(layers.dropdown)).toBeGreaterThan(parseInt(layers.navigation));
114
+ });
115
+ it('overlays appear above dropdowns', () => {
116
+ expect(parseInt(layers.overlay)).toBeGreaterThan(parseInt(layers.dropdown));
117
+ });
118
+ it('modals appear above overlays', () => {
119
+ expect(parseInt(layers.modal)).toBeGreaterThan(parseInt(layers.overlay));
120
+ });
121
+ });
@@ -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,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
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getmicdrop/svelte-components",
3
- "version": "5.5.4",
3
+ "version": "5.5.5",
4
4
  "description": "Shared component library for Micdrop applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -115,7 +115,7 @@
115
115
  "types": "./dist/datetime/index.d.ts",
116
116
  "import": "./dist/datetime/index.js"
117
117
  },
118
- "./utils/utils": {
118
+ "./utils/utils": {
119
119
  "import": "./dist/utils/utils.js"
120
120
  },
121
121
  "./utils/utils/utils": {
@@ -229,13 +229,14 @@
229
229
  "sortablejs": "^1.15.6",
230
230
  "svelte-easy-crop": "^5.0.0",
231
231
  "svelte-filepond": "^0.2.2",
232
- "svelte-sonner": "^0.3.28",
232
+ "svelte-sonner": "^1.0.7",
233
233
  "tailwind-merge": "^2.5.4",
234
234
  "tinymce": "^7.4.1",
235
235
  "zod": "^3.23.8"
236
236
  },
237
237
  "devDependencies": {
238
238
  "@cypress/code-coverage": "^3.14.6",
239
+ "@eslint/js": "^9.39.2",
239
240
  "@storybook/addon-essentials": "^8.2.5",
240
241
  "@storybook/addon-interactions": "^8.2.5",
241
242
  "@storybook/addon-links": "^8.2.5",
@@ -253,13 +254,16 @@
253
254
  "@testing-library/svelte": "^5.2.0",
254
255
  "@types/cookie": "^1.0.0",
255
256
  "@types/node": "^20.14.12",
257
+ "@typescript-eslint/parser": "^8.52.0",
256
258
  "@vitest/coverage-istanbul": "^2.1.9",
259
+ "@vitest/coverage-v8": "^2.1.9",
257
260
  "@vitest/ui": "^2.0.4",
258
261
  "autoprefixer": "^10.4.19",
259
262
  "chromatic": "^13.3.4",
260
263
  "cypress": "^15.1.0",
261
264
  "eslint": "^9.7.0",
262
265
  "eslint-plugin-svelte": "^2.43.0",
266
+ "globals": "^17.0.0",
263
267
  "husky": "^9.1.7",
264
268
  "jsdom": "^24.1.1",
265
269
  "postcss": "^8.4.39",
@@ -271,6 +275,7 @@
271
275
  "svelte-check": "^3.8.4",
272
276
  "tailwindcss": "^3.4.6",
273
277
  "typescript": "^5.5.4",
278
+ "typescript-eslint": "^8.52.0",
274
279
  "vite": "^6.4.1",
275
280
  "vite-plugin-istanbul": "^7.2.1",
276
281
  "vitest": "^2.0.4"