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,69 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { forwardRef, useMemo } from 'react';
3
+ import { StyleSheet, Text } from 'react-native';
4
+ import { useTheme } from '../../theme';
5
+ /**
6
+ * Typography component following Material Design 3 type system
7
+ * https://m3.material.io/styles/typography/type-scale-tokens
8
+ */
9
+ export const Typography = forwardRef(({ children, variant = 'bodyMedium', weight = 'regular', align = 'left', color, uppercase = false, muted = false, style, numberOfLines, accessibilityRole, ...rest }, ref) => {
10
+ const theme = useTheme();
11
+ const textStyle = useMemo(() => {
12
+ const tokens = theme.tokens.typography;
13
+ // Resolve font size from variant
14
+ const fontSize = tokens[variant] ?? tokens.bodyMedium;
15
+ // Resolve font weight
16
+ let fontWeight;
17
+ if (typeof weight === 'number') {
18
+ fontWeight = weight;
19
+ }
20
+ else {
21
+ switch (weight) {
22
+ case 'light':
23
+ fontWeight = tokens.weightLight;
24
+ break;
25
+ case 'medium':
26
+ fontWeight = tokens.weightMedium;
27
+ break;
28
+ case 'bold':
29
+ fontWeight = tokens.weightBold;
30
+ break;
31
+ case 'regular':
32
+ default:
33
+ fontWeight = tokens.weightRegular;
34
+ break;
35
+ }
36
+ }
37
+ // Resolve color
38
+ const textColor = muted
39
+ ? theme.onSurfaceVariant
40
+ : color ?? theme.onSurface;
41
+ // Compute line height based on variant
42
+ let lineHeight;
43
+ if (variant.startsWith('display') || variant.startsWith('headline')) {
44
+ lineHeight = fontSize * tokens.lineHeightTight;
45
+ }
46
+ else if (variant.startsWith('title')) {
47
+ lineHeight = fontSize * tokens.lineHeightNormal;
48
+ }
49
+ else {
50
+ lineHeight = fontSize * tokens.lineHeightNormal;
51
+ }
52
+ return {
53
+ fontSize,
54
+ fontWeight,
55
+ lineHeight,
56
+ textAlign: align,
57
+ color: textColor,
58
+ ...(style ? StyleSheet.flatten(style) : undefined),
59
+ };
60
+ }, [variant, weight, align, color, muted, theme, style]);
61
+ const content = uppercase && typeof children === 'string'
62
+ ? children.toUpperCase()
63
+ : children;
64
+ const resolvedRole = accessibilityRole ??
65
+ ((variant.startsWith('display') || variant.startsWith('headline')) ? 'header' : undefined);
66
+ return (_jsx(Text, { ref: ref, style: textStyle, numberOfLines: numberOfLines, accessibilityRole: resolvedRole, ...rest, children: content }));
67
+ });
68
+ Typography.displayName = 'Typography';
69
+ //# sourceMappingURL=typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../../components/ui/typography.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAiE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA2HvC;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,CACE,EACE,QAAQ,EACR,OAAO,GAAG,YAAY,EACtB,MAAM,GAAG,SAAS,EAClB,KAAK,GAAG,MAAM,EACd,KAAK,EACL,SAAS,GAAG,KAAK,EACjB,KAAK,GAAG,KAAK,EACb,KAAK,EACL,aAAa,EACb,iBAAiB,EACjB,GAAG,IAAI,EACR,EACD,GAAG,EACH,EAAE;IACF,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,SAAS,GAAc,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;QAEvC,iCAAiC;QACjC,MAAM,QAAQ,GAAI,MAAc,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC;QAE/D,sBAAsB;QACtB,IAAI,UAAmC,CAAC;QACxC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,UAAU,GAAG,MAAiC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,OAAO;oBACV,UAAU,GAAG,MAAM,CAAC,WAAsC,CAAC;oBAC3D,MAAM;gBACR,KAAK,QAAQ;oBACX,UAAU,GAAG,MAAM,CAAC,YAAuC,CAAC;oBAC5D,MAAM;gBACR,KAAK,MAAM;oBACT,UAAU,GAAG,MAAM,CAAC,UAAqC,CAAC;oBAC1D,MAAM;gBACR,KAAK,SAAS,CAAC;gBACf;oBACE,UAAU,GAAG,MAAM,CAAC,aAAwC,CAAC;oBAC7D,MAAM;YACV,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,SAAS,GAAG,KAAK;YACrB,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,CAAC;QAE7B,uCAAuC;QACvC,IAAI,UAAkB,CAAC;QACvB,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACpE,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC;QACjD,CAAC;aAAM,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACvC,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAClD,CAAC;QAED,OAAO;YACL,QAAQ;YACR,UAAU;YACV,UAAU;YACV,SAAS,EAAE,KAAK;YAChB,KAAK,EAAE,SAAS;YAChB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;SACnD,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEzD,MAAM,OAAO,GAAG,SAAS,IAAI,OAAO,QAAQ,KAAK,QAAQ;QACvD,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE;QACxB,CAAC,CAAC,QAAQ,CAAC;IAEb,MAAM,YAAY,GAAG,iBAAiB;QACpC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEtG,OAAO,CACL,KAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,KAAM,IAAI,YACtG,OAAO,GACH,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
@@ -0,0 +1,66 @@
1
+ import React from 'react';
2
+ /**
3
+ * Layout context state for app-level dimensions
4
+ */
5
+ export interface LayoutContextType {
6
+ /** Height of the app bar in pixels */
7
+ appBarHeight: number;
8
+ /** Set the app bar height */
9
+ setAppBarHeight: (height: number) => void;
10
+ }
11
+ export interface LayoutProviderProps {
12
+ children: React.ReactNode;
13
+ /** Initial app bar height. @default 64 */
14
+ defaultAppBarHeight?: number;
15
+ }
16
+ /**
17
+ * Layout state provider component.
18
+ * Provides app-level layout information like AppBar height.
19
+ *
20
+ * Note: This is automatically included in ZeroToApp provider,
21
+ * so you typically don't need to wrap your app with this directly.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <LayoutProvider>
26
+ * <App />
27
+ * </LayoutProvider>
28
+ * ```
29
+ */
30
+ export declare const LayoutProvider: React.FC<LayoutProviderProps>;
31
+ /**
32
+ * Hook to access layout information (AppBar height, etc).
33
+ * Must be used within a LayoutProvider (automatically included in ZeroToApp).
34
+ *
35
+ * @returns Layout context with appBarHeight and setter
36
+ * @throws Error if used outside of LayoutProvider
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * function MyComponent() {
41
+ * const { appBarHeight } = useLayout();
42
+ *
43
+ * return (
44
+ * <View style={{ marginTop: appBarHeight }}>
45
+ * <Text>Content below app bar</Text>
46
+ * </View>
47
+ * );
48
+ * }
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * // Setting the app bar height (typically done by AppTabs)
54
+ * function MyAppBar() {
55
+ * const { setAppBarHeight } = useLayout();
56
+ *
57
+ * useEffect(() => {
58
+ * setAppBarHeight(72); // Custom height
59
+ * }, []);
60
+ *
61
+ * return <AppBar />;
62
+ * }
63
+ * ```
64
+ */
65
+ export declare const useLayout: () => LayoutContextType;
66
+ //# sourceMappingURL=layout-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-context.d.ts","sourceRoot":"","sources":["../../context/layout-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAQD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAoBxD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,SAAS,QAAO,iBAoB5B,CAAC"}
@@ -0,0 +1,83 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useState, useContext, useCallback } from 'react';
3
+ // Sentinel value to detect missing provider
4
+ const MISSING_PROVIDER = Symbol('MISSING_PROVIDER');
5
+ // Create context with sentinel
6
+ const LayoutContext = createContext(MISSING_PROVIDER);
7
+ /**
8
+ * Layout state provider component.
9
+ * Provides app-level layout information like AppBar height.
10
+ *
11
+ * Note: This is automatically included in ZeroToApp provider,
12
+ * so you typically don't need to wrap your app with this directly.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <LayoutProvider>
17
+ * <App />
18
+ * </LayoutProvider>
19
+ * ```
20
+ */
21
+ export const LayoutProvider = ({ children, defaultAppBarHeight = 64, }) => {
22
+ const [appBarHeight, setAppBarHeightState] = useState(defaultAppBarHeight);
23
+ const setAppBarHeight = useCallback((height) => {
24
+ setAppBarHeightState(height);
25
+ }, []);
26
+ const value = {
27
+ appBarHeight,
28
+ setAppBarHeight,
29
+ };
30
+ return (_jsx(LayoutContext.Provider, { value: value, children: children }));
31
+ };
32
+ /**
33
+ * Hook to access layout information (AppBar height, etc).
34
+ * Must be used within a LayoutProvider (automatically included in ZeroToApp).
35
+ *
36
+ * @returns Layout context with appBarHeight and setter
37
+ * @throws Error if used outside of LayoutProvider
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * function MyComponent() {
42
+ * const { appBarHeight } = useLayout();
43
+ *
44
+ * return (
45
+ * <View style={{ marginTop: appBarHeight }}>
46
+ * <Text>Content below app bar</Text>
47
+ * </View>
48
+ * );
49
+ * }
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * // Setting the app bar height (typically done by AppTabs)
55
+ * function MyAppBar() {
56
+ * const { setAppBarHeight } = useLayout();
57
+ *
58
+ * useEffect(() => {
59
+ * setAppBarHeight(72); // Custom height
60
+ * }, []);
61
+ *
62
+ * return <AppBar />;
63
+ * }
64
+ * ```
65
+ */
66
+ export const useLayout = () => {
67
+ const context = useContext(LayoutContext);
68
+ if (context === MISSING_PROVIDER) {
69
+ throw new Error('useLayout must be used within a LayoutProvider.\n\n' +
70
+ 'LayoutProvider is automatically included in ZeroToApp:\n\n' +
71
+ ' import { ZeroToApp, createBrand } from "zero-to-app";\n\n' +
72
+ ' const brand = createBrand({ ... });\n\n' +
73
+ ' function App() {\n' +
74
+ ' return (\n' +
75
+ ' <ZeroToApp brand={brand}>\n' +
76
+ ' <YourComponent />\n' +
77
+ ' </ZeroToApp>\n' +
78
+ ' );\n' +
79
+ ' }');
80
+ }
81
+ return context;
82
+ };
83
+ //# sourceMappingURL=layout-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-context.js","sourceRoot":"","sources":["../../context/layout-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAYhF,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEpD,+BAA+B;AAC/B,MAAM,aAAa,GAAG,aAAa,CAA8C,gBAAgB,CAAC,CAAC;AAQnG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,QAAQ,EACR,mBAAmB,GAAG,EAAE,GACzB,EAAE,EAAE;IACH,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE3E,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,MAAc,EAAE,EAAE;QACrD,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAsB;QAC/B,YAAY;QACZ,eAAe;KAChB,CAAC;IAEF,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACjC,QAAQ,GACc,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAsB,EAAE;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,qDAAqD;YACnD,4DAA4D;YAC5D,6DAA6D;YAC7D,2CAA2C;YAC3C,sBAAsB;YACtB,gBAAgB;YAChB,mCAAmC;YACnC,6BAA6B;YAC7B,sBAAsB;YACtB,UAAU;YACV,KAAK,CACR,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -5,4 +5,4 @@ export declare function ScrollProvider({ children }: {
5
5
  children: React.ReactNode;
