@getmicdrop/svelte-components 5.4.1 → 5.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/dist/calendar/AboutShow/AboutShow.svelte +172 -172
  2. package/dist/calendar/Calendar/MiniMonthCalendar.svelte +782 -782
  3. package/dist/calendar/FAQs/FAQs.svelte +75 -75
  4. package/dist/calendar/MonthSwitcher/MonthSwitcher.svelte +126 -126
  5. package/dist/calendar/OrderSummary/OrderSummary.svelte +367 -367
  6. package/dist/calendar/PublicCard/PublicCard.svelte +146 -145
  7. package/dist/calendar/PublicCard/PublicCard.svelte.d.ts.map +1 -1
  8. package/dist/calendar/ShowCard/ShowCard.svelte +157 -157
  9. package/dist/calendar/ShowTimeCard/ShowTimeCard.svelte +61 -61
  10. package/dist/calendar/index.d.ts +9 -0
  11. package/dist/calendar/index.d.ts.map +1 -0
  12. package/dist/calendar/index.js +15 -0
  13. package/dist/components/Layout/Grid.spec.d.ts +2 -0
  14. package/dist/components/Layout/Grid.spec.d.ts.map +1 -0
  15. package/dist/components/Layout/Grid.spec.js +230 -0
  16. package/dist/components/Layout/Grid.svelte +101 -109
  17. package/dist/components/Layout/Grid.svelte.d.ts +16 -6
  18. package/dist/components/Layout/Grid.svelte.d.ts.map +1 -1
  19. package/dist/components/Layout/Section.svelte +80 -80
  20. package/dist/components/Layout/Sidebar.svelte +108 -108
  21. package/dist/components/Layout/Stack.spec.d.ts +2 -0
  22. package/dist/components/Layout/Stack.spec.d.ts.map +1 -0
  23. package/dist/components/Layout/Stack.spec.js +257 -0
  24. package/dist/components/Layout/Stack.svelte +52 -90
  25. package/dist/components/Layout/Stack.svelte.d.ts +4 -6
  26. package/dist/components/Layout/Stack.svelte.d.ts.map +1 -1
  27. package/dist/components/Layout/__tests__/Grid.test.d.ts +2 -0
  28. package/dist/components/Layout/__tests__/Grid.test.d.ts.map +1 -0
  29. package/dist/components/Layout/__tests__/Grid.test.js +246 -0
  30. package/dist/components/Layout/__tests__/Stack.test.d.ts +2 -0
  31. package/dist/components/Layout/__tests__/Stack.test.d.ts.map +1 -0
  32. package/dist/components/Layout/__tests__/Stack.test.js +267 -0
  33. package/dist/constants/formOptions.spec.d.ts.map +1 -1
  34. package/dist/constants/formOptions.spec.js +69 -82
  35. package/dist/constants/validation.js +91 -91
  36. package/dist/constants/validation.spec.js +64 -64
  37. package/dist/datetime/__tests__/format.test.js +81 -1
  38. package/dist/datetime/format.d.ts +74 -0
  39. package/dist/datetime/format.d.ts.map +1 -1
  40. package/dist/datetime/format.js +104 -0
  41. package/dist/datetime/index.d.ts +1 -1
  42. package/dist/datetime/index.d.ts.map +1 -1
  43. package/dist/datetime/index.js +1 -1
  44. package/dist/datetime/timezone.d.ts.map +1 -1
  45. package/dist/datetime/timezone.js +2 -0
  46. package/dist/datetime/types.d.ts +4 -0
  47. package/dist/datetime/types.d.ts.map +1 -1
  48. package/dist/forms/createFormStore.svelte.d.ts.map +1 -1
  49. package/dist/forms/createFormStore.svelte.js +3 -2
  50. package/dist/index.d.ts +4 -112
  51. package/dist/index.js +47 -223
  52. package/dist/index.spec.d.ts +2 -0
  53. package/dist/index.spec.d.ts.map +1 -0
  54. package/dist/index.spec.js +370 -0
  55. package/dist/patterns/data/DataGrid.svelte +45 -45
  56. package/dist/patterns/data/DataList.svelte +24 -24
  57. package/dist/patterns/data/DataTable.svelte +41 -41
  58. package/dist/patterns/data/index.d.ts +4 -0
  59. package/dist/patterns/data/index.d.ts.map +1 -0
  60. package/dist/patterns/data/index.js +4 -0
  61. package/dist/patterns/forms/FormActions.spec.js +88 -88
  62. package/dist/patterns/forms/FormActions.stories.svelte +97 -97
  63. package/dist/patterns/forms/FormActions.svelte +46 -46
  64. package/dist/patterns/forms/FormGrid.svelte +33 -33
  65. package/dist/patterns/forms/FormSection.svelte +32 -32
  66. package/dist/patterns/forms/FormValidationSummary.spec.d.ts.map +1 -1
  67. package/dist/patterns/forms/FormValidationSummary.spec.js +181 -203
  68. package/dist/patterns/forms/FormValidationSummary.stories.svelte +97 -97
  69. package/dist/patterns/forms/FormValidationSummary.svelte +74 -67
  70. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts +8 -16
  71. package/dist/patterns/forms/FormValidationSummary.svelte.d.ts.map +1 -1
  72. package/dist/patterns/forms/index.d.ts +5 -0
  73. package/dist/patterns/forms/index.d.ts.map +1 -0
  74. package/dist/patterns/forms/index.js +5 -0
  75. package/dist/patterns/index.d.ts +6 -0
  76. package/dist/patterns/index.d.ts.map +1 -0
  77. package/dist/patterns/index.js +18 -0
  78. package/dist/patterns/layout/Sidebar.svelte +39 -39
  79. package/dist/patterns/layout/Stack.svelte +61 -45
  80. package/dist/patterns/layout/Stack.svelte.d.ts +35 -21
  81. package/dist/patterns/layout/Stack.svelte.d.ts.map +1 -1
  82. package/dist/patterns/layout/index.d.ts +5 -0
  83. package/dist/patterns/layout/index.d.ts.map +1 -0
  84. package/dist/patterns/layout/index.js +6 -0
  85. package/dist/patterns/navigation/BottomNav.spec.d.ts.map +1 -1
  86. package/dist/patterns/navigation/BottomNav.spec.js +104 -130
  87. package/dist/patterns/navigation/BottomNav.stories.svelte +117 -117
  88. package/dist/patterns/navigation/BottomNav.svelte +64 -54
  89. package/dist/patterns/navigation/BottomNav.svelte.d.ts +10 -10
  90. package/dist/patterns/navigation/BottomNav.svelte.d.ts.map +1 -1
  91. package/dist/patterns/navigation/Header.spec.d.ts.map +1 -1
  92. package/dist/patterns/navigation/Header.spec.js +161 -203
  93. package/dist/patterns/navigation/Header.stories.svelte +77 -77
  94. package/dist/patterns/navigation/Header.svelte +255 -240
  95. package/dist/patterns/navigation/Header.svelte.d.ts +12 -19
  96. package/dist/patterns/navigation/Header.svelte.d.ts.map +1 -1
  97. package/dist/patterns/navigation/index.d.ts +3 -0
  98. package/dist/patterns/navigation/index.d.ts.map +1 -0
  99. package/dist/patterns/navigation/index.js +3 -0
  100. package/dist/patterns/page/PageHeader.svelte +49 -36
  101. package/dist/patterns/page/PageHeader.svelte.d.ts +12 -18
  102. package/dist/patterns/page/PageHeader.svelte.d.ts.map +1 -1
  103. package/dist/patterns/page/PageLayout.svelte +40 -40
  104. package/dist/patterns/page/PageLoader.spec.js +54 -54
  105. package/dist/patterns/page/PageLoader.stories.svelte +137 -137
  106. package/dist/patterns/page/PageLoader.svelte +53 -41
  107. package/dist/patterns/page/PageLoader.svelte.d.ts +9 -20
  108. package/dist/patterns/page/PageLoader.svelte.d.ts.map +1 -1
  109. package/dist/patterns/page/SectionHeader.svelte +51 -41
  110. package/dist/patterns/page/SectionHeader.svelte.d.ts +8 -17
  111. package/dist/patterns/page/SectionHeader.svelte.d.ts.map +1 -1
  112. package/dist/patterns/page/index.d.ts +5 -0
  113. package/dist/patterns/page/index.d.ts.map +1 -0
  114. package/dist/patterns/page/index.js +5 -0
  115. package/dist/presets/badges.js +112 -112
  116. package/dist/presets/buttons.js +76 -76
  117. package/dist/presets/index.js +9 -9
  118. package/dist/primitives/Accordion/Accordion.stories.svelte +75 -75
  119. package/dist/primitives/Accordion/Accordion.svelte +62 -61
  120. package/dist/primitives/Accordion/Accordion.svelte.d.ts.map +1 -1
  121. package/dist/primitives/Accordion/AccordionItem.svelte +95 -95
  122. package/dist/primitives/Alert/Alert.spec.js +170 -170
  123. package/dist/primitives/Alert/Alert.stories.svelte +88 -88
  124. package/dist/primitives/Alert/Alert.svelte +64 -65
  125. package/dist/primitives/Alert/Alert.svelte.d.ts +2 -1
  126. package/dist/primitives/Alert/Alert.svelte.d.ts.map +1 -1
  127. package/dist/primitives/Avatar/Avatar.stories.svelte +94 -94
  128. package/dist/primitives/Avatar/Avatar.svelte +66 -66
  129. package/dist/primitives/Badges/Badge.spec.js +103 -103
  130. package/dist/primitives/Badges/Badge.stories.svelte +86 -86
  131. package/dist/primitives/Badges/Badge.svelte +99 -142
  132. package/dist/primitives/Badges/Badge.svelte.d.ts +4 -2
  133. package/dist/primitives/Badges/Badge.svelte.d.ts.map +1 -1
  134. package/dist/primitives/BottomSheet/BottomSheet.spec.js +127 -127
  135. package/dist/primitives/BottomSheet/BottomSheet.stories.svelte +83 -83
  136. package/dist/primitives/BottomSheet/BottomSheet.svelte +100 -100
  137. package/dist/primitives/Breadcrumb/Breadcrumb.spec.js +120 -120
  138. package/dist/primitives/Breadcrumb/Breadcrumb.stories.svelte +23 -23
  139. package/dist/primitives/Breadcrumb/Breadcrumb.svelte +89 -89
  140. package/dist/primitives/Button/Button.spec.js +211 -211
  141. package/dist/primitives/Button/Button.stories.svelte +76 -76
  142. package/dist/primitives/Button/Button.svelte +269 -301
  143. package/dist/primitives/Button/Button.svelte.d.ts +10 -26
  144. package/dist/primitives/Button/Button.svelte.d.ts.map +1 -1
  145. package/dist/primitives/Button/ButtonSaveDemo.spec.js +48 -48
  146. package/dist/primitives/Button/ButtonSaveDemo.svelte +25 -25
  147. package/dist/primitives/Button/ButtonVariantShowcase.svelte +129 -129
  148. package/dist/primitives/Card.spec.js +49 -49
  149. package/dist/primitives/Card.stories.svelte +22 -22
  150. package/dist/primitives/Card.svelte +28 -28
  151. package/dist/primitives/Checkbox/Checkbox.stories.svelte +84 -84
  152. package/dist/primitives/Checkbox/Checkbox.svelte +88 -88
  153. package/dist/primitives/DarkModeToggle.spec.js +357 -357
  154. package/dist/primitives/DarkModeToggle.stories.svelte +57 -57
  155. package/dist/primitives/DarkModeToggle.svelte +136 -136
  156. package/dist/primitives/Drawer/Drawer.stories.svelte +100 -100
  157. package/dist/primitives/Drawer/Drawer.svelte +236 -214
  158. package/dist/primitives/Drawer/Drawer.svelte.d.ts +12 -31
  159. package/dist/primitives/Drawer/Drawer.svelte.d.ts.map +1 -1
  160. package/dist/primitives/Dropdown/Dropdown.stories.svelte +137 -137
  161. package/dist/primitives/Dropdown/Dropdown.svelte +160 -148
  162. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts +9 -18
  163. package/dist/primitives/Dropdown/Dropdown.svelte.d.ts.map +1 -1
  164. package/dist/primitives/Dropdown/DropdownItem.svelte +80 -80
  165. package/dist/primitives/Icons/ArrowLeft.svelte +21 -20
  166. package/dist/primitives/Icons/ArrowLeft.svelte.d.ts +2 -0
  167. package/dist/primitives/Icons/ArrowLeft.svelte.d.ts.map +1 -1
  168. package/dist/primitives/Icons/ArrowRight.svelte +21 -20
  169. package/dist/primitives/Icons/ArrowRight.svelte.d.ts +2 -0
  170. package/dist/primitives/Icons/ArrowRight.svelte.d.ts.map +1 -1
  171. package/dist/primitives/Icons/Availability.svelte +27 -26
  172. package/dist/primitives/Icons/Availability.svelte.d.ts +2 -0
  173. package/dist/primitives/Icons/Availability.svelte.d.ts.map +1 -1
  174. package/dist/primitives/Icons/Back.svelte +27 -26
  175. package/dist/primitives/Icons/Back.svelte.d.ts +2 -0
  176. package/dist/primitives/Icons/Back.svelte.d.ts.map +1 -1
  177. package/dist/primitives/Icons/CheckCircle.svelte +19 -18
  178. package/dist/primitives/Icons/CheckCircle.svelte.d.ts +2 -0
  179. package/dist/primitives/Icons/CheckCircle.svelte.d.ts.map +1 -1
  180. package/dist/primitives/Icons/CheckCircleOutline.svelte +28 -27
  181. package/dist/primitives/Icons/CheckCircleOutline.svelte.d.ts +2 -0
  182. package/dist/primitives/Icons/CheckCircleOutline.svelte.d.ts.map +1 -1
  183. package/dist/primitives/Icons/CheckCircleSolid.svelte +12 -10
  184. package/dist/primitives/Icons/CheckCircleSolid.svelte.d.ts +4 -0
  185. package/dist/primitives/Icons/CheckCircleSolid.svelte.d.ts.map +1 -1
  186. package/dist/primitives/Icons/CheckOutline.svelte +15 -13
  187. package/dist/primitives/Icons/CheckOutline.svelte.d.ts +4 -0
  188. package/dist/primitives/Icons/CheckOutline.svelte.d.ts.map +1 -1
  189. package/dist/primitives/Icons/ChevronDownOutline.svelte +14 -12
  190. package/dist/primitives/Icons/ChevronDownOutline.svelte.d.ts +4 -0
  191. package/dist/primitives/Icons/ChevronDownOutline.svelte.d.ts.map +1 -1
  192. package/dist/primitives/Icons/ChevronLeft.svelte +17 -16
  193. package/dist/primitives/Icons/ChevronLeft.svelte.d.ts +2 -0
  194. package/dist/primitives/Icons/ChevronLeft.svelte.d.ts.map +1 -1
  195. package/dist/primitives/Icons/ChevronLeftOutline.svelte +14 -12
  196. package/dist/primitives/Icons/ChevronLeftOutline.svelte.d.ts +4 -0
  197. package/dist/primitives/Icons/ChevronLeftOutline.svelte.d.ts.map +1 -1
  198. package/dist/primitives/Icons/ChevronRight.svelte +17 -16
  199. package/dist/primitives/Icons/ChevronRight.svelte.d.ts +2 -0
  200. package/dist/primitives/Icons/ChevronRight.svelte.d.ts.map +1 -1
  201. package/dist/primitives/Icons/ChevronRightOutline.svelte +14 -12
  202. package/dist/primitives/Icons/ChevronRightOutline.svelte.d.ts +4 -0
  203. package/dist/primitives/Icons/ChevronRightOutline.svelte.d.ts.map +1 -1
  204. package/dist/primitives/Icons/ChevronUpOutline.svelte +14 -12
  205. package/dist/primitives/Icons/ChevronUpOutline.svelte.d.ts +4 -0
  206. package/dist/primitives/Icons/ChevronUpOutline.svelte.d.ts.map +1 -1
  207. package/dist/primitives/Icons/CloseCircleOutline.svelte +14 -12
  208. package/dist/primitives/Icons/CloseCircleOutline.svelte.d.ts +4 -0
  209. package/dist/primitives/Icons/CloseCircleOutline.svelte.d.ts.map +1 -1
  210. package/dist/primitives/Icons/CloseOutline.svelte +14 -12
  211. package/dist/primitives/Icons/CloseOutline.svelte.d.ts +4 -0
  212. package/dist/primitives/Icons/CloseOutline.svelte.d.ts.map +1 -1
  213. package/dist/primitives/Icons/Copy.svelte +28 -27
  214. package/dist/primitives/Icons/Copy.svelte.d.ts +2 -0
  215. package/dist/primitives/Icons/Copy.svelte.d.ts.map +1 -1
  216. package/dist/primitives/Icons/Cross.svelte +18 -17
  217. package/dist/primitives/Icons/Cross.svelte.d.ts +2 -0
  218. package/dist/primitives/Icons/Cross.svelte.d.ts.map +1 -1
  219. package/dist/primitives/Icons/DotsHorizontalOutline.svelte +12 -10
  220. package/dist/primitives/Icons/DotsHorizontalOutline.svelte.d.ts +4 -0
  221. package/dist/primitives/Icons/DotsHorizontalOutline.svelte.d.ts.map +1 -1
  222. package/dist/primitives/Icons/DownArrow.svelte +21 -20
  223. package/dist/primitives/Icons/DownArrow.svelte.d.ts +2 -0
  224. package/dist/primitives/Icons/DownArrow.svelte.d.ts.map +1 -1
  225. package/dist/primitives/Icons/ErrorCircle.svelte +19 -18
  226. package/dist/primitives/Icons/ErrorCircle.svelte.d.ts +2 -0
  227. package/dist/primitives/Icons/ErrorCircle.svelte.d.ts.map +1 -1
  228. package/dist/primitives/Icons/ExclamationCircleOutline.svelte +14 -12
  229. package/dist/primitives/Icons/ExclamationCircleOutline.svelte.d.ts +4 -0
  230. package/dist/primitives/Icons/ExclamationCircleOutline.svelte.d.ts.map +1 -1
  231. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte +14 -12
  232. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte.d.ts +4 -0
  233. package/dist/primitives/Icons/ExclamationTriangleOutline.svelte.d.ts.map +1 -1
  234. package/dist/primitives/Icons/EyeOutline.svelte +14 -12
  235. package/dist/primitives/Icons/EyeOutline.svelte.d.ts +4 -0
  236. package/dist/primitives/Icons/EyeOutline.svelte.d.ts.map +1 -1
  237. package/dist/primitives/Icons/EyeSlashOutline.svelte +14 -12
  238. package/dist/primitives/Icons/EyeSlashOutline.svelte.d.ts +4 -0
  239. package/dist/primitives/Icons/EyeSlashOutline.svelte.d.ts.map +1 -1
  240. package/dist/primitives/Icons/FacebookIcon.svelte +15 -13
  241. package/dist/primitives/Icons/FacebookIcon.svelte.d.ts +2 -0
  242. package/dist/primitives/Icons/FacebookIcon.svelte.d.ts.map +1 -1
  243. package/dist/primitives/Icons/FileCopyOutline.svelte +14 -12
  244. package/dist/primitives/Icons/FileCopyOutline.svelte.d.ts +4 -0
  245. package/dist/primitives/Icons/FileCopyOutline.svelte.d.ts.map +1 -1
  246. package/dist/primitives/Icons/Home.svelte +28 -27
  247. package/dist/primitives/Icons/Home.svelte.d.ts +2 -0
  248. package/dist/primitives/Icons/Home.svelte.d.ts.map +1 -1
  249. package/dist/primitives/Icons/HomeSolid.svelte +12 -10
  250. package/dist/primitives/Icons/HomeSolid.svelte.d.ts +4 -0
  251. package/dist/primitives/Icons/HomeSolid.svelte.d.ts.map +1 -1
  252. package/dist/primitives/Icons/Icon.spec.js +175 -175
  253. package/dist/primitives/Icons/Icon.stories.svelte +100 -100
  254. package/dist/primitives/Icons/Icon.svelte +79 -63
  255. package/dist/primitives/Icons/Icon.svelte.d.ts +5 -3
  256. package/dist/primitives/Icons/Icon.svelte.d.ts.map +1 -1
  257. package/dist/primitives/Icons/IconGallery.stories.svelte +235 -235
  258. package/dist/primitives/Icons/Icons.spec.d.ts +8 -0
  259. package/dist/primitives/Icons/Icons.spec.d.ts.map +1 -0
  260. package/dist/primitives/Icons/Icons.spec.js +291 -0
  261. package/dist/primitives/Icons/ImageOutline.svelte +21 -19
  262. package/dist/primitives/Icons/ImageOutline.svelte.d.ts +6 -2
  263. package/dist/primitives/Icons/ImageOutline.svelte.d.ts.map +1 -1
  264. package/dist/primitives/Icons/Info.svelte +20 -19
  265. package/dist/primitives/Icons/Info.svelte.d.ts +2 -0
  266. package/dist/primitives/Icons/Info.svelte.d.ts.map +1 -1
  267. package/dist/primitives/Icons/InfoCircleOutline.svelte +14 -12
  268. package/dist/primitives/Icons/InfoCircleOutline.svelte.d.ts +4 -0
  269. package/dist/primitives/Icons/InfoCircleOutline.svelte.d.ts.map +1 -1
  270. package/dist/primitives/Icons/InstagramIcon.svelte +21 -19
  271. package/dist/primitives/Icons/InstagramIcon.svelte.d.ts +2 -0
  272. package/dist/primitives/Icons/InstagramIcon.svelte.d.ts.map +1 -1
  273. package/dist/primitives/Icons/LogoInstagram.svelte +15 -15
  274. package/dist/primitives/Icons/LogoInstagram.svelte.d.ts +4 -2
  275. package/dist/primitives/Icons/LogoInstagram.svelte.d.ts.map +1 -1
  276. package/dist/primitives/Icons/Message.svelte +28 -27
  277. package/dist/primitives/Icons/Message.svelte.d.ts +2 -0
  278. package/dist/primitives/Icons/Message.svelte.d.ts.map +1 -1
  279. package/dist/primitives/Icons/MinusOutline.svelte +14 -12
  280. package/dist/primitives/Icons/MinusOutline.svelte.d.ts +4 -0
  281. package/dist/primitives/Icons/MinusOutline.svelte.d.ts.map +1 -1
  282. package/dist/primitives/Icons/MoonIcon.svelte +18 -16
  283. package/dist/primitives/Icons/MoonIcon.svelte.d.ts +2 -0
  284. package/dist/primitives/Icons/MoonIcon.svelte.d.ts.map +1 -1
  285. package/dist/primitives/Icons/More.svelte +34 -33
  286. package/dist/primitives/Icons/More.svelte.d.ts +2 -0
  287. package/dist/primitives/Icons/More.svelte.d.ts.map +1 -1
  288. package/dist/primitives/Icons/MoreHori.spec.js +67 -67
  289. package/dist/primitives/Icons/MoreHori.svelte +35 -34
  290. package/dist/primitives/Icons/MoreHori.svelte.d.ts +2 -0
  291. package/dist/primitives/Icons/MoreHori.svelte.d.ts.map +1 -1
  292. package/dist/primitives/Icons/Notification.svelte +27 -26
  293. package/dist/primitives/Icons/Notification.svelte.d.ts +2 -0
  294. package/dist/primitives/Icons/Notification.svelte.d.ts.map +1 -1
  295. package/dist/primitives/Icons/Payment.svelte +27 -26
  296. package/dist/primitives/Icons/Payment.svelte.d.ts +2 -0
  297. package/dist/primitives/Icons/Payment.svelte.d.ts.map +1 -1
  298. package/dist/primitives/Icons/PlusOutline.svelte +14 -12
  299. package/dist/primitives/Icons/PlusOutline.svelte.d.ts +4 -0
  300. package/dist/primitives/Icons/PlusOutline.svelte.d.ts.map +1 -1
  301. package/dist/primitives/Icons/Profile.svelte +34 -33
  302. package/dist/primitives/Icons/Profile.svelte.d.ts +2 -0
  303. package/dist/primitives/Icons/Profile.svelte.d.ts.map +1 -1
  304. package/dist/primitives/Icons/Reload.svelte +42 -41
  305. package/dist/primitives/Icons/Reload.svelte.d.ts +2 -0
  306. package/dist/primitives/Icons/Reload.svelte.d.ts.map +1 -1
  307. package/dist/primitives/Icons/SearchOutline.svelte +14 -12
  308. package/dist/primitives/Icons/SearchOutline.svelte.d.ts +4 -0
  309. package/dist/primitives/Icons/SearchOutline.svelte.d.ts.map +1 -1
  310. package/dist/primitives/Icons/ShareOutline.svelte +14 -12
  311. package/dist/primitives/Icons/ShareOutline.svelte.d.ts +4 -0
  312. package/dist/primitives/Icons/ShareOutline.svelte.d.ts.map +1 -1
  313. package/dist/primitives/Icons/Shows.svelte +34 -33
  314. package/dist/primitives/Icons/Shows.svelte.d.ts +2 -0
  315. package/dist/primitives/Icons/Shows.svelte.d.ts.map +1 -1
  316. package/dist/primitives/Icons/Signout.svelte +34 -33
  317. package/dist/primitives/Icons/Signout.svelte.d.ts +2 -0
  318. package/dist/primitives/Icons/Signout.svelte.d.ts.map +1 -1
  319. package/dist/primitives/Icons/SunIcon.svelte +21 -19
  320. package/dist/primitives/Icons/SunIcon.svelte.d.ts +2 -0
  321. package/dist/primitives/Icons/SunIcon.svelte.d.ts.map +1 -1
  322. package/dist/primitives/Icons/TiktokIcon.svelte +15 -13
  323. package/dist/primitives/Icons/TiktokIcon.svelte.d.ts +2 -0
  324. package/dist/primitives/Icons/TiktokIcon.svelte.d.ts.map +1 -1
  325. package/dist/primitives/Icons/TrashBinOutline.svelte +21 -19
  326. package/dist/primitives/Icons/TrashBinOutline.svelte.d.ts +6 -2
  327. package/dist/primitives/Icons/TrashBinOutline.svelte.d.ts.map +1 -1
  328. package/dist/primitives/Icons/TwitterIcon.svelte +15 -13
  329. package/dist/primitives/Icons/TwitterIcon.svelte.d.ts +2 -0
  330. package/dist/primitives/Icons/TwitterIcon.svelte.d.ts.map +1 -1
  331. package/dist/primitives/Icons/WarningIcon.spec.js +30 -30
  332. package/dist/primitives/Icons/WarningIcon.svelte +24 -24
  333. package/dist/primitives/Icons/WarningIcon.svelte.d.ts +6 -2
  334. package/dist/primitives/Icons/WarningIcon.svelte.d.ts.map +1 -1
  335. package/dist/primitives/Icons/iconTestUtils.d.ts +162 -0
  336. package/dist/primitives/Icons/iconTestUtils.d.ts.map +1 -0
  337. package/dist/primitives/Icons/iconTestUtils.js +160 -0
  338. package/dist/primitives/Icons/index.d.ts +56 -54
  339. package/dist/primitives/Icons/index.d.ts.map +1 -1
  340. package/dist/primitives/Icons/index.js +59 -61
  341. package/dist/primitives/Icons/types.d.ts +31 -0
  342. package/dist/primitives/Icons/types.d.ts.map +1 -0
  343. package/dist/primitives/Icons/types.js +8 -0
  344. package/dist/primitives/Input/Input.spec.js +573 -573
  345. package/dist/primitives/Input/Input.stories.svelte +139 -139
  346. package/dist/primitives/Input/Input.svelte +431 -444
  347. package/dist/primitives/Input/Input.svelte.d.ts.map +1 -1
  348. package/dist/primitives/Input/Select.spec.js +218 -218
  349. package/dist/primitives/Input/Select.stories.svelte +112 -112
  350. package/dist/primitives/Input/Select.svelte +249 -232
  351. package/dist/primitives/Input/Select.svelte.d.ts +16 -24
  352. package/dist/primitives/Input/Select.svelte.d.ts.map +1 -1
  353. package/dist/primitives/Input/Textarea.stories.svelte +137 -137
  354. package/dist/primitives/Input/Textarea.svelte +105 -79
  355. package/dist/primitives/Input/Textarea.svelte.d.ts +20 -39
  356. package/dist/primitives/Input/Textarea.svelte.d.ts.map +1 -1
  357. package/dist/primitives/Label/Label.svelte +37 -37
  358. package/dist/primitives/Modal/Modal.spec.js +95 -95
  359. package/dist/primitives/Modal/Modal.stories.svelte +86 -86
  360. package/dist/primitives/Modal/Modal.svelte +158 -158
  361. package/dist/primitives/Pagination/Pagination.stories.svelte +76 -76
  362. package/dist/primitives/Pagination/Pagination.svelte +261 -261
  363. package/dist/primitives/Radio/Radio.stories.svelte +80 -80
  364. package/dist/primitives/Radio/Radio.svelte +67 -67
  365. package/dist/primitives/Skeleton/CardPlaceholder.svelte +87 -87
  366. package/dist/primitives/Skeleton/ImagePlaceholder.svelte +59 -59
  367. package/dist/primitives/Skeleton/ListPlaceholder.svelte +76 -76
  368. package/dist/primitives/Skeleton/Skeleton.stories.svelte +151 -151
  369. package/dist/primitives/Skeleton/Skeleton.svelte +46 -52
  370. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts +2 -1
  371. package/dist/primitives/Skeleton/Skeleton.svelte.d.ts.map +1 -1
  372. package/dist/primitives/Spinner/Spinner.spec.js +75 -75
  373. package/dist/primitives/Spinner/Spinner.stories.svelte +29 -29
  374. package/dist/primitives/Spinner/Spinner.svelte +44 -57
  375. package/dist/primitives/Spinner/Spinner.svelte.d.ts +4 -2
  376. package/dist/primitives/Spinner/Spinner.svelte.d.ts.map +1 -1
  377. package/dist/primitives/Tabs/TabItem.svelte +52 -51
  378. package/dist/primitives/Tabs/TabItem.svelte.d.ts.map +1 -1
  379. package/dist/primitives/Tabs/Tabs.stories.svelte +112 -112
  380. package/dist/primitives/Tabs/Tabs.svelte +129 -128
  381. package/dist/primitives/Tabs/Tabs.svelte.d.ts.map +1 -1
  382. package/dist/primitives/Toggle.spec.js +127 -127
  383. package/dist/primitives/Toggle.stories.svelte +92 -92
  384. package/dist/primitives/Toggle.svelte +71 -71
  385. package/dist/primitives/Typography/Typography.svelte +53 -53
  386. package/dist/primitives/ValidationError.spec.js +103 -103
  387. package/dist/primitives/ValidationError.stories.svelte +112 -111
  388. package/dist/primitives/ValidationError.svelte +29 -29
  389. package/dist/primitives/index.d.ts +31 -0
  390. package/dist/primitives/index.d.ts.map +1 -0
  391. package/dist/primitives/index.js +81 -0
  392. package/dist/recipes/CropImage/CropImage.spec.js +216 -216
  393. package/dist/recipes/CropImage/CropImage.stories.svelte +104 -104
  394. package/dist/recipes/CropImage/CropImage.svelte +238 -238
  395. package/dist/recipes/ImageUploader/ImageUploader.stories.svelte +125 -125
  396. package/dist/recipes/ImageUploader/ImageUploader.svelte +959 -980
  397. package/dist/recipes/ImageUploader/ImageUploader.svelte.d.ts.map +1 -1
  398. package/dist/recipes/SuperLogin/SuperLogin.svelte +18 -17
  399. package/dist/recipes/SuperLogin/SuperLogin.svelte.d.ts.map +1 -1
  400. package/dist/recipes/Toaster/Toaster.stories.svelte +62 -62
  401. package/dist/recipes/feedback/EmptyState/EmptyState.svelte +66 -47
  402. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts +7 -1
  403. package/dist/recipes/feedback/EmptyState/EmptyState.svelte.d.ts.map +1 -1
  404. package/dist/recipes/feedback/ErrorDisplay.spec.js +69 -69
  405. package/dist/recipes/feedback/ErrorDisplay.stories.svelte +113 -112
  406. package/dist/recipes/feedback/ErrorDisplay.svelte +67 -38
  407. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts +7 -0
  408. package/dist/recipes/feedback/ErrorDisplay.svelte.d.ts.map +1 -1
  409. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.spec.js +129 -129
  410. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte +176 -167
  411. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts +2 -2
  412. package/dist/recipes/feedback/StatusIndicator/StatusIndicator.svelte.d.ts.map +1 -1
  413. package/dist/recipes/feedback/index.d.ts +4 -0
  414. package/dist/recipes/feedback/index.d.ts.map +1 -0
  415. package/dist/recipes/feedback/index.js +4 -0
  416. package/dist/recipes/fields/CheckboxField.svelte +85 -85
  417. package/dist/recipes/fields/FormField.svelte +58 -58
  418. package/dist/recipes/fields/RadioGroup.svelte +95 -95
  419. package/dist/recipes/fields/SelectField.svelte +82 -82
  420. package/dist/recipes/fields/SelectField.svelte.d.ts +4 -1
  421. package/dist/recipes/fields/SelectField.svelte.d.ts.map +1 -1
  422. package/dist/recipes/fields/TextareaField.svelte +101 -101
  423. package/dist/recipes/fields/TextareaField.svelte.d.ts +6 -2
  424. package/dist/recipes/fields/TextareaField.svelte.d.ts.map +1 -1
  425. package/dist/recipes/fields/ToggleField.svelte +60 -60
  426. package/dist/recipes/fields/index.js +7 -7
  427. package/dist/recipes/index.d.ts +8 -0
  428. package/dist/recipes/index.d.ts.map +1 -0
  429. package/dist/recipes/index.js +24 -0
  430. package/dist/recipes/inputs/MultiSelect.spec.js +257 -257
  431. package/dist/recipes/inputs/MultiSelect.stories.svelte +133 -133
  432. package/dist/recipes/inputs/MultiSelect.svelte +276 -244
  433. package/dist/recipes/inputs/MultiSelect.svelte.d.ts +17 -26
  434. package/dist/recipes/inputs/MultiSelect.svelte.d.ts.map +1 -1
  435. package/dist/recipes/inputs/OTPInput.spec.js +238 -238
  436. package/dist/recipes/inputs/OTPInput.stories.svelte +162 -162
  437. package/dist/recipes/inputs/OTPInput.svelte +117 -102
  438. package/dist/recipes/inputs/OTPInput.svelte.d.ts +15 -20
  439. package/dist/recipes/inputs/OTPInput.svelte.d.ts.map +1 -1
  440. package/dist/recipes/inputs/PasswordInput.svelte +121 -100
  441. package/dist/recipes/inputs/PasswordInput.svelte.d.ts +27 -34
  442. package/dist/recipes/inputs/PasswordInput.svelte.d.ts.map +1 -1
  443. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.spec.js +173 -173
  444. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte +117 -108
  445. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts +8 -16
  446. package/dist/recipes/inputs/PasswordStrengthIndicator/PasswordStrengthIndicator.svelte.d.ts.map +1 -1
  447. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.spec.js +300 -300
  448. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte +170 -165
  449. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.stories.svelte.d.ts.map +1 -1
  450. package/dist/recipes/inputs/PlaceAutocomplete/PlaceAutocomplete.svelte +337 -337
  451. package/dist/recipes/inputs/Search.svelte +102 -85
  452. package/dist/recipes/inputs/Search.svelte.d.ts +16 -32
  453. package/dist/recipes/inputs/Search.svelte.d.ts.map +1 -1
  454. package/dist/recipes/inputs/SelectDropdown.svelte +169 -161
  455. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts +12 -18
  456. package/dist/recipes/inputs/SelectDropdown.svelte.d.ts.map +1 -1
  457. package/dist/recipes/inputs/index.d.ts +8 -0
  458. package/dist/recipes/inputs/index.d.ts.map +1 -0
  459. package/dist/recipes/inputs/index.js +8 -0
  460. package/dist/recipes/modals/AlertModal.svelte +130 -130
  461. package/dist/recipes/modals/ConfirmationModal.spec.js +191 -191
  462. package/dist/recipes/modals/ConfirmationModal.stories.svelte +119 -119
  463. package/dist/recipes/modals/ConfirmationModal.svelte +152 -152
  464. package/dist/recipes/modals/InputModal.svelte +182 -182
  465. package/dist/recipes/modals/ModalStateManager.spec.js +100 -100
  466. package/dist/recipes/modals/ModalStateManager.svelte +77 -77
  467. package/dist/recipes/modals/ModalTestWrapper.svelte +65 -65
  468. package/dist/recipes/modals/StatusModal.svelte +206 -206
  469. package/dist/recipes/modals/index.d.ts +7 -0
  470. package/dist/recipes/modals/index.d.ts.map +1 -0
  471. package/dist/recipes/modals/index.js +7 -0
  472. package/dist/services/EventService.js +75 -75
  473. package/dist/services/EventService.spec.js +217 -217
  474. package/dist/services/ShowService.spec.js +342 -342
  475. package/dist/stores/auth.js +36 -36
  476. package/dist/stores/auth.spec.js +139 -139
  477. package/dist/stores/toaster.js +13 -13
  478. package/dist/stories/ButtonAuditDashboard.svelte +23 -18
  479. package/dist/stories/ButtonAuditDashboard.svelte.d.ts.map +1 -1
  480. package/dist/stories/ButtonAuditReview.stories.svelte +14 -14
  481. package/dist/stories/ButtonAuditReview.svelte +427 -427
  482. package/dist/stories/PatternsGallery.stories.svelte +19 -19
  483. package/dist/stories/PatternsGallery.svelte +399 -388
  484. package/dist/stories/PatternsGallery.svelte.d.ts.map +1 -1
  485. package/dist/stories/PrimitivesGallery.stories.svelte +19 -19
  486. package/dist/stories/PrimitivesGallery.svelte +752 -752
  487. package/dist/stories/RecipesGallery.stories.svelte +19 -19
  488. package/dist/stories/RecipesGallery.svelte +471 -441
  489. package/dist/stories/RecipesGallery.svelte.d.ts.map +1 -1
  490. package/dist/stories/button-audit-manifest.json +11186 -11186
  491. package/dist/tailwind/preset.cjs +82 -82
  492. package/dist/telemetry.d.ts.map +1 -1
  493. package/dist/telemetry.js +1 -0
  494. package/dist/telemetry.server.d.ts.map +1 -1
  495. package/dist/telemetry.server.js +1 -0
  496. package/dist/telemetry.server.spec.js +1 -0
  497. package/dist/telemetry.spec.js +1 -0
  498. package/dist/tokens/__tests__/sizing.test.d.ts +2 -0
  499. package/dist/tokens/__tests__/sizing.test.d.ts.map +1 -0
  500. package/dist/tokens/__tests__/sizing.test.js +307 -0
  501. package/dist/tokens/__tests__/spacing.test.d.ts +2 -0
  502. package/dist/tokens/__tests__/spacing.test.d.ts.map +1 -0
  503. package/dist/tokens/__tests__/spacing.test.js +178 -0
  504. package/dist/tokens/__tests__/variants.test.d.ts +2 -0
  505. package/dist/tokens/__tests__/variants.test.d.ts.map +1 -0
  506. package/dist/tokens/__tests__/variants.test.js +329 -0
  507. package/dist/tokens/index.d.ts +3 -0
  508. package/dist/tokens/index.d.ts.map +1 -1
  509. package/dist/tokens/index.js +16 -0
  510. package/dist/tokens/sizing.d.ts +118 -0
  511. package/dist/tokens/sizing.d.ts.map +1 -0
  512. package/dist/tokens/sizing.js +125 -0
  513. package/dist/tokens/spacing.d.ts +105 -0
  514. package/dist/tokens/spacing.d.ts.map +1 -1
  515. package/dist/tokens/spacing.js +76 -0
  516. package/dist/tokens/tokens.css +87 -87
  517. package/dist/tokens/variants.d.ts +78 -0
  518. package/dist/tokens/variants.d.ts.map +1 -0
  519. package/dist/tokens/variants.js +89 -0
  520. package/dist/utils/__tests__/auth.test.d.ts +2 -0
  521. package/dist/utils/__tests__/auth.test.d.ts.map +1 -0
  522. package/dist/utils/__tests__/auth.test.js +431 -0
  523. package/dist/utils/__tests__/formatters.test.d.ts +2 -0
  524. package/dist/utils/__tests__/formatters.test.d.ts.map +1 -0
  525. package/dist/utils/__tests__/formatters.test.js +73 -0
  526. package/dist/utils/auth.d.ts +46 -0
  527. package/dist/utils/auth.d.ts.map +1 -0
  528. package/dist/utils/auth.js +195 -0
  529. package/dist/utils/formatters.d.ts +13 -0
  530. package/dist/utils/formatters.d.ts.map +1 -0
  531. package/dist/utils/formatters.js +24 -0
  532. package/dist/utils/utils.js +354 -354
  533. package/package.json +286 -282
  534. package/dist/patterns/layout/Grid.svelte +0 -35
  535. package/dist/patterns/layout/Grid.svelte.d.ts +0 -18
  536. package/dist/patterns/layout/Grid.svelte.d.ts.map +0 -1
@@ -1,240 +1,255 @@
1
- <script>
2
- import { page } from '../../__LIB_STORES__.js';
3
- import { base } from '../../__LIB_PATHS__.js';
4
- import { goto } from '../../__LIB_NAVIGATION__.js';
5
- import Logo from "../../assets/images/Logo.png";
6
- import Avatar from "../../primitives/Avatar/Avatar.svelte";
7
- import DarkModeToggle from "../../primitives/DarkModeToggle.svelte";
8
- import Icon from "../../primitives/Icons/Icon.svelte";
9
- import ChevronLeft from "../../primitives/Icons/ChevronLeft.svelte";
10
- import Button from "../../primitives/Button/Button.svelte";
11
- import { fade, fly } from "svelte/transition";
12
- import { cubicOut } from "svelte/easing";
13
- import { portal } from "../../utils/portal.js";
14
- import { typography } from '../../tokens/typography';
15
-
16
- let {
17
- signoutHandler = () => {},
18
- name = "",
19
- avatar = "",
20
- email = "",
21
- navLinks = [],
22
- dropdownLinks = [],
23
- showBackButton = false,
24
- } = $props();
25
-
26
- let showMobileSheet = $state(false);
27
- let showDesktopDropdown = $state(false);
28
-
29
- let currentPath = $derived($page.url.pathname);
30
-
31
- function isActive(href, path) {
32
- if (href === `${base}/` || href === '/') {
33
- return path === href || path === `${base}/`;
34
- }
35
- return path.startsWith(href);
36
- }
37
-
38
- function handleDropdownItemClick(href) {
39
- showDesktopDropdown = false;
40
- goto(href);
41
- }
42
-
43
- function handleMobileSheetItemClick(href) {
44
- showMobileSheet = false;
45
- goto(href);
46
- }
47
- </script>
48
-
49
- {#if showBackButton}
50
- <div class="block flex-1 md:hidden">
51
- <Button variant="ghost" size="sm" onclick={() => history.back()}>
52
- <ChevronLeft class="w-5 h-5" />
53
- Back
54
- </Button>
55
- </div>
56
- <div class="hidden md:flex w-full items-center">
57
- <div class="flex items-center">
58
- <a href="/" class="flex items-center"><img src={Logo} alt="Micdrop" width="100" /></a>
59
- </div>
60
-
61
- <nav class="hidden md:flex items-center gap-1 ml-8 flex-1">
62
- {#each navLinks as { label, href }}
63
- <a
64
- {href}
65
- class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
66
- hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
67
- ${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
68
- >
69
- {label}
70
- </a>
71
- {/each}
72
- </nav>
73
-
74
- <div class="flex items-center gap-3">
75
- <DarkModeToggle />
76
- <div class="relative ml-1">
77
- <Button
78
- variant="avatar"
79
- size="md"
80
- onclick={() => showDesktopDropdown = !showDesktopDropdown}
81
- >
82
- <Avatar src={avatar} rounded size="md" />
83
- </Button>
84
-
85
- {#if showDesktopDropdown}
86
- <!-- svelte-ignore a11y_click_events_have_key_events -->
87
- <!-- svelte-ignore a11y_no_static_element_interactions -->
88
- <div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
89
- <div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
90
- <div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
91
- <span class={`block ${typography.label}`}>{name || "Performer"}</span>
92
- <span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
93
- </div>
94
- {#each dropdownLinks as { label, href }}
95
- <Button
96
- variant="menu-item"
97
- size="md"
98
- onclick={() => handleDropdownItemClick(href)}
99
- >
100
- {label}
101
- </Button>
102
- {/each}
103
- <div class="h-px bg-gray-200 dark:bg-gray-700"></div>
104
- <Button
105
- variant="menu-item-danger"
106
- size="md"
107
- onclick={() => { showDesktopDropdown = false; signoutHandler(); }}
108
- >
109
- Sign out
110
- </Button>
111
- </div>
112
- {/if}
113
- </div>
114
- </div>
115
- </div>
116
- {:else}
117
- <div class="flex items-center">
118
- <a href="/" class="flex items-center"><img src={Logo} alt="Micdrop" width="100" /></a>
119
- </div>
120
-
121
- <nav class="hidden md:flex items-center gap-1 ml-8 flex-1">
122
- {#each navLinks as { label, href }}
123
- <a
124
- {href}
125
- class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
126
- hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
127
- ${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
128
- >
129
- {label}
130
- </a>
131
- {/each}
132
- </nav>
133
-
134
- <div class="flex items-center gap-3">
135
- <DarkModeToggle />
136
-
137
- <div class="relative ml-1">
138
- <Button
139
- variant="avatar"
140
- size="md"
141
- class="block md:hidden"
142
- onclick={() => showMobileSheet = true}
143
- >
144
- <Avatar src={avatar} rounded size="md" />
145
- </Button>
146
-
147
- <Button
148
- variant="avatar"
149
- size="md"
150
- class="hidden md:block"
151
- onclick={() => showDesktopDropdown = !showDesktopDropdown}
152
- >
153
- <Avatar src={avatar} rounded size="md" />
154
- </Button>
155
-
156
- {#if showDesktopDropdown}
157
- <!-- svelte-ignore a11y_click_events_have_key_events -->
158
- <!-- svelte-ignore a11y_no_static_element_interactions -->
159
- <div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
160
- <div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
161
- <div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
162
- <span class={`block ${typography.label}`}>{name || "Performer"}</span>
163
- <span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
164
- </div>
165
- {#each dropdownLinks as { label, href }}
166
- <Button
167
- variant="menu-item"
168
- size="md"
169
- onclick={() => handleDropdownItemClick(href)}
170
- >
171
- {label}
172
- </Button>
173
- {/each}
174
- <div class="h-px bg-gray-200 dark:bg-gray-700"></div>
175
- <Button
176
- variant="menu-item-danger"
177
- size="md"
178
- onclick={() => { showDesktopDropdown = false; signoutHandler(); }}
179
- >
180
- Sign out
181
- </Button>
182
- </div>
183
- {/if}
184
- </div>
185
- </div>
186
- {/if}
187
-
188
- {#if showMobileSheet}
189
- <!-- svelte-ignore a11y_click_events_have_key_events -->
190
- <!-- svelte-ignore a11y_no_static_element_interactions -->
191
- <div
192
- class="fixed inset-0 flex items-end justify-center bg-black/50 z-50 touch-none overscroll-none"
193
- onclick={() => { showMobileSheet = false; }}
194
- transition:fade={{ duration: 300 }}
195
- use:portal
196
- >
197
- <!-- svelte-ignore a11y_click_events_have_key_events -->
198
- <!-- svelte-ignore a11y_no_static_element_interactions -->
199
- <div
200
- class="bg-white dark:bg-gray-800 rounded-t-3xl shadow-xl w-full max-h-[90vh] max-h-[90dvh] overflow-hidden pb-[var(--safe-bottom,0px)] touch-pan-y overscroll-contain"
201
- onclick={(e) => e.stopPropagation()}
202
- transition:fly={{ y: 300, duration: 300, easing: cubicOut }}
203
- >
204
- <div class="flex justify-center pt-3 pb-2">
205
- <div class="w-10 h-1 bg-gray-300 dark:bg-gray-600 rounded-sm"></div>
206
- </div>
207
-
208
- <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
209
- <p class={`${typography.h4} m-0`}>{name || "Performer"}</p>
210
- <p class={`${typography.smMuted} mt-0.5 m-0`}>{email || ""}</p>
211
- </div>
212
-
213
- <div class="py-2">
214
- {#each dropdownLinks as { label, href }}
215
- <Button
216
- variant="menu-item"
217
- size="lg"
218
- onclick={() => handleMobileSheetItemClick(href)}
219
- >
220
- {label}
221
- </Button>
222
- {/each}
223
-
224
- <Button
225
- variant="menu-item-danger"
226
- size="lg"
227
- onclick={() => { showMobileSheet = false; signoutHandler(); }}
228
- >
229
- Sign Out
230
- </Button>
231
- </div>
232
-
233
- <div class="border-t-8 border-gray-100 dark:border-gray-700">
234
- <Button variant="ghost" size="full" class="py-4 text-base font-semibold" onclick={() => showMobileSheet = false}>
235
- Cancel
236
- </Button>
237
- </div>
238
- </div>
239
- </div>
240
- {/if}
1
+ <script lang="ts">
2
+ import { page } from '../../__LIB_STORES__.js';
3
+ import { base } from '../../__LIB_PATHS__.js';
4
+ import { goto } from '../../__LIB_NAVIGATION__.js';
5
+ import Logo from "../../assets/images/Logo.png";
6
+ import Avatar from "../../primitives/Avatar/Avatar.svelte";
7
+ import DarkModeToggle from "../../primitives/DarkModeToggle.svelte";
8
+ import Icon from "../../primitives/Icons/Icon.svelte";
9
+ import ChevronLeft from "../../primitives/Icons/ChevronLeft.svelte";
10
+ import Button from "../../primitives/Button/Button.svelte";
11
+ import { fade, fly } from "svelte/transition";
12
+ import { cubicOut } from "svelte/easing";
13
+ import { portal } from "../../utils/portal.js";
14
+ import { typography } from '../../tokens/typography';
15
+
16
+ interface NavLink {
17
+ label: string;
18
+ href: string;
19
+ }
20
+
21
+ interface Props {
22
+ signoutHandler?: () => void;
23
+ name?: string;
24
+ avatar?: string;
25
+ email?: string;
26
+ navLinks?: NavLink[];
27
+ dropdownLinks?: NavLink[];
28
+ showBackButton?: boolean;
29
+ }
30
+
31
+ let {
32
+ signoutHandler = () => {},
33
+ name = "",
34
+ avatar = "",
35
+ email = "",
36
+ navLinks = [],
37
+ dropdownLinks = [],
38
+ showBackButton = false,
39
+ }: Props = $props();
40
+
41
+ let showMobileSheet = $state(false);
42
+ let showDesktopDropdown = $state(false);
43
+
44
+ let currentPath = $derived($page.url.pathname);
45
+
46
+ function isActive(href: string, path: string): boolean {
47
+ if (href === `${base}/` || href === '/') {
48
+ return path === href || path === `${base}/`;
49
+ }
50
+ return path.startsWith(href);
51
+ }
52
+
53
+ function handleDropdownItemClick(href: string) {
54
+ showDesktopDropdown = false;
55
+ goto(href);
56
+ }
57
+
58
+ function handleMobileSheetItemClick(href: string) {
59
+ showMobileSheet = false;
60
+ goto(href);
61
+ }
62
+ </script>
63
+
64
+ {#if showBackButton}
65
+ <div class="block flex-1 md:hidden">
66
+ <Button variant="ghost" size="sm" onclick={() => history.back()}>
67
+ <ChevronLeft class="w-5 h-5" />
68
+ Back
69
+ </Button>
70
+ </div>
71
+ <div class="hidden md:flex w-full items-center">
72
+ <div class="flex items-center">
73
+ <a href="/" class="flex items-center"><img src={Logo} alt="Micdrop" width="100" /></a>
74
+ </div>
75
+
76
+ <nav class="hidden md:flex items-center gap-1 ml-8 flex-1">
77
+ {#each navLinks as { label, href }}
78
+ <a
79
+ {href}
80
+ class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
81
+ hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
82
+ ${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
83
+ >
84
+ {label}
85
+ </a>
86
+ {/each}
87
+ </nav>
88
+
89
+ <div class="flex items-center gap-3">
90
+ <DarkModeToggle />
91
+ <div class="relative ml-1">
92
+ <Button
93
+ variant="avatar"
94
+ size="md"
95
+ onclick={() => showDesktopDropdown = !showDesktopDropdown}
96
+ >
97
+ <Avatar src={avatar} rounded size="md" />
98
+ </Button>
99
+
100
+ {#if showDesktopDropdown}
101
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
102
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
103
+ <div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
104
+ <div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
105
+ <div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
106
+ <span class={`block ${typography.label}`}>{name || "Performer"}</span>
107
+ <span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
108
+ </div>
109
+ {#each dropdownLinks as { label, href }}
110
+ <Button
111
+ variant="menu-item"
112
+ size="md"
113
+ onclick={() => handleDropdownItemClick(href)}
114
+ >
115
+ {label}
116
+ </Button>
117
+ {/each}
118
+ <div class="h-px bg-gray-200 dark:bg-gray-700"></div>
119
+ <Button
120
+ variant="menu-item-danger"
121
+ size="md"
122
+ onclick={() => { showDesktopDropdown = false; signoutHandler(); }}
123
+ >
124
+ Sign out
125
+ </Button>
126
+ </div>
127
+ {/if}
128
+ </div>
129
+ </div>
130
+ </div>
131
+ {:else}
132
+ <div class="flex items-center">
133
+ <a href="/" class="flex items-center"><img src={Logo} alt="Micdrop" width="100" /></a>
134
+ </div>
135
+
136
+ <nav class="hidden md:flex items-center gap-1 ml-8 flex-1">
137
+ {#each navLinks as { label, href }}
138
+ <a
139
+ {href}
140
+ class={`px-4 py-2 ${typography.label} ${typography.textMuted} no-underline rounded-lg transition-all duration-150
141
+ hover:text-gray-900 hover:bg-gray-100 hover:no-underline dark:hover:text-white dark:hover:bg-gray-700
142
+ ${isActive(href, currentPath) ? 'text-blue-700 bg-gray-100 dark:text-blue-500 dark:bg-gray-700' : ''}`}
143
+ >
144
+ {label}
145
+ </a>
146
+ {/each}
147
+ </nav>
148
+
149
+ <div class="flex items-center gap-3">
150
+ <DarkModeToggle />
151
+
152
+ <div class="relative ml-1">
153
+ <Button
154
+ variant="avatar"
155
+ size="md"
156
+ class="block md:hidden"
157
+ onclick={() => showMobileSheet = true}
158
+ >
159
+ <Avatar src={avatar} rounded size="md" />
160
+ </Button>
161
+
162
+ <Button
163
+ variant="avatar"
164
+ size="md"
165
+ class="hidden md:block"
166
+ onclick={() => showDesktopDropdown = !showDesktopDropdown}
167
+ >
168
+ <Avatar src={avatar} rounded size="md" />
169
+ </Button>
170
+
171
+ {#if showDesktopDropdown}
172
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
173
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
174
+ <div class="fixed inset-0 z-30 bg-transparent" onclick={() => showDesktopDropdown = false}></div>
175
+ <div class="absolute top-[calc(100%+0.5rem)] right-0 w-56 bg-white dark:bg-gray-800 border border-gray-200 dark:border-gray-700 rounded-lg shadow-lg z-40 overflow-hidden">
176
+ <div class="py-3 px-4 border-b border-gray-200 dark:border-gray-700">
177
+ <span class={`block ${typography.label}`}>{name || "Performer"}</span>
178
+ <span class={`block ${typography.xsMuted} mt-0.5`}>{email || ""}</span>
179
+ </div>
180
+ {#each dropdownLinks as { label, href }}
181
+ <Button
182
+ variant="menu-item"
183
+ size="md"
184
+ onclick={() => handleDropdownItemClick(href)}
185
+ >
186
+ {label}
187
+ </Button>
188
+ {/each}
189
+ <div class="h-px bg-gray-200 dark:bg-gray-700"></div>
190
+ <Button
191
+ variant="menu-item-danger"
192
+ size="md"
193
+ onclick={() => { showDesktopDropdown = false; signoutHandler(); }}
194
+ >
195
+ Sign out
196
+ </Button>
197
+ </div>
198
+ {/if}
199
+ </div>
200
+ </div>
201
+ {/if}
202
+
203
+ {#if showMobileSheet}
204
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
205
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
206
+ <div
207
+ class="fixed inset-0 flex items-end justify-center bg-black/50 z-50 touch-none overscroll-none"
208
+ onclick={() => { showMobileSheet = false; }}
209
+ transition:fade={{ duration: 300 }}
210
+ use:portal
211
+ >
212
+ <!-- svelte-ignore a11y_click_events_have_key_events -->
213
+ <!-- svelte-ignore a11y_no_static_element_interactions -->
214
+ <div
215
+ class="bg-white dark:bg-gray-800 rounded-t-3xl shadow-xl w-full max-h-[90vh] max-h-[90dvh] overflow-hidden pb-[var(--safe-bottom,0px)] touch-pan-y overscroll-contain"
216
+ onclick={(e) => e.stopPropagation()}
217
+ transition:fly={{ y: 300, duration: 300, easing: cubicOut }}
218
+ >
219
+ <div class="flex justify-center pt-3 pb-2">
220
+ <div class="w-10 h-1 bg-gray-300 dark:bg-gray-600 rounded-sm"></div>
221
+ </div>
222
+
223
+ <div class="px-6 py-4 border-b border-gray-200 dark:border-gray-700">
224
+ <p class={`${typography.h4} m-0`}>{name || "Performer"}</p>
225
+ <p class={`${typography.smMuted} mt-0.5 m-0`}>{email || ""}</p>
226
+ </div>
227
+
228
+ <div class="py-2">
229
+ {#each dropdownLinks as { label, href }}
230
+ <Button
231
+ variant="menu-item"
232
+ size="lg"
233
+ onclick={() => handleMobileSheetItemClick(href)}
234
+ >
235
+ {label}
236
+ </Button>
237
+ {/each}
238
+
239
+ <Button
240
+ variant="menu-item-danger"
241
+ size="lg"
242
+ onclick={() => { showMobileSheet = false; signoutHandler(); }}
243
+ >
244
+ Sign Out
245
+ </Button>
246
+ </div>
247
+
248
+ <div class="border-t-8 border-gray-100 dark:border-gray-700">
249
+ <Button variant="ghost" size="full" class="py-4 text-base font-semibold" onclick={() => showMobileSheet = false}>
250
+ Cancel
251
+ </Button>
252
+ </div>
253
+ </div>
254
+ </div>
255
+ {/if}
@@ -1,24 +1,17 @@
1
- export default Header;
2
- type Header = {
3
- $on?(type: string, callback: (e: any) => void): () => void;
4
- $set?(props: Partial<$$ComponentProps>): void;
5
- };
6
- declare const Header: import("svelte").Component<{
7
- signoutHandler?: Function;
8
- name?: string;
9
- avatar?: string;
10
- email?: string;
11
- navLinks?: any[];
12
- dropdownLinks?: any[];
13
- showBackButton?: boolean;
14
- }, {}, "">;
15
- type $$ComponentProps = {
16
- signoutHandler?: Function;
1
+ interface NavLink {
2
+ label: string;
3
+ href: string;
4
+ }
5
+ interface Props {
6
+ signoutHandler?: () => void;
17
7
  name?: string;
18
8
  avatar?: string;
19
9
  email?: string;
20
- navLinks?: any[];
21
- dropdownLinks?: any[];
10
+ navLinks?: NavLink[];
11
+ dropdownLinks?: NavLink[];
22
12
  showBackButton?: boolean;
23
- };
13
+ }
14
+ declare const Header: import("svelte").Component<Props, {}, "">;
15
+ type Header = ReturnType<typeof Header>;
16
+ export default Header;
24
17
  //# sourceMappingURL=Header.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.js"],"names":[],"mappings":";;;;;AA+MA;;WA/KuD,MAAM;aAAW,MAAM;YAAU,MAAM;eAAa,GAAG,EAAE;oBAAkB,GAAG,EAAE;qBAAmB,OAAO;WA+K5G;wBA/KlC;IAAE,cAAc,CAAC,WAAW;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,aAAa,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE"}
1
+ {"version":3,"file":"Header.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/Header.svelte.ts"],"names":[],"mappings":"AAkBE,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAiMH,QAAA,MAAM,MAAM,2CAAwC,CAAC;AACrD,KAAK,MAAM,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;AACxC,eAAe,MAAM,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { default as BottomNav } from "./BottomNav.svelte";
2
+ export { default as Header } from "./Header.svelte";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/patterns/navigation/index.js"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ // Navigation pattern components
2
+ export { default as BottomNav } from './BottomNav.svelte';
3
+ export { default as Header } from './Header.svelte';