zero-to-app 3.2.0 → 3.2.1

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 (213) hide show
  1. package/package.json +1 -1
  2. package/dist/brand/brand-config.d.ts +0 -65
  3. package/dist/brand/brand-config.d.ts.map +0 -1
  4. package/dist/brand/brand-config.js +0 -68
  5. package/dist/brand/brand-config.js.map +0 -1
  6. package/dist/brand/brand-context.d.ts +0 -55
  7. package/dist/brand/brand-context.d.ts.map +0 -1
  8. package/dist/brand/brand-context.js +0 -76
  9. package/dist/brand/brand-context.js.map +0 -1
  10. package/dist/brand/brand-types.d.ts +0 -92
  11. package/dist/brand/brand-types.d.ts.map +0 -1
  12. package/dist/brand/brand-types.js +0 -2
  13. package/dist/brand/brand-types.js.map +0 -1
  14. package/dist/brand/default-brand.d.ts +0 -11
  15. package/dist/brand/default-brand.d.ts.map +0 -1
  16. package/dist/brand/default-brand.js +0 -32
  17. package/dist/brand/default-brand.js.map +0 -1
  18. package/dist/brand/index.d.ts +0 -6
  19. package/dist/brand/index.d.ts.map +0 -1
  20. package/dist/brand/index.js +0 -8
  21. package/dist/brand/index.js.map +0 -1
  22. package/dist/brand/palette-generator.d.ts +0 -64
  23. package/dist/brand/palette-generator.d.ts.map +0 -1
  24. package/dist/brand/palette-generator.js +0 -283
  25. package/dist/brand/palette-generator.js.map +0 -1
  26. package/dist/components/index.d.ts +0 -3
  27. package/dist/components/index.d.ts.map +0 -1
  28. package/dist/components/index.js +0 -3
  29. package/dist/components/index.js.map +0 -1
  30. package/dist/components/navigation/app-tabs/app-tabs.d.ts +0 -63
  31. package/dist/components/navigation/app-tabs/app-tabs.d.ts.map +0 -1
  32. package/dist/components/navigation/app-tabs/app-tabs.js +0 -13
  33. package/dist/components/navigation/app-tabs/app-tabs.js.map +0 -1
  34. package/dist/components/navigation/app-tabs/app-tabs.web.d.ts +0 -47
  35. package/dist/components/navigation/app-tabs/app-tabs.web.d.ts.map +0 -1
  36. package/dist/components/navigation/app-tabs/app-tabs.web.js +0 -104
  37. package/dist/components/navigation/app-tabs/app-tabs.web.js.map +0 -1
  38. package/dist/components/navigation/app-tabs/index.d.ts +0 -3
  39. package/dist/components/navigation/app-tabs/index.d.ts.map +0 -1
  40. package/dist/components/navigation/app-tabs/index.js +0 -3
  41. package/dist/components/navigation/app-tabs/index.js.map +0 -1
  42. package/dist/components/navigation/drawer/drawer.d.ts +0 -24
  43. package/dist/components/navigation/drawer/drawer.d.ts.map +0 -1
  44. package/dist/components/navigation/drawer/drawer.js +0 -82
  45. package/dist/components/navigation/drawer/drawer.js.map +0 -1
  46. package/dist/components/navigation/index.d.ts +0 -10
  47. package/dist/components/navigation/index.d.ts.map +0 -1
  48. package/dist/components/navigation/index.js +0 -11
  49. package/dist/components/navigation/index.js.map +0 -1
  50. package/dist/components/navigation/native-header.d.ts +0 -25
  51. package/dist/components/navigation/native-header.d.ts.map +0 -1
  52. package/dist/components/navigation/native-header.js +0 -32
  53. package/dist/components/navigation/native-header.js.map +0 -1
  54. package/dist/components/navigation/shared/sidebar-styles.d.ts +0 -34
  55. package/dist/components/navigation/shared/sidebar-styles.d.ts.map +0 -1
  56. package/dist/components/navigation/shared/sidebar-styles.js +0 -34
  57. package/dist/components/navigation/shared/sidebar-styles.js.map +0 -1
  58. package/dist/components/navigation/sidebar/index.d.ts +0 -10
  59. package/dist/components/navigation/sidebar/index.d.ts.map +0 -1
  60. package/dist/components/navigation/sidebar/index.js +0 -7
  61. package/dist/components/navigation/sidebar/index.js.map +0 -1
  62. package/dist/components/navigation/sidebar/sidebar-footer.d.ts +0 -18
  63. package/dist/components/navigation/sidebar/sidebar-footer.d.ts.map +0 -1
  64. package/dist/components/navigation/sidebar/sidebar-footer.js +0 -27
  65. package/dist/components/navigation/sidebar/sidebar-footer.js.map +0 -1
  66. package/dist/components/navigation/sidebar/sidebar-header.d.ts +0 -26
  67. package/dist/components/navigation/sidebar/sidebar-header.d.ts.map +0 -1
  68. package/dist/components/navigation/sidebar/sidebar-header.js +0 -38
  69. package/dist/components/navigation/sidebar/sidebar-header.js.map +0 -1
  70. package/dist/components/navigation/sidebar/sidebar-item.d.ts +0 -36
  71. package/dist/components/navigation/sidebar/sidebar-item.d.ts.map +0 -1
  72. package/dist/components/navigation/sidebar/sidebar-item.js +0 -63
  73. package/dist/components/navigation/sidebar/sidebar-item.js.map +0 -1
  74. package/dist/components/navigation/sidebar/sidebar-section.d.ts +0 -34
  75. package/dist/components/navigation/sidebar/sidebar-section.d.ts.map +0 -1
  76. package/dist/components/navigation/sidebar/sidebar-section.js +0 -56
  77. package/dist/components/navigation/sidebar/sidebar-section.js.map +0 -1
  78. package/dist/components/navigation/sidebar/sidebar.d.ts +0 -2
  79. package/dist/components/navigation/sidebar/sidebar.d.ts.map +0 -1
  80. package/dist/components/navigation/sidebar/sidebar.js +0 -4
  81. package/dist/components/navigation/sidebar/sidebar.js.map +0 -1
  82. package/dist/components/navigation/sidebar/sidebar.native.d.ts +0 -23
  83. package/dist/components/navigation/sidebar/sidebar.native.d.ts.map +0 -1
  84. package/dist/components/navigation/sidebar/sidebar.native.js +0 -80
  85. package/dist/components/navigation/sidebar/sidebar.native.js.map +0 -1
  86. package/dist/components/navigation/sidebar/sidebar.web.d.ts +0 -26
  87. package/dist/components/navigation/sidebar/sidebar.web.d.ts.map +0 -1
  88. package/dist/components/navigation/sidebar/sidebar.web.js +0 -90
  89. package/dist/components/navigation/sidebar/sidebar.web.js.map +0 -1
  90. package/dist/components/navigation/themed-stack.d.ts +0 -25
  91. package/dist/components/navigation/themed-stack.d.ts.map +0 -1
  92. package/dist/components/navigation/themed-stack.js +0 -37
  93. package/dist/components/navigation/themed-stack.js.map +0 -1
  94. package/dist/components/shared/index.d.ts +0 -3
  95. package/dist/components/shared/index.d.ts.map +0 -1
  96. package/dist/components/shared/index.js +0 -2
  97. package/dist/components/shared/index.js.map +0 -1
  98. package/dist/components/shared/types.d.ts +0 -82
  99. package/dist/components/shared/types.d.ts.map +0 -1
  100. package/dist/components/shared/types.js +0 -2
  101. package/dist/components/shared/types.js.map +0 -1
  102. package/dist/components/shared/utils.d.ts +0 -19
  103. package/dist/components/shared/utils.d.ts.map +0 -1
  104. package/dist/components/shared/utils.js +0 -23
  105. package/dist/components/shared/utils.js.map +0 -1
  106. package/dist/components/ui/button.d.ts +0 -132
  107. package/dist/components/ui/button.d.ts.map +0 -1
  108. package/dist/components/ui/button.js +0 -252
  109. package/dist/components/ui/button.js.map +0 -1
  110. package/dist/components/ui/chip.d.ts +0 -88
  111. package/dist/components/ui/chip.d.ts.map +0 -1
  112. package/dist/components/ui/chip.js +0 -129
  113. package/dist/components/ui/chip.js.map +0 -1
  114. package/dist/components/ui/collapsible.d.ts +0 -88
  115. package/dist/components/ui/collapsible.d.ts.map +0 -1
  116. package/dist/components/ui/collapsible.js +0 -66
  117. package/dist/components/ui/collapsible.js.map +0 -1
  118. package/dist/components/ui/container.d.ts +0 -31
  119. package/dist/components/ui/container.d.ts.map +0 -1
  120. package/dist/components/ui/container.js +0 -46
  121. package/dist/components/ui/container.js.map +0 -1
  122. package/dist/components/ui/fab.d.ts +0 -51
  123. package/dist/components/ui/fab.d.ts.map +0 -1
  124. package/dist/components/ui/fab.js +0 -142
  125. package/dist/components/ui/fab.js.map +0 -1
  126. package/dist/components/ui/index.d.ts +0 -23
  127. package/dist/components/ui/index.d.ts.map +0 -1
  128. package/dist/components/ui/index.js +0 -22
  129. package/dist/components/ui/index.js.map +0 -1
  130. package/dist/components/ui/screen.d.ts +0 -40
  131. package/dist/components/ui/screen.d.ts.map +0 -1
  132. package/dist/components/ui/screen.js +0 -57
  133. package/dist/components/ui/screen.js.map +0 -1
  134. package/dist/components/ui/slider.d.ts +0 -47
  135. package/dist/components/ui/slider.d.ts.map +0 -1
  136. package/dist/components/ui/slider.js +0 -41
  137. package/dist/components/ui/slider.js.map +0 -1
  138. package/dist/components/ui/themed-image.d.ts +0 -7
  139. package/dist/components/ui/themed-image.d.ts.map +0 -1
  140. package/dist/components/ui/themed-image.js +0 -9
  141. package/dist/components/ui/themed-image.js.map +0 -1
  142. package/dist/components/ui/themed-view.d.ts +0 -20
  143. package/dist/components/ui/themed-view.d.ts.map +0 -1
  144. package/dist/components/ui/themed-view.js +0 -75
  145. package/dist/components/ui/themed-view.js.map +0 -1
  146. package/dist/components/ui/typography.d.ts +0 -110
  147. package/dist/components/ui/typography.d.ts.map +0 -1
  148. package/dist/components/ui/typography.js +0 -69
  149. package/dist/components/ui/typography.js.map +0 -1
  150. package/dist/context/layout-context.d.ts +0 -66
  151. package/dist/context/layout-context.d.ts.map +0 -1
  152. package/dist/context/layout-context.js +0 -83
  153. package/dist/context/layout-context.js.map +0 -1
  154. package/dist/context/scroll-context.d.ts +0 -8
  155. package/dist/context/scroll-context.d.ts.map +0 -1
  156. package/dist/context/scroll-context.js +0 -16
  157. package/dist/context/scroll-context.js.map +0 -1
  158. package/dist/context/sidebar-context.d.ts +0 -74
  159. package/dist/context/sidebar-context.d.ts.map +0 -1
  160. package/dist/context/sidebar-context.js +0 -95
  161. package/dist/context/sidebar-context.js.map +0 -1
  162. package/dist/hooks/index.d.ts +0 -4
  163. package/dist/hooks/index.d.ts.map +0 -1
  164. package/dist/hooks/index.js +0 -5
  165. package/dist/hooks/index.js.map +0 -1
  166. package/dist/hooks/use-breakpoint.d.ts +0 -8
  167. package/dist/hooks/use-breakpoint.d.ts.map +0 -1
  168. package/dist/hooks/use-breakpoint.js +0 -10
  169. package/dist/hooks/use-breakpoint.js.map +0 -1
  170. package/dist/hooks/use-dimensions.d.ts +0 -31
  171. package/dist/hooks/use-dimensions.d.ts.map +0 -1
  172. package/dist/hooks/use-dimensions.js +0 -44
  173. package/dist/hooks/use-dimensions.js.map +0 -1
  174. package/dist/hooks/use-route-navigation.d.ts +0 -19
  175. package/dist/hooks/use-route-navigation.d.ts.map +0 -1
  176. package/dist/hooks/use-route-navigation.js +0 -25
  177. package/dist/hooks/use-route-navigation.js.map +0 -1
  178. package/dist/icons/icon-utils.d.ts +0 -24
  179. package/dist/icons/icon-utils.d.ts.map +0 -1
  180. package/dist/icons/icon-utils.js +0 -57
  181. package/dist/icons/icon-utils.js.map +0 -1
  182. package/dist/icons/index.d.ts +0 -13
  183. package/dist/icons/index.d.ts.map +0 -1
  184. package/dist/icons/index.js +0 -12
  185. package/dist/icons/index.js.map +0 -1
  186. package/dist/index.d.ts +0 -9
  187. package/dist/index.d.ts.map +0 -1
  188. package/dist/index.js +0 -12
  189. package/dist/index.js.map +0 -1
  190. package/dist/theme/high-contrast-theme.d.ts +0 -19
  191. package/dist/theme/high-contrast-theme.d.ts.map +0 -1
  192. package/dist/theme/high-contrast-theme.js +0 -257
  193. package/dist/theme/high-contrast-theme.js.map +0 -1
  194. package/dist/theme/index.d.ts +0 -5
  195. package/dist/theme/index.d.ts.map +0 -1
  196. package/dist/theme/index.js +0 -6
  197. package/dist/theme/index.js.map +0 -1
  198. package/dist/theme/theme-config.d.ts +0 -150
  199. package/dist/theme/theme-config.d.ts.map +0 -1
  200. package/dist/theme/theme-config.js +0 -318
  201. package/dist/theme/theme-config.js.map +0 -1
  202. package/dist/theme/theme.d.ts +0 -106
  203. package/dist/theme/theme.d.ts.map +0 -1
  204. package/dist/theme/theme.js +0 -135
  205. package/dist/theme/theme.js.map +0 -1
  206. package/dist/utils/contrast-checker.d.ts +0 -51
  207. package/dist/utils/contrast-checker.d.ts.map +0 -1
  208. package/dist/utils/contrast-checker.js +0 -97
  209. package/dist/utils/contrast-checker.js.map +0 -1
  210. package/dist/utils/index.d.ts +0 -2
  211. package/dist/utils/index.d.ts.map +0 -1
  212. package/dist/utils/index.js +0 -3
  213. package/dist/utils/index.js.map +0 -1