6
6
  }): import("react/jsx-runtime").JSX.Element;
7
7
  export declare function useScrollContext(): SharedValue<number>;
8
- //# sourceMappingURL=scrollContext.d.ts.map
8
+ //# sourceMappingURL=scroll-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-context.d.ts","sourceRoot":"","sources":["../../context/scroll-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,yBAAyB,CAAC;AAE3E,eAAO,MAAM,aAAa,2CAAkD,CAAC;AAE7E,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,2CAQzE;AAED,wBAAgB,gBAAgB,wBAM/B"}
@@ -13,4 +13,4 @@ export function useScrollContext() {
13
13
  }
14
14
  return context;
15
15
  }
16
- //# sourceMappingURL=scrollContext.js.map
16
+ //# sourceMappingURL=scroll-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-context.js","sourceRoot":"","sources":["../../context/scroll-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAoB,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE3E,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAA6B,IAAI,CAAC,CAAC;AAE7E,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAiC;IACxE,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,CACL,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO,YACnC,QAAQ,GACc,CAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,74 @@
1
+ import React from 'react';
2
+ /**
3
+ * Sidebar context state
4
+ */
5
+ export interface SidebarContextType {
6
+ /** Whether the sidebar/drawer is currently open */
7
+ isOpen: boolean;
8
+ /** Open the sidebar/drawer */
9
+ open: () => void;
10
+ /** Close the sidebar/drawer */
11
+ close: () => void;
12
+ /** Toggle sidebar/drawer open/closed */
13
+ toggle: () => void;
14
+ }
15
+ export interface SidebarProviderProps {
16
+ children: React.ReactNode;
17
+ /** Initial open state. @default false */
18
+ defaultOpen?: boolean;
19
+ }
20
+ /**
21
+ * Sidebar state provider component.
22
+ * Wrap your app with this to enable useSidebar() hook.
23
+ *
24
+ * Note: This is automatically included in ZeroToApp provider,
25
+ * so you typically don't need to wrap your app with this directly.
26
+ *
27
+ * @example
28
+ * ```tsx
29
+ * <SidebarProvider>
30
+ * <App />
31
+ * </SidebarProvider>
32
+ * ```
33
+ */
34
+ export declare const SidebarProvider: React.FC<SidebarProviderProps>;
35
+ /**
36
+ * Hook to access sidebar state and controls.
37
+ * Must be used within a SidebarProvider (automatically included in ZeroToApp).
38
+ *
39
+ * @returns Sidebar context with isOpen state and control functions
40
+ * @throws Error if used outside of SidebarProvider
41
+ *
42
+ * @example
43
+ * ```tsx
44
+ * function MyComponent() {
45
+ * const { isOpen, open, close, toggle } = useSidebar();
46
+ *
47
+ * return (
48
+ * <View>
49
+ * <Button title="Toggle Menu" onPress={toggle} />
50
+ * <Button title="Open Menu" onPress={open} />
51
+ * {isOpen && <Text>Sidebar is open!</Text>}
52
+ * </View>
53
+ * );
54
+ * }
55
+ * ```
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * // Close sidebar when navigating
60
+ * function SidebarMenuItem({ href }: { href: string }) {
61
+ * const { close } = useSidebar();
62
+ * const router = useRouter();
63
+ *
64
+ * const handlePress = () => {
65
+ * router.push(href);
66
+ * close();
67
+ * };
68
+ *
69
+ * return <Button onPress={handlePress} />;
70
+ * }
71
+ * ```
72
+ */
73
+ export declare const useSidebar: () => SidebarContextType;
74
+ //# sourceMappingURL=sidebar-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-context.d.ts","sourceRoot":"","sources":["../../context/sidebar-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,wCAAwC;IACxC,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAQD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,yCAAyC;IACzC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8B1D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,UAAU,QAAO,kBAoB7B,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useState, useContext, useCallback } from 'react';
3
+ // Sentinel value to detect missing provider
4
+ const MISSING_PROVIDER = Symbol('MISSING_PROVIDER');
5
+ // Create context with sentinel
6
+ const SidebarContext = createContext(MISSING_PROVIDER);
7
+ /**
8
+ * Sidebar state provider component.
9
+ * Wrap your app with this to enable useSidebar() hook.
10
+ *
11
+ * Note: This is automatically included in ZeroToApp provider,
12
+ * so you typically don't need to wrap your app with this directly.
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <SidebarProvider>
17
+ * <App />
18
+ * </SidebarProvider>
19
+ * ```
20
+ */
21
+ export const SidebarProvider = ({ children, defaultOpen = false }) => {
22
+ const [isOpen, setIsOpen] = useState(defaultOpen);
23
+ const open = useCallback(() => {
24
+ setIsOpen(true);
25
+ }, []);
26
+ const close = useCallback(() => {
27
+ setIsOpen(false);
28
+ }, []);
29
+ const toggle = useCallback(() => {
30
+ setIsOpen(prev => !prev);
31
+ }, []);
32
+ const value = {
33
+ isOpen,
34
+ open,
35
+ close,
36
+ toggle,
37
+ };
38
+ return (_jsx(SidebarContext.Provider, { value: value, children: children }));
39
+ };
40
+ /**
41
+ * Hook to access sidebar state and controls.
42
+ * Must be used within a SidebarProvider (automatically included in ZeroToApp).
43
+ *
44
+ * @returns Sidebar context with isOpen state and control functions
45
+ * @throws Error if used outside of SidebarProvider
46
+ *
47
+ * @example
48
+ * ```tsx
49
+ * function MyComponent() {
50
+ * const { isOpen, open, close, toggle } = useSidebar();
51
+ *
52
+ * return (
53
+ * <View>
54
+ * <Button title="Toggle Menu" onPress={toggle} />
55
+ * <Button title="Open Menu" onPress={open} />
56
+ * {isOpen && <Text>Sidebar is open!</Text>}
57
+ * </View>
58
+ * );
59
+ * }
60
+ * ```
61
+ *
62
+ * @example
63
+ * ```tsx
64
+ * // Close sidebar when navigating
65
+ * function SidebarMenuItem({ href }: { href: string }) {
66
+ * const { close } = useSidebar();
67
+ * const router = useRouter();
68
+ *
69
+ * const handlePress = () => {
70
+ * router.push(href);
71
+ * close();
72
+ * };
73
+ *
74
+ * return <Button onPress={handlePress} />;
75
+ * }
76
+ * ```
77
+ */
78
+ export const useSidebar = () => {
79
+ const context = useContext(SidebarContext);
80
+ if (context === MISSING_PROVIDER) {
81
+ throw new Error('useSidebar must be used within a SidebarProvider.\n\n' +
82
+ 'SidebarProvider is automatically included in ZeroToApp:\n\n' +
83
+ ' import { ZeroToApp, createBrand } from "zero-to-app";\n\n' +
84
+ ' const brand = createBrand({ ... });\n\n' +
85
+ ' function App() {\n' +
86
+ ' return (\n' +
87
+ ' <ZeroToApp brand={brand}>\n' +
88
+ ' <YourComponent />\n' +
89
+ ' </ZeroToApp>\n' +
90
+ ' );\n' +
91
+ ' }');
92
+ }
93
+ return context;
94
+ };
95
+ //# sourceMappingURL=sidebar-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-context.js","sourceRoot":"","sources":["../../context/sidebar-context.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAgBhF,4CAA4C;AAC5C,MAAM,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAEpD,+BAA+B;AAC/B,MAAM,cAAc,GAAG,aAAa,CAA+C,gBAAgB,CAAC,CAAC;AAQrG;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,QAAQ,EACR,WAAW,GAAG,KAAK,EACpB,EAAE,EAAE;IACH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IAElD,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,SAAS,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAuB;QAChC,MAAM;QACN,IAAI;QACJ,KAAK;QACL,MAAM;KACP,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAClC,QAAQ,GACe,CAC3B,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAuB,EAAE;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAE3C,IAAI,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,uDAAuD;YACrD,6DAA6D;YAC7D,6DAA6D;YAC7D,2CAA2C;YAC3C,sBAAsB;YACtB,gBAAgB;YAChB,mCAAmC;YACnC,6BAA6B;YAC7B,sBAAsB;YACtB,UAAU;YACV,KAAK,CACR,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export * from './useDimensions';
2
- export * from './useWindowWidth';
3
- export * from './useWindowHeight';
1
+ export * from './use-dimensions';
2
+ export * from './use-breakpoint';
3
+ export * from './use-route-navigation';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AACA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  // Barrel export for zero-to-app hooks
2
- export * from './useDimensions';
3
- export * from './useWindowWidth';
4
- export * from './useWindowHeight';
2
+ export * from './use-dimensions';
3
+ export * from './use-breakpoint';
4
+ export * from './use-route-navigation';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../hooks/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { breakpoints } from './use-dimensions';
2
+ import type { Breakpoint } from './use-dimensions';
3
+ /**
4
+ * Helper hook to check if current width meets a named breakpoint
5
+ */
6
+ export declare function useBreakpoint(name: Breakpoint): boolean;
7
+ export { breakpoints };
8
+ //# sourceMappingURL=use-breakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-breakpoint.d.ts","sourceRoot":"","sources":["../../hooks/use-breakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAGvD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { useDimensions, breakpoints } from './use-dimensions';
2
+ /**
3
+ * Helper hook to check if current width meets a named breakpoint
4
+ */
5
+ export function useBreakpoint(name) {
6
+ const { width } = useDimensions();
7
+ return width >= breakpoints[name];
8
+ }
9
+ export { breakpoints };
10
+ //# sourceMappingURL=use-breakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-breakpoint.js","sourceRoot":"","sources":["../../hooks/use-breakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG9D;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAgB;IAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,aAAa,EAAE,CAAC;IAClC,OAAO,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -28,4 +28,4 @@ export interface DimensionsInfo {
28
28
  * if (Platform.OS === 'web' && dimensions.breakpoint === 'small') { ... }
29
29
  */
30
30
  export declare const useDimensions: () => DimensionsInfo;
31
- //# sourceMappingURL=useDimensions.d.ts.map
31
+ //# sourceMappingURL=use-dimensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dimensions.d.ts","sourceRoot":"","sources":["../../hooks/use-dimensions.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;CAKvB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa,QAAO,cAkBhC,CAAC"}
@@ -41,4 +41,4 @@ export const useDimensions = () => {
41
41
  breakpoint,
42
42
  };
43
43
  };
44
- //# sourceMappingURL=useDimensions.js.map
44
+ //# sourceMappingURL=use-dimensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-dimensions.js","sourceRoot":"","sources":["../../hooks/use-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,IAAI;IACX,MAAM,EAAE,IAAI;CACb,CAAC;AAUF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAAmB,EAAE;IAChD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;IAEhD,sCAAsC;IACtC,IAAI,UAAU,GAAe,OAAO,CAAC;IACrC,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAChC,UAAU,GAAG,QAAQ,CAAC;IACxB,CAAC;SAAM,IAAI,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtC,UAAU,GAAG,OAAO,CAAC;IACvB,CAAC;SAAM,IAAI,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvC,UAAU,GAAG,QAAQ,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK;QACL,MAAM;QACN,UAAU;KACX,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ export interface IsActiveOptions {
2
+ /** Require exact path match instead of startsWith. @default false */
3
+ exact?: boolean;
4
+ }
5
+ export interface RouteNavigation {
6
+ pathname: string;
7
+ isActive: (route: string, options?: IsActiveOptions) => boolean;
8
+ navigateTo: (route: string) => void;
9
+ }
10
+ /**
11
+ * Provides route-aware navigation helpers for sidebar and nav components.
12
+ * Wraps expo-router's usePathname + useRouter into reusable utilities.
13
+ *
14
+ * @example
15
+ * const { isActive, navigateTo } = useRouteNavigation();
16
+ * <SidebarItem active={isActive('/explore', { exact: true })} onPress={() => navigateTo('/explore')} />
17
+ */
18
+ export declare function useRouteNavigation(): RouteNavigation;
19
+ //# sourceMappingURL=use-route-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-route-navigation.d.ts","sourceRoot":"","sources":["../../hooks/use-route-navigation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC;IAChE,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAiBpD"}
@@ -0,0 +1,25 @@
1
+ import { usePathname, useRouter } from 'expo-router';
2
+ /**
3
+ * Provides route-aware navigation helpers for sidebar and nav components.
4
+ * Wraps expo-router's usePathname + useRouter into reusable utilities.
5
+ *
6
+ * @example
7
+ * const { isActive, navigateTo } = useRouteNavigation();
8
+ * <SidebarItem active={isActive('/explore', { exact: true })} onPress={() => navigateTo('/explore')} />
9
+ */
10
+ export function useRouteNavigation() {
11
+ const pathname = usePathname();
12
+ const router = useRouter();
13
+ const isActive = (route, options) => {
14
+ const currentPath = typeof pathname === 'string' ? pathname : '';
15
+ if (options?.exact) {
16
+ return currentPath === route;
17
+ }
18
+ return currentPath === route || currentPath.startsWith(route + '/');
19
+ };
20
+ const navigateTo = (route) => {
21
+ router.push(route);
22
+ };
23
+ return { pathname, isActive, navigateTo };
24
+ }
25
+ //# sourceMappingURL=use-route-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-route-navigation.js","sourceRoot":"","sources":["../../hooks/use-route-navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAarD;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,OAAyB,EAAW,EAAE;QACrE,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC;YACnB,OAAO,WAAW,KAAK,KAAK,CAAC;QAC/B,CAAC;QACD,OAAO,WAAW,KAAK,KAAK,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;IACtE,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAQ,EAAE;QACzC,MAAM,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import * as Icons from '@expo/vector-icons';
3
- import { PlatformIcon, IconLibrary } from '../../brand/brandTypes';
3
+ import { PlatformIcon, IconLibrary } from '../brand/brand-types';
4
4
  type IconLibraryType = keyof typeof Icons;
5
5
  /**
6
6
  * Normalizes icon configuration to PlatformIcon format
@@ -21,4 +21,4 @@ export declare function renderIcon(icon: PlatformIcon | string | undefined, defa
21
21
  */
22
22
  export declare function getFeatherIconName(icon: PlatformIcon | string | undefined, defaultLibrary?: IconLibrary): string;
23
23
  export {};
24
- //# sourceMappingURL=iconUtils.d.ts.map
24
+ //# sourceMappingURL=icon-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-utils.d.ts","sourceRoot":"","sources":["../../icons/icon-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEjE,KAAK,eAAe,GAAG,MAAM,OAAO,KAAK,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,EACvC,cAAc,GAAE,WAAuB,GACtC;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAanD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,EACvC,cAAc,GAAE,WAAuB,EACvC,IAAI,GAAE,MAAW,EACjB,KAAK,CAAC,EAAE,MAAM,GACb,KAAK,CAAC,YAAY,GAAG,IAAI,CAgB3B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,EACvC,cAAc,GAAE,WAAuB,GACtC,MAAM,CAcR"}
@@ -21,14 +21,16 @@ export function normalizeIcon(icon, defaultLibrary = 'Feather') {
21
21
  * Renders an icon component based on library and name
22
22
  * Returns null if icon config is invalid
23
23
  */
24
- export function renderIcon(icon, defaultLibrary = 'Feather', size = 20, color = '#000000') {
24
+ export function renderIcon(icon, defaultLibrary = 'Feather', size = 20, color) {
25
25
  const normalized = normalizeIcon(icon, defaultLibrary);
26
26
  if (!normalized)
27
27
  return null;
28
28
  const { library, name } = normalized;
29
29
  const IconComponent = Icons[library];
30
30
  if (!IconComponent) {
31
- console.warn(`Icon library "${library}" not found. Falling back to Feather.`);
31
+ if (typeof __DEV__ !== 'undefined' && __DEV__) {
32
+ console.warn(`Icon library "${library}" not found. Falling back to Feather.`);
33
+ }
32
34
  const FeatherIcon = Icons.Feather;
33
35
  return React.createElement(FeatherIcon, { name, size, color });
34
36
  }
@@ -45,9 +47,11 @@ export function getFeatherIconName(icon, defaultLibrary = 'Feather') {
45
47
  // If library is not Feather, we can't use it as Feather icon name
46
48
  // Return a fallback
47
49
  if (normalized.library !== 'Feather') {
48
- console.warn(`Icon library "${normalized.library}" cannot be used as Feather icon. Using fallback.`);
50
+ if (typeof __DEV__ !== 'undefined' && __DEV__) {
51
+ console.warn(`Icon library "${normalized.library}" cannot be used as Feather icon. Using fallback.`);
52
+ }
49
53
  return 'circle';
50
54
  }
51
55
  return normalized.name;
52
56
  }
53
- //# sourceMappingURL=iconUtils.js.map
57
+ //# sourceMappingURL=icon-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-utils.js","sourceRoot":"","sources":["../../icons/icon-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAK5C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAuC,EACvC,iBAA8B,SAAS;IAEvC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,+DAA+D;IAC/D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,OAAO,EAAE,cAAiC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACpE,CAAC;IAED,yDAAyD;IACzD,OAAO;QACL,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,cAAc,CAAoB;QAC5D,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,IAAuC,EACvC,iBAA8B,SAAS,EACvC,OAAe,EAAE,EACjB,KAAc;IAEd,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;IACrC,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAErC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,iBAAiB,OAAO,uCAAuC,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC;QAClC,OAAO,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAA8C,CAAC,CAAC;IAC7G,CAAC;IAED,OAAO,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAgD,CAAC,CAAC;AACjH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAuC,EACvC,iBAA8B,SAAS;IAEvC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU;QAAE,OAAO,QAAQ,CAAC;IAEjC,kEAAkE;IAClE,oBAAoB;IACpB,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,EAAE,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,iBAAiB,UAAU,CAAC,OAAO,mDAAmD,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Icon utilities for zero-to-app
3
+ *
4
+ * Provides cross-platform icon rendering utilities that work with:
5
+ * - SF Symbols on iOS
6
+ * - Material Design icons on Android
7
+ * - Any @expo/vector-icons library on web
8
+ *
9
+ * @module icons
10
+ */
11
+ export { normalizeIcon, renderIcon, getFeatherIconName } from './icon-utils';
12
+ export type { PlatformIcon, IconLibrary } from '../brand/brand-types';
13
+ //# sourceMappingURL=index.d.ts.map