@getmicdrop/svelte-components 5.18.0 → 5.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. package/dist/calendar/AboutShow/AboutShow.svelte +191 -187
  2. package/dist/calendar/AboutShow/AboutShow.svelte.d.ts +2 -2
  3. package/dist/calendar/AboutShow/AboutShow.svelte.d.ts.map +1 -1
  4. package/dist/calendar/Calendar/MiniMonthCalendar.svelte +801 -780
  5. package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts +4 -0
  6. package/dist/calendar/Calendar/MiniMonthCalendar.svelte.d.ts.map +1 -1
  7. package/dist/calendar/FAQs/FAQs.svelte +88 -77
  8. package/dist/calendar/FAQs/FAQs.svelte.d.ts +6 -4
  9. package/dist/calendar/FAQs/FAQs.svelte.d.ts.map +1 -1
  10. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +140 -125
  11. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts +2 -0
  12. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte.d.ts.map +1 -1
  13. package/dist/calendar/OrderSummary/OrderSummary.spec.js +3 -3
  14. package/dist/calendar/OrderSummary/OrderSummary.svelte +461 -457
  15. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts +4 -2
  16. package/dist/calendar/OrderSummary/OrderSummary.svelte.d.ts.map +1 -1
  17. package/dist/calendar/PublicCard/PublicCard.svelte +164 -155
  18. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts +4 -0
  19. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
  20. package/dist/calendar/ShowCard/ShowCard.svelte +180 -166
  21. package/dist/calendar/ShowCard/ShowCard.svelte.d.ts +4 -0
  22. package/dist/calendar/ShowCard/ShowCard.svelte.d.ts.map +1 -1
  23. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +80 -72
  24. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts +4 -0
  25. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte.d.ts.map +1 -1
  26. package/dist/calendar/index.js +15 -15
  27. package/dist/components/Heading.spec.js +89 -89
  28. package/dist/components/Heading.svelte +60 -60
  29. package/dist/components/Layout/AppShell.svelte +104 -104
  30. package/dist/components/Layout/ContentSection.svelte +80 -80
  31. package/dist/components/Layout/Grid.svelte +101 -101
  32. package/dist/components/Layout/Heading.svelte +81 -81
  33. package/dist/components/Layout/PageContainer.svelte +69 -69
  34. package/dist/components/Layout/Responsive.svelte +75 -75
  35. package/dist/components/Layout/Section.svelte +80 -80
  36. package/dist/components/Layout/ShowOnDesktop.svelte +37 -37
  37. package/dist/components/Layout/ShowOnMobile.svelte +37 -37
  38. package/dist/components/Layout/Sidebar.svelte +108 -108
  39. package/dist/components/Layout/Stack.spec.js +1 -1
  40. package/dist/components/Layout/Stack.svelte +52 -52
  41. package/dist/components/Layout/Text.svelte +87 -87
  42. package/dist/components/Layout/TwoColumn.svelte +108 -108
  43. package/dist/components/Text.spec.js +89 -89
  44. package/dist/components/Text.svelte +53 -53
  45. package/dist/config.js +151 -151
  46. package/dist/config.spec.js +29 -29
  47. package/dist/constants/formOptions.js +48 -48
  48. package/dist/constants/validation.js +91 -91
  49. package/dist/constants/validation.spec.js +64 -64
  50. package/dist/datetime/README.md +323 -323
  51. package/dist/datetime/__tests__/format.test.js +1 -1
  52. package/dist/datetime/__tests__/parse.test.js +1 -1
  53. package/dist/datetime/__tests__/timezone.test.js +1 -1
  54. package/dist/datetime/parse.js +1 -1
  55. package/dist/forms/createFormStore.svelte.js +1 -0
  56. package/dist/forms/createFormStore.svelte.spec.js +1 -0
  57. package/dist/index.d.ts +1 -0
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +66 -57
  60. package/dist/index.spec.js +369 -369
  61. package/dist/patterns/chat/ChatActivityNotice.spec.js +59 -59
  62. package/dist/patterns/chat/ChatActivityNotice.svelte +41 -41
  63. package/dist/patterns/chat/ChatBubble.spec.js +91 -91
  64. package/dist/patterns/chat/ChatBubble.svelte +103 -95
  65. package/dist/patterns/chat/ChatBubble.svelte.d.ts +6 -4
  66. package/dist/patterns/chat/ChatBubble.svelte.d.ts.map +1 -1
  67. package/dist/patterns/chat/ChatContainer.spec.js +30 -30
  68. package/dist/patterns/chat/ChatContainer.svelte +46 -46
  69. package/dist/patterns/chat/ChatDateDivider.spec.js +30 -30
  70. package/dist/patterns/chat/ChatDateDivider.svelte +27 -27
  71. package/dist/patterns/chat/ChatInvitationBubble.spec.js +46 -46
  72. package/dist/patterns/chat/ChatInvitationBubble.svelte +46 -37
  73. package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts +6 -3
  74. package/dist/patterns/chat/ChatInvitationBubble.svelte.d.ts.map +1 -1
  75. package/dist/patterns/chat/ChatInvitationNotice.spec.js +32 -32
  76. package/dist/patterns/chat/ChatInvitationNotice.svelte +36 -27
  77. package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts +6 -3
  78. package/dist/patterns/chat/ChatInvitationNotice.svelte.d.ts.map +1 -1
  79. package/dist/patterns/chat/ChatMessageGroup.spec.js +58 -58
  80. package/dist/patterns/chat/ChatMessageGroup.svelte +57 -57
  81. package/dist/patterns/chat/ChatSlotUpdate.spec.js +65 -65
  82. package/dist/patterns/chat/ChatSlotUpdate.svelte +46 -46
  83. package/dist/patterns/chat/ChatStatusBadge.spec.js +79 -79
  84. package/dist/patterns/chat/ChatStatusBadge.svelte +91 -91
  85. package/dist/patterns/chat/ChatStatusTransition.spec.js +81 -81
  86. package/dist/patterns/chat/ChatStatusTransition.svelte +64 -64
  87. package/dist/patterns/chat/ChatTextBubble.spec.js +35 -35
  88. package/dist/patterns/chat/ChatTextBubble.svelte +41 -41
  89. package/dist/patterns/chat/index.js +22 -22
  90. package/dist/patterns/data/DataGrid.svelte +45 -45
  91. package/dist/patterns/data/DataList.svelte +24 -24
  92. package/dist/patterns/data/DataTable.svelte +45 -45
  93. package/dist/patterns/data/index.js +4 -4
  94. package/dist/patterns/forms/FormActions.spec.js +95 -95
  95. package/dist/patterns/forms/FormActions.stories.svelte +97 -97
  96. package/dist/patterns/forms/FormActions.svelte +46 -46
  97. package/dist/patterns/forms/FormGrid.svelte +33 -33
  98. package/dist/patterns/forms/FormSection.svelte +32 -32
  99. package/dist/patterns/forms/FormValidationSummary.stories.svelte +97 -97
  100. package/dist/patterns/forms/FormValidationSummary.svelte +82 -74
  101. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts +5 -3
  102. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts.map +1 -1
  103. package/dist/patterns/forms/index.js +5 -5
  104. package/dist/patterns/index.js +21 -21
  105. package/dist/patterns/layout/Sidebar.svelte +39 -39
  106. package/dist/patterns/layout/SidebarTestWrapper.svelte +34 -34
  107. package/dist/patterns/layout/SidebarTestWrapper.svelte.d.ts +1 -1
  108. package/dist/patterns/layout/Stack.svelte +61 -61
  109. package/dist/patterns/layout/index.js +29 -29
  110. package/dist/patterns/navigation/BottomNav.stories.svelte +117 -117
  111. package/dist/patterns/navigation/BottomNav.svelte +82 -74
  112. package/dist/patterns/navigation/BottomNav.svelte.d.ts +10 -9
  113. package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
  114. package/dist/patterns/navigation/Header.stories.svelte +77 -77
  115. package/dist/patterns/navigation/Header.svelte +263 -251
  116. package/dist/patterns/navigation/Header.svelte.d.ts +17 -9
  117. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  118. package/dist/patterns/navigation/index.js +3 -3
  119. package/dist/patterns/page/PageHeader.svelte +49 -49
  120. package/dist/patterns/page/PageLayout.svelte +40 -40
  121. package/dist/patterns/page/PageLoader.spec.js +57 -57
  122. package/dist/patterns/page/PageLoader.stories.svelte +137 -137
  123. package/dist/patterns/page/PageLoader.svelte +62 -53
  124. package/dist/patterns/page/PageLoader.svelte.d.ts +6 -3
  125. package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
  126. package/dist/patterns/page/SectionHeader.svelte +51 -51
  127. package/dist/patterns/page/index.js +5 -5
  128. package/dist/presets/badges.js +112 -112
  129. package/dist/presets/buttons.js +76 -76
  130. package/dist/presets/index.js +9 -9
  131. package/dist/primitives/Accordion/Accordion.stories.svelte +75 -75
  132. package/dist/primitives/Accordion/Accordion.svelte +62 -62
  133. package/dist/primitives/Accordion/AccordionItem.svelte +103 -95
  134. package/dist/primitives/Accordion/AccordionItem.svelte.d.ts +6 -4
  135. package/dist/primitives/Accordion/AccordionItem.svelte.d.ts.map +1 -1
  136. package/dist/primitives/Accordion/AccordionItemWrapper.test.svelte +107 -107
  137. package/dist/primitives/Accordion/AccordionToggleWrapper.test.svelte +28 -28
  138. package/dist/primitives/Alert/Alert.spec.js +173 -173
  139. package/dist/primitives/Alert/Alert.stories.svelte +88 -88
  140. package/dist/primitives/Alert/Alert.svelte +72 -64
  141. package/dist/primitives/Alert/Alert.svelte.d.ts +6 -4
  142. package/dist/primitives/Alert/Alert.svelte.d.ts.map +1 -1
  143. package/dist/primitives/Avatar/Avatar.stories.svelte +94 -94
  144. package/dist/primitives/Avatar/Avatar.svelte +66 -66
  145. package/dist/primitives/AvatarButton/AvatarButton.svelte +57 -57
  146. package/dist/primitives/Badges/Badge.spec.js +144 -144
  147. package/dist/primitives/Badges/Badge.stories.svelte +86 -86
  148. package/dist/primitives/Badges/Badge.svelte +99 -99
  149. package/dist/primitives/BottomSheet/BottomSheet.spec.js +238 -238
  150. package/dist/primitives/BottomSheet/BottomSheet.stories.svelte +83 -83
  151. package/dist/primitives/BottomSheet/BottomSheet.svelte +115 -115
  152. package/dist/primitives/BottomSheet/BottomSheetWithActions.test.svelte +20 -20
  153. package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +123 -123
  154. package/dist/primitives/Breadcrumb/Breadcrumb.stories.svelte +23 -23
  155. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +107 -99
  156. package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts +13 -9
  157. package/dist/primitives/Breadcrumb/Breadcrumb.svelte.d.ts.map +1 -1
  158. package/dist/primitives/Button/Button.spec.js +225 -225
  159. package/dist/primitives/Button/Button.stories.svelte +76 -76
  160. package/dist/primitives/Button/Button.svelte +278 -278
  161. package/dist/primitives/Button/ButtonGroup.spec.js +44 -44
  162. package/dist/primitives/Button/ButtonGroup.svelte +50 -50
  163. package/dist/primitives/Button/ButtonSaveDemo.spec.js +146 -146
  164. package/dist/primitives/Button/ButtonSaveDemo.svelte +25 -25
  165. package/dist/primitives/Button/ButtonVariantShowcase.svelte +129 -129
  166. package/dist/primitives/Card.spec.js +49 -49
  167. package/dist/primitives/Card.stories.svelte +22 -22
  168. package/dist/primitives/Card.svelte +28 -28
  169. package/dist/primitives/CardAction/CardAction.svelte +68 -68
  170. package/dist/primitives/Checkbox/Checkbox.stories.svelte +84 -84
  171. package/dist/primitives/Checkbox/Checkbox.svelte +88 -88
  172. package/dist/primitives/DarkModeToggle.spec.js +390 -390
  173. package/dist/primitives/DarkModeToggle.stories.svelte +57 -57
  174. package/dist/primitives/DarkModeToggle.svelte +147 -136
  175. package/dist/primitives/DarkModeToggle.svelte.d.ts +9 -3
  176. package/dist/primitives/DarkModeToggle.svelte.d.ts.map +1 -1
  177. package/dist/primitives/Drawer/Drawer.stories.svelte +100 -100
  178. package/dist/primitives/Drawer/Drawer.svelte +224 -224
  179. package/dist/primitives/Drawer/DrawerTestWrapper.svelte +86 -86
  180. package/dist/primitives/Dropdown/Dropdown.stories.svelte +137 -137
  181. package/dist/primitives/Dropdown/Dropdown.svelte +179 -170
  182. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts +7 -4
  183. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts.map +1 -1
  184. package/dist/primitives/Dropdown/DropdownDivider.spec.js +30 -30
  185. package/dist/primitives/Dropdown/DropdownDivider.svelte +9 -9
  186. package/dist/primitives/Dropdown/DropdownItem.svelte +80 -80
  187. package/dist/primitives/Dropdown/DropdownItemTestWrapper.svelte +43 -43
  188. package/dist/primitives/Helper/Helper.spec.js +57 -57
  189. package/dist/primitives/Helper/Helper.svelte +33 -33
  190. package/dist/primitives/Icons/ArrowLeft.svelte +21 -21
  191. package/dist/primitives/Icons/ArrowRight.svelte +21 -21
  192. package/dist/primitives/Icons/Availability.svelte +27 -27
  193. package/dist/primitives/Icons/Back.svelte +27 -27
  194. package/dist/primitives/Icons/CheckCircle.svelte +19 -19
  195. package/dist/primitives/Icons/CheckCircleOutline.svelte +28 -28
  196. package/dist/primitives/Icons/ChevronLeft.svelte +17 -17
  197. package/dist/primitives/Icons/ChevronRight.svelte +17 -17
  198. package/dist/primitives/Icons/Copy.svelte +28 -28
  199. package/dist/primitives/Icons/Cross.svelte +18 -18
  200. package/dist/primitives/Icons/DownArrow.svelte +21 -21
  201. package/dist/primitives/Icons/ErrorCircle.svelte +19 -19
  202. package/dist/primitives/Icons/FacebookIcon.svelte +15 -15
  203. package/dist/primitives/Icons/Home.svelte +28 -28
  204. package/dist/primitives/Icons/Icon.spec.js +175 -175
  205. package/dist/primitives/Icons/Icon.stories.svelte +100 -100
  206. package/dist/primitives/Icons/Icon.svelte +79 -79
  207. package/dist/primitives/Icons/IconGallery.stories.svelte +235 -235
  208. package/dist/primitives/Icons/ImageOutline.svelte +21 -21
  209. package/dist/primitives/Icons/Info.svelte +20 -20
  210. package/dist/primitives/Icons/InstagramIcon.svelte +21 -21
  211. package/dist/primitives/Icons/LogoInstagram.svelte +15 -15
  212. package/dist/primitives/Icons/Message.svelte +28 -28
  213. package/dist/primitives/Icons/MoonIcon.svelte +18 -18
  214. package/dist/primitives/Icons/More.svelte +34 -34
  215. package/dist/primitives/Icons/MoreHori.spec.js +67 -67
  216. package/dist/primitives/Icons/MoreHori.svelte +35 -35
  217. package/dist/primitives/Icons/Notification.svelte +27 -27
  218. package/dist/primitives/Icons/Payment.svelte +27 -27
  219. package/dist/primitives/Icons/Profile.svelte +34 -34
  220. package/dist/primitives/Icons/Reload.svelte +42 -42
  221. package/dist/primitives/Icons/Shows.svelte +34 -34
  222. package/dist/primitives/Icons/Signout.svelte +34 -34
  223. package/dist/primitives/Icons/SunIcon.svelte +21 -21
  224. package/dist/primitives/Icons/TiktokIcon.svelte +15 -15
  225. package/dist/primitives/Icons/TrashBinOutline.svelte +21 -21
  226. package/dist/primitives/Icons/TwitterIcon.svelte +15 -15
  227. package/dist/primitives/Icons/WarningIcon.spec.js +30 -30
  228. package/dist/primitives/Icons/WarningIcon.svelte +24 -24
  229. package/dist/primitives/Input/Input.spec.js +1237 -1237
  230. package/dist/primitives/Input/Input.stories.svelte +139 -139
  231. package/dist/primitives/Input/Input.svelte +444 -431
  232. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  233. package/dist/primitives/Input/Select.spec.js +632 -632
  234. package/dist/primitives/Input/Select.stories.svelte +112 -112
  235. package/dist/primitives/Input/Select.svelte +252 -252
  236. package/dist/primitives/Input/Textarea.stories.svelte +137 -137
  237. package/dist/primitives/Input/Textarea.svelte +105 -105
  238. package/dist/primitives/Label/Label.svelte +37 -37
  239. package/dist/primitives/LandingButton/LandingButton.spec.js +61 -61
  240. package/dist/primitives/LandingButton/LandingButton.svelte +92 -92
  241. package/dist/primitives/MenuItem/MenuItem.spec.js +130 -130
  242. package/dist/primitives/MenuItem/MenuItem.svelte +85 -85
  243. package/dist/primitives/Modal/Modal.spec.js +314 -314
  244. package/dist/primitives/Modal/Modal.stories.svelte +86 -86
  245. package/dist/primitives/Modal/Modal.svelte +181 -181
  246. package/dist/primitives/NavItem/NavItem.spec.js +97 -97
  247. package/dist/primitives/NavItem/NavItem.svelte +75 -75
  248. package/dist/primitives/NumberInput/NumberInput.svelte +113 -105
  249. package/dist/primitives/NumberInput/NumberInput.svelte.d.ts.map +1 -1
  250. package/dist/primitives/Pagination/Pagination.stories.svelte +76 -76
  251. package/dist/primitives/Pagination/Pagination.svelte +275 -261
  252. package/dist/primitives/Pagination/Pagination.svelte.d.ts +14 -6
  253. package/dist/primitives/Pagination/Pagination.svelte.d.ts.map +1 -1
  254. package/dist/primitives/Radio/Radio.stories.svelte +80 -80
  255. package/dist/primitives/Radio/Radio.svelte +67 -67
  256. package/dist/primitives/SearchResultItem/SearchResultItem.spec.js +78 -78
  257. package/dist/primitives/SearchResultItem/SearchResultItem.svelte +109 -109
  258. package/dist/primitives/SidebarToggle/SidebarToggle.spec.js +61 -61
  259. package/dist/primitives/SidebarToggle/SidebarToggle.svelte +55 -55
  260. package/dist/primitives/Skeleton/CardPlaceholder.svelte +96 -87
  261. package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts +8 -5
  262. package/dist/primitives/Skeleton/CardPlaceholder.svelte.d.ts.map +1 -1
  263. package/dist/primitives/Skeleton/ImagePlaceholder.svelte +68 -59
  264. package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts +8 -5
  265. package/dist/primitives/Skeleton/ImagePlaceholder.svelte.d.ts.map +1 -1
  266. package/dist/primitives/Skeleton/ListPlaceholder.svelte +85 -76
  267. package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts +8 -5
  268. package/dist/primitives/Skeleton/ListPlaceholder.svelte.d.ts.map +1 -1
  269. package/dist/primitives/Skeleton/Skeleton.stories.svelte +151 -151
  270. package/dist/primitives/Skeleton/Skeleton.svelte +55 -46
  271. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +7 -4
  272. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
  273. package/dist/primitives/Spinner/Spinner.spec.js +84 -84
  274. package/dist/primitives/Spinner/Spinner.stories.svelte +29 -29
  275. package/dist/primitives/Spinner/Spinner.svelte +52 -44
  276. package/dist/primitives/Spinner/Spinner.svelte.d.ts +6 -4
  277. package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
  278. package/dist/primitives/Tabs/TabItem.svelte +52 -52
  279. package/dist/primitives/Tabs/Tabs.stories.svelte +112 -112
  280. package/dist/primitives/Tabs/Tabs.svelte +137 -137
  281. package/dist/primitives/Toggle.spec.js +221 -221
  282. package/dist/primitives/Toggle.stories.svelte +92 -92
  283. package/dist/primitives/Toggle.svelte +141 -141
  284. package/dist/primitives/ToggleTestWrapper.svelte +30 -30
  285. package/dist/primitives/Tooltip/Tooltip.spec.js +126 -126
  286. package/dist/primitives/Tooltip/Tooltip.svelte +83 -83
  287. package/dist/primitives/Typography/Typography.svelte +53 -53
  288. package/dist/primitives/ValidationError.spec.js +103 -103
  289. package/dist/primitives/ValidationError.stories.svelte +112 -112
  290. package/dist/primitives/ValidationError.svelte +29 -29
  291. package/dist/primitives/index.js +113 -113
  292. package/dist/recipes/CropImage/CropImage.spec.js +208 -208
  293. package/dist/recipes/CropImage/CropImage.stories.svelte +104 -104
  294. package/dist/recipes/CropImage/CropImage.svelte +241 -241
  295. package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -125
  296. package/dist/recipes/ImageUploader/ImageUploader.svelte +994 -992
  297. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts +1 -0
  298. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
  299. package/dist/recipes/SuperLogin/SuperLogin.svelte +25 -23
  300. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  301. package/dist/recipes/Toaster/Toaster.stories.svelte +62 -62
  302. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +75 -66
  303. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -4
  304. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
  305. package/dist/recipes/feedback/ErrorDisplay.spec.js +69 -69
  306. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +113 -113
  307. package/dist/recipes/feedback/ErrorDisplay.svelte +67 -67
  308. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +133 -133
  309. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +176 -176
  310. package/dist/recipes/feedback/index.js +4 -4
  311. package/dist/recipes/fields/CheckboxField.svelte +85 -85
  312. package/dist/recipes/fields/FormField.svelte +58 -58
  313. package/dist/recipes/fields/RadioGroup.svelte +95 -95
  314. package/dist/recipes/fields/SelectField.svelte +82 -82
  315. package/dist/recipes/fields/TextareaField.svelte +101 -101
  316. package/dist/recipes/fields/ToggleField.svelte +60 -60
  317. package/dist/recipes/fields/index.js +7 -7
  318. package/dist/recipes/index.js +24 -24
  319. package/dist/recipes/inputs/MultiSelect.spec.js +263 -263
  320. package/dist/recipes/inputs/MultiSelect.stories.svelte +133 -133
  321. package/dist/recipes/inputs/MultiSelect.svelte +291 -283
  322. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  323. package/dist/recipes/inputs/OTPInput.spec.js +251 -251
  324. package/dist/recipes/inputs/OTPInput.stories.svelte +162 -162
  325. package/dist/recipes/inputs/OTPInput.svelte +128 -117
  326. package/dist/recipes/inputs/OTPInput.svelte.d.ts +14 -12
  327. package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
  328. package/dist/recipes/inputs/PasswordInput.svelte +130 -121
  329. package/dist/recipes/inputs/PasswordInput.svelte.d.ts +7 -4
  330. package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
  331. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +142 -131
  332. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -3
  333. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
  334. package/dist/recipes/inputs/PhoneInput.svelte +254 -258
  335. package/dist/recipes/inputs/PhoneInput.svelte.d.ts +0 -2
  336. package/dist/recipes/inputs/PhoneInput.svelte.d.ts.map +1 -1
  337. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +170 -170
  338. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +349 -336
  339. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts +21 -16
  340. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte.d.ts.map +1 -1
  341. package/dist/recipes/inputs/Search.svelte +110 -102
  342. package/dist/recipes/inputs/Search.svelte.d.ts +7 -5
  343. package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
  344. package/dist/recipes/inputs/index.js +8 -8
  345. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte +240 -297
  346. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts +0 -2
  347. package/dist/recipes/inputs/phoneInput/CountrySelector.svelte.d.ts.map +1 -1
  348. package/dist/recipes/inputs/phoneInput/countryData.d.ts +0 -2
  349. package/dist/recipes/inputs/phoneInput/countryData.d.ts.map +1 -1
  350. package/dist/recipes/inputs/phoneInput/countryData.js +3 -3
  351. package/dist/recipes/modals/AlertModal.svelte +139 -130
  352. package/dist/recipes/modals/AlertModal.svelte.d.ts +4 -2
  353. package/dist/recipes/modals/AlertModal.svelte.d.ts.map +1 -1
  354. package/dist/recipes/modals/ConfirmationModal.spec.js +396 -396
  355. package/dist/recipes/modals/ConfirmationModal.stories.svelte +119 -119
  356. package/dist/recipes/modals/ConfirmationModal.svelte +169 -162
  357. package/dist/recipes/modals/ConfirmationModal.svelte.d.ts +2 -0
  358. package/dist/recipes/modals/ConfirmationModal.svelte.d.ts.map +1 -1
  359. package/dist/recipes/modals/InputModal.svelte +194 -182
  360. package/dist/recipes/modals/InputModal.svelte.d.ts +6 -4
  361. package/dist/recipes/modals/InputModal.svelte.d.ts.map +1 -1
  362. package/dist/recipes/modals/ModalStateManager.spec.js +100 -100
  363. package/dist/recipes/modals/ModalStateManager.svelte +77 -77
  364. package/dist/recipes/modals/ModalTestWrapper.svelte +65 -65
  365. package/dist/recipes/modals/StatusModal.svelte +216 -206
  366. package/dist/recipes/modals/StatusModal.svelte.d.ts +4 -2
  367. package/dist/recipes/modals/StatusModal.svelte.d.ts.map +1 -1
  368. package/dist/recipes/modals/index.js +7 -7
  369. package/dist/schemas/common.js +1 -1
  370. package/dist/schemas/event.d.ts +4 -4
  371. package/dist/schemas/event.js +1 -1
  372. package/dist/schemas/order.d.ts +2 -2
  373. package/dist/schemas/order.js +1 -0
  374. package/dist/schemas/performer.js +1 -1
  375. package/dist/schemas/promo.d.ts +4 -4
  376. package/dist/schemas/promo.js +2 -2
  377. package/dist/schemas/ticket.js +1 -1
  378. package/dist/schemas/user.js +2 -1
  379. package/dist/services/event.service.d.ts +11 -0
  380. package/dist/services/event.service.d.ts.map +1 -0
  381. package/dist/services/event.service.js +64 -0
  382. package/dist/services/event.service.spec.d.ts +2 -0
  383. package/dist/services/event.service.spec.d.ts.map +1 -0
  384. package/dist/services/event.service.spec.js +168 -0
  385. package/dist/services/{ShowService.d.ts → show.service.d.ts} +47 -47
  386. package/dist/services/show.service.d.ts.map +1 -0
  387. package/dist/services/show.service.js +115 -0
  388. package/dist/services/show.service.spec.d.ts +2 -0
  389. package/dist/services/show.service.spec.d.ts.map +1 -0
  390. package/dist/services/show.service.spec.js +242 -0
  391. package/dist/stores/auth.d.ts +8 -8
  392. package/dist/stores/auth.svelte.spec.js +1 -1
  393. package/dist/stores/index.js +9 -9
  394. package/dist/stores/toaster.d.ts +3 -3
  395. package/dist/stores/toaster.js +13 -13
  396. package/dist/stores/toaster.spec.js +59 -59
  397. package/dist/stories/ButtonAuditReview.stories.svelte +14 -14
  398. package/dist/stories/ButtonAuditReview.svelte +427 -427
  399. package/dist/stories/PatternsGallery.stories.svelte +19 -19
  400. package/dist/stories/PatternsGallery.svelte +399 -399
  401. package/dist/stories/PrimitivesGallery.stories.svelte +19 -19
  402. package/dist/stories/PrimitivesGallery.svelte +756 -756
  403. package/dist/stories/RecipesGallery.stories.svelte +19 -19
  404. package/dist/stories/RecipesGallery.svelte +454 -454
  405. package/dist/stories/button-audit-manifest.json +11186 -11186
  406. package/dist/tailwind/preset.cjs +82 -82
  407. package/dist/telemetry.js +402 -402
  408. package/dist/telemetry.server.js +212 -212
  409. package/dist/telemetry.server.spec.js +437 -437
  410. package/dist/telemetry.spec.js +1173 -1173
  411. package/dist/tokens/tokens.css +87 -87
  412. package/dist/tokens/typography-base.css +163 -163
  413. package/dist/tokens/utilities.css +353 -353
  414. package/dist/utils/__tests__/auth.test.js +431 -431
  415. package/dist/utils/apiConfig.d.ts +29 -29
  416. package/dist/utils/apiConfig.js +117 -117
  417. package/dist/utils/apiConfig.spec.js +219 -219
  418. package/dist/utils/assets.d.ts +3 -0
  419. package/dist/utils/assets.d.ts.map +1 -0
  420. package/dist/utils/assets.js +3 -0
  421. package/dist/utils/auth.d.ts +46 -46
  422. package/dist/utils/auth.js +195 -195
  423. package/dist/utils/classNames.d.ts +10 -0
  424. package/dist/utils/classNames.d.ts.map +1 -0
  425. package/dist/utils/classNames.js +15 -0
  426. package/dist/utils/cookieHelpers.d.ts +40 -0
  427. package/dist/utils/cookieHelpers.d.ts.map +1 -0
  428. package/dist/utils/cookieHelpers.js +102 -0
  429. package/dist/utils/dateHelpers.d.ts +71 -0
  430. package/dist/utils/dateHelpers.d.ts.map +1 -0
  431. package/dist/utils/dateHelpers.js +253 -0
  432. package/dist/utils/eventFormatters.d.ts +9 -0
  433. package/dist/utils/eventFormatters.d.ts.map +1 -0
  434. package/dist/utils/eventFormatters.js +96 -0
  435. package/dist/utils/fetchHelpers.d.ts +17 -0
  436. package/dist/utils/fetchHelpers.d.ts.map +1 -0
  437. package/dist/utils/fetchHelpers.js +44 -0
  438. package/dist/utils/formatters.d.ts +62 -0
  439. package/dist/utils/formatters.d.ts.map +1 -1
  440. package/dist/utils/formatters.js +128 -0
  441. package/dist/utils/formatters.spec.js +128 -1
  442. package/dist/utils/greetings.js +187 -187
  443. package/dist/utils/greetings.spec.js +337 -337
  444. package/dist/utils/haptic.spec.js +1 -1
  445. package/dist/utils/imageValidation.js +121 -121
  446. package/dist/utils/imageValidation.spec.js +223 -223
  447. package/dist/utils/permissions.d.ts +9 -0
  448. package/dist/utils/permissions.d.ts.map +1 -0
  449. package/dist/utils/permissions.js +93 -0
  450. package/dist/utils/portal.d.ts +11 -11
  451. package/dist/utils/portal.js +25 -25
  452. package/dist/utils/portal.spec.js +143 -143
  453. package/dist/utils/stringHelpers.d.ts +17 -0
  454. package/dist/utils/stringHelpers.d.ts.map +1 -0
  455. package/dist/utils/stringHelpers.js +38 -0
  456. package/dist/utils/transitions.js +4 -4
  457. package/dist/utils/utils/utils.d.ts +2 -73
  458. package/dist/utils/utils/utils.d.ts.map +1 -1
  459. package/dist/utils/utils/utils.js +3 -3
  460. package/dist/utils/utils/utils.spec.js +698 -698
  461. package/dist/utils/utils.d.ts +41 -98
  462. package/dist/utils/utils.d.ts.map +1 -1
  463. package/dist/utils/utils.js +59 -693
  464. package/dist/utils/utils.spec.js +643 -643
  465. package/package.json +301 -297
  466. package/dist/services/EventService.d.ts +0 -5
  467. package/dist/services/EventService.d.ts.map +0 -1
  468. package/dist/services/EventService.js +0 -79
  469. package/dist/services/EventService.spec.d.ts +0 -2
  470. package/dist/services/EventService.spec.d.ts.map +0 -1
  471. package/dist/services/EventService.spec.js +0 -217
  472. package/dist/services/ShowService.d.ts.map +0 -1
  473. package/dist/services/ShowService.js +0 -144
  474. package/dist/services/ShowService.spec.d.ts +0 -2
  475. package/dist/services/ShowService.spec.d.ts.map +0 -1
  476. package/dist/services/ShowService.spec.js +0 -345