@@ -1,82 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import React from 'react';
3
- import { StyleSheet, View, Pressable, ScrollView } from 'react-native';
4
- import Animated, { useAnimatedStyle, withTiming, useSharedValue } from 'react-native-reanimated';
5
- import { useThemeContext } from '../../../theme';
6
- /**
7
- * Reusable animated drawer component.
8
- * Slides in from the left or right with a backdrop.
9
- */
10
- export const Drawer = ({ isOpen, onClose, side = 'left', header, children, footer, style, }) => {
11
- const { values: theme } = useThemeContext();
12
- const tokens = theme.tokens.sidebar;
13
- const width = tokens.width;
14
- const initialTranslate = side === 'left' ? -width : width;
15
- const translateX = useSharedValue(isOpen ? 0 : initialTranslate);
16
- const backdropOpacity = useSharedValue(isOpen ? 0.5 : 0);
17
- // Ref-based effect event: animation always reads latest values,
18
- // but only fires when isOpen changes.
19
- const animateRef = React.useRef(() => { });
20
- animateRef.current = () => {
21
- translateX.value = withTiming(isOpen ? 0 : initialTranslate, { duration: 250 });
22
- backdropOpacity.value = withTiming(isOpen ? 0.5 : 0, { duration: 250 });
23
- };
24
- React.useEffect(() => {
25
- animateRef.current();
26
- }, [isOpen]);
27
- const animatedDrawerStyle = useAnimatedStyle(() => ({
28
- transform: [{ translateX: translateX.value }],
29
- }));
30
- const animatedBackdropStyle = useAnimatedStyle(() => ({
31
- opacity: backdropOpacity.value,
32
- pointerEvents: backdropOpacity.value > 0 ? 'auto' : 'none',
33
- }));
34
- if (!isOpen && backdropOpacity.value === 0) {
35
- return null;
36
- }
37
- return (_jsxs(View, { style: styles.overlay, pointerEvents: isOpen ? 'auto' : 'none', children: [_jsx(Animated.View, { style: [styles.backdrop, { backgroundColor: theme.scrim }, animatedBackdropStyle], children: _jsx(Pressable, { style: StyleSheet.absoluteFill, onPress: onClose, accessibilityLabel: "Close drawer", accessibilityRole: "button" }) }), _jsxs(Animated.View, { style: [
38
- styles.drawer,
39
- side === 'left' ? styles.drawerLeft : styles.drawerRight,
40
- {
41
- width,
42
- backgroundColor: tokens.background,
43
- shadowColor: theme.shadow,
44
- },
45
- animatedDrawerStyle,
46
- style,
47
- ], children: [header, _jsx(ScrollView, { style: styles.scrollContent, contentContainerStyle: styles.scrollContentContainer, children: children }), footer] })] }));
48
- };
49
- const styles = StyleSheet.create({
50
- overlay: {
51
- position: 'fixed',
52
- top: 0,
53
- left: 0,
54
- right: 0,
55
- bottom: 0,
56
- zIndex: 1000,
57
- },
58
- backdrop: {
59
- ...StyleSheet.absoluteFillObject,
60
- },
61
- drawer: {
62
- position: 'absolute',
63
- top: 0,
64
- bottom: 0,
65
- shadowOffset: { width: 2, height: 0 },
66
- shadowOpacity: 0.15,
67
- shadowRadius: 8,
68
- },
69
- drawerLeft: {
70
- left: 0,
71
- },
72
- drawerRight: {
73
- right: 0,
74
- },
75
- scrollContent: {
76
- flex: 1,
77
- },
78
- scrollContentContainer: {
79
- flexGrow: 1,
80
- },
81
- });
82
- //# sourceMappingURL=drawer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../../components/navigation/drawer/drawer.tsx"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- export { AppTabs } from './app-tabs';
2
- export type { AppTabsProps, AppTabConfig, AppTabsExternalLink } from './app-tabs';
3
- export { NativeHeader } from './native-header';
4
- export type { NativeHeaderProps } from './native-header';
5
- export { ThemedStack } from './themed-stack';
6
- export { Drawer } from './drawer/drawer';
7
- export type { DrawerProps } from './drawer/drawer';
8
- export { Sidebar, SidebarItem, SidebarSection, SidebarHeader, SidebarFooter, } from './sidebar';
9
- export type { SidebarProps, SidebarItemProps, SidebarItemIconConfig, SidebarSectionProps, SidebarSectionIconConfig, SidebarHeaderProps, SidebarFooterProps, } from './sidebar';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/navigation/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,qBAAqB,EACrB,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,WAAW,CAAC"}
@@ -1,11 +0,0 @@
1
- // Navigation components
2
- export { AppTabs } from './app-tabs';
3
- // NativeHeader — screen-level header buttons for iOS (Stack.Toolbar) and Android (headerLeft/headerRight)
4
- export { NativeHeader } from './native-header';
5
- // ThemedStack — Stack wrapper with automatic theme token header styling
6
- export { ThemedStack } from './themed-stack';
7
- // Drawer — low-level animated side drawer (used by Sidebar and AppTabs)
8
- export { Drawer } from './drawer/drawer';
9
- // Sidebar components
10
- export { Sidebar, SidebarItem, SidebarSection, SidebarHeader, SidebarFooter, } from './sidebar';
11
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/navigation/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,0GAA0G;AAC1G,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,wEAAwE;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wEAAwE;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGzC,qBAAqB;AACrB,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,WAAW,CAAC"}
@@ -1,25 +0,0 @@
1
- export interface NativeHeaderProps {
2
- /** SF Symbol name for the right toolbar button (iOS only) */
3
- rightIcon?: string;
4
- /** Press handler for the right toolbar button */
5
- onRightPress?: () => void;
6
- /** SF Symbol name for the left toolbar button (iOS only) */
7
- leftIcon?: string;
8
- /** Press handler for the left toolbar button */
9
- onLeftPress?: () => void;
10
- /** Feather icon name for the right header button (Android only) */
11
- androidRightIcon?: string;
12
- /** Feather icon name for the left header button (Android only) */
13
- androidLeftIcon?: string;
14
- }
15
- /**
16
- * Screen-level native header toolbar for iOS and Android.
17
- * iOS: renders SF Symbol buttons via Stack.Toolbar.
18
- * Android: renders Feather icon buttons via Stack.Screen headerLeft/headerRight.
19
- * Use inside screen components, not layouts.
20
- */
21
- export declare const NativeHeader: {
22
- ({ rightIcon, onRightPress, leftIcon, onLeftPress, androidRightIcon, androidLeftIcon, }: NativeHeaderProps): import("react/jsx-runtime").JSX.Element | null;
23
- displayName: string;
24
- };
25
- //# sourceMappingURL=native-header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-header.d.ts","sourceRoot":"","sources":["../../../components/navigation/native-header.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY;6FAOtB,iBAAiB;;CAqDnB,CAAC"}
@@ -1,32 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Platform, Pressable } from 'react-native';
3
- import { Stack } from 'expo-router';
4
- import { useTheme } from '../../theme';
5
- import { renderIcon } from '../../icons';
6
- /**
7
- * Screen-level native header toolbar for iOS and Android.
8
- * iOS: renders SF Symbol buttons via Stack.Toolbar.
9
- * Android: renders Feather icon buttons via Stack.Screen headerLeft/headerRight.
10
- * Use inside screen components, not layouts.
11
- */
12
- export const NativeHeader = ({ rightIcon, onRightPress, leftIcon, onLeftPress, androidRightIcon, androidLeftIcon, }) => {
13
- const theme = useTheme();
14
- if (Platform.OS === 'ios') {
15
- return (_jsxs(_Fragment, { children: [_jsx(Stack.Screen, { options: { headerShadowVisible: false } }), rightIcon && (_jsx(Stack.Toolbar, { placement: "right", children: _jsx(Stack.Toolbar.Button, { icon: rightIcon, onPress: onRightPress }) })), leftIcon && (_jsx(Stack.Toolbar, { placement: "left", children: _jsx(Stack.Toolbar.Button, { icon: leftIcon, onPress: onLeftPress, tintColor: theme.onSurface }) }))] }));
16
- }
17
- if (Platform.OS === 'android') {
18
- if (!androidRightIcon && !androidLeftIcon)
19
- return null;
20
- return (_jsx(Stack.Screen, { options: {
21
- ...(androidRightIcon && {
22
- headerRight: () => (_jsx(Pressable, { onPress: onRightPress, style: { padding: 8 }, children: renderIcon(androidRightIcon, 'Feather', 24, theme.onSurface) })),
23
- }),
24
- ...(androidLeftIcon && {
25
- headerLeft: () => (_jsx(Pressable, { onPress: onLeftPress, style: { padding: 8 }, children: renderIcon(androidLeftIcon, 'Feather', 24, theme.onSurface) })),
26
- }),
27
- } }));
28
- }
29
- return null;
30
- };
31
- NativeHeader.displayName = 'NativeHeader';
32
- //# sourceMappingURL=native-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"native-header.js","sourceRoot":"","sources":["../../../components/navigation/native-header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,eAAe,GACG,EAAE,EAAE;IACtB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,CACL,8BACE,KAAC,KAAK,CAAC,MAAM,IAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,KAAK,EAAE,GAAI,EACxD,SAAS,IAAI,CACZ,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,OAAO,YAC9B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,IAAI,EAAE,SAAgB,EACtB,OAAO,EAAE,YAAY,GACrB,GACY,CACjB,EACA,QAAQ,IAAI,CACX,KAAC,KAAK,CAAC,OAAO,IAAC,SAAS,EAAC,MAAM,YAC7B,KAAC,KAAK,CAAC,OAAO,CAAC,MAAM,IACnB,IAAI,EAAE,QAAe,EACrB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,KAAK,CAAC,SAAS,GAC1B,GACY,CACjB,IACA,CACJ,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,gBAAgB,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC;QACvD,OAAO,CACL,KAAC,KAAK,CAAC,MAAM,IACX,OAAO,EAAE;gBACP,GAAG,CAAC,gBAAgB,IAAI;oBACtB,WAAW,EAAE,GAAG,EAAE,CAAC,CACjB,KAAC,SAAS,IAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YACpD,UAAU,CAAC,gBAAgB,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,GACnD,CACb;iBACF,CAAC;gBACF,GAAG,CAAC,eAAe,IAAI;oBACrB,UAAU,EAAE,GAAG,EAAE,CAAC,CAChB,KAAC,SAAS,IAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YACnD,UAAU,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,GAClD,CACb;iBACF,CAAC;aACH,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,YAAY,CAAC,WAAW,GAAG,cAAc,CAAC"}
@@ -1,34 +0,0 @@
1
- import type { ThemeValuesType } from '../../../theme';
2
- type SidebarTokens = ThemeValuesType['tokens']['sidebar'];
3
- /**
4
- * Shared static styles for sidebar/drawer menu items.
5
- * Used by SidebarItem and AppTabs DrawerMenuItem for consistency.
6
- */
7
- export declare const sidebarItemStyles: {
8
- container: {
9
- minHeight: number;
10
- justifyContent: "center";
11
- };
12
- content: {
13
- flexDirection: "row";
14
- alignItems: "center";
15
- };
16
- iconContainer: {
17
- width: number;
18
- height: number;
19
- alignItems: "center";
20
- justifyContent: "center";
21
- };
22
- divider: {
23
- height: number;
24
- };
25
- };
26
- /**
27
- * Returns background and text colors for a sidebar menu item based on active state.
28
- */
29
- export declare function getSidebarItemColors(tokens: SidebarTokens, active: boolean): {
30
- backgroundColor: string;
31
- textColor: string;
32
- };
33
- export {};
34
- //# sourceMappingURL=sidebar-styles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-styles.d.ts","sourceRoot":"","sources":["../../../../components/navigation/shared/sidebar-styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;AAE1D;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;CAkB5B,CAAC;AAEH;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO;;;EAK1E"}
@@ -1,34 +0,0 @@
1
- import { StyleSheet } from 'react-native';
2
- /**
3
- * Shared static styles for sidebar/drawer menu items.
4
- * Used by SidebarItem and AppTabs DrawerMenuItem for consistency.
5
- */
6
- export const sidebarItemStyles = StyleSheet.create({
7
- container: {
8
- minHeight: 48,
9
- justifyContent: 'center',
10
- },
11
- content: {
12
- flexDirection: 'row',
13
- alignItems: 'center',
14
- },
15
- iconContainer: {
16
- width: 24,
17
- height: 24,
18
- alignItems: 'center',
19
- justifyContent: 'center',
20
- },
21
- divider: {
22
- height: 1,
23
- },
24
- });
25
- /**
26
- * Returns background and text colors for a sidebar menu item based on active state.
27
- */
28
- export function getSidebarItemColors(tokens, active) {
29
- return {
30
- backgroundColor: active ? tokens.itemActiveBg : 'transparent',
31
- textColor: active ? tokens.itemActiveText : tokens.itemText,
32
- };
33
- }
34
- //# sourceMappingURL=sidebar-styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-styles.js","sourceRoot":"","sources":["../../../../components/navigation/shared/sidebar-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE;QACT,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,QAAQ;KACzB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;KACrB;IACD,aAAa,EAAE;QACb,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,CAAC;KACV;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB,EAAE,MAAe;IACzE,OAAO;QACL,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa;QAC7D,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ;KAC5D,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- export { Sidebar, type SidebarProps } from './sidebar';
2
- export { SidebarItem } from './sidebar-item';
3
- export type { SidebarItemProps, SidebarItemIconConfig } from './sidebar-item';
4
- export { SidebarSection } from './sidebar-section';
5
- export type { SidebarSectionProps, SidebarSectionIconConfig } from './sidebar-section';
6
- export { SidebarHeader } from './sidebar-header';
7
- export type { SidebarHeaderProps } from './sidebar-header';
8
- export { SidebarFooter } from './sidebar-footer';
9
- export type { SidebarFooterProps } from './sidebar-footer';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/navigation/sidebar/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,7 +0,0 @@
1
- // Sidebar navigation components
2
- export { Sidebar } from './sidebar';
3
- export { SidebarItem } from './sidebar-item';
4
- export { SidebarSection } from './sidebar-section';
5
- export { SidebarHeader } from './sidebar-header';
6
- export { SidebarFooter } from './sidebar-footer';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/navigation/sidebar/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,OAAO,EAAqB,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,18 +0,0 @@
1
- import React from 'react';
2
- import { type StyleProp, type ViewStyle } from 'react-native';
3
- /**
4
- * Props for the SidebarFooter component
5
- */
6
- export interface SidebarFooterProps {
7
- /** Footer content */
8
- children: React.ReactNode;
9
- /** Custom styles */
10
- style?: StyleProp<ViewStyle>;
11
- /** Test ID for testing */
12
- testID?: string;
13
- }
14
- /**
15
- * Footer component for sidebar with custom content
16
- */
17
- export declare const SidebarFooter: React.FC<SidebarFooterProps>;
18
- //# sourceMappingURL=sidebar-footer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-footer.d.ts","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKhF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oBAAoB;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwBtD,CAAC"}
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { StyleSheet, View } from 'react-native';
3
- import { useThemeContext } from '../../../theme';
4
- // 3. COMPONENT
5
- /**
6
- * Footer component for sidebar with custom content
7
- */
8
- export const SidebarFooter = ({ children, style, testID, }) => {
9
- const { values: theme } = useThemeContext();
10
- const spacing = theme.spacing;
11
- return (_jsx(View, { style: [
12
- styles.container,
13
- {
14
- padding: spacing.lg,
15
- borderTopWidth: 1,
16
- borderTopColor: theme.tokens.sidebar.divider,
17
- },
18
- style,
19
- ], testID: testID, children: children }));
20
- };
21
- // 4. STYLES
22
- const styles = StyleSheet.create({
23
- container: {
24
- width: '100%',
25
- },
26
- });
27
- //# sourceMappingURL=sidebar-footer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-footer.js","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-footer.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAgBjD,eAAe;AAEf;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,EACR,KAAK,EACL,MAAM,GACP,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAE;YACL,MAAM,CAAC,SAAS;YAChB;gBACE,OAAO,EAAE,OAAO,CAAC,EAAE;gBACnB,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;aAC7C;YACD,KAAK;SACN,EACD,MAAM,EAAE,MAAM,YAEb,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY;AACZ,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC"}
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { type StyleProp, type ViewStyle, type ImageSourcePropType } from 'react-native';
3
- /**
4
- * Props for the SidebarHeader component
5
- */
6
- export interface SidebarHeaderProps {
7
- /** Header title text */
8
- title?: string;
9
- /** Optional subtitle text */
10
- subtitle?: string;
11
- /** Optional logo image source */
12
- logo?: ImageSourcePropType;
13
- /** Custom styles */
14
- style?: StyleProp<ViewStyle>;
15
- /** Custom content (overrides title/subtitle/logo) */
16
- children?: React.ReactNode;
17
- /** Test ID for testing */
18
- testID?: string;
19
- /** Optional click handler for the header */
20
- onPress?: () => void;
21
- }
22
- /**
23
- * Header component for sidebar with optional logo, title, and subtitle
24
- */
25
- export declare const SidebarHeader: React.FC<SidebarHeaderProps>;
26
- //# sourceMappingURL=sidebar-header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-header.d.ts","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAA+B,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,mBAAmB,EAAS,MAAM,cAAc,CAAC;AAM5H;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,oBAAoB;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAID;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA8EtD,CAAC"}
@@ -1,38 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { StyleSheet, View, Pressable, Image } from 'react-native';
3
- import { Typography } from '../../ui/typography';
4
- import { useThemeContext } from '../../../theme';
5
- // 3. COMPONENT
6
- /**
7
- * Header component for sidebar with optional logo, title, and subtitle
8
- */
9
- export const SidebarHeader = ({ title, subtitle, logo, style, children, testID, onPress, }) => {
10
- const { values: theme } = useThemeContext();
11
- const spacing = theme.spacing;
12
- const content = children ? (children) : (_jsxs(_Fragment, { children: [logo && (_jsx(Image, { source: logo, style: styles.logo, resizeMode: "contain" })), title && (_jsx(Typography, { variant: "titleMedium", weight: "bold", color: theme.onSurface, numberOfLines: 1, children: title })), subtitle && (_jsx(Typography, { variant: "bodySmall", color: theme.onSurfaceVariant, numberOfLines: 1, children: subtitle }))] }));
13
- const containerStyle = [
14
- styles.container,
15
- {
16
- padding: spacing.lg,
17
- borderBottomWidth: 1,
18
- borderBottomColor: theme.tokens.sidebar.divider,
19
- },
20
- !children && { gap: spacing.sm },
21
- style,
22
- ];
23
- if (onPress) {
24
- return (_jsx(Pressable, { style: containerStyle, testID: testID, onPress: onPress, children: content }));
25
- }
26
- return (_jsx(View, { style: containerStyle, testID: testID, children: content }));
27
- };
28
- // 4. STYLES
29
- const styles = StyleSheet.create({
30
- container: {
31
- width: '100%',
32
- },
33
- logo: {
34
- width: 40,
35
- height: 40,
36
- },
37
- });
38
- //# sourceMappingURL=sidebar-header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-header.js","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-header.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAA4D,KAAK,EAAE,MAAM,cAAc,CAAC;AAC5H,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAwBjD,eAAe;AAEf;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,OAAO,GACR,EAAE,EAAE;IACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAE9B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CACzB,QAAQ,CACT,CAAC,CAAC,CAAC,CACF,8BACG,IAAI,IAAI,CACP,KAAC,KAAK,IACJ,MAAM,EAAE,IAAI,EACZ,KAAK,EAAE,MAAM,CAAC,IAAI,EAClB,UAAU,EAAC,SAAS,GACpB,CACH,EAEA,KAAK,IAAI,CACR,KAAC,UAAU,IACT,OAAO,EAAC,aAAa,EACrB,MAAM,EAAC,MAAM,EACb,KAAK,EAAE,KAAK,CAAC,SAAS,EACtB,aAAa,EAAE,CAAC,YAEf,KAAK,GACK,CACd,EAEA,QAAQ,IAAI,CACX,KAAC,UAAU,IACT,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAC7B,aAAa,EAAE,CAAC,YAEf,QAAQ,GACE,CACd,IACA,CACJ,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,MAAM,CAAC,SAAS;QAChB;YACE,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,iBAAiB,EAAE,CAAC;YACpB,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;SAChD;QACD,CAAC,QAAQ,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;QAChC,KAAK;KACN,CAAC;IAEF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,KAAC,SAAS,IACR,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,YAEf,OAAO,GACE,CACb,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,IAAI,IACH,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,MAAM,YAEb,OAAO,GACH,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,YAAY;AACZ,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,KAAK,EAAE,MAAM;KACd;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;KACX;CACF,CAAC,CAAC"}
@@ -1,36 +0,0 @@
1
- import React from 'react';
2
- import { View, type GestureResponderEvent, type StyleProp, type ViewStyle } from 'react-native';
3
- import { type IconLibrary } from '../../../icons';
4
- import type { InteractiveComponentProps } from '../../shared/types';
5
- /**
6
- * Configuration for sidebar item icons
7
- */
8
- export interface SidebarItemIconConfig {
9
- /** Icon library to use. @default 'Feather' */
10
- library?: IconLibrary;
11
- /** Name of the icon from the specified library */
12
- name: string;
13
- /** Icon size in pixels. @default 20 */
14
- size?: number;
15
- }
16
- /**
17
- * Props for the SidebarItem component
18
- */
19
- export interface SidebarItemProps extends Omit<InteractiveComponentProps, 'onPress'> {
20
- /** Item label text */
21
- label: string;
22
- /** Optional icon configuration */
23
- icon?: SidebarItemIconConfig;
24
- /** Whether this item is currently active/selected. @default false */
25
- active?: boolean;
26
- /** Press handler */
27
- onPress?: (event?: GestureResponderEvent) => void;
28
- /** Custom styles */
29
- style?: StyleProp<ViewStyle>;
30
- }
31
- /**
32
- * Sidebar menu item with icon, label, and active state
33
- */
34
- declare const SidebarItem: React.ForwardRefExoticComponent<SidebarItemProps & React.RefAttributes<View>>;
35
- export { SidebarItem };
36
- //# sourceMappingURL=sidebar-item.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-item.d.ts","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-item.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAIL,IAAI,EACJ,KAAK,qBAAqB,EAC1B,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAKpE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC;IAClF,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAClD,oBAAoB;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAID;;GAEG;AACH,QAAA,MAAM,WAAW,+EAsFf,CAAC;AAYH,OAAO,EAAE,WAAW,EAAE,CAAC"}
@@ -1,63 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- // 1. IMPORTS
3
- import { forwardRef, useState } from 'react';
4
- import { Platform, Pressable, StyleSheet, View, } from 'react-native';
5
- import { Typography } from '../../ui/typography';
6
- import { useTheme } from '../../../theme';
7
- import { useSidebar } from '../../../context/sidebar-context';
8
- import { useDimensions, breakpoints } from '../../../hooks';
9
- import { renderIcon } from '../../../icons';
10
- import { sidebarItemStyles, getSidebarItemColors } from '../shared/sidebar-styles';
11
- // 3. COMPONENT
12
- /**
13
- * Sidebar menu item with icon, label, and active state
14
- */
15
- const SidebarItem = forwardRef(({ label, icon, active = false, disabled = false, onPress, style, testID, accessibilityLabel, accessibilityHint, }, ref) => {
16
- const theme = useTheme();
17
- const { close } = useSidebar();
18
- const { width } = useDimensions();
19
- const tokens = theme.tokens.sidebar;
20
- const spacing = theme.spacing;
21
- const [hovered, setHovered] = useState(false);
22
- const isMobile = width < breakpoints.large;
23
- const handlePress = (event) => {
24
- if (onPress) {
25
- onPress(event);
26
- }
27
- if (isMobile) {
28
- close();
29
- }
30
- };
31
- const { backgroundColor: baseBg, textColor } = getSidebarItemColors(tokens, active);
32
- const backgroundColor = !active && hovered ? tokens.itemHoverBg : baseBg;
33
- const iconColor = textColor;
34
- const renderItemIcon = () => {
35
- if (!icon)
36
- return null;
37
- const iconSize = icon.size || 20;
38
- const iconLibrary = icon.library || 'Feather';
39
- return (_jsx(View, { style: sidebarItemStyles.iconContainer, children: renderIcon(icon, iconLibrary, iconSize, iconColor) }));
40
- };
41
- return (_jsx(Pressable, { ref: ref, testID: testID, onPress: disabled ? undefined : handlePress, disabled: disabled, onHoverIn: () => setHovered(true), onHoverOut: () => setHovered(false), accessibilityRole: "button", accessibilityLabel: accessibilityLabel ?? label, accessibilityHint: accessibilityHint, accessibilityState: { disabled, selected: active }, style: [
42
- sidebarItemStyles.container,
43
- {
44
- backgroundColor,
45
- paddingHorizontal: spacing.lg,
46
- paddingVertical: spacing.md,
47
- },
48
- disabled && styles.disabled,
49
- style,
50
- ], android_ripple: !disabled && Platform.OS === 'android'
51
- ? { color: theme.primary + '20', borderless: false }
52
- : undefined, children: _jsxs(View, { style: [sidebarItemStyles.content, { gap: spacing.md }], children: [renderItemIcon(), _jsx(Typography, { variant: "labelLarge", weight: "medium", color: textColor, numberOfLines: 1, children: label })] }) }));
53
- });
54
- SidebarItem.displayName = 'SidebarItem';
55
- // 4. STYLES
56
- const styles = StyleSheet.create({
57
- disabled: {
58
- opacity: 0.38,
59
- },
60
- });
61
- // 5. EXPORTS
62
- export { SidebarItem };
63
- //# sourceMappingURL=sidebar-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-item.js","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-item.tsx"],"names":[],"mappings":"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"}
@@ -1,34 +0,0 @@
1
- import React from 'react';
2
- import { type StyleProp, type ViewStyle } from 'react-native';
3
- import { type IconLibrary } from '../../../icons';
4
- /**
5
- * Configuration for sidebar section icons
6
- */
7
- export interface SidebarSectionIconConfig {
8
- /** Icon library to use. @default 'Feather' */
9
- library?: IconLibrary;
10
- /** Name of the icon from the specified library */
11
- name: string;
12
- /** Icon size in pixels. @default 14 */
13
- size?: number;
14
- }
15
- /**
16
- * Props for the SidebarSection component
17
- */
18
- export interface SidebarSectionProps {
19
- /** Optional section header title */
20
- title?: string;
21
- /** Optional icon configuration for the section header */
22
- icon?: SidebarSectionIconConfig;
23
- /** Section content (usually SidebarItem components) */
24
- children: React.ReactNode;
25
- /** Custom styles */
26
- style?: StyleProp<ViewStyle>;
27
- /** Test ID for testing */
28
- testID?: string;
29
- }
30
- /**
31
- * Groups sidebar items with an optional section header
32
- */
33
- export declare const SidebarSection: React.FC<SidebarSectionProps>;
34
- //# sourceMappingURL=sidebar-section.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-section.d.ts","sourceRoot":"","sources":["../../../../components/navigation/sidebar/sidebar-section.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAoB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGhF,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAI9D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,uDAAuD;IACvD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oBAAoB;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,0BAA0B;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAID;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+DxD,CAAC"}