@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
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ButtonAuditReview.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ButtonAuditReview.spec.d.ts","sourceRoot":"","sources":["../../src/lib/stories/ButtonAuditReview.spec.js"],"names":[],"mappings":""}
@@ -0,0 +1,422 @@
1
+ import { render, screen } from '@testing-library/svelte';
2
+ import { expect, describe, it } from 'vitest';
3
+ import ButtonAuditReview from './ButtonAuditReview.svelte';
4
+
5
+ describe('ButtonAuditReview', () => {
6
+ describe('Component Rendering', () => {
7
+ it('should render the main heading', () => {
8
+ render(ButtonAuditReview);
9
+ expect(screen.getByText('Button Audit Review')).toBeInTheDocument();
10
+ });
11
+
12
+ it('should render the last updated date', () => {
13
+ render(ButtonAuditReview);
14
+ expect(screen.getByText('Last updated: December 30, 2024')).toBeInTheDocument();
15
+ });
16
+
17
+ it('should render all main sections', () => {
18
+ render(ButtonAuditReview);
19
+ expect(screen.getAllByText(/Buttons Without Variant/).length).toBeGreaterThan(0);
20
+ expect(screen.getByText(/Visual Comparison: Current vs Recommended/)).toBeInTheDocument();
21
+ expect(screen.getByText(/Recent Fixes/)).toBeInTheDocument();
22
+ expect(screen.getByText(/Valid Variants Reference/)).toBeInTheDocument();
23
+ expect(screen.getByText('Button Variant Decision Guide')).toBeInTheDocument();
24
+ expect(screen.getAllByText(/How to Find Buttons Without Variant/).length).toBeGreaterThan(0);
25
+ });
26
+ });
27
+
28
+ describe('Summary Cards', () => {
29
+ it('should render three summary cards', () => {
30
+ const { container } = render(ButtonAuditReview);
31
+ const summaryCards = container.querySelectorAll('.grid.grid-cols-3 > div');
32
+ expect(summaryCards).toHaveLength(3);
33
+ });
34
+
35
+ it('should display the total buttons without variant count (260)', () => {
36
+ render(ButtonAuditReview);
37
+ expect(screen.getByText('260')).toBeInTheDocument();
38
+ expect(screen.getAllByText('Buttons Without Variant').length).toBeGreaterThan(0);
39
+ });
40
+
41
+ it('should display the recent fix sessions count', () => {
42
+ const { container } = render(ButtonAuditReview);
43
+ expect(screen.getByText('Recent Fix Sessions')).toBeInTheDocument();
44
+ // Check the green card has the count 4
45
+ const greenCard = container.querySelector('.bg-green-50.border-green-400');
46
+ expect(greenCard?.textContent).toContain('4');
47
+ });
48
+
49
+ it('should display the valid variants count', () => {
50
+ const { container } = render(ButtonAuditReview);
51
+ expect(screen.getByText('Valid Variants')).toBeInTheDocument();
52
+ // Check the blue card has the count 15
53
+ const blueCards = container.querySelectorAll('.bg-blue-50.border-blue-400');
54
+ const summaryBlueCard = blueCards[0];
55
+ expect(summaryBlueCard?.textContent).toContain('15');
56
+ });
57
+
58
+ it('should render status badges on summary cards', () => {
59
+ render(ButtonAuditReview);
60
+ expect(screen.getByText('Needs Review')).toBeInTheDocument();
61
+ expect(screen.getByText('Today')).toBeInTheDocument();
62
+ expect(screen.getByText('Reference')).toBeInTheDocument();
63
+ });
64
+ });
65
+
66
+ describe('Buttons Without Variant Section', () => {
67
+ it('should render the warning icon', () => {
68
+ const { container } = render(ButtonAuditReview);
69
+ expect(container.textContent).toContain('⚠');
70
+ });
71
+
72
+ it('should render the table with correct headers', () => {
73
+ const { container } = render(ButtonAuditReview);
74
+ const table = container.querySelector('table');
75
+ expect(table).toBeInTheDocument();
76
+ const headers = table?.querySelectorAll('th');
77
+ expect(headers?.length).toBe(4);
78
+ expect(screen.getAllByText('File').length).toBeGreaterThan(0);
79
+ expect(screen.getAllByText('Count').length).toBeGreaterThan(0);
80
+ expect(screen.getAllByText('Context').length).toBeGreaterThan(0);
81
+ expect(screen.getAllByText('Status').length).toBeGreaterThan(0);
82
+ });
83
+
84
+ it('should render high priority items', () => {
85
+ render(ButtonAuditReview);
86
+ expect(screen.getByText('routes/a/profile/venue/add/+page.svelte')).toBeInTheDocument();
87
+ expect(screen.getByText('Add venue form')).toBeInTheDocument();
88
+ });
89
+
90
+ it('should render medium priority items', () => {
91
+ render(ButtonAuditReview);
92
+ expect(screen.getByText('routes/a/venues/[venueID]/[eventID]/tickets/+page.svelte')).toBeInTheDocument();
93
+ expect(screen.getByText('Event tickets')).toBeInTheDocument();
94
+ });
95
+
96
+ it('should render button counts correctly', () => {
97
+ const { container } = render(ButtonAuditReview);
98
+ const table = container.querySelector('table');
99
+ // High priority - 8 buttons
100
+ expect(table?.textContent).toContain('8');
101
+ // Check the table contains various counts
102
+ expect(table?.textContent).toContain('5');
103
+ expect(table?.textContent).toContain('3');
104
+ });
105
+
106
+ it('should display total count in summary box', () => {
107
+ render(ButtonAuditReview);
108
+ expect(screen.getByText(/Total: ~260 buttons/)).toBeInTheDocument();
109
+ });
110
+ });
111
+
112
+ describe('Visual Examples Section', () => {
113
+ it('should render all visual example categories', () => {
114
+ render(ButtonAuditReview);
115
+ expect(screen.getByText('Tertiary Actions (Edit, View, Details)')).toBeInTheDocument();
116
+ expect(screen.getByText('Cancel / Dismiss Buttons')).toBeInTheDocument();
117
+ expect(screen.getByText('Dropdown / Menu Items')).toBeInTheDocument();
118
+ expect(screen.getByText('Icon-Only Buttons')).toBeInTheDocument();
119
+ expect(screen.getByText('Primary CTAs (Correct as default)')).toBeInTheDocument();
120
+ });
121
+
122
+ it('should render category descriptions', () => {
123
+ render(ButtonAuditReview);
124
+ expect(screen.getByText('Text-only actions that should not compete with primary CTAs')).toBeInTheDocument();
125
+ expect(screen.getByText('Secondary actions that close modals or cancel operations')).toBeInTheDocument();
126
+ });
127
+
128
+ it('should render "Needs Fix" badge for incorrect categories', () => {
129
+ const { container } = render(ButtonAuditReview);
130
+ const needsFixBadges = container.querySelectorAll('.bg-red-100.text-red-700');
131
+ expect(needsFixBadges.length).toBeGreaterThan(0);
132
+ });
133
+
134
+ it('should render "Correct" badge for correct categories', () => {
135
+ const { container } = render(ButtonAuditReview);
136
+ const correctBadges = container.querySelectorAll('.bg-green-100.text-green-700');
137
+ expect(correctBadges.length).toBeGreaterThan(0);
138
+ });
139
+
140
+ it('should render current vs recommended comparison labels', () => {
141
+ render(ButtonAuditReview);
142
+ const currentLabels = screen.getAllByText('Current (no variant):');
143
+ const recommendedLabels = screen.getAllByText(/Recommended:/);
144
+ expect(currentLabels.length).toBeGreaterThan(0);
145
+ expect(recommendedLabels.length).toBeGreaterThan(0);
146
+ });
147
+
148
+ it('should render the key insight box', () => {
149
+ render(ButtonAuditReview);
150
+ expect(screen.getByText(/Key insight:/)).toBeInTheDocument();
151
+ expect(screen.getByText(/Buttons without variant all render as solid blue/)).toBeInTheDocument();
152
+ });
153
+ });
154
+
155
+ describe('Recent Fixes Section', () => {
156
+ it('should render the checkmark icon', () => {
157
+ const { container } = render(ButtonAuditReview);
158
+ expect(container.textContent).toContain('✓');
159
+ });
160
+
161
+ it('should render all recent fix descriptions', () => {
162
+ render(ButtonAuditReview);
163
+ expect(screen.getByText('Lineup page buttons')).toBeInTheDocument();
164
+ expect(screen.getByText('Edit spot modal performer search')).toBeInTheDocument();
165
+ expect(screen.getByText('Actions dropdown in LineupSection')).toBeInTheDocument();
166
+ expect(screen.getByText('Batch invalid variant fixes')).toBeInTheDocument();
167
+ });
168
+
169
+ it('should render fix items for lineup page buttons', () => {
170
+ render(ButtonAuditReview);
171
+ expect(screen.getByText('Changed + Add button to use Carbon Add icon with text-white')).toBeInTheDocument();
172
+ expect(screen.getByText('Changed + New spot button to use Carbon Add icon with text-white')).toBeInTheDocument();
173
+ });
174
+
175
+ it('should render fix items for modal performer search', () => {
176
+ render(ButtonAuditReview);
177
+ expect(screen.getByText('Added variant="menu-item" to performer search result buttons')).toBeInTheDocument();
178
+ });
179
+
180
+ it('should render fix items for actions dropdown', () => {
181
+ render(ButtonAuditReview);
182
+ expect(screen.getByText(/Fixed dropdown not opening/)).toBeInTheDocument();
183
+ expect(screen.getByText(/Added actionsDropdownOpen state/)).toBeInTheDocument();
184
+ });
185
+
186
+ it('should render batch fix items', () => {
187
+ render(ButtonAuditReview);
188
+ expect(screen.getByText(/alternative → gray-outline/)).toBeInTheDocument();
189
+ expect(screen.getByText(/default → blue-solid/)).toBeInTheDocument();
190
+ });
191
+ });
192
+
193
+ describe('Valid Variants Reference Section', () => {
194
+ it('should render all valid variant names', () => {
195
+ const { container } = render(ButtonAuditReview);
196
+ // Check that key variant names are present in the document
197
+ expect(container.textContent).toContain('default');
198
+ expect(container.textContent).toContain('alternative');
199
+ expect(container.textContent).toContain('outline');
200
+ expect(container.textContent).toContain('red');
201
+ expect(container.textContent).toContain('ghost');
202
+ expect(container.textContent).toContain('icon');
203
+ expect(container.textContent).toContain('toggle');
204
+ expect(container.textContent).toContain('menu-item');
205
+ expect(container.textContent).toContain('link');
206
+ expect(container.textContent).toContain('card');
207
+ expect(container.textContent).toContain('nav');
208
+ });
209
+
210
+ it('should render variant usage descriptions', () => {
211
+ render(ButtonAuditReview);
212
+ expect(screen.getByText('Main CTAs, Save, Submit')).toBeInTheDocument();
213
+ expect(screen.getByText('Cancel, Secondary actions')).toBeInTheDocument();
214
+ expect(screen.getByText('Delete, destructive actions')).toBeInTheDocument();
215
+ });
216
+
217
+ it('should render variant aliases where applicable', () => {
218
+ const { container } = render(ButtonAuditReview);
219
+ // Check within the Valid Variants section
220
+ const validVariantsSection = Array.from(container.querySelectorAll('section')).find(
221
+ section => section.textContent.includes('Valid Variants Reference')
222
+ );
223
+ expect(validVariantsSection?.textContent).toContain('blue-solid');
224
+ expect(validVariantsSection?.textContent).toContain('gray-outline');
225
+ expect(validVariantsSection?.textContent).toContain('blue-outline');
226
+ });
227
+
228
+ it('should display all 15 variants in grid layout', () => {
229
+ const { container } = render(ButtonAuditReview);
230
+ const variantCards = container.querySelectorAll('.grid.grid-cols-2 > div');
231
+ expect(variantCards.length).toBeGreaterThanOrEqual(15);
232
+ });
233
+ });
234
+
235
+ describe('Decision Guide Section', () => {
236
+ it('should render the decision guide heading', () => {
237
+ render(ButtonAuditReview);
238
+ expect(screen.getByText('Button Variant Decision Guide')).toBeInTheDocument();
239
+ });
240
+
241
+ it('should render "When to use each variant" section', () => {
242
+ render(ButtonAuditReview);
243
+ expect(screen.getByText('When to use each variant')).toBeInTheDocument();
244
+ });
245
+
246
+ it('should render usage guidelines for variants', () => {
247
+ const { container } = render(ButtonAuditReview);
248
+ const decisionGuide = Array.from(container.querySelectorAll('section')).find(
249
+ section => section.textContent.includes('Button Variant Decision Guide')
250
+ );
251
+ expect(decisionGuide?.textContent).toContain('Primary CTAs: Save, Submit');
252
+ expect(decisionGuide?.textContent).toContain('Secondary CTAs: Invite, Export');
253
+ expect(decisionGuide?.textContent).toContain('Cancel, Close, Filter');
254
+ expect(decisionGuide?.textContent).toContain('Delete confirmations, destructive actions');
255
+ });
256
+
257
+ it('should render "Common mistakes" section', () => {
258
+ render(ButtonAuditReview);
259
+ expect(screen.getByText('Common mistakes')).toBeInTheDocument();
260
+ });
261
+
262
+ it('should render mistake examples', () => {
263
+ render(ButtonAuditReview);
264
+ expect(screen.getByText(/No variant on dropdown items/)).toBeInTheDocument();
265
+ expect(screen.getByText(/No variant on Cancel/)).toBeInTheDocument();
266
+ expect(screen.getByText(/Invalid variant names fall back to default/)).toBeInTheDocument();
267
+ });
268
+
269
+ it('should render the tip box', () => {
270
+ render(ButtonAuditReview);
271
+ expect(screen.getByText(/Tip:/)).toBeInTheDocument();
272
+ expect(screen.getByText(/When in doubt, use alternative for secondary actions/)).toBeInTheDocument();
273
+ });
274
+ });
275
+
276
+ describe('How to Find Issues Section', () => {
277
+ it('should render the grep command', () => {
278
+ const { container } = render(ButtonAuditReview);
279
+ expect(container.textContent).toContain('grep -rn');
280
+ expect(container.textContent).toContain('--include="*.svelte"');
281
+ });
282
+
283
+ it('should render the instruction text', () => {
284
+ render(ButtonAuditReview);
285
+ expect(screen.getByText('Run this command in micdrop-frontend:')).toBeInTheDocument();
286
+ });
287
+ });
288
+
289
+ describe('Layout and Structure', () => {
290
+ it('should have proper max-width container', () => {
291
+ const { container } = render(ButtonAuditReview);
292
+ const mainContainer = container.querySelector('.max-w-7xl');
293
+ expect(mainContainer).toBeInTheDocument();
294
+ });
295
+
296
+ it('should have proper spacing between sections', () => {
297
+ const { container } = render(ButtonAuditReview);
298
+ const spacedContainer = container.querySelector('.space-y-8');
299
+ expect(spacedContainer).toBeInTheDocument();
300
+ });
301
+
302
+ it('should render all sections with proper borders', () => {
303
+ const { container } = render(ButtonAuditReview);
304
+ const borderedSections = container.querySelectorAll('.border-2');
305
+ expect(borderedSections.length).toBeGreaterThan(0);
306
+ });
307
+ });
308
+
309
+ describe('Color Coding and Visual Indicators', () => {
310
+ it('should use yellow theme for buttons without variant section', () => {
311
+ const { container } = render(ButtonAuditReview);
312
+ const yellowSection = container.querySelector('.bg-yellow-50.border-yellow-400');
313
+ expect(yellowSection).toBeInTheDocument();
314
+ });
315
+
316
+ it('should use orange theme for visual comparison section', () => {
317
+ const { container } = render(ButtonAuditReview);
318
+ const orangeSection = container.querySelector('.bg-orange-50.border-orange-400');
319
+ expect(orangeSection).toBeInTheDocument();
320
+ });
321
+
322
+ it('should use green theme for recent fixes section', () => {
323
+ const { container } = render(ButtonAuditReview);
324
+ const greenSection = container.querySelector('.bg-green-50.border-green-400');
325
+ expect(greenSection).toBeInTheDocument();
326
+ });
327
+
328
+ it('should use blue theme for decision guide section', () => {
329
+ const { container } = render(ButtonAuditReview);
330
+ const blueSection = container.querySelector('.bg-blue-50.border-blue-400');
331
+ expect(blueSection).toBeInTheDocument();
332
+ });
333
+ });
334
+
335
+ describe('Data Integrity', () => {
336
+ it('should display consistent button count across sections', () => {
337
+ const { container } = render(ButtonAuditReview);
338
+ // Check that 260 appears in summary card
339
+ expect(screen.getByText('260')).toBeInTheDocument();
340
+ // Check that ~260 appears in total message
341
+ expect(screen.getByText(/~260 buttons/)).toBeInTheDocument();
342
+ });
343
+
344
+ it('should display correct date for all recent fixes', () => {
345
+ const { container } = render(ButtonAuditReview);
346
+ // Check that December 30, 2024 appears in multiple places
347
+ const matches = screen.getAllByText(/December 30, 2024/);
348
+ expect(matches.length).toBeGreaterThan(0);
349
+ });
350
+
351
+ it('should render all table rows for buttons without variant', () => {
352
+ const { container } = render(ButtonAuditReview);
353
+ // Should have high priority, medium priority, and remaining items
354
+ const tableRows = container.querySelectorAll('tbody tr');
355
+ expect(tableRows.length).toBeGreaterThan(0);
356
+ });
357
+ });
358
+
359
+ describe('Interactive Elements', () => {
360
+ it('should render buttons in visual examples', () => {
361
+ const { container } = render(ButtonAuditReview);
362
+ // Should have buttons for current and recommended states
363
+ const buttons = container.querySelectorAll('button');
364
+ expect(buttons.length).toBeGreaterThan(0);
365
+ });
366
+
367
+ it('should render buttons with different variants in reference section', () => {
368
+ const { container } = render(ButtonAuditReview);
369
+ // Valid variants section should contain multiple button instances
370
+ const validVariantsSection = Array.from(container.querySelectorAll('section')).find(
371
+ section => section.textContent.includes('Valid Variants Reference')
372
+ );
373
+ expect(validVariantsSection).toBeInTheDocument();
374
+ const buttonsInSection = validVariantsSection?.querySelectorAll('button');
375
+ expect(buttonsInSection?.length).toBeGreaterThan(0);
376
+ });
377
+ });
378
+
379
+ describe('Accessibility', () => {
380
+ it('should use semantic HTML structure', () => {
381
+ const { container } = render(ButtonAuditReview);
382
+ expect(container.querySelector('h1')).toBeInTheDocument();
383
+ expect(container.querySelector('h2')).toBeInTheDocument();
384
+ expect(container.querySelector('h3')).toBeInTheDocument();
385
+ });
386
+
387
+ it('should have proper table structure', () => {
388
+ const { container } = render(ButtonAuditReview);
389
+ const table = container.querySelector('table');
390
+ expect(table).toBeInTheDocument();
391
+ expect(table?.querySelector('thead')).toBeInTheDocument();
392
+ expect(table?.querySelector('tbody')).toBeInTheDocument();
393
+ });
394
+
395
+ it('should use code elements for code snippets', () => {
396
+ const { container } = render(ButtonAuditReview);
397
+ const codeElements = container.querySelectorAll('code');
398
+ expect(codeElements.length).toBeGreaterThan(0);
399
+ });
400
+ });
401
+
402
+ describe('Content Completeness', () => {
403
+ it('should render all emoji indicators', () => {
404
+ const { container } = render(ButtonAuditReview);
405
+ expect(container.textContent).toContain('⚠');
406
+ expect(container.textContent).toContain('👁');
407
+ expect(container.textContent).toContain('✓');
408
+ });
409
+
410
+ it('should render all status badges', () => {
411
+ render(ButtonAuditReview);
412
+ expect(screen.getAllByText('Review').length).toBeGreaterThan(0);
413
+ });
414
+
415
+ it('should contain comprehensive guidance text', () => {
416
+ const { container } = render(ButtonAuditReview);
417
+ expect(container.textContent).toContain('variant');
418
+ expect(container.textContent).toContain('blue-solid');
419
+ expect(container.textContent).toContain('visual hierarchy');
420
+ });
421
+ });
422
+ });
@@ -1,14 +1,14 @@
1
- <script module>
2
- import { defineMeta } from "@storybook/addon-svelte-csf";
3
- import ButtonAuditReview from "./ButtonAuditReview.svelte";
4
-
5
- const { Story } = defineMeta({
6
- title: "Design System/Button Audit Review",
7
- component: ButtonAuditReview,
8
- parameters: {
9
- layout: 'fullscreen',
10
- }
11
- });
12
- </script>
13
-
14
- <Story name="All Issues" />
1
+ <script module>
2
+ import { defineMeta } from "@storybook/addon-svelte-csf";
3
+ import ButtonAuditReview from "./ButtonAuditReview.svelte";
4
+
5
+ const { Story } = defineMeta({
6
+ title: "Design System/Button Audit Review",
7
+ component: ButtonAuditReview,
8
+ parameters: {
9
+ layout: 'fullscreen',
10
+ }
11
+ });
12
+ </script>
13
+
14
+ <Story name="All Issues" />