@@ -0,0 +1,253 @@
1
+ // ============================================
2
+ // DATE/TIME FORMATTING UTILITIES
3
+ // ============================================
4
+ /**
5
+ * Convert a value to a date string using Date.toDateString().
6
+ * Returns null if the value is falsy.
7
+ */
8
+ export function convertToDate(value) {
9
+ return value ? new Date(value).toDateString() : null;
10
+ }
11
+ /**
12
+ * Convert an ISO date string to a local Date using UTC components (date only, no time).
13
+ */
14
+ export function convertToCustomDateFormat(isoString) {
15
+ const date = new Date(isoString);
16
+ const year = date.getUTCFullYear();
17
+ const month = date.getUTCMonth();
18
+ const day = date.getUTCDate();
19
+ return new Date(year, month, day);
20
+ }
21
+ /**
22
+ * Convert an ISO date string to a UTC Date preserving hours and minutes.
23
+ */
24
+ export function convertToCustomDateTimeFormat(isoDateString) {
25
+ const date = new Date(isoDateString);
26
+ return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes()));
27
+ }
28
+ /**
29
+ * Format a date string's time as "H:MM AM/PM" using UTC hours.
30
+ */
31
+ export function formatHour(dateString) {
32
+ const date = new Date(dateString);
33
+ const hour = date.getUTCHours();
34
+ const minutes = date.getUTCMinutes();
35
+ const suffix = hour >= 12 ? "PM" : "AM";
36
+ const displayHour = hour % 12 || 12;
37
+ const displayMinutes = minutes < 10 ? "0" + minutes : minutes;
38
+ return `${displayHour}:${displayMinutes} ${suffix}`;
39
+ }
40
+ /**
41
+ * Format a date as short form: "Thu, Oct 24".
42
+ */
43
+ export function formattedDate(date) {
44
+ const options = {
45
+ weekday: "short",
46
+ month: "short",
47
+ day: "2-digit",
48
+ };
49
+ return new Date(date).toLocaleDateString("en-US", options);
50
+ }
51
+ /** Get the ordinal suffix (st, nd, rd, th) for a day of the month. */
52
+ function getOrdinalSuffix(day) {
53
+ if (day >= 11 && day <= 13)
54
+ return "th";
55
+ switch (day % 10) {
56
+ case 1:
57
+ return "st";
58
+ case 2:
59
+ return "nd";
60
+ case 3:
61
+ return "rd";
62
+ default:
63
+ return "th";
64
+ }
65
+ }
66
+ /**
67
+ * Format a date as long form with ordinal: "Thursday, October 24th, 2024".
68
+ */
69
+ export function formattedFullDate(date) {
70
+ const options = {
71
+ weekday: "long",
72
+ month: "long",
73
+ day: "numeric",
74
+ year: "numeric",
75
+ };
76
+ const formatted = new Date(date).toLocaleDateString("en-US", options);
77
+ const day = new Date(date).getDate();
78
+ const ordinalSuffix = getOrdinalSuffix(day);
79
+ return formatted.replace(/\d+/, day + ordinalSuffix);
80
+ }
81
+ /**
82
+ * Format a datetime string using Intl.DateTimeFormat with timezone support.
83
+ */
84
+ export const formatDateTime = (dateTimeString, timeZone = "UTC") => {
85
+ const options = {
86
+ weekday: "short",
87
+ year: "numeric",
88
+ month: "short",
89
+ day: "numeric",
90
+ hour: "numeric",
91
+ minute: "numeric",
92
+ hour12: true,
93
+ timeZone: timeZone,
94
+ };
95
+ const date = new Date(dateTimeString);
96
+ return new Intl.DateTimeFormat("en-US", options).format(date);
97
+ };
98
+ /**
99
+ * Format a start datetime as a single "H:MM AM/PM" time string (UTC).
100
+ */
101
+ export const formatTimeline = (startDateTime) => {
102
+ const formatHourInternal = (date) => {
103
+ let hours = date.getUTCHours();
104
+ const minutes = date.getUTCMinutes();
105
+ const suffix = hours >= 12 ? "PM" : "AM";
106
+ hours = hours % 12 || 12;
107
+ return `${hours}:${minutes < 10 ? "0" + minutes : minutes} ${suffix}`;
108
+ };
109
+ const start = formatHourInternal(new Date(startDateTime));
110
+ return `${start}`;
111
+ };
112
+ /**
113
+ * Format a time range as "H:MM AM - H:MM PM" (UTC).
114
+ */
115
+ export function formatTimeRange(startDate, endDate) {
116
+ const start = new Date(startDate);
117
+ const end = new Date(endDate);
118
+ function formatTime(date) {
119
+ let hours = date.getUTCHours();
120
+ const minutes = date.getUTCMinutes();
121
+ const ampm = hours >= 12 ? "PM" : "AM";
122
+ hours = hours % 12;
123
+ hours = hours ? hours : 12;
124
+ const minutesStr = minutes < 10 ? "0" + minutes : minutes;
125
+ return hours + ":" + minutesStr + " " + ampm;
126
+ }
127
+ const startTime = formatTime(start);
128
+ const endTime = formatTime(end);
129
+ return `${startTime} - ${endTime}`;
130
+ }
131
+ /**
132
+ * Get an array of date strings between two dates (inclusive), formatted as "YYYY-M-D".
133
+ */
134
+ export function getDateRange(startDate, endDate) {
135
+ const start = new Date(startDate);
136
+ const end = new Date(endDate);
137
+ const dateArray = [];
138
+ const currentDate = new Date(start);
139
+ while (currentDate <= end) {
140
+ dateArray.push(`${currentDate.getUTCFullYear()}-${currentDate.getUTCMonth() + 1}-${currentDate.getUTCDate()}`);
141
+ currentDate.setUTCDate(currentDate.getUTCDate() + 1);
142
+ }
143
+ return dateArray;
144
+ }
145
+ /**
146
+ * Get abbreviated day of week from a date string (e.g., "Mon", "Tue").
147
+ */
148
+ export const getDay = (dateString) => {
149
+ const days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
150
+ const date = new Date(dateString);
151
+ return days[date.getUTCDay()];
152
+ };
153
+ /**
154
+ * Get abbreviated month from a date string (e.g., "Jan", "Feb").
155
+ */
156
+ export const getMonth = (dateString) => {
157
+ const months = [
158
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
159
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
160
+ ];
161
+ const date = new Date(dateString);
162
+ return months[date.getUTCMonth()];
163
+ };
164
+ /**
165
+ * Get the day of the month (1-31) from a date string.
166
+ */
167
+ export const getDateOfMonth = (dateString) => {
168
+ const date = new Date(dateString);
169
+ return date.getUTCDate();
170
+ };
171
+ /**
172
+ * Relative time string (e.g., "5 minutes ago", "2 days ago").
173
+ */
174
+ export function timeAgo(date) {
175
+ const now = new Date();
176
+ const seconds = Math.floor((now.getTime() - new Date(date).getTime()) / 1000);
177
+ const minutes = Math.floor(seconds / 60);
178
+ const hours = Math.floor(minutes / 60);
179
+ const days = Math.floor(hours / 24);
180
+ const months = Math.floor(days / 30);
181
+ const years = Math.floor(months / 12);
182
+ if (seconds < 60) {
183
+ return `${seconds} second${seconds !== 1 ? "s" : ""} ago`;
184
+ }
185
+ else if (minutes < 60) {
186
+ return `${minutes} minute${minutes !== 1 ? "s" : ""} ago`;
187
+ }
188
+ else if (hours < 24) {
189
+ return `${hours} hour${hours !== 1 ? "s" : ""} ago`;
190
+ }
191
+ else if (days < 30) {
192
+ return `${days} day${days !== 1 ? "s" : ""} ago`;
193
+ }
194
+ else if (months < 12) {
195
+ return `${months} month${months !== 1 ? "s" : ""} ago`;
196
+ }
197
+ else {
198
+ return `${years} year${years !== 1 ? "s" : ""} ago`;
199
+ }
200
+ }
201
+ /**
202
+ * Get day options: weekdays if "weeks", or numbered days 1-31 with ordinal suffixes.
203
+ */
204
+ export function getDays(params) {
205
+ if (params === "weeks") {
206
+ return [
207
+ { value: "monday", label: "Monday" },
208
+ { value: "tuesday", label: "Tuesday" },
209
+ { value: "wednesday", label: "Wednesday" },
210
+ { value: "thursday", label: "Thursday" },
211
+ { value: "friday", label: "Friday" },
212
+ ];
213
+ }
214
+ else {
215
+ return Array.from({ length: 31 }, (_, i) => {
216
+ const day = i + 1;
217
+ const suffix = day % 10 === 1 && day !== 11
218
+ ? "st"
219
+ : day % 10 === 2 && day !== 12
220
+ ? "nd"
221
+ : day % 10 === 3 && day !== 13
222
+ ? "rd"
223
+ : "th";
224
+ return {
225
+ value: day.toString(),
226
+ label: day + suffix,
227
+ };
228
+ });
229
+ }
230
+ }
231
+ /**
232
+ * Get numeric options based on time unit: 12 for months, 10 for weeks, 31 for days.
233
+ */
234
+ export function getDaysNumberOptions(timeUnit) {
235
+ if (timeUnit === "months") {
236
+ return Array.from({ length: 12 }, (_, i) => ({
237
+ value: (i + 1).toString(),
238
+ label: (i + 1).toString(),
239
+ }));
240
+ }
241
+ else if (timeUnit === "weeks") {
242
+ return Array.from({ length: 10 }, (_, i) => ({
243
+ value: (i + 1).toString(),
244
+ label: (i + 1).toString(),
245
+ }));
246
+ }
247
+ else {
248
+ return Array.from({ length: 31 }, (_, i) => ({
249
+ value: (i + 1).toString(),
250
+ label: (i + 1).toString(),
251
+ }));
252
+ }
253
+ }
@@ -0,0 +1,9 @@
1
+ export declare const getRoleFromRoleOnStage: (roleOnStage: number | undefined) => string;
2
+ /**
3
+ * Format an event performer invite or event-performer join into a normalized show object.
4
+ * Handles both V1 (EventPerformer with event.Event) and V2 (PerformerInvite with event.event) shapes.
5
+ */
6
+ export declare const formatEvent: (event: Record<string, any>) => Record<string, any>;
7
+ export declare const formatRosterEventPerformerInvite: (event: Record<string, any>) => Record<string, any>;
8
+ export declare const formatVenue: (event: Record<string, any>) => Record<string, any>;
9
+ //# sourceMappingURL=eventFormatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eventFormatters.d.ts","sourceRoot":"","sources":["../../src/lib/utils/eventFormatters.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,sBAAsB,GAAI,aAAa,MAAM,GAAG,SAAS,KAAG,MAExE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CA4C1E,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAc/F,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAmB1E,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { formatTimeRange, getDateRange } from "./dateHelpers";
2
+ // ============================================
3
+ // EVENT FORMATTING UTILITIES
4
+ // ============================================
5
+ /** Map roleOnStage numeric value to role name string. */
6
+ const ROLE_ON_STAGE_MAP = {
7
+ 0: "Performer",
8
+ 1: "Host",
9
+ 2: "Headliner",
10
+ 3: "Feature",
11
+ 4: "Special Guest",
12
+ 5: "Opener",
13
+ 6: "Guest",
14
+ 7: "Teacher",
15
+ 8: "Assistant",
16
+ };
17
+ export const getRoleFromRoleOnStage = (roleOnStage) => {
18
+ return ROLE_ON_STAGE_MAP[roleOnStage] || "Performer";
19
+ };
20
+ /**
21
+ * Format an event performer invite or event-performer join into a normalized show object.
22
+ * Handles both V1 (EventPerformer with event.Event) and V2 (PerformerInvite with event.event) shapes.
23
+ */
24
+ export const formatEvent = (event) => {
25
+ // V2 uses lowercase "event", V1 uses uppercase "Event"
26
+ const eventData = event.event || event.Event;
27
+ // Get venue stage name (the physical stage at the venue, e.g., "Main Room", "Showroom")
28
+ // Not to be confused with performer's stage name (their performance alias)
29
+ const venueStageName = eventData?.stage?.name || eventData?.stage?.googleName || eventData?.googleName || "";
30
+ const venueAddress = eventData?.venue?.address || "";
31
+ const role = getRoleFromRoleOnStage(event.roleOnStage);
32
+ // Get custom booking notification message from venue (set in venue edit page)
33
+ const bookingMessage = eventData?.venue?.booking_notification || "No additional details available.";
34
+ // V2 returns "status" string, V1 returns numeric "acceptedState"
35
+ const status = event.status || (event.acceptedState !== undefined
36
+ ? { 0: "invited", 2: "confirmed", 1: "declined", 3: "declined", 4: "cancelled" }[event.acceptedState]
37
+ : "unknown");
38
+ const setLength = event.setLength ?? 0;
39
+ return {
40
+ eventId: eventData?.ID,
41
+ venueId: eventData?.venue?.ID,
42
+ title: eventData?.title,
43
+ role: role,
44
+ startDateTime: eventData?.startDateTime,
45
+ status: status,
46
+ doorsOpenTime: eventData?.doorsOpenTime,
47
+ spotDuration: `${setLength} min spot`,
48
+ venueName: eventData?.venue?.name,
49
+ location: venueAddress,
50
+ id: event.invitationId || String(event.id || event.ID),
51
+ image: eventData?.image,
52
+ details: {
53
+ venue: eventData?.venue?.name,
54
+ stageName: venueStageName,
55
+ address: venueAddress,
56
+ setLength: `${setLength} min`,
57
+ eventDetails: bookingMessage,
58
+ },
59
+ lastUpdated: event.updatedAt || event.UpdatedAt,
60
+ };
61
+ };
62
+ export const formatRosterEventPerformerInvite = (event) => {
63
+ return {
64
+ venueId: event.venueId,
65
+ role: event.role || "Performer",
66
+ acceptedState: event.acceptedState,
67
+ name: event.Venue.name,
68
+ shortVenue: `${event.Venue.firstName} ${event.Venue.lastName} - ${event.Venue.role}`,
69
+ location: `${event.Venue.address}`,
70
+ id: event.invitationId,
71
+ lastUpdated: event.UpdatedAt,
72
+ image: event.Venue.image,
73
+ hasAvailability: true,
74
+ invitationAccepted: event.acceptedState === 2,
75
+ };
76
+ };
77
+ export const formatVenue = (event) => {
78
+ return {
79
+ venueId: event.Event.venueId,
80
+ name: event.Event.venue.name,
81
+ image: event.Event.venue.squareImageUrl || event.Event.venue.image,
82
+ location: `${event.Event.venue.address}`,
83
+ start: event.Event.startDateTime,
84
+ end: event.Event.endDateTime,
85
+ doorOpen: event.Event.doorsOpenTime,
86
+ email: event.Event.venue.email,
87
+ phone: event.Event.venue.phone,
88
+ description: event.Event.venue.description,
89
+ instagram: event.Event.venue.instagram,
90
+ facebook: event.Event.venue.facebook,
91
+ twitter: event.Event.venue.twitter,
92
+ lastUpdated: event.UpdatedAt,
93
+ timeRange: formatTimeRange(event.Event.startDateTime, event.Event.endDateTime),
94
+ dateRange: getDateRange(event.Event.startDateTime, event.Event.endDateTime),
95
+ };
96
+ };
@@ -0,0 +1,17 @@
1
+ interface FetchResult<T = unknown> {
2
+ data: T | null;
3
+ error: string | null;
4
+ }
5
+ interface PostResult<T = unknown> extends FetchResult<T> {
6
+ ok: boolean;
7
+ }
8
+ /**
9
+ * Fetch data from an API endpoint with error handling.
10
+ */
11
+ export declare function fetchData<T = unknown>(endpoint: string, options?: RequestInit): Promise<FetchResult<T>>;
12
+ /**
13
+ * Post JSON data to an API endpoint.
14
+ */
15
+ export declare function postData<T = unknown>(endpoint: string, data: unknown): Promise<PostResult<T>>;
16
+ export {};
17
+ //# sourceMappingURL=fetchHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchHelpers.d.ts","sourceRoot":"","sources":["../../src/lib/utils/fetchHelpers.ts"],"names":[],"mappings":"AAIA,UAAU,WAAW,CAAC,CAAC,GAAG,OAAO;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,UAAU,UAAU,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IACtD,EAAE,EAAE,OAAO,CAAC;CACb;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAiBzB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,GAAG,OAAO,EACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAkBxB"}
@@ -0,0 +1,44 @@
1
+ // ============================================
2
+ // DATA FETCHING UTILITIES
3
+ // ============================================
4
+ /**
5
+ * Fetch data from an API endpoint with error handling.
6
+ */
7
+ export async function fetchData(endpoint, options = {}) {
8
+ try {
9
+ const res = await fetch(endpoint, {
10
+ headers: { "Content-Type": "application/json", ...options.headers },
11
+ ...options,
12
+ });
13
+ if (!res.ok) {
14
+ const errorText = await res.text().catch(() => "Unknown error");
15
+ throw new Error(errorText || `Request failed with status ${res.status}`);
16
+ }
17
+ const data = await res.json();
18
+ return { data, error: null };
19
+ }
20
+ catch (err) {
21
+ return { data: null, error: err.message };
22
+ }
23
+ }
24
+ /**
25
+ * Post JSON data to an API endpoint.
26
+ */
27
+ export async function postData(endpoint, data) {
28
+ try {
29
+ const res = await fetch(endpoint, {
30
+ method: "POST",
31
+ headers: { "Content-Type": "application/json" },
32
+ body: JSON.stringify(data),
33
+ });
34
+ const responseData = await res.json().catch(() => ({}));
35
+ return {
36
+ data: responseData,
37
+ error: res.ok ? null : (responseData?.message || "Request failed"),
38
+ ok: res.ok,
39
+ };
40
+ }
41
+ catch (err) {
42
+ return { data: null, error: err.message, ok: false };
43
+ }
44
+ }
@@ -1,3 +1,64 @@
1
+ /**
2
+ * Rounds a number to 2 decimal places (cents precision).
3
+ * Use after any arithmetic on currency values to avoid IEEE 754 drift.
4
+ * e.g. roundCurrency(167.79999999999) → 167.8
5
+ */
6
+ export declare function roundCurrency(value: number): number;
7
+ /**
8
+ * Formats a currency value using Intl.NumberFormat.
9
+ * Returns empty string for null/undefined.
10
+ *
11
+ * @param value - Amount in dollars (e.g. 25.5)
12
+ * @param currency - ISO 4217 currency code (default: 'USD')
13
+ * @param locale - BCP 47 locale tag (default: 'en-US')
14
+ * @returns Formatted string (e.g. "$25.50")
15
+ */
16
+ export declare function formatCurrency(value: number | null | undefined, currency?: string, locale?: string): string;
17
+ type DateInput = Date | string | number | null | undefined;
18
+ /**
19
+ * Formats a date according to a locale.
20
+ * Default output: abbreviated month, day, year (e.g. "Dec 15, 2025" in en-US).
21
+ *
22
+ * @param value - Date, ISO string, or epoch ms
23
+ * @param options - Intl.DateTimeFormatOptions overrides
24
+ * @param locale - BCP 47 locale tag (default: 'en-US')
25
+ */
26
+ export declare function formatDate(value: DateInput, options?: Intl.DateTimeFormatOptions, locale?: string): string;
27
+ /**
28
+ * Formats a date with time.
29
+ * Default output: abbreviated month, day, year, hour, minute
30
+ * (e.g. "Dec 15, 2025, 3:30 PM" in en-US).
31
+ *
32
+ * @param value - Date, ISO string, or epoch ms
33
+ * @param options - Intl.DateTimeFormatOptions overrides
34
+ * @param locale - BCP 47 locale tag (default: 'en-US')
35
+ */
36
+ export declare function formatDateTime(value: DateInput, options?: Intl.DateTimeFormatOptions, locale?: string): string;
37
+ /**
38
+ * Formats time-only.
39
+ * Default output: hour and minute (e.g. "3:30 PM" in en-US).
40
+ *
41
+ * @param value - Date, ISO string, or epoch ms
42
+ * @param options - Intl.DateTimeFormatOptions overrides
43
+ * @param locale - BCP 47 locale tag (default: 'en-US')
44
+ */
45
+ export declare function formatTime(value: DateInput, options?: Intl.DateTimeFormatOptions, locale?: string): string;
46
+ /**
47
+ * Formats a number according to a locale.
48
+ * Returns empty string for null/undefined.
49
+ *
50
+ * @param value - Number to format
51
+ * @param options - Intl.NumberFormatOptions overrides
52
+ * @param locale - BCP 47 locale tag (default: 'en-US')
53
+ */
54
+ export declare function formatNumber(value: number | null | undefined, options?: Intl.NumberFormatOptions, locale?: string): string;
55
+ /**
56
+ * Truncates a string to maxLength characters, appending "..." when truncated.
57
+ *
58
+ * @param title - Text to truncate
59
+ * @param maxLength - Maximum character count before truncation (default: 50)
60
+ */
61
+ export declare function truncateTitle(title: string, maxLength?: number): string;
1
62
  /**
2
63
  * Format a credit card number with spaces every 4 digits
3
64
  * @param value - Raw input (digits only)
@@ -10,4 +71,5 @@ export declare function formatCreditCardNumber(value: string): string;
10
71
  * @returns Formatted phone number (e.g., "123-456-7890")
11
72
  */
12
73
  export declare function formatPhoneNumber(value: string): string;
74
+ export {};
13
75
  //# sourceMappingURL=formatters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD"}
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/utils/formatters.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,QAAQ,SAAQ,EAChB,MAAM,SAAU,GACf,MAAM,CAMR;AAMD,KAAK,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;AAY3D;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EACpC,MAAM,SAAU,GACf,MAAM,CASR;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EACpC,MAAM,SAAU,GACf,MAAM,CAWR;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,EACpC,MAAM,SAAU,GACf,MAAM,CAQR;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAClC,MAAM,SAAU,GACf,MAAM,CAGR;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,CAKnE;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOvD"}
@@ -1,3 +1,131 @@
1
+ // =============================================================================
2
+ // Currency
3
+ // =============================================================================
4
+ /**
5
+ * Rounds a number to 2 decimal places (cents precision).
6
+ * Use after any arithmetic on currency values to avoid IEEE 754 drift.
7
+ * e.g. roundCurrency(167.79999999999) → 167.8
8
+ */
9
+ export function roundCurrency(value) {
10
+ return Math.round(value * 100) / 100;
11
+ }
12
+ /**
13
+ * Formats a currency value using Intl.NumberFormat.
14
+ * Returns empty string for null/undefined.
15
+ *
16
+ * @param value - Amount in dollars (e.g. 25.5)
17
+ * @param currency - ISO 4217 currency code (default: 'USD')
18
+ * @param locale - BCP 47 locale tag (default: 'en-US')
19
+ * @returns Formatted string (e.g. "$25.50")
20
+ */
21
+ export function formatCurrency(value, currency = 'USD', locale = 'en-US') {
22
+ if (value === null || value === undefined)
23
+ return '';
24
+ return new Intl.NumberFormat(locale, {
25
+ style: 'currency',
26
+ currency,
27
+ }).format(value);
28
+ }
29
+ /**
30
+ * Converts various date input types to a Date object.
31
+ * Returns null for invalid or missing inputs.
32
+ */
33
+ function toDate(value) {
34
+ if (value === null || value === undefined)
35
+ return null;
36
+ const date = value instanceof Date ? value : new Date(value);
37
+ return isNaN(date.getTime()) ? null : date;
38
+ }
39
+ /**
40
+ * Formats a date according to a locale.
41
+ * Default output: abbreviated month, day, year (e.g. "Dec 15, 2025" in en-US).
42
+ *
43
+ * @param value - Date, ISO string, or epoch ms
44
+ * @param options - Intl.DateTimeFormatOptions overrides
45
+ * @param locale - BCP 47 locale tag (default: 'en-US')
46
+ */
47
+ export function formatDate(value, options, locale = 'en-US') {
48
+ const date = toDate(value);
49
+ if (!date)
50
+ return '';
51
+ const defaults = {
52
+ year: 'numeric',
53
+ month: 'short',
54
+ day: 'numeric',
55
+ };
56
+ return new Intl.DateTimeFormat(locale, { ...defaults, ...options }).format(date);
57
+ }
58
+ /**
59
+ * Formats a date with time.
60
+ * Default output: abbreviated month, day, year, hour, minute
61
+ * (e.g. "Dec 15, 2025, 3:30 PM" in en-US).
62
+ *
63
+ * @param value - Date, ISO string, or epoch ms
64
+ * @param options - Intl.DateTimeFormatOptions overrides
65
+ * @param locale - BCP 47 locale tag (default: 'en-US')
66
+ */
67
+ export function formatDateTime(value, options, locale = 'en-US') {
68
+ const date = toDate(value);
69
+ if (!date)
70
+ return '';
71
+ const defaults = {
72
+ year: 'numeric',
73
+ month: 'short',
74
+ day: 'numeric',
75
+ hour: 'numeric',
76
+ minute: '2-digit',
77
+ };
78
+ return new Intl.DateTimeFormat(locale, { ...defaults, ...options }).format(date);
79
+ }
80
+ /**
81
+ * Formats time-only.
82
+ * Default output: hour and minute (e.g. "3:30 PM" in en-US).
83
+ *
84
+ * @param value - Date, ISO string, or epoch ms
85
+ * @param options - Intl.DateTimeFormatOptions overrides
86
+ * @param locale - BCP 47 locale tag (default: 'en-US')
87
+ */
88
+ export function formatTime(value, options, locale = 'en-US') {
89
+ const date = toDate(value);
90
+ if (!date)
91
+ return '';
92
+ const defaults = {
93
+ hour: 'numeric',
94
+ minute: '2-digit',
95
+ };
96
+ return new Intl.DateTimeFormat(locale, { ...defaults, ...options }).format(date);
97
+ }
98
+ /**
99
+ * Formats a number according to a locale.
100
+ * Returns empty string for null/undefined.
101
+ *
102
+ * @param value - Number to format
103
+ * @param options - Intl.NumberFormatOptions overrides
104
+ * @param locale - BCP 47 locale tag (default: 'en-US')
105
+ */
106
+ export function formatNumber(value, options, locale = 'en-US') {
107
+ if (value === null || value === undefined)
108
+ return '';
109
+ return new Intl.NumberFormat(locale, options).format(value);
110
+ }
111
+ // =============================================================================
112
+ // Text
113
+ // =============================================================================
114
+ /**
115
+ * Truncates a string to maxLength characters, appending "..." when truncated.
116
+ *
117
+ * @param title - Text to truncate
118
+ * @param maxLength - Maximum character count before truncation (default: 50)
119
+ */
120
+ export function truncateTitle(title, maxLength = 50) {
121
+ if (title.length > maxLength) {
122
+ return title.slice(0, maxLength) + '...';
123
+ }
124
+ return title;
125
+ }
126
+ // =============================================================================
127
+ // Input formatting (credit card, phone)
128
+ // =============================================================================
1
129
  /**
2
130
  * Format a credit card number with spaces every 4 digits
3
131
  * @param value - Raw input (digits only)