zero-to-app 2.0.0 → 3.0.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 (442) hide show
  1. package/dist/brand/brand-config.d.ts +65 -0
  2. package/dist/brand/brand-config.d.ts.map +1 -0
  3. package/dist/brand/brand-config.js +68 -0
  4. package/dist/brand/brand-config.js.map +1 -0
  5. package/dist/brand/brand-context.d.ts +55 -0
  6. package/dist/brand/brand-context.d.ts.map +1 -0
  7. package/dist/brand/brand-context.js +76 -0
  8. package/dist/brand/brand-context.js.map +1 -0
  9. package/dist/brand/brand-types.d.ts +92 -0
  10. package/dist/brand/brand-types.d.ts.map +1 -0
  11. package/dist/brand/brand-types.js +2 -0
  12. package/dist/brand/brand-types.js.map +1 -0
  13. package/dist/brand/default-brand.d.ts +11 -0
  14. package/dist/brand/default-brand.d.ts.map +1 -0
  15. package/dist/brand/default-brand.js +32 -0
  16. package/dist/brand/default-brand.js.map +1 -0
  17. package/dist/brand/index.d.ts +5 -3
  18. package/dist/brand/index.d.ts.map +1 -1
  19. package/dist/brand/index.js +6 -3
  20. package/dist/brand/index.js.map +1 -1
  21. package/dist/brand/palette-generator.d.ts +64 -0
  22. package/dist/brand/palette-generator.d.ts.map +1 -0
  23. package/dist/brand/palette-generator.js +283 -0
  24. package/dist/brand/palette-generator.js.map +1 -0
  25. package/dist/components/index.d.ts +0 -8
  26. package/dist/components/index.d.ts.map +1 -1
  27. package/dist/components/index.js +0 -9
  28. package/dist/components/index.js.map +1 -1
  29. package/dist/components/navigation/app-tabs/app-tabs.d.ts +63 -0
  30. package/dist/components/navigation/app-tabs/app-tabs.d.ts.map +1 -0
  31. package/dist/components/navigation/app-tabs/app-tabs.js +13 -0
  32. package/dist/components/navigation/app-tabs/app-tabs.js.map +1 -0
  33. package/dist/components/navigation/app-tabs/app-tabs.web.d.ts +47 -0
  34. package/dist/components/navigation/app-tabs/app-tabs.web.d.ts.map +1 -0
  35. package/dist/components/navigation/app-tabs/app-tabs.web.js +104 -0
  36. package/dist/components/navigation/app-tabs/app-tabs.web.js.map +1 -0
  37. package/dist/components/navigation/app-tabs/index.d.ts +3 -0
  38. package/dist/components/navigation/app-tabs/index.d.ts.map +1 -0
  39. package/dist/components/navigation/app-tabs/index.js +3 -0
  40. package/dist/components/navigation/app-tabs/index.js.map +1 -0
  41. package/dist/components/navigation/drawer/drawer.d.ts +24 -0
  42. package/dist/components/navigation/drawer/drawer.d.ts.map +1 -0
  43. package/dist/components/navigation/drawer/drawer.js +82 -0
  44. package/dist/components/navigation/drawer/drawer.js.map +1 -0
  45. package/dist/components/navigation/index.d.ts +9 -5
  46. package/dist/components/navigation/index.d.ts.map +1 -1
  47. package/dist/components/navigation/index.js +9 -5
  48. package/dist/components/navigation/index.js.map +1 -1
  49. package/dist/components/navigation/native-header.d.ts +25 -0
  50. package/dist/components/navigation/native-header.d.ts.map +1 -0
  51. package/dist/components/navigation/native-header.js +32 -0
  52. package/dist/components/navigation/native-header.js.map +1 -0
  53. package/dist/components/navigation/shared/sidebar-styles.d.ts +34 -0
  54. package/dist/components/navigation/shared/sidebar-styles.d.ts.map +1 -0
  55. package/dist/components/navigation/shared/sidebar-styles.js +34 -0
  56. package/dist/components/navigation/shared/sidebar-styles.js.map +1 -0
  57. package/dist/components/navigation/sidebar/index.d.ts +10 -0
  58. package/dist/components/navigation/sidebar/index.d.ts.map +1 -0
  59. package/dist/components/navigation/sidebar/index.js +7 -0
  60. package/dist/components/navigation/sidebar/index.js.map +1 -0
  61. package/dist/components/navigation/sidebar/sidebar-footer.d.ts +18 -0
  62. package/dist/components/navigation/sidebar/sidebar-footer.d.ts.map +1 -0
  63. package/dist/components/navigation/sidebar/sidebar-footer.js +27 -0
  64. package/dist/components/navigation/sidebar/sidebar-footer.js.map +1 -0
  65. package/dist/components/navigation/sidebar/sidebar-header.d.ts +26 -0
  66. package/dist/components/navigation/sidebar/sidebar-header.d.ts.map +1 -0
  67. package/dist/components/navigation/sidebar/sidebar-header.js +38 -0
  68. package/dist/components/navigation/sidebar/sidebar-header.js.map +1 -0
  69. package/dist/components/navigation/sidebar/sidebar-item.d.ts +36 -0
  70. package/dist/components/navigation/sidebar/sidebar-item.d.ts.map +1 -0
  71. package/dist/components/navigation/sidebar/sidebar-item.js +63 -0
  72. package/dist/components/navigation/sidebar/sidebar-item.js.map +1 -0
  73. package/dist/components/navigation/sidebar/sidebar-section.d.ts +34 -0
  74. package/dist/components/navigation/sidebar/sidebar-section.d.ts.map +1 -0
  75. package/dist/components/navigation/sidebar/sidebar-section.js +56 -0
  76. package/dist/components/navigation/sidebar/sidebar-section.js.map +1 -0
  77. package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
  78. package/dist/components/navigation/sidebar/sidebar.d.ts.map +1 -0
  79. package/dist/components/navigation/sidebar/sidebar.js +4 -0
  80. package/dist/components/navigation/sidebar/sidebar.js.map +1 -0
  81. package/dist/components/navigation/sidebar/sidebar.native.d.ts +23 -0
  82. package/dist/components/navigation/sidebar/sidebar.native.d.ts.map +1 -0
  83. package/dist/components/navigation/sidebar/sidebar.native.js +80 -0
  84. package/dist/components/navigation/sidebar/sidebar.native.js.map +1 -0
  85. package/dist/components/navigation/sidebar/sidebar.web.d.ts +26 -0
  86. package/dist/components/navigation/sidebar/sidebar.web.d.ts.map +1 -0
  87. package/dist/components/navigation/sidebar/sidebar.web.js +90 -0
  88. package/dist/components/navigation/sidebar/sidebar.web.js.map +1 -0
  89. package/dist/components/navigation/themed-stack.d.ts +25 -0
  90. package/dist/components/navigation/themed-stack.d.ts.map +1 -0
  91. package/dist/components/navigation/themed-stack.js +37 -0
  92. package/dist/components/navigation/themed-stack.js.map +1 -0
  93. package/dist/components/shared/index.d.ts +2 -0
  94. package/dist/components/shared/index.d.ts.map +1 -0
  95. package/dist/components/shared/index.js +2 -0
  96. package/dist/components/shared/index.js.map +1 -0
  97. package/dist/components/shared/types.d.ts +82 -0
  98. package/dist/components/shared/types.d.ts.map +1 -0
  99. package/dist/components/{chat → shared}/types.js.map +1 -1
  100. package/dist/components/ui/button.d.ts +132 -0
  101. package/dist/components/ui/button.d.ts.map +1 -0
  102. package/dist/components/ui/button.js +253 -0
  103. package/dist/components/ui/button.js.map +1 -0
  104. package/dist/components/ui/collapsible.d.ts +88 -0
  105. package/dist/components/ui/collapsible.d.ts.map +1 -0
  106. package/dist/components/ui/collapsible.js +66 -0
  107. package/dist/components/ui/collapsible.js.map +1 -0
  108. package/dist/components/ui/container.d.ts +31 -0
  109. package/dist/components/ui/container.d.ts.map +1 -0
  110. package/dist/components/ui/container.js +46 -0
  111. package/dist/components/ui/container.js.map +1 -0
  112. package/dist/components/ui/fab.d.ts +51 -0
  113. package/dist/components/ui/fab.d.ts.map +1 -0
  114. package/dist/components/ui/fab.js +138 -0
  115. package/dist/components/ui/fab.js.map +1 -0
  116. package/dist/components/ui/index.d.ts +17 -12
  117. package/dist/components/ui/index.d.ts.map +1 -1
  118. package/dist/components/ui/index.js +15 -12
  119. package/dist/components/ui/index.js.map +1 -1
  120. package/dist/components/ui/screen.d.ts +40 -0
  121. package/dist/components/ui/screen.d.ts.map +1 -0
  122. package/dist/components/ui/screen.js +57 -0
  123. package/dist/components/ui/screen.js.map +1 -0
  124. package/dist/components/ui/themed-image.d.ts +7 -0
  125. package/dist/components/ui/themed-image.d.ts.map +1 -0
  126. package/dist/components/ui/themed-image.js +9 -0
  127. package/dist/components/ui/themed-image.js.map +1 -0
  128. package/dist/components/ui/themed-view.d.ts +20 -0
  129. package/dist/components/ui/themed-view.d.ts.map +1 -0
  130. package/dist/components/ui/themed-view.js +75 -0
  131. package/dist/components/ui/themed-view.js.map +1 -0
  132. package/dist/components/ui/typography.d.ts +110 -0
  133. package/dist/components/ui/typography.d.ts.map +1 -0
  134. package/dist/components/ui/typography.js +69 -0
  135. package/dist/components/ui/typography.js.map +1 -0
  136. package/dist/context/layout-context.d.ts +66 -0
  137. package/dist/context/layout-context.d.ts.map +1 -0
  138. package/dist/context/layout-context.js +83 -0
  139. package/dist/context/layout-context.js.map +1 -0
  140. package/dist/context/{scrollContext.d.ts → scroll-context.d.ts} +1 -1
  141. package/dist/context/scroll-context.d.ts.map +1 -0
  142. package/dist/context/{scrollContext.js → scroll-context.js} +1 -1
  143. package/dist/context/scroll-context.js.map +1 -0
  144. package/dist/context/sidebar-context.d.ts +74 -0
  145. package/dist/context/sidebar-context.d.ts.map +1 -0
  146. package/dist/context/sidebar-context.js +95 -0
  147. package/dist/context/sidebar-context.js.map +1 -0
  148. package/dist/hooks/index.d.ts +3 -3
  149. package/dist/hooks/index.d.ts.map +1 -1
  150. package/dist/hooks/index.js +3 -3
  151. package/dist/hooks/index.js.map +1 -1
  152. package/dist/hooks/use-breakpoint.d.ts +8 -0
  153. package/dist/hooks/use-breakpoint.d.ts.map +1 -0
  154. package/dist/hooks/use-breakpoint.js +10 -0
  155. package/dist/hooks/use-breakpoint.js.map +1 -0
  156. package/dist/hooks/{useDimensions.d.ts → use-dimensions.d.ts} +1 -1
  157. package/dist/hooks/use-dimensions.d.ts.map +1 -0
  158. package/dist/hooks/{useDimensions.js → use-dimensions.js} +1 -1
  159. package/dist/hooks/use-dimensions.js.map +1 -0
  160. package/dist/hooks/use-route-navigation.d.ts +19 -0
  161. package/dist/hooks/use-route-navigation.d.ts.map +1 -0
  162. package/dist/hooks/use-route-navigation.js +25 -0
  163. package/dist/hooks/use-route-navigation.js.map +1 -0
  164. package/dist/{components/navigation/iconUtils.d.ts → icons/icon-utils.d.ts} +2 -2
  165. package/dist/icons/icon-utils.d.ts.map +1 -0
  166. package/dist/{components/navigation/iconUtils.js → icons/icon-utils.js} +8 -4
  167. package/dist/icons/icon-utils.js.map +1 -0
  168. package/dist/icons/index.d.ts +13 -0
  169. package/dist/icons/index.d.ts.map +1 -0
  170. package/dist/icons/index.js +12 -0
  171. package/dist/icons/index.js.map +1 -0
  172. package/dist/index.d.ts +4 -1
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +4 -1
  175. package/dist/index.js.map +1 -1
  176. package/dist/theme/high-contrast-theme.d.ts +19 -0
  177. package/dist/theme/high-contrast-theme.d.ts.map +1 -0
  178. package/dist/theme/high-contrast-theme.js +225 -0
  179. package/dist/theme/high-contrast-theme.js.map +1 -0
  180. package/dist/theme/index.d.ts +4 -2
  181. package/dist/theme/index.d.ts.map +1 -1
  182. package/dist/theme/index.js +4 -2
  183. package/dist/theme/index.js.map +1 -1
  184. package/dist/theme/theme-config.d.ts +134 -0
  185. package/dist/theme/theme-config.d.ts.map +1 -0
  186. package/dist/theme/theme-config.js +286 -0
  187. package/dist/theme/theme-config.js.map +1 -0
  188. package/dist/theme/theme.d.ts +93 -2
  189. package/dist/theme/theme.d.ts.map +1 -1
  190. package/dist/theme/theme.js +125 -28
  191. package/dist/theme/theme.js.map +1 -1
  192. package/dist/utils/contrast-checker.d.ts +51 -0
  193. package/dist/utils/contrast-checker.d.ts.map +1 -0
  194. package/dist/utils/contrast-checker.js +97 -0
  195. package/dist/utils/contrast-checker.js.map +1 -0
  196. package/dist/utils/index.d.ts +2 -0
  197. package/dist/utils/index.d.ts.map +1 -0
  198. package/dist/utils/index.js +3 -0
  199. package/dist/utils/index.js.map +1 -0
  200. package/package.json +35 -20
  201. package/README.md +0 -929
  202. package/dist/brand/brandConfig.d.ts +0 -48
  203. package/dist/brand/brandConfig.d.ts.map +0 -1
  204. package/dist/brand/brandConfig.js +0 -41
  205. package/dist/brand/brandConfig.js.map +0 -1
  206. package/dist/brand/brandContext.d.ts +0 -10
  207. package/dist/brand/brandContext.d.ts.map +0 -1
  208. package/dist/brand/brandContext.js +0 -16
  209. package/dist/brand/brandContext.js.map +0 -1
  210. package/dist/brand/brandTypes.d.ts +0 -54
  211. package/dist/brand/brandTypes.d.ts.map +0 -1
  212. package/dist/brand/brandTypes.js +0 -2
  213. package/dist/brand/brandTypes.js.map +0 -1
  214. package/dist/components/action/ActionRow.d.ts +0 -25
  215. package/dist/components/action/ActionRow.d.ts.map +0 -1
  216. package/dist/components/action/ActionRow.js +0 -66
  217. package/dist/components/action/ActionRow.js.map +0 -1
  218. package/dist/components/action/index.d.ts +0 -2
  219. package/dist/components/action/index.d.ts.map +0 -1
  220. package/dist/components/action/index.js +0 -3
  221. package/dist/components/action/index.js.map +0 -1
  222. package/dist/components/card/Card.d.ts +0 -11
  223. package/dist/components/card/Card.d.ts.map +0 -1
  224. package/dist/components/card/Card.js +0 -32
  225. package/dist/components/card/Card.js.map +0 -1
  226. package/dist/components/card/index.d.ts +0 -2
  227. package/dist/components/card/index.d.ts.map +0 -1
  228. package/dist/components/card/index.js +0 -2
  229. package/dist/components/card/index.js.map +0 -1
  230. package/dist/components/chat/ChatContainer.d.ts +0 -27
  231. package/dist/components/chat/ChatContainer.d.ts.map +0 -1
  232. package/dist/components/chat/ChatContainer.js +0 -52
  233. package/dist/components/chat/ChatContainer.js.map +0 -1
  234. package/dist/components/chat/ChatInput.d.ts +0 -9
  235. package/dist/components/chat/ChatInput.d.ts.map +0 -1
  236. package/dist/components/chat/ChatInput.js +0 -219
  237. package/dist/components/chat/ChatInput.js.map +0 -1
  238. package/dist/components/chat/ChatMessages.d.ts +0 -9
  239. package/dist/components/chat/ChatMessages.d.ts.map +0 -1
  240. package/dist/components/chat/ChatMessages.js +0 -35
  241. package/dist/components/chat/ChatMessages.js.map +0 -1
  242. package/dist/components/chat/EmptyChat.d.ts +0 -18
  243. package/dist/components/chat/EmptyChat.d.ts.map +0 -1
  244. package/dist/components/chat/EmptyChat.js +0 -64
  245. package/dist/components/chat/EmptyChat.js.map +0 -1
  246. package/dist/components/chat/Message.d.ts +0 -8
  247. package/dist/components/chat/Message.d.ts.map +0 -1
  248. package/dist/components/chat/Message.js +0 -47
  249. package/dist/components/chat/Message.js.map +0 -1
  250. package/dist/components/chat/index.d.ts +0 -6
  251. package/dist/components/chat/index.d.ts.map +0 -1
  252. package/dist/components/chat/index.js +0 -7
  253. package/dist/components/chat/index.js.map +0 -1
  254. package/dist/components/chat/types.d.ts +0 -34
  255. package/dist/components/chat/types.d.ts.map +0 -1
  256. package/dist/components/form/DropDownSelect.d.ts +0 -12
  257. package/dist/components/form/DropDownSelect.d.ts.map +0 -1
  258. package/dist/components/form/DropDownSelect.js +0 -63
  259. package/dist/components/form/DropDownSelect.js.map +0 -1
  260. package/dist/components/form/EmailSubscriptionForm.d.ts +0 -14
  261. package/dist/components/form/EmailSubscriptionForm.d.ts.map +0 -1
  262. package/dist/components/form/EmailSubscriptionForm.js +0 -58
  263. package/dist/components/form/EmailSubscriptionForm.js.map +0 -1
  264. package/dist/components/form/FormErrors.d.ts +0 -7
  265. package/dist/components/form/FormErrors.d.ts.map +0 -1
  266. package/dist/components/form/FormErrors.js +0 -35
  267. package/dist/components/form/FormErrors.js.map +0 -1
  268. package/dist/components/form/FormInput.d.ts +0 -14
  269. package/dist/components/form/FormInput.d.ts.map +0 -1
  270. package/dist/components/form/FormInput.js +0 -35
  271. package/dist/components/form/FormInput.js.map +0 -1
  272. package/dist/components/form/FormSeparator.d.ts +0 -6
  273. package/dist/components/form/FormSeparator.d.ts.map +0 -1
  274. package/dist/components/form/FormSeparator.js +0 -25
  275. package/dist/components/form/FormSeparator.js.map +0 -1
  276. package/dist/components/form/index.d.ts +0 -6
  277. package/dist/components/form/index.d.ts.map +0 -1
  278. package/dist/components/form/index.js +0 -7
  279. package/dist/components/form/index.js.map +0 -1
  280. package/dist/components/layout/Footer.d.ts +0 -3
  281. package/dist/components/layout/Footer.d.ts.map +0 -1
  282. package/dist/components/layout/Footer.js +0 -60
  283. package/dist/components/layout/Footer.js.map +0 -1
  284. package/dist/components/layout/MinimalFooter.d.ts +0 -8
  285. package/dist/components/layout/MinimalFooter.d.ts.map +0 -1
  286. package/dist/components/layout/MinimalFooter.js +0 -57
  287. package/dist/components/layout/MinimalFooter.js.map +0 -1
  288. package/dist/components/layout/MobileFooterBar.d.ts +0 -7
  289. package/dist/components/layout/MobileFooterBar.d.ts.map +0 -1
  290. package/dist/components/layout/MobileFooterBar.js +0 -18
  291. package/dist/components/layout/MobileFooterBar.js.map +0 -1
  292. package/dist/components/layout/ParallaxScrollView.d.ts +0 -11
  293. package/dist/components/layout/ParallaxScrollView.d.ts.map +0 -1
  294. package/dist/components/layout/ParallaxScrollView.js +0 -67
  295. package/dist/components/layout/ParallaxScrollView.js.map +0 -1
  296. package/dist/components/layout/WebPageLayout.d.ts +0 -17
  297. package/dist/components/layout/WebPageLayout.d.ts.map +0 -1
  298. package/dist/components/layout/WebPageLayout.js +0 -103
  299. package/dist/components/layout/WebPageLayout.js.map +0 -1
  300. package/dist/components/layout/index.d.ts +0 -6
  301. package/dist/components/layout/index.d.ts.map +0 -1
  302. package/dist/components/layout/index.js +0 -9
  303. package/dist/components/layout/index.js.map +0 -1
  304. package/dist/components/list/List.d.ts +0 -10
  305. package/dist/components/list/List.d.ts.map +0 -1
  306. package/dist/components/list/List.js +0 -18
  307. package/dist/components/list/List.js.map +0 -1
  308. package/dist/components/list/ListButton.d.ts +0 -13
  309. package/dist/components/list/ListButton.d.ts.map +0 -1
  310. package/dist/components/list/ListButton.js +0 -24
  311. package/dist/components/list/ListButton.js.map +0 -1
  312. package/dist/components/list/ListDivider.d.ts +0 -7
  313. package/dist/components/list/ListDivider.d.ts.map +0 -1
  314. package/dist/components/list/ListDivider.js +0 -23
  315. package/dist/components/list/ListDivider.js.map +0 -1
  316. package/dist/components/list/index.d.ts +0 -4
  317. package/dist/components/list/index.d.ts.map +0 -1
  318. package/dist/components/list/index.js +0 -4
  319. package/dist/components/list/index.js.map +0 -1
  320. package/dist/components/media/Carousel.d.ts +0 -18
  321. package/dist/components/media/Carousel.d.ts.map +0 -1
  322. package/dist/components/media/Carousel.js +0 -60
  323. package/dist/components/media/Carousel.js.map +0 -1
  324. package/dist/components/media/FeatureCard.d.ts +0 -9
  325. package/dist/components/media/FeatureCard.d.ts.map +0 -1
  326. package/dist/components/media/FeatureCard.js +0 -68
  327. package/dist/components/media/FeatureCard.js.map +0 -1
  328. package/dist/components/media/HorizontalCarousel.d.ts +0 -17
  329. package/dist/components/media/HorizontalCarousel.d.ts.map +0 -1
  330. package/dist/components/media/HorizontalCarousel.js +0 -60
  331. package/dist/components/media/HorizontalCarousel.js.map +0 -1
  332. package/dist/components/media/ImageCarousel.d.ts +0 -14
  333. package/dist/components/media/ImageCarousel.d.ts.map +0 -1
  334. package/dist/components/media/ImageCarousel.js +0 -21
  335. package/dist/components/media/ImageCarousel.js.map +0 -1
  336. package/dist/components/media/MediaTile.d.ts +0 -30
  337. package/dist/components/media/MediaTile.d.ts.map +0 -1
  338. package/dist/components/media/MediaTile.js +0 -51
  339. package/dist/components/media/MediaTile.js.map +0 -1
  340. package/dist/components/media/SkeletonMediaTile.d.ts +0 -17
  341. package/dist/components/media/SkeletonMediaTile.d.ts.map +0 -1
  342. package/dist/components/media/SkeletonMediaTile.js +0 -67
  343. package/dist/components/media/SkeletonMediaTile.js.map +0 -1
  344. package/dist/components/media/index.d.ts +0 -7
  345. package/dist/components/media/index.d.ts.map +0 -1
  346. package/dist/components/media/index.js +0 -8
  347. package/dist/components/media/index.js.map +0 -1
  348. package/dist/components/navigation/AppbarWeb.d.ts +0 -18
  349. package/dist/components/navigation/AppbarWeb.d.ts.map +0 -1
  350. package/dist/components/navigation/AppbarWeb.js +0 -70
  351. package/dist/components/navigation/AppbarWeb.js.map +0 -1
  352. package/dist/components/navigation/IconButtonGroup.d.ts +0 -7
  353. package/dist/components/navigation/IconButtonGroup.d.ts.map +0 -1
  354. package/dist/components/navigation/IconButtonGroup.js +0 -33
  355. package/dist/components/navigation/IconButtonGroup.js.map +0 -1
  356. package/dist/components/navigation/Logo.d.ts +0 -16
  357. package/dist/components/navigation/Logo.d.ts.map +0 -1
  358. package/dist/components/navigation/Logo.js +0 -64
  359. package/dist/components/navigation/Logo.js.map +0 -1
  360. package/dist/components/navigation/MobileMenuDrawer.d.ts +0 -13
  361. package/dist/components/navigation/MobileMenuDrawer.d.ts.map +0 -1
  362. package/dist/components/navigation/MobileMenuDrawer.js +0 -184
  363. package/dist/components/navigation/MobileMenuDrawer.js.map +0 -1
  364. package/dist/components/navigation/ScreenHeader.d.ts +0 -30
  365. package/dist/components/navigation/ScreenHeader.d.ts.map +0 -1
  366. package/dist/components/navigation/ScreenHeader.js +0 -127
  367. package/dist/components/navigation/ScreenHeader.js.map +0 -1
  368. package/dist/components/navigation/iconUtils.d.ts.map +0 -1
  369. package/dist/components/navigation/iconUtils.js.map +0 -1
  370. package/dist/components/tile/Tile.d.ts +0 -18
  371. package/dist/components/tile/Tile.d.ts.map +0 -1
  372. package/dist/components/tile/Tile.js +0 -41
  373. package/dist/components/tile/Tile.js.map +0 -1
  374. package/dist/components/tile/index.d.ts +0 -2
  375. package/dist/components/tile/index.d.ts.map +0 -1
  376. package/dist/components/tile/index.js +0 -2
  377. package/dist/components/tile/index.js.map +0 -1
  378. package/dist/components/ui/ArrowButton.d.ts +0 -8
  379. package/dist/components/ui/ArrowButton.d.ts.map +0 -1
  380. package/dist/components/ui/ArrowButton.js +0 -30
  381. package/dist/components/ui/ArrowButton.js.map +0 -1
  382. package/dist/components/ui/BlurButton.d.ts +0 -16
  383. package/dist/components/ui/BlurButton.d.ts.map +0 -1
  384. package/dist/components/ui/BlurButton.js +0 -26
  385. package/dist/components/ui/BlurButton.js.map +0 -1
  386. package/dist/components/ui/Button.d.ts +0 -24
  387. package/dist/components/ui/Button.d.ts.map +0 -1
  388. package/dist/components/ui/Button.js +0 -60
  389. package/dist/components/ui/Button.js.map +0 -1
  390. package/dist/components/ui/ErrorBoundary.d.ts +0 -18
  391. package/dist/components/ui/ErrorBoundary.d.ts.map +0 -1
  392. package/dist/components/ui/ErrorBoundary.js +0 -37
  393. package/dist/components/ui/ErrorBoundary.js.map +0 -1
  394. package/dist/components/ui/IconButton.d.ts +0 -13
  395. package/dist/components/ui/IconButton.d.ts.map +0 -1
  396. package/dist/components/ui/IconButton.js +0 -27
  397. package/dist/components/ui/IconButton.js.map +0 -1
  398. package/dist/components/ui/LoadingIndicator.d.ts +0 -6
  399. package/dist/components/ui/LoadingIndicator.d.ts.map +0 -1
  400. package/dist/components/ui/LoadingIndicator.js +0 -15
  401. package/dist/components/ui/LoadingIndicator.js.map +0 -1
  402. package/dist/components/ui/NotificationBadge.d.ts +0 -8
  403. package/dist/components/ui/NotificationBadge.d.ts.map +0 -1
  404. package/dist/components/ui/NotificationBadge.js +0 -24
  405. package/dist/components/ui/NotificationBadge.js.map +0 -1
  406. package/dist/components/ui/SkeletonCard.d.ts +0 -14
  407. package/dist/components/ui/SkeletonCard.d.ts.map +0 -1
  408. package/dist/components/ui/SkeletonCard.js +0 -50
  409. package/dist/components/ui/SkeletonCard.js.map +0 -1
  410. package/dist/components/ui/StyledText.d.ts +0 -17
  411. package/dist/components/ui/StyledText.d.ts.map +0 -1
  412. package/dist/components/ui/StyledText.js +0 -27
  413. package/dist/components/ui/StyledText.js.map +0 -1
  414. package/dist/components/ui/StyledTextInput.d.ts +0 -10
  415. package/dist/components/ui/StyledTextInput.d.ts.map +0 -1
  416. package/dist/components/ui/StyledTextInput.js +0 -62
  417. package/dist/components/ui/StyledTextInput.js.map +0 -1
  418. package/dist/components/ui/TextLink.d.ts +0 -14
  419. package/dist/components/ui/TextLink.d.ts.map +0 -1
  420. package/dist/components/ui/TextLink.js +0 -25
  421. package/dist/components/ui/TextLink.js.map +0 -1
  422. package/dist/components/ui/ToggleIconButton.d.ts +0 -14
  423. package/dist/components/ui/ToggleIconButton.d.ts.map +0 -1
  424. package/dist/components/ui/ToggleIconButton.js +0 -19
  425. package/dist/components/ui/ToggleIconButton.js.map +0 -1
  426. package/dist/context/scrollContext.d.ts.map +0 -1
  427. package/dist/context/scrollContext.js.map +0 -1
  428. package/dist/hooks/useDimensions.d.ts.map +0 -1
  429. package/dist/hooks/useDimensions.js.map +0 -1
  430. package/dist/hooks/useWindowHeight.d.ts +0 -7
  431. package/dist/hooks/useWindowHeight.d.ts.map +0 -1
  432. package/dist/hooks/useWindowHeight.js +0 -10
  433. package/dist/hooks/useWindowHeight.js.map +0 -1
  434. package/dist/hooks/useWindowWidth.d.ts +0 -20
  435. package/dist/hooks/useWindowWidth.d.ts.map +0 -1
  436. package/dist/hooks/useWindowWidth.js +0 -27
  437. package/dist/hooks/useWindowWidth.js.map +0 -1
  438. package/dist/theme/themeConfig.d.ts +0 -19
  439. package/dist/theme/themeConfig.d.ts.map +0 -1
  440. package/dist/theme/themeConfig.js +0 -43
  441. package/dist/theme/themeConfig.js.map +0 -1
  442. /package/dist/components/{chat → shared}/types.js +0 -0
@@ -0,0 +1,283 @@
1
+ /**
2
+ * Material Design 3 Color Palette Generator
3
+ * Uses @material/material-color-utilities to generate tonal palettes from seed colors
4
+ * Reference: https://m3.material.io/styles/color/the-color-system/color-roles
5
+ */
6
+ import { argbFromHex, hexFromArgb, TonalPalette, Hct, } from '@material/material-color-utilities';
7
+ /**
8
+ * Generates a tonal palette from a seed color
9
+ * @param seedColor Hex color string (e.g., '#6750A4')
10
+ * @returns TonalPalette with tones 0-100
11
+ */
12
+ function generateTonalPalette(seedColor) {
13
+ const argb = argbFromHex(seedColor);
14
+ const hct = Hct.fromInt(argb);
15
+ return TonalPalette.fromHueAndChroma(hct.hue, hct.chroma);
16
+ }
17
+ /**
18
+ * Generates secondary palette from primary
19
+ * Uses same hue with reduced chroma for harmony
20
+ */
21
+ function generateSecondaryPalette(primaryColor) {
22
+ const argb = argbFromHex(primaryColor);
23
+ const hct = Hct.fromInt(argb);
24
+ // Secondary uses same hue but lower chroma (16 is M3 standard)
25
+ return TonalPalette.fromHueAndChroma(hct.hue, Math.min(16, hct.chroma));
26
+ }
27
+ /**
28
+ * Generates tertiary palette from primary
29
+ * Uses complementary hue for contrast
30
+ */
31
+ function generateTertiaryPalette(primaryColor) {
32
+ const argb = argbFromHex(primaryColor);
33
+ const hct = Hct.fromInt(argb);
34
+ // Tertiary uses complementary hue (+60 degrees)
35
+ const tertiaryHue = (hct.hue + 60) % 360;
36
+ return TonalPalette.fromHueAndChroma(tertiaryHue, Math.max(24, hct.chroma));
37
+ }
38
+ /**
39
+ * Generates neutral palette from primary
40
+ * Uses very low chroma for subtle tinting
41
+ */
42
+ function generateNeutralPalette(primaryColor) {
43
+ const argb = argbFromHex(primaryColor);
44
+ const hct = Hct.fromInt(argb);
45
+ // Neutral uses same hue with very low chroma (4 is M3 standard)
46
+ return TonalPalette.fromHueAndChroma(hct.hue, 4);
47
+ }
48
+ /**
49
+ * Generates neutral variant palette from primary
50
+ * Uses low chroma for subtle variation
51
+ */
52
+ function generateNeutralVariantPalette(primaryColor) {
53
+ const argb = argbFromHex(primaryColor);
54
+ const hct = Hct.fromInt(argb);
55
+ // Neutral variant uses same hue with low chroma (8 is M3 standard)
56
+ return TonalPalette.fromHueAndChroma(hct.hue, 8);
57
+ }
58
+ /**
59
+ * Generates M3 error palette
60
+ * Uses standard red hue with appropriate chroma
61
+ */
62
+ function generateErrorPalette() {
63
+ // M3 standard error color: red with hue ~25, chroma ~84
64
+ return TonalPalette.fromHueAndChroma(25, 84);
65
+ }
66
+ /**
67
+ * Generates a complete Material Design 3 light theme color scheme from seed colors
68
+ * @param options Seed colors for generating palettes
69
+ * @returns Complete Colors object for light theme
70
+ */
71
+ export function generateLightColors(options) {
72
+ // Generate tonal palettes
73
+ const primaryPalette = generateTonalPalette(options.primary);
74
+ const secondaryPalette = options.secondary
75
+ ? generateTonalPalette(options.secondary)
76
+ : generateSecondaryPalette(options.primary);
77
+ const tertiaryPalette = options.tertiary
78
+ ? generateTonalPalette(options.tertiary)
79
+ : generateTertiaryPalette(options.primary);
80
+ const errorPalette = options.error
81
+ ? generateTonalPalette(options.error)
82
+ : generateErrorPalette();
83
+ const neutralPalette = options.neutral
84
+ ? generateTonalPalette(options.neutral)
85
+ : generateNeutralPalette(options.primary);
86
+ const neutralVariantPalette = options.neutralVariant
87
+ ? generateTonalPalette(options.neutralVariant)
88
+ : generateNeutralVariantPalette(options.primary);
89
+ // Build light theme using M3 tone mappings
90
+ // Reference: https://m3.material.io/styles/color/the-color-system/tokens
91
+ return {
92
+ // Primary
93
+ primary: hexFromArgb(primaryPalette.tone(40)),
94
+ onPrimary: hexFromArgb(primaryPalette.tone(100)),
95
+ primaryContainer: hexFromArgb(primaryPalette.tone(90)),
96
+ onPrimaryContainer: hexFromArgb(primaryPalette.tone(10)),
97
+ // Secondary
98
+ secondary: hexFromArgb(secondaryPalette.tone(40)),
99
+ onSecondary: hexFromArgb(secondaryPalette.tone(100)),
100
+ secondaryContainer: hexFromArgb(secondaryPalette.tone(90)),
101
+ onSecondaryContainer: hexFromArgb(secondaryPalette.tone(10)),
102
+ // Tertiary
103
+ tertiary: hexFromArgb(tertiaryPalette.tone(40)),
104
+ onTertiary: hexFromArgb(tertiaryPalette.tone(100)),
105
+ tertiaryContainer: hexFromArgb(tertiaryPalette.tone(90)),
106
+ onTertiaryContainer: hexFromArgb(tertiaryPalette.tone(10)),
107
+ // Error
108
+ error: hexFromArgb(errorPalette.tone(40)),
109
+ onError: hexFromArgb(errorPalette.tone(100)),
110
+ errorContainer: hexFromArgb(errorPalette.tone(90)),
111
+ onErrorContainer: hexFromArgb(errorPalette.tone(10)),
112
+ // Surface
113
+ surface: hexFromArgb(neutralPalette.tone(98)),
114
+ onSurface: hexFromArgb(neutralPalette.tone(10)),
115
+ onSurfaceVariant: hexFromArgb(neutralVariantPalette.tone(30)),
116
+ // Surface containers
117
+ surfaceContainerLowest: hexFromArgb(neutralPalette.tone(100)),
118
+ surfaceContainerLow: hexFromArgb(neutralPalette.tone(96)),
119
+ surfaceContainer: hexFromArgb(neutralPalette.tone(94)),
120
+ surfaceContainerHigh: hexFromArgb(neutralPalette.tone(92)),
121
+ surfaceContainerHighest: hexFromArgb(neutralPalette.tone(90)),
122
+ // Outline
123
+ outline: hexFromArgb(neutralVariantPalette.tone(50)),
124
+ outlineVariant: hexFromArgb(neutralVariantPalette.tone(80)),
125
+ // Inverse
126
+ inverseSurface: hexFromArgb(neutralPalette.tone(20)),
127
+ inverseOnSurface: hexFromArgb(neutralPalette.tone(95)),
128
+ inversePrimary: hexFromArgb(primaryPalette.tone(80)),
129
+ // Semantic
130
+ scrim: hexFromArgb(neutralPalette.tone(0)),
131
+ shadow: hexFromArgb(neutralPalette.tone(0)),
132
+ };
133
+ }
134
+ /**
135
+ * Generates a complete Material Design 3 dark theme color scheme from seed colors
136
+ * @param options Seed colors for generating palettes
137
+ * @returns Complete Colors object for dark theme
138
+ */
139
+ export function generateDarkColors(options) {
140
+ // Generate tonal palettes (same as light)
141
+ const primaryPalette = generateTonalPalette(options.primary);
142
+ const secondaryPalette = options.secondary
143
+ ? generateTonalPalette(options.secondary)
144
+ : generateSecondaryPalette(options.primary);
145
+ const tertiaryPalette = options.tertiary
146
+ ? generateTonalPalette(options.tertiary)
147
+ : generateTertiaryPalette(options.primary);
148
+ const errorPalette = options.error
149
+ ? generateTonalPalette(options.error)
150
+ : generateErrorPalette();
151
+ const neutralPalette = options.neutral
152
+ ? generateTonalPalette(options.neutral)
153
+ : generateNeutralPalette(options.primary);
154
+ const neutralVariantPalette = options.neutralVariant
155
+ ? generateTonalPalette(options.neutralVariant)
156
+ : generateNeutralVariantPalette(options.primary);
157
+ // Build dark theme using M3 tone mappings
158
+ // Dark theme uses inverted tone values
159
+ return {
160
+ // Primary
161
+ primary: hexFromArgb(primaryPalette.tone(80)),
162
+ onPrimary: hexFromArgb(primaryPalette.tone(20)),
163
+ primaryContainer: hexFromArgb(primaryPalette.tone(30)),
164
+ onPrimaryContainer: hexFromArgb(primaryPalette.tone(90)),
165
+ // Secondary
166
+ secondary: hexFromArgb(secondaryPalette.tone(80)),
167
+ onSecondary: hexFromArgb(secondaryPalette.tone(20)),
168
+ secondaryContainer: hexFromArgb(secondaryPalette.tone(30)),
169
+ onSecondaryContainer: hexFromArgb(secondaryPalette.tone(90)),
170
+ // Tertiary
171
+ tertiary: hexFromArgb(tertiaryPalette.tone(80)),
172
+ onTertiary: hexFromArgb(tertiaryPalette.tone(20)),
173
+ tertiaryContainer: hexFromArgb(tertiaryPalette.tone(30)),
174
+ onTertiaryContainer: hexFromArgb(tertiaryPalette.tone(90)),
175
+ // Error
176
+ error: hexFromArgb(errorPalette.tone(80)),
177
+ onError: hexFromArgb(errorPalette.tone(20)),
178
+ errorContainer: hexFromArgb(errorPalette.tone(30)),
179
+ onErrorContainer: hexFromArgb(errorPalette.tone(90)),
180
+ // Surface
181
+ surface: hexFromArgb(neutralPalette.tone(6)),
182
+ onSurface: hexFromArgb(neutralPalette.tone(90)),
183
+ onSurfaceVariant: hexFromArgb(neutralVariantPalette.tone(80)),
184
+ // Surface containers
185
+ surfaceContainerLowest: hexFromArgb(neutralPalette.tone(4)),
186
+ surfaceContainerLow: hexFromArgb(neutralPalette.tone(10)),
187
+ surfaceContainer: hexFromArgb(neutralPalette.tone(12)),
188
+ surfaceContainerHigh: hexFromArgb(neutralPalette.tone(17)),
189
+ surfaceContainerHighest: hexFromArgb(neutralPalette.tone(22)),
190
+ // Outline
191
+ outline: hexFromArgb(neutralVariantPalette.tone(60)),
192
+ outlineVariant: hexFromArgb(neutralVariantPalette.tone(30)),
193
+ // Inverse
194
+ inverseSurface: hexFromArgb(neutralPalette.tone(90)),
195
+ inverseOnSurface: hexFromArgb(neutralPalette.tone(20)),
196
+ inversePrimary: hexFromArgb(primaryPalette.tone(40)),
197
+ // Semantic
198
+ scrim: hexFromArgb(neutralPalette.tone(0)),
199
+ shadow: hexFromArgb(neutralPalette.tone(0)),
200
+ };
201
+ }
202
+ /**
203
+ * Compute WCAG 2.1 relative luminance for an ARGB integer.
204
+ * https://www.w3.org/TR/WCAG21/#dfn-relative-luminance
205
+ */
206
+ function relativeLuminance(argb) {
207
+ const linearize = (val) => val <= 0.04045 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
208
+ const r = linearize(((argb >> 16) & 0xFF) / 255);
209
+ const g = linearize(((argb >> 8) & 0xFF) / 255);
210
+ const b = linearize((argb & 0xFF) / 255);
211
+ return 0.2126 * r + 0.7152 * g + 0.0722 * b;
212
+ }
213
+ /**
214
+ * Compute the WCAG 2.1 contrast ratio between two hex colors.
215
+ * Returns a value between 1 (no contrast) and 21 (black on white).
216
+ * https://www.w3.org/TR/WCAG21/#dfn-contrast-ratio
217
+ */
218
+ export function contrastRatio(foreground, background) {
219
+ const fgL = relativeLuminance(argbFromHex(foreground));
220
+ const bgL = relativeLuminance(argbFromHex(background));
221
+ const lighter = Math.max(fgL, bgL);
222
+ const darker = Math.min(fgL, bgL);
223
+ return (lighter + 0.05) / (darker + 0.05);
224
+ }
225
+ /**
226
+ * Check if two colors meet a minimum WCAG contrast ratio.
227
+ * @param foreground Foreground color (hex)
228
+ * @param background Background color (hex)
229
+ * @param minRatio Minimum contrast ratio (default: 4.5 for AA compliance)
230
+ * @returns true if contrast meets minimum ratio
231
+ */
232
+ export function hasContrastRatio(foreground, background, minRatio = 4.5) {
233
+ return contrastRatio(foreground, background) >= minRatio;
234
+ }
235
+ /**
236
+ * Generate high-contrast color adjustments
237
+ * Increases contrast for accessibility compliance
238
+ */
239
+ export function generateHighContrastColors(baseColors) {
240
+ // In high-contrast mode, increase tone differences
241
+ // This is a simplified version - production would use full WCAG calculations
242
+ return {
243
+ ...baseColors,
244
+ // Increase contrast for all on-color pairs
245
+ onPrimary: '#FFFFFF',
246
+ onSecondary: '#FFFFFF',
247
+ onTertiary: '#FFFFFF',
248
+ onError: '#FFFFFF',
249
+ onSurface: '#000000',
250
+ onSurfaceVariant: '#000000',
251
+ onPrimaryContainer: '#000000',
252
+ onSecondaryContainer: '#000000',
253
+ onTertiaryContainer: '#000000',
254
+ onErrorContainer: '#000000',
255
+ };
256
+ }
257
+ /**
258
+ * Adapter: Convert a TonalPalette into a simple map of tones -> hex strings.
259
+ * This provides a stable, serializable shape consumers in the codebase expect
260
+ * (e.g. lookups by tone value) and isolates callers from potential upstream
261
+ * API changes in the material-color-utilities package.
262
+ */
263
+ export function tonalPaletteToHexMap(palette) {
264
+ const map = {};
265
+ for (let t = 0; t <= 100; t += 10) {
266
+ try {
267
+ map[t] = hexFromArgb(palette.tone(t));
268
+ }
269
+ catch (e) {
270
+ // if palette.tone is unavailable for some reason, fallback to white/black
271
+ map[t] = t >= 50 ? '#FFFFFF' : '#000000';
272
+ }
273
+ }
274
+ return map;
275
+ }
276
+ /**
277
+ * Helper: generate a hex-map directly from a seed color
278
+ */
279
+ export function generateTonalHexMapFromSeed(seedColor) {
280
+ const palette = generateTonalPalette(seedColor);
281
+ return tonalPaletteToHexMap(palette);
282
+ }
283
+ //# sourceMappingURL=palette-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette-generator.js","sourceRoot":"","sources":["../../brand/palette-generator.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
1
  export * from './ui';
2
- export * from './layout';
3
2
  export * from './navigation';
4
- export * from './media';
5
- export * from './form';
6
- export * from './action';
7
- export * from './chat';
8
- export * from './card';
9
- export * from './list';
10
- export * from './tile';
11
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"AACA,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC"}
@@ -1,12 +1,3 @@
1
- // Export all composite components from organized subfolders
2
1
  export * from './ui';
3
- export * from './layout';
4
2
  export * from './navigation';
5
- export * from './media';
6
- export * from './form';
7
- export * from './action';
8
- export * from './chat';
9
- export * from './card';
10
- export * from './list';
11
- export * from './tile';
12
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAC;AACrB,cAAc,cAAc,CAAC"}
@@ -0,0 +1,63 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * SF Symbol icon configuration for iOS
4
+ */
5
+ export interface SFSymbolIcon {
6
+ /** Default state SF Symbol name */
7
+ default: string;
8
+ /** Selected state SF Symbol name */
9
+ selected: string;
10
+ }
11
+ /**
12
+ * Material Design icon name for Android
13
+ */
14
+ export type MaterialIconName = string;
15
+ /**
16
+ * Tab configuration for AppTabs
17
+ */
18
+ export interface AppTabConfig {
19
+ /** Unique tab name (used for routing) */
20
+ name: string;
21
+ /** Tab route href */
22
+ href: string;
23
+ /** Tab display label */
24
+ label: string;
25
+ /** Optional iOS SF Symbol icon configuration (must include both default and selected states) */
26
+ sfSymbol?: SFSymbolIcon;
27
+ /** Optional Android Material Design icon name */
28
+ materialIcon?: MaterialIconName;
29
+ /** Optional web icon (web only) */
30
+ webIcon?: any;
31
+ }
32
+ /**
33
+ * External link configuration (web only)
34
+ */
35
+ export interface AppTabsExternalLink {
36
+ label: string;
37
+ href: string;
38
+ icon?: any;
39
+ }
40
+ /**
41
+ * Props for AppTabs component
42
+ */
43
+ export interface AppTabsProps {
44
+ /** Brand or app name to display */
45
+ brandName?: string;
46
+ /** Optional logo image */
47
+ logoImage?: ReactNode;
48
+ /** Array of tab configurations */
49
+ tabs: AppTabConfig[];
50
+ /** External links shown in the app bar (web only) */
51
+ externalLinks?: AppTabsExternalLink[];
52
+ /** App bar height in pixels (web only) */
53
+ height?: number;
54
+ /** Called when hamburger is pressed (native only) */
55
+ onPrimaryMenuPress?: () => void;
56
+ }
57
+ /**
58
+ * Native platform tabs for mobile (iOS/Android).
59
+ * Uses true native tabs with liquid glass effect on iOS.
60
+ * For web, see app-tabs.web.tsx
61
+ */
62
+ export default function AppTabs({ tabs, }: AppTabsProps): import("react/jsx-runtime").JSX.Element;
63
+ //# sourceMappingURL=app-tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tabs.d.ts","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/app-tabs.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIzC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,gGAAgG;IAChG,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,iDAAiD;IACjD,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,mCAAmC;IACnC,OAAO,CAAC,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kCAAkC;IAClC,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,qDAAqD;IACrD,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,GACL,EAAE,YAAY,2CAoBd"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { NativeTabs } from 'expo-router/unstable-native-tabs';
3
+ import { useThemeContext } from '../../../theme';
4
+ /**
5
+ * Native platform tabs for mobile (iOS/Android).
6
+ * Uses true native tabs with liquid glass effect on iOS.
7
+ * For web, see app-tabs.web.tsx
8
+ */
9
+ export default function AppTabs({ tabs, }) {
10
+ const { values: theme } = useThemeContext();
11
+ return (_jsx(NativeTabs, { tintColor: theme.primary, iconColor: theme.onSurfaceVariant, children: tabs.map((tab) => (_jsxs(NativeTabs.Trigger, { name: tab.name, children: [(tab.sfSymbol || tab.materialIcon) && (_jsx(NativeTabs.Trigger.Icon, { sf: tab.sfSymbol, md: tab.materialIcon })), _jsx(NativeTabs.Trigger.Label, { children: tab.label })] }, tab.name))) }));
12
+ }
13
+ //# sourceMappingURL=app-tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tabs.js","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/app-tabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA8DjD;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,IAAI,GACS;IACb,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IAE5C,OAAO,CACL,KAAC,UAAU,IACT,SAAS,EAAE,KAAK,CAAC,OAAO,EACxB,SAAS,EAAE,KAAK,CAAC,gBAAgB,YAChC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,MAAC,UAAU,CAAC,OAAO,IAAgB,IAAI,EAAE,GAAG,CAAC,IAAI,aAC9C,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,YAAY,CAAC,IAAI,CACrC,KAAC,UAAU,CAAC,OAAO,CAAC,IAAI,IACtB,EAAE,EAAE,GAAG,CAAC,QAAe,EACvB,EAAE,EAAE,GAAG,CAAC,YAAY,GACpB,CACH,EACD,KAAC,UAAU,CAAC,OAAO,CAAC,KAAK,cAAE,GAAG,CAAC,KAAK,GAA4B,KAPzC,GAAG,CAAC,IAAI,CAQZ,CACtB,CAAC,GACS,CACd,CAAC;AACJ,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { ReactNode } from 'react';
2
+ import { type PlatformIcon } from '../../../icons';
3
+ /**
4
+ * External link configuration for AppTabs
5
+ */
6
+ export interface AppTabsExternalLink {
7
+ label: string;
8
+ href: string;
9
+ icon?: PlatformIcon | string;
10
+ }
11
+ /**
12
+ * SF Symbol icon configuration for iOS
13
+ */
14
+ export interface SFSymbolIcon {
15
+ default: string;
16
+ selected: string;
17
+ }
18
+ export type MaterialIconName = string;
19
+ /**
20
+ * Tab configuration for AppTabs
21
+ */
22
+ export interface AppTabConfig {
23
+ name: string;
24
+ href: string;
25
+ label: string;
26
+ sfSymbol?: SFSymbolIcon;
27
+ materialIcon?: MaterialIconName;
28
+ webIcon?: PlatformIcon | string;
29
+ }
30
+ /**
31
+ * Props for AppTabs component
32
+ */
33
+ export interface AppTabsProps {
34
+ brandName: string;
35
+ logoImage?: ReactNode;
36
+ tabs: AppTabConfig[];
37
+ externalLinks?: AppTabsExternalLink[];
38
+ height?: number;
39
+ /** Native-only: called when hamburger is pressed on native platforms */
40
+ onPrimaryMenuPress?: () => void;
41
+ }
42
+ /**
43
+ * Material 3 themed tabs component for navigation.
44
+ * Responsive: right-side drawer on mobile, horizontal tabs on desktop.
45
+ */
46
+ export default function AppTabs({ brandName, logoImage, tabs, externalLinks, height, }: AppTabsProps): import("react/jsx-runtime").JSX.Element;
47
+ //# sourceMappingURL=app-tabs.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tabs.web.d.ts","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/app-tabs.web.tsx"],"names":[],"mappings":"AAQA,OAAc,EAAE,SAAS,EAAuB,MAAM,OAAO,CAAC;AAM9D,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAO/D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,SAAS,EACT,SAAS,EACT,IAAI,EACJ,aAAkB,EAClB,MAAW,GACZ,EAAE,YAAY,2CAoFd"}
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Tabs, TabList, TabTrigger, TabSlot, } from 'expo-router/ui';
3
+ import { useState, useEffect } from 'react';
4
+ import { Pressable, View, StyleSheet, Linking } from 'react-native';
5
+ import { useThemeContext } from '../../../theme';
6
+ import { Typography } from '../../ui/typography';
7
+ import { ThemedView } from '../../ui/themed-view';
8
+ import { Link, usePathname, useRouter } from 'expo-router';
9
+ import { renderIcon } from '../../../icons';
10
+ import { useLayout } from '../../../context/layout-context';
11
+ import { useDimensions, breakpoints } from '../../../hooks';
12
+ import { Drawer } from '../drawer/drawer';
13
+ import { SidebarItem } from '../sidebar/sidebar-item';
14
+ import { sidebarItemStyles } from '../shared/sidebar-styles';
15
+ /**
16
+ * Material 3 themed tabs component for navigation.
17
+ * Responsive: right-side drawer on mobile, horizontal tabs on desktop.
18
+ */
19
+ export default function AppTabs({ brandName, logoImage, tabs, externalLinks = [], height = 64, }) {
20
+ const { setAppBarHeight } = useLayout();
21
+ const { width } = useDimensions();
22
+ const isMobile = width < breakpoints.large;
23
+ const [menuOpen, setMenuOpen] = useState(false);
24
+ const pathname = usePathname();
25
+ const router = useRouter();
26
+ useEffect(() => {
27
+ setAppBarHeight(height);
28
+ }, [height, setAppBarHeight]);
29
+ // Close drawer on navigation
30
+ useEffect(() => {
31
+ setMenuOpen(false);
32
+ }, [pathname]);
33
+ return (_jsxs(Tabs, { children: [_jsx(TabList, { asChild: true, children: _jsx(CustomTabList, { brandName: brandName, logoImage: logoImage, externalLinks: externalLinks, height: height, isMobile: isMobile, onMenuPress: () => setMenuOpen(true), children: tabs.map((tab) => (_jsx(TabTrigger, { name: tab.name, href: tab.href, asChild: true, children: _jsx(TabButton, { height: height, webIcon: tab.webIcon, materialIcon: tab.materialIcon, children: tab.label }) }, tab.name))) }) }), _jsx(TabSlot, { style: { flex: 1, overflow: 'hidden' } }), isMobile && (_jsxs(Drawer, { isOpen: menuOpen, onClose: () => setMenuOpen(false), side: "right", header: _jsx(DrawerHeader, { brandName: brandName, logoImage: logoImage }), children: [tabs.map((tab) => {
34
+ const icon = tab.webIcon
35
+ ? (typeof tab.webIcon === 'string' ? { name: tab.webIcon } : tab.webIcon)
36
+ : tab.materialIcon
37
+ ? { library: 'MaterialIcons', name: tab.materialIcon }
38
+ : undefined;
39
+ const isActive = pathname === tab.href || pathname.startsWith(tab.href + '/');
40
+ return (_jsx(SidebarItem, { label: tab.label, icon: icon, active: isActive, onPress: () => router.push(tab.href) }, tab.name));
41
+ }), externalLinks.length > 0 && _jsx(DrawerDivider, {}), externalLinks.map((link, i) => {
42
+ const icon = link.icon
43
+ ? (typeof link.icon === 'string' ? { name: link.icon } : link.icon)
44
+ : undefined;
45
+ return (_jsx(SidebarItem, { label: link.label, icon: icon, onPress: () => Linking.openURL(link.href) }, i));
46
+ })] }))] }));
47
+ }
48
+ function TabButton({ children, isFocused, height, webIcon, materialIcon, ...props }) {
49
+ const { values: theme } = useThemeContext();
50
+ const spacing = theme.spacing;
51
+ const [hovered, setHovered] = useState(false);
52
+ const iconToRender = webIcon || (materialIcon ? { library: 'MaterialIcons', name: materialIcon } : undefined);
53
+ const iconColor = isFocused || hovered ? theme.primary : theme.onSurfaceVariant;
54
+ return (_jsxs(Pressable, { ...props, onHoverIn: () => setHovered(true), onHoverOut: () => setHovered(false), style: ({ pressed }) => [
55
+ styles.tabButton,
56
+ { paddingHorizontal: spacing.lg, height, justifyContent: 'center' },
57
+ pressed && { opacity: 0.7 },
58
+ ], children: [_jsxs(View, { style: [styles.tabButtonContent, { gap: spacing.sm }], children: [iconToRender && renderIcon(iconToRender, 'MaterialIcons', 20, iconColor), _jsx(Typography, { variant: "labelLarge", weight: "medium", color: iconColor, children: children })] }), isFocused && (_jsx(View, { style: [styles.activeIndicator, { backgroundColor: theme.primary }] }))] }));
59
+ }
60
+ function CustomTabList({ brandName, logoImage, externalLinks, height, isMobile, onMenuPress, children, ...props }) {
61
+ const { values: theme } = useThemeContext();
62
+ const spacing = theme.spacing;
63
+ return (_jsx(ThemedView, { variant: "appbar", rounded: false, style: [styles.appBar, { height, paddingHorizontal: spacing.xxl, borderBottomWidth: 1, borderBottomColor: theme.tokens.appbar.border }], children: _jsxs(View, { ...props, style: [styles.appBarContent, { height, gap: spacing.sm }], children: [_jsx(Link, { href: "/", style: styles.brand, children: _jsxs(View, { style: [styles.brandContent, { gap: spacing.sm }], children: [logoImage, _jsx(Typography, { variant: "titleLarge", weight: "medium", children: brandName })] }) }), !isMobile && (_jsxs(_Fragment, { children: [_jsx(View, { style: [styles.tabs, { gap: spacing.xs }], children: children }), externalLinks.length > 0 && (_jsx(View, { style: [styles.tabs, { gap: spacing.xs, marginLeft: spacing.lg }], children: externalLinks.map((link, i) => (_jsx(ExternalLinkButton, { ...link, height: height }, i))) }))] })), isMobile && (_jsx(Pressable, { onPress: onMenuPress, accessibilityLabel: "Open menu", accessibilityRole: "button", style: ({ pressed }) => [
64
+ styles.iconButton,
65
+ { padding: spacing.sm, borderRadius: theme.shape.buttonBorderRadius },
66
+ pressed && { opacity: 0.7 },
67
+ ], children: renderIcon({ library: 'Feather', name: 'menu' }, 'Feather', 24, theme.onSurface) }))] }) }));
68
+ }
69
+ // --- Desktop external link button ---
70
+ function ExternalLinkButton({ href, label, height, icon }) {
71
+ const { values: theme } = useThemeContext();
72
+ const spacing = theme.spacing;
73
+ const [hovered, setHovered] = useState(false);
74
+ const color = hovered ? theme.primary : theme.onSurfaceVariant;
75
+ return (_jsx(Link, { href: href, target: "_blank", asChild: true, children: _jsx(Pressable, { onHoverIn: () => setHovered(true), onHoverOut: () => setHovered(false), style: ({ pressed }) => [
76
+ styles.tabButton,
77
+ { paddingHorizontal: spacing.lg, height, justifyContent: 'center', borderRadius: theme.shape.buttonBorderRadius },
78
+ pressed && { opacity: 0.7 },
79
+ ], children: _jsxs(View, { style: [styles.tabButtonContent, { gap: spacing.sm }], children: [icon && renderIcon(icon, 'MaterialIcons', 20, color), _jsx(Typography, { variant: "labelLarge", weight: "medium", color: color, children: label })] }) }) }));
80
+ }
81
+ // --- Drawer header ---
82
+ function DrawerHeader({ brandName, logoImage }) {
83
+ const { values: theme } = useThemeContext();
84
+ const spacing = theme.spacing;
85
+ return (_jsx(View, { style: [styles.drawerHeader, { padding: spacing.lg, borderBottomColor: theme.tokens.sidebar.divider }], children: _jsxs(View, { style: [styles.brandContent, { gap: spacing.sm }], children: [logoImage, _jsx(Typography, { variant: "titleMedium", weight: "bold", children: brandName })] }) }));
86
+ }
87
+ function DrawerDivider() {
88
+ const { values: theme } = useThemeContext();
89
+ return _jsx(View, { style: [sidebarItemStyles.divider, { backgroundColor: theme.tokens.sidebar.divider }] });
90
+ }
91
+ // --- Styles ---
92
+ const styles = StyleSheet.create({
93
+ appBar: { width: '100%', flexDirection: 'row' },
94
+ appBarContent: { flexDirection: 'row', alignItems: 'center', width: '100%' },
95
+ brand: { marginRight: 'auto' },
96
+ brandContent: { flexDirection: 'row', alignItems: 'center' },
97
+ tabs: { flexDirection: 'row', alignItems: 'center' },
98
+ tabButton: { position: 'relative' },
99
+ tabButtonContent: { flexDirection: 'row', alignItems: 'center' },
100
+ activeIndicator: { position: 'absolute', bottom: 0, left: 0, right: 0, height: 3, borderTopLeftRadius: 2, borderTopRightRadius: 2 },
101
+ iconButton: { alignItems: 'center', justifyContent: 'center' },
102
+ drawerHeader: { borderBottomWidth: 1, width: '100%' },
103
+ });
104
+ //# sourceMappingURL=app-tabs.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app-tabs.web.js","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/app-tabs.web.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { default as AppTabs } from './app-tabs';
2
+ export type { AppTabsProps, AppTabConfig, AppTabsExternalLink } from './app-tabs';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ // App tabs navigation component
2
+ export { default as AppTabs } from './app-tabs';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/navigation/app-tabs/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC"}