@sincpro/mobile-ui 3.0.1 → 3.1.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 (308) hide show
  1. package/dist/Actions/Actions.Button.d.ts +6 -6
  2. package/dist/Actions/Actions.Button.js +650 -180
  3. package/dist/Actions/Actions.Dock.d.ts +1 -1
  4. package/dist/Actions/Actions.Dock.js +297 -18
  5. package/dist/Actions/Actions.FAB.js +100 -12
  6. package/dist/Actions/Actions.FilterButton.d.ts +17 -0
  7. package/dist/Actions/Actions.FilterButton.js +263 -33
  8. package/dist/Actions/Actions.IconButton.d.ts +1 -0
  9. package/dist/Actions/Actions.IconButton.js +196 -33
  10. package/dist/Actions/index.js +13 -13
  11. package/dist/Dialog/Confirmation.context.js +82 -16
  12. package/dist/Dialog/Dialog.ActionSheet.js +200 -41
  13. package/dist/Dialog/Dialog.Confirmation.js +168 -31
  14. package/dist/Dialog/Dialog.EditValue.js +449 -61
  15. package/dist/Dialog/Dialog.Sheet.d.ts +7 -3
  16. package/dist/Dialog/Dialog.Sheet.js +231 -15
  17. package/dist/Dialog/OverlayHost.d.ts +23 -0
  18. package/dist/Dialog/OverlayHost.js +196 -0
  19. package/dist/Dialog/SheetSurface.d.ts +24 -0
  20. package/dist/Dialog/SheetSurface.js +441 -0
  21. package/dist/Dialog/dialog-actions.d.ts +17 -0
  22. package/dist/Dialog/dialog-actions.js +59 -0
  23. package/dist/Dialog/index.d.ts +4 -1
  24. package/dist/Dialog/index.js +8 -7
  25. package/dist/Dialog/overlay.store.d.ts +24 -0
  26. package/dist/Dialog/overlay.store.js +59 -0
  27. package/dist/Dialog/requestConfirmation.js +20 -10
  28. package/dist/Display/Display.Accordion.js +185 -13
  29. package/dist/Display/Display.AmountSummary.js +206 -15
  30. package/dist/Display/Display.Avatar.js +93 -31
  31. package/dist/Display/Display.AvatarGroup.js +132 -17
  32. package/dist/Display/Display.Badge.d.ts +18 -2
  33. package/dist/Display/Display.Badge.js +117 -49
  34. package/dist/Display/Display.Card.js +163 -26
  35. package/dist/Display/Display.Carousel.js +459 -105
  36. package/dist/Display/Display.Chip.d.ts +4 -1
  37. package/dist/Display/Display.Chip.js +165 -31
  38. package/dist/Display/Display.CircleButton.d.ts +1 -0
  39. package/dist/Display/Display.CircleButton.js +86 -27
  40. package/dist/Display/Display.CopyableText.js +289 -66
  41. package/dist/Display/Display.CountRecords.js +60 -3
  42. package/dist/Display/Display.DataTable.js +123 -13
  43. package/dist/Display/Display.Date.js +243 -33
  44. package/dist/Display/Display.Divider.d.ts +10 -10
  45. package/dist/Display/Display.Divider.js +67 -20
  46. package/dist/Display/Display.ExpoImage.js +97 -8
  47. package/dist/Display/Display.GradientSurface.d.ts +9 -4
  48. package/dist/Display/Display.GradientSurface.js +196 -46
  49. package/dist/Display/Display.Icon.js +129 -15
  50. package/dist/Display/Display.IconBadge.js +95 -25
  51. package/dist/Display/Display.Image.d.ts +7 -1
  52. package/dist/Display/Display.Image.js +344 -39
  53. package/dist/Display/Display.KeyValue.js +90 -5
  54. package/dist/Display/Display.ListGroup.js +181 -9
  55. package/dist/Display/Display.ListItem.js +324 -28
  56. package/dist/Display/Display.Logo.js +84 -29
  57. package/dist/Display/Display.MediaCard.js +125 -4
  58. package/dist/Display/Display.MediaEmbed.d.ts +0 -5
  59. package/dist/Display/Display.MediaEmbed.js +170 -26
  60. package/dist/Display/Display.MenuButton.d.ts +2 -2
  61. package/dist/Display/Display.MenuButton.js +380 -94
  62. package/dist/Display/Display.MenuCard.js +122 -18
  63. package/dist/Display/Display.MenuGrid.js +43 -3
  64. package/dist/Display/Display.Monetary.js +90 -5
  65. package/dist/Display/Display.Pattern.js +306 -47
  66. package/dist/Display/Display.PriceTag.js +117 -14
  67. package/dist/Display/Display.ProductCard.js +154 -4
  68. package/dist/Display/Display.Rating.js +92 -11
  69. package/dist/Display/Display.SearchHistory.js +132 -6
  70. package/dist/Display/Display.SectionHeader.d.ts +5 -1
  71. package/dist/Display/Display.SectionHeader.js +125 -12
  72. package/dist/Display/Display.Stat.js +62 -3
  73. package/dist/Display/Display.StatCard.js +131 -7
  74. package/dist/Display/Display.StatusBadge.d.ts +29 -0
  75. package/dist/Display/Display.StatusBadge.js +68 -0
  76. package/dist/Display/Display.StatusDot.js +93 -18
  77. package/dist/Display/Display.Story.js +285 -35
  78. package/dist/Display/Display.StoryTray.js +354 -34
  79. package/dist/Display/Display.StoryViewer.js +571 -72
  80. package/dist/Display/Display.SwipeableRow.js +141 -20
  81. package/dist/Display/Display.Tag.d.ts +4 -1
  82. package/dist/Display/Display.Tag.js +66 -4
  83. package/dist/Display/Display.Timeline.js +102 -13
  84. package/dist/Display/Display.Tooltip.js +122 -26
  85. package/dist/Display/chevron.d.ts +6 -0
  86. package/dist/Display/chevron.js +32 -0
  87. package/dist/Display/count-badge.d.ts +21 -0
  88. package/dist/Display/count-badge.js +124 -0
  89. package/dist/Display/group-title.d.ts +10 -0
  90. package/dist/Display/group-title.js +53 -0
  91. package/dist/Display/icon-font.d.ts +3 -0
  92. package/dist/Display/icon-font.ios.d.ts +3 -0
  93. package/dist/Display/icon-font.ios.js +4 -0
  94. package/dist/Display/icon-font.js +7 -0
  95. package/dist/Display/icon-glyphs.d.ts +2 -0
  96. package/dist/Display/icon-glyphs.js +87 -0
  97. package/dist/Display/icon-map.d.ts +5 -1
  98. package/dist/Display/icon-map.js +340 -84
  99. package/dist/Display/icon-registry.d.ts +21 -0
  100. package/dist/Display/icon-registry.js +21 -0
  101. package/dist/Display/index.d.ts +6 -1
  102. package/dist/Display/index.js +53 -48
  103. package/dist/Display/pill.d.ts +16 -0
  104. package/dist/Display/pill.js +47 -0
  105. package/dist/Feedback/ErrorBoundary.js +35 -23
  106. package/dist/Feedback/Feedback.Banner.js +202 -24
  107. package/dist/Feedback/Feedback.DomainSplashScreen.js +246 -70
  108. package/dist/Feedback/Feedback.Empty.js +54 -3
  109. package/dist/Feedback/Feedback.EmptyState.js +114 -5
  110. package/dist/Feedback/Feedback.Error.d.ts +1 -1
  111. package/dist/Feedback/Feedback.Error.js +130 -5
  112. package/dist/Feedback/Feedback.Loading.d.ts +1 -1
  113. package/dist/Feedback/Feedback.Loading.js +70 -3
  114. package/dist/Feedback/Feedback.PermissionCard.js +161 -5
  115. package/dist/Feedback/Feedback.Progress.js +199 -41
  116. package/dist/Feedback/Feedback.ProgressCircle.js +184 -12
  117. package/dist/Feedback/Feedback.Skeleton.js +149 -36
  118. package/dist/Feedback/Feedback.Spinner.js +407 -79
  119. package/dist/Feedback/Feedback.Splash.js +240 -33
  120. package/dist/Feedback/Feedback.State.d.ts +17 -0
  121. package/dist/Feedback/Feedback.State.js +104 -0
  122. package/dist/Feedback/Toast.context.js +883 -167
  123. package/dist/Feedback/index.d.ts +3 -0
  124. package/dist/Feedback/index.js +15 -13
  125. package/dist/Form/Form.Checkbox.js +212 -22
  126. package/dist/Form/Form.ControlledCheckbox.d.ts +1 -1
  127. package/dist/Form/Form.ControlledCheckbox.js +46 -4
  128. package/dist/Form/Form.ControlledDropdown.d.ts +1 -1
  129. package/dist/Form/Form.ControlledDropdown.js +62 -4
  130. package/dist/Form/Form.ControlledInput.d.ts +4 -3
  131. package/dist/Form/Form.ControlledInput.js +72 -4
  132. package/dist/Form/Form.ControlledMonetaryInput.d.ts +6 -3
  133. package/dist/Form/Form.ControlledMonetaryInput.js +50 -4
  134. package/dist/Form/Form.ControlledRadioButton.d.ts +2 -2
  135. package/dist/Form/Form.ControlledRadioButton.js +45 -4
  136. package/dist/Form/Form.DatePicker.js +505 -107
  137. package/dist/Form/Form.Dropdown.js +303 -52
  138. package/dist/Form/Form.ErrorSummary.js +236 -44
  139. package/dist/Form/Form.Field.d.ts +24 -0
  140. package/dist/Form/Form.Field.js +55 -0
  141. package/dist/Form/Form.FractionalQuantityInput.js +508 -96
  142. package/dist/Form/Form.Input.d.ts +17 -3
  143. package/dist/Form/Form.Input.js +478 -29
  144. package/dist/Form/Form.KeyboardForm.d.ts +22 -8
  145. package/dist/Form/Form.KeyboardForm.js +83 -8
  146. package/dist/Form/Form.KeyboardToolbarHost.d.ts +14 -0
  147. package/dist/Form/Form.KeyboardToolbarHost.js +182 -0
  148. package/dist/Form/Form.MonetaryInput.js +164 -17
  149. package/dist/Form/Form.PickerField.d.ts +31 -0
  150. package/dist/Form/Form.PickerField.js +562 -0
  151. package/dist/Form/Form.PinInput.js +150 -15
  152. package/dist/Form/Form.QuantitySelector.js +229 -25
  153. package/dist/Form/Form.RadioButton.js +132 -24
  154. package/dist/Form/Form.Select.js +487 -56
  155. package/dist/Form/Form.Slider.js +133 -10
  156. package/dist/Form/Form.Switch.js +99 -4
  157. package/dist/Form/index.d.ts +11 -6
  158. package/dist/Form/index.js +26 -27
  159. package/dist/Form/input-text.d.ts +7 -0
  160. package/dist/Form/input-text.js +18 -0
  161. package/dist/Navigation/Navigation.AppBar.d.ts +3 -4
  162. package/dist/Navigation/Navigation.AppBar.js +535 -99
  163. package/dist/Navigation/Navigation.BottomNav.js +363 -98
  164. package/dist/Navigation/Navigation.CollapsingHeader.d.ts +28 -13
  165. package/dist/Navigation/Navigation.CollapsingHeader.js +369 -36
  166. package/dist/Navigation/Navigation.FloatingBar.js +71 -11
  167. package/dist/Navigation/Navigation.Menu.js +309 -95
  168. package/dist/Navigation/Navigation.MenuSection.js +80 -11
  169. package/dist/Navigation/Navigation.RowItem.d.ts +4 -2
  170. package/dist/Navigation/Navigation.RowItem.js +93 -8
  171. package/dist/Navigation/Navigation.Search.js +241 -27
  172. package/dist/Navigation/Navigation.SearchBar.d.ts +7 -1
  173. package/dist/Navigation/Navigation.SearchBar.js +218 -29
  174. package/dist/Navigation/Navigation.SearchSuggestions.js +77 -3
  175. package/dist/Navigation/Navigation.SegmentedControl.js +152 -14
  176. package/dist/Navigation/Navigation.Steps.js +105 -11
  177. package/dist/Navigation/Navigation.Tabs.js +449 -41
  178. package/dist/Navigation/index.d.ts +9 -4
  179. package/dist/Navigation/index.js +13 -13
  180. package/dist/Typography/Typography.Heading.js +33 -3
  181. package/dist/Typography/Typography.SelectableText.js +95 -7
  182. package/dist/Typography/Typography.Text.d.ts +4 -2
  183. package/dist/Typography/Typography.Text.js +217 -7
  184. package/dist/Typography/index.js +3 -3
  185. package/dist/branding.js +29 -13
  186. package/dist/icons/AddItemIcon.js +76 -2
  187. package/dist/icons/ArrangeCircle.js +82 -2
  188. package/dist/icons/ArrowDownIcon.js +63 -3
  189. package/dist/icons/ArrowUpIcon.js +63 -3
  190. package/dist/icons/BoxIcon.js +64 -2
  191. package/dist/icons/BoxTimeIcon.js +63 -2
  192. package/dist/icons/CalendarIcon.js +145 -2
  193. package/dist/icons/CardIcon.js +80 -2
  194. package/dist/icons/CashierIcon.js +39 -2
  195. package/dist/icons/CreditIcon.js +76 -3
  196. package/dist/icons/DuoIcon.js +75 -2
  197. package/dist/icons/HomeIcon.js +39 -2
  198. package/dist/icons/HomeIconOutlined.js +53 -2
  199. package/dist/icons/LogoIcon.js +87 -2
  200. package/dist/icons/MoneyReceiveIcon.js +86 -2
  201. package/dist/icons/PinIcon.js +39 -2
  202. package/dist/icons/ProfileIcon.js +47 -2
  203. package/dist/icons/SettingsIcon.js +114 -2
  204. package/dist/icons/SinpeIcon.js +60 -2
  205. package/dist/icons/ToggleOffIcon.js +53 -2
  206. package/dist/icons/WalletMoneyIcon.js +81 -2
  207. package/dist/index.d.ts +1 -0
  208. package/dist/index.js +8 -2
  209. package/dist/layouts/AuthContainer.d.ts +4 -5
  210. package/dist/layouts/AuthContainer.js +231 -7
  211. package/dist/layouts/BottomInset.js +4 -1
  212. package/dist/layouts/Container.d.ts +2 -2
  213. package/dist/layouts/Container.js +45 -3
  214. package/dist/layouts/GradientContainer.js +37 -5
  215. package/dist/layouts/PlainLayout.js +19 -3
  216. package/dist/layouts/ScrollContainer.d.ts +14 -9
  217. package/dist/layouts/ScrollContainer.js +125 -4
  218. package/dist/layouts/edges.d.ts +2 -0
  219. package/dist/layouts/edges.js +1 -0
  220. package/dist/primitives/AspectRatio.js +75 -3
  221. package/dist/primitives/Box.js +45 -3
  222. package/dist/primitives/Pressable.js +95 -5
  223. package/dist/primitives/Row.js +84 -13
  224. package/dist/primitives/Spacer.js +42 -5
  225. package/dist/primitives/Stack.js +66 -7
  226. package/dist/primitives/index.js +1 -1
  227. package/dist/theme/active.js +20 -18
  228. package/dist/theme/build.js +118 -87
  229. package/dist/theme/color.js +87 -87
  230. package/dist/theme/components/ThemedActivityIndicator.d.ts +2 -15
  231. package/dist/theme/components/ThemedActivityIndicator.js +35 -3
  232. package/dist/theme/components/index.js +1 -0
  233. package/dist/theme/contrast.js +32 -33
  234. package/dist/theme/css-vars.js +71 -75
  235. package/dist/theme/dark.js +116 -97
  236. package/dist/theme/default.js +116 -97
  237. package/dist/theme/define.js +16 -12
  238. package/dist/theme/index.d.ts +1 -0
  239. package/dist/theme/index.js +7 -6
  240. package/dist/theme/on-dark-surface.d.ts +12 -0
  241. package/dist/theme/on-dark-surface.js +13 -0
  242. package/dist/theme/theme.js +1 -0
  243. package/dist/theme/tw.js +3 -1
  244. package/dist/theme/types.js +0 -18
  245. package/dist/theme/typography.d.ts +1 -1
  246. package/dist/theme/typography.js +337 -303
  247. package/dist/theme/useTheme.js +12 -3
  248. package/dist/theme/useThemeVars.d.ts +9 -0
  249. package/dist/theme/useThemeVars.js +23 -0
  250. package/dist/theme/validate.js +175 -166
  251. package/dist/tokens/index.js +1 -1
  252. package/dist/tokens/motion.js +30 -13
  253. package/dist/utils/async.d.ts +14 -0
  254. package/dist/utils/async.js +22 -0
  255. package/dist/utils/criteria.js +66 -85
  256. package/dist/utils/date.d.ts +8 -2
  257. package/dist/utils/date.js +63 -50
  258. package/dist/utils/image.js +8 -8
  259. package/dist/utils/intl.d.ts +1 -0
  260. package/dist/utils/intl.js +13 -0
  261. package/dist/utils/keys.js +3 -5
  262. package/dist/utils/monetary.d.ts +1 -0
  263. package/dist/utils/monetary.js +28 -24
  264. package/dist/utils/progress.js +2 -3
  265. package/dist/utils/quantity.js +25 -26
  266. package/dist/utils/reorder.js +11 -20
  267. package/dist/utils/search.d.ts +4 -0
  268. package/dist/utils/search.js +12 -0
  269. package/dist/utils/serializer.js +38 -38
  270. package/dist/utils/useReducedMotion.js +32 -30
  271. package/dist/views/AppSplashView.js +117 -3
  272. package/dist/views/AuthFormView.d.ts +4 -5
  273. package/dist/views/AuthFormView.js +119 -11
  274. package/dist/views/FormViewV2.context.js +75 -23
  275. package/dist/views/FormViewV2.d.ts +4 -5
  276. package/dist/views/FormViewV2.js +658 -92
  277. package/dist/views/ListViewV2.context.js +91 -47
  278. package/dist/views/ListViewV2.d.ts +84 -43
  279. package/dist/views/ListViewV2.js +1350 -200
  280. package/dist/views/Wizard/Wizard.context.js +248 -84
  281. package/dist/views/Wizard/Wizard.js +260 -67
  282. package/dist/views/types/IListView.js +34 -31
  283. package/dist/widgets/CollectionOptions.js +557 -138
  284. package/dist/widgets/FilterBar.js +159 -7
  285. package/dist/widgets/FilterBuilder.js +375 -102
  286. package/dist/widgets/JSONViewer.js +275 -129
  287. package/dist/widgets/PromoBanner.js +336 -42
  288. package/dist/widgets/PromoModal.d.ts +2 -2
  289. package/dist/widgets/PromoModal.js +389 -62
  290. package/dist/widgets/QueryChoice.js +150 -8
  291. package/dist/widgets/QuickActions.js +120 -31
  292. package/dist/widgets/ReorderableList.js +399 -128
  293. package/dist/widgets/TimeZoneSelectorModal.js +458 -51
  294. package/dist/widgets/index.js +3 -3
  295. package/package.json +6 -1
  296. package/tailwind.preset.js +7 -5
  297. package/dist/Form/Form.InputField.d.ts +0 -10
  298. package/dist/Form/Form.InputField.js +0 -38
  299. package/dist/Form/Form.KeyboardToolbar.d.ts +0 -22
  300. package/dist/Form/Form.KeyboardToolbar.js +0 -66
  301. package/dist/Form/Form.PasswordInput.d.ts +0 -9
  302. package/dist/Form/Form.PasswordInput.js +0 -17
  303. package/dist/Form/Form.TextInput.d.ts +0 -8
  304. package/dist/Form/Form.TextInput.js +0 -8
  305. package/dist/primitives/BaseButton.d.ts +0 -150
  306. package/dist/primitives/BaseButton.js +0 -229
  307. package/dist/utils/useSheetTranslation.d.ts +0 -5
  308. package/dist/utils/useSheetTranslation.js +0 -23
@@ -1,12 +1,100 @@
1
- import { jsx as _jsx } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
2
  import { cn } from "../theme/tw.js";
3
3
  import { appliedTextStyle } from "../theme/typography.js";
4
4
  import { TextInput } from "react-native";
5
- function SelectableText({ value, variant = "body", semibold = false, className, style, ...props }) {
6
- return (_jsx(TextInput, { ...props, className: cn("text-text-primary", className), editable: false, multiline: true, readOnly: true, scrollEnabled: false, showSoftInputOnFocus: false, style: [
7
- appliedTextStyle(variant, false, semibold),
8
- { padding: 0, textAlignVertical: "top" },
9
- style,
10
- ], underlineColorAndroid: "transparent", value: value }));
5
+ import { jsx as _jsx } from "nativewind/jsx-runtime";
6
+ function SelectableText(t0) {
7
+ const $ = _c(21);
8
+ let className;
9
+ let props;
10
+ let style;
11
+ let t1;
12
+ let t2;
13
+ let value;
14
+ if ($[0] !== t0) {
15
+ ({
16
+ value,
17
+ variant: t1,
18
+ semibold: t2,
19
+ className,
20
+ style,
21
+ ...props
22
+ } = t0);
23
+ $[0] = t0;
24
+ $[1] = className;
25
+ $[2] = props;
26
+ $[3] = style;
27
+ $[4] = t1;
28
+ $[5] = t2;
29
+ $[6] = value;
30
+ } else {
31
+ className = $[1];
32
+ props = $[2];
33
+ style = $[3];
34
+ t1 = $[4];
35
+ t2 = $[5];
36
+ value = $[6];
37
+ }
38
+ const variant = t1 === undefined ? "body" : t1;
39
+ const semibold = t2 === undefined ? false : t2;
40
+ let t3;
41
+ if ($[7] !== className) {
42
+ t3 = cn("text-text-primary", className);
43
+ $[7] = className;
44
+ $[8] = t3;
45
+ } else {
46
+ t3 = $[8];
47
+ }
48
+ let t4;
49
+ if ($[9] !== semibold || $[10] !== variant) {
50
+ t4 = appliedTextStyle(variant, false, semibold);
51
+ $[9] = semibold;
52
+ $[10] = variant;
53
+ $[11] = t4;
54
+ } else {
55
+ t4 = $[11];
56
+ }
57
+ let t5;
58
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
59
+ t5 = {
60
+ padding: 0,
61
+ textAlignVertical: "top"
62
+ };
63
+ $[12] = t5;
64
+ } else {
65
+ t5 = $[12];
66
+ }
67
+ let t6;
68
+ if ($[13] !== style || $[14] !== t4) {
69
+ t6 = [t4, t5, style];
70
+ $[13] = style;
71
+ $[14] = t4;
72
+ $[15] = t6;
73
+ } else {
74
+ t6 = $[15];
75
+ }
76
+ let t7;
77
+ if ($[16] !== props || $[17] !== t3 || $[18] !== t6 || $[19] !== value) {
78
+ t7 = _jsx(TextInput, {
79
+ ...props,
80
+ className: t3,
81
+ editable: false,
82
+ multiline: true,
83
+ readOnly: true,
84
+ scrollEnabled: false,
85
+ showSoftInputOnFocus: false,
86
+ style: t6,
87
+ underlineColorAndroid: "transparent",
88
+ value: value
89
+ });
90
+ $[16] = props;
91
+ $[17] = t3;
92
+ $[18] = t6;
93
+ $[19] = value;
94
+ $[20] = t7;
95
+ } else {
96
+ t7 = $[20];
97
+ }
98
+ return t7;
11
99
  }
12
100
  export default SelectableText;
@@ -4,9 +4,11 @@ import { type TextProps } from "react-native";
4
4
  /**
5
5
  * Typography.Text - Hybrid component (NativeWind + Style)
6
6
  *
7
- * Uses NativeWind className for: spacing, colors, transforms, alignment
8
7
  * Uses style prop for: typography variants (fontFamily, fontSize, lineHeight)
9
- *
8
+ * Without `className` it renders through a plain StyleSheet path: the theme
9
+ * color and the modifiers go to `style`, so the most repeated component of the
10
+ * app never pays for class merging or the NativeWind interop. With `className`
11
+ * it keeps the class contract (spacing, colors, transforms, alignment).
10
12
  */
11
13
  interface AppTextProps extends TextProps {
12
14
  variant?: keyof typeof typographyVariants;
@@ -1,14 +1,224 @@
1
- import { jsx as _jsx } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import { useTheme } from "../theme/index.js";
2
3
  import { cn } from "../theme/tw.js";
3
4
  import { appliedTextStyle } from "../theme/typography.js";
4
5
  import { StyleSheet, Text } from "react-native";
5
- function AppText({ variant = "body", bold = false, italic = false, underline = false, align = "left", transform = "none", semibold = false, style, className, children, ...props }) {
6
- const textClassName = cn("text-text-primary", align === "center" && "text-center", align === "right" && "text-right", align === "justify" && "text-justify", transform === "uppercase" && "uppercase", transform === "lowercase" && "lowercase", transform === "capitalize" && "capitalize", underline && "underline", italic && "italic", className);
7
- const textStyle = {
8
- ...appliedTextStyle(variant, bold, semibold),
9
- ...StyleSheet.flatten(style),
6
+
7
+ /**
8
+ * Typography.Text - Hybrid component (NativeWind + Style)
9
+ *
10
+ * Uses style prop for: typography variants (fontFamily, fontSize, lineHeight)
11
+ * Without `className` it renders through a plain StyleSheet path: the theme
12
+ * color and the modifiers go to `style`, so the most repeated component of the
13
+ * app never pays for class merging or the NativeWind interop. With `className`
14
+ * it keeps the class contract (spacing, colors, transforms, alignment).
15
+ */
16
+ import { jsx as _jsx } from "nativewind/jsx-runtime";
17
+ const modifiers = StyleSheet.create({
18
+ center: {
19
+ textAlign: "center"
20
+ },
21
+ right: {
22
+ textAlign: "right"
23
+ },
24
+ justify: {
25
+ textAlign: "justify"
26
+ },
27
+ uppercase: {
28
+ textTransform: "uppercase"
29
+ },
30
+ lowercase: {
31
+ textTransform: "lowercase"
32
+ },
33
+ capitalize: {
34
+ textTransform: "capitalize"
35
+ },
36
+ underline: {
37
+ textDecorationLine: "underline"
38
+ },
39
+ italic: {
40
+ fontStyle: "italic"
41
+ }
42
+ });
43
+ function AppText(t0) {
44
+ const $ = _c(50);
45
+ let children;
46
+ let className;
47
+ let props;
48
+ let style;
49
+ let t1;
50
+ let t2;
51
+ let t3;
52
+ let t4;
53
+ let t5;
54
+ let t6;
55
+ let t7;
56
+ if ($[0] !== t0) {
57
+ ({
58
+ variant: t1,
59
+ bold: t2,
60
+ italic: t3,
61
+ underline: t4,
62
+ align: t5,
63
+ transform: t6,
64
+ semibold: t7,
65
+ style,
66
+ className,
67
+ children,
68
+ ...props
69
+ } = t0);
70
+ $[0] = t0;
71
+ $[1] = children;
72
+ $[2] = className;
73
+ $[3] = props;
74
+ $[4] = style;
75
+ $[5] = t1;
76
+ $[6] = t2;
77
+ $[7] = t3;
78
+ $[8] = t4;
79
+ $[9] = t5;
80
+ $[10] = t6;
81
+ $[11] = t7;
82
+ } else {
83
+ children = $[1];
84
+ className = $[2];
85
+ props = $[3];
86
+ style = $[4];
87
+ t1 = $[5];
88
+ t2 = $[6];
89
+ t3 = $[7];
90
+ t4 = $[8];
91
+ t5 = $[9];
92
+ t6 = $[10];
93
+ t7 = $[11];
94
+ }
95
+ const variant = t1 === undefined ? "body" : t1;
96
+ const bold = t2 === undefined ? false : t2;
97
+ const italic = t3 === undefined ? false : t3;
98
+ const underline = t4 === undefined ? false : t4;
99
+ const align = t5 === undefined ? "left" : t5;
100
+ const transform = t6 === undefined ? "none" : t6;
101
+ const semibold = t7 === undefined ? false : t7;
102
+ const theme = useTheme();
103
+ let t8;
104
+ if ($[12] !== bold || $[13] !== semibold || $[14] !== variant) {
105
+ t8 = appliedTextStyle(variant, bold, semibold);
106
+ $[12] = bold;
107
+ $[13] = semibold;
108
+ $[14] = variant;
109
+ $[15] = t8;
110
+ } else {
111
+ t8 = $[15];
112
+ }
113
+ const variantStyle = t8;
114
+ if (className) {
115
+ const t9 = align === "center" && "text-center";
116
+ const t10 = align === "right" && "text-right";
117
+ const t11 = align === "justify" && "text-justify";
118
+ const t12 = transform === "uppercase" && "uppercase";
119
+ const t13 = transform === "lowercase" && "lowercase";
120
+ const t14 = transform === "capitalize" && "capitalize";
121
+ const t15 = underline && "underline";
122
+ const t16 = italic && "italic";
123
+ let t17;
124
+ if ($[16] !== className || $[17] !== t10 || $[18] !== t11 || $[19] !== t12 || $[20] !== t13 || $[21] !== t14 || $[22] !== t15 || $[23] !== t16 || $[24] !== t9) {
125
+ t17 = cn("text-text-primary", t9, t10, t11, t12, t13, t14, t15, t16, className);
126
+ $[16] = className;
127
+ $[17] = t10;
128
+ $[18] = t11;
129
+ $[19] = t12;
130
+ $[20] = t13;
131
+ $[21] = t14;
132
+ $[22] = t15;
133
+ $[23] = t16;
134
+ $[24] = t9;
135
+ $[25] = t17;
136
+ } else {
137
+ t17 = $[25];
138
+ }
139
+ const textClassName = t17;
140
+ let t18;
141
+ if ($[26] !== style) {
142
+ t18 = StyleSheet.flatten(style);
143
+ $[26] = style;
144
+ $[27] = t18;
145
+ } else {
146
+ t18 = $[27];
147
+ }
148
+ let t19;
149
+ if ($[28] !== t18 || $[29] !== variantStyle) {
150
+ t19 = {
151
+ ...variantStyle,
152
+ ...t18
153
+ };
154
+ $[28] = t18;
155
+ $[29] = variantStyle;
156
+ $[30] = t19;
157
+ } else {
158
+ t19 = $[30];
159
+ }
160
+ const textStyle = t19;
161
+ let t20;
162
+ if ($[31] !== children || $[32] !== props || $[33] !== textClassName || $[34] !== textStyle) {
163
+ t20 = _jsx(Text, {
164
+ className: textClassName,
165
+ style: textStyle,
166
+ ...props,
167
+ children: children
168
+ });
169
+ $[31] = children;
170
+ $[32] = props;
171
+ $[33] = textClassName;
172
+ $[34] = textStyle;
173
+ $[35] = t20;
174
+ } else {
175
+ t20 = $[35];
176
+ }
177
+ return t20;
178
+ }
179
+ let t9;
180
+ if ($[36] !== theme.text.primary) {
181
+ t9 = {
182
+ color: theme.text.primary
10
183
  };
11
- return (_jsx(Text, { className: textClassName, style: textStyle, ...props, children: children }));
184
+ $[36] = theme.text.primary;
185
+ $[37] = t9;
186
+ } else {
187
+ t9 = $[37];
188
+ }
189
+ const t10 = align !== "left" && modifiers[align];
190
+ const t11 = transform !== "none" && modifiers[transform];
191
+ const t12 = underline && modifiers.underline;
192
+ const t13 = italic && modifiers.italic;
193
+ let t14;
194
+ if ($[38] !== style || $[39] !== t10 || $[40] !== t11 || $[41] !== t12 || $[42] !== t13 || $[43] !== t9 || $[44] !== variantStyle) {
195
+ t14 = [variantStyle, t9, t10, t11, t12, t13, style];
196
+ $[38] = style;
197
+ $[39] = t10;
198
+ $[40] = t11;
199
+ $[41] = t12;
200
+ $[42] = t13;
201
+ $[43] = t9;
202
+ $[44] = variantStyle;
203
+ $[45] = t14;
204
+ } else {
205
+ t14 = $[45];
206
+ }
207
+ let t15;
208
+ if ($[46] !== children || $[47] !== props || $[48] !== t14) {
209
+ t15 = _jsx(Text, {
210
+ style: t14,
211
+ ...props,
212
+ children: children
213
+ });
214
+ $[46] = children;
215
+ $[47] = props;
216
+ $[48] = t14;
217
+ $[49] = t15;
218
+ } else {
219
+ t15 = $[49];
220
+ }
221
+ return t15;
12
222
  }
13
223
  export default AppText;
14
224
  export { AppText };
@@ -2,9 +2,9 @@ import Heading from "./Typography.Heading.js";
2
2
  import SelectableText from "./Typography.SelectableText.js";
3
3
  import { AppText } from "./Typography.Text.js";
4
4
  export const Typography = {
5
- Text: AppText,
6
- Heading,
7
- SelectableText,
5
+ Text: AppText,
6
+ Heading,
7
+ SelectableText
8
8
  };
9
9
  export { AppText };
10
10
  export { SelectableText };
package/dist/branding.js CHANGED
@@ -1,24 +1,40 @@
1
- const state = { logo: undefined, mesh: undefined, meshSize: undefined };
1
+ /**
2
+ * Centralized brand assets. Set once at app boot via `setBranding({ ... })`. Components
3
+ * that need the brand logo or mesh symbol read these getters — no need to thread an
4
+ * asset through every consumer.
5
+ *
6
+ * @example
7
+ * // app boot (e.g. createAppShell / app entrypoint)
8
+ * setBranding({
9
+ * logo: require("./assets/logo.png"),
10
+ * mesh: require("./assets/brand-mesh.png"),
11
+ * meshSize: 56,
12
+ * });
13
+ */
14
+
15
+ const state = {
16
+ logo: undefined,
17
+ mesh: undefined,
18
+ meshSize: undefined
19
+ };
2
20
  export function setBranding(config) {
3
- if (config.logo !== undefined)
4
- state.logo = config.logo;
5
- if (config.mesh !== undefined)
6
- state.mesh = config.mesh;
7
- if (config.meshSize !== undefined)
8
- state.meshSize = config.meshSize;
21
+ if (config.logo !== undefined) state.logo = config.logo;
22
+ if (config.mesh !== undefined) state.mesh = config.mesh;
23
+ if (config.meshSize !== undefined) state.meshSize = config.meshSize;
9
24
  }
10
25
  export function getBrandingLogo() {
11
- return state.logo;
26
+ return state.logo;
12
27
  }
13
28
  export function getBrandingMesh() {
14
- return state.mesh;
29
+ return state.mesh;
15
30
  }
16
31
  export function getBrandingMeshSize() {
17
- return state.meshSize;
32
+ return state.meshSize;
18
33
  }
34
+
19
35
  /** Test-only — reset to initial empty state. Not part of the public API. */
20
36
  export function __resetBranding() {
21
- state.logo = undefined;
22
- state.mesh = undefined;
23
- state.meshSize = undefined;
37
+ state.logo = undefined;
38
+ state.mesh = undefined;
39
+ state.meshSize = undefined;
24
40
  }
@@ -1,4 +1,78 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from "react";
2
3
  import Svg, { ClipPath, Defs, G, Path, Rect } from "react-native-svg";
3
- const AddItemIcon = ({ size = 25 }) => (_jsxs(Svg, { fill: "none", height: size, viewBox: "0 0 25 24", width: size, children: [_jsxs(G, { clipPath: "url(#clip0_9386_14684)", children: [_jsx(Path, { d: "M8.5 16H5.93C3.64 16 2.5 14.86 2.5 12.57V5.43C2.5 3.14 3.64 2 5.93 2H10.5C12.79 2 13.93 3.14 13.93 5.43", stroke: "#047DF9", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }), _jsx(Path, { d: "M19.0703 22H14.5003C12.2103 22 11.0703 20.86 11.0703 18.57V11.43C11.0703 9.14 12.2103 8 14.5003 8H19.0703C21.3603 8 22.5003 9.14 22.5003 11.43V18.57C22.5003 20.86 21.3603 22 19.0703 22Z", stroke: "#047DF9", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }), _jsx(Path, { d: "M15.3701 15H18.6301", stroke: "#047DF9", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" }), _jsx(Path, { d: "M17 16.63V13.37", stroke: "#047DF9", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" })] }), _jsx(Defs, { children: _jsx(ClipPath, { id: "clip0_9386_14684", children: _jsx(Rect, { fill: "white", height: "24", transform: "translate(0.5)", width: "24" }) }) })] }));
4
+ import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
5
+ const AddItemIcon = t0 => {
6
+ const $ = _c(4);
7
+ const {
8
+ size: t1
9
+ } = t0;
10
+ const size = t1 === undefined ? 25 : t1;
11
+ let t2;
12
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
13
+ t2 = _jsxs(G, {
14
+ clipPath: "url(#clip0_9386_14684)",
15
+ children: [_jsx(Path, {
16
+ d: "M8.5 16H5.93C3.64 16 2.5 14.86 2.5 12.57V5.43C2.5 3.14 3.64 2 5.93 2H10.5C12.79 2 13.93 3.14 13.93 5.43",
17
+ stroke: "#047DF9",
18
+ strokeLinecap: "round",
19
+ strokeLinejoin: "round",
20
+ strokeWidth: "1.5"
21
+ }), _jsx(Path, {
22
+ d: "M19.0703 22H14.5003C12.2103 22 11.0703 20.86 11.0703 18.57V11.43C11.0703 9.14 12.2103 8 14.5003 8H19.0703C21.3603 8 22.5003 9.14 22.5003 11.43V18.57C22.5003 20.86 21.3603 22 19.0703 22Z",
23
+ stroke: "#047DF9",
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ strokeWidth: "1.5"
27
+ }), _jsx(Path, {
28
+ d: "M15.3701 15H18.6301",
29
+ stroke: "#047DF9",
30
+ strokeLinecap: "round",
31
+ strokeLinejoin: "round",
32
+ strokeWidth: "1.5"
33
+ }), _jsx(Path, {
34
+ d: "M17 16.63V13.37",
35
+ stroke: "#047DF9",
36
+ strokeLinecap: "round",
37
+ strokeLinejoin: "round",
38
+ strokeWidth: "1.5"
39
+ })]
40
+ });
41
+ $[0] = t2;
42
+ } else {
43
+ t2 = $[0];
44
+ }
45
+ let t3;
46
+ if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
47
+ t3 = _jsx(Defs, {
48
+ children: _jsx(ClipPath, {
49
+ id: "clip0_9386_14684",
50
+ children: _jsx(Rect, {
51
+ fill: "white",
52
+ height: "24",
53
+ transform: "translate(0.5)",
54
+ width: "24"
55
+ })
56
+ })
57
+ });
58
+ $[1] = t3;
59
+ } else {
60
+ t3 = $[1];
61
+ }
62
+ let t4;
63
+ if ($[2] !== size) {
64
+ t4 = _jsxs(Svg, {
65
+ fill: "none",
66
+ height: size,
67
+ viewBox: "0 0 25 24",
68
+ width: size,
69
+ children: [t2, t3]
70
+ });
71
+ $[2] = size;
72
+ $[3] = t4;
73
+ } else {
74
+ t4 = $[3];
75
+ }
76
+ return t4;
77
+ };
4
78
  export default AddItemIcon;
@@ -1,4 +1,84 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from "react";
2
3
  import Svg, { Path } from "react-native-svg";
3
- const ArrangeCircleIcon = ({ size = 25 }) => (_jsxs(Svg, { fill: "none", height: size, viewBox: "0 0 24 24", width: size, children: [_jsx(Path, { d: "M17.1494 13.82L14.1094 16.86", stroke: "#232933", strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", strokeWidth: "1.5" }), _jsx(Path, { d: "M6.84961 13.82H17.1496", stroke: "#232933", strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", strokeWidth: "1.5" }), _jsx(Path, { d: "M6.84961 10.18L9.88962 7.14001", stroke: "#232933", strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", strokeWidth: "1.5" }), _jsx(Path, { d: "M17.1496 10.18H6.84961", stroke: "#232933", strokeLinecap: "round", strokeLinejoin: "round", strokeMiterlimit: "10", strokeWidth: "1.5" }), _jsx(Path, { d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "black", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "1.5" })] }));
4
+ import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
5
+ const ArrangeCircleIcon = t0 => {
6
+ const $ = _c(7);
7
+ const {
8
+ size: t1
9
+ } = t0;
10
+ const size = t1 === undefined ? 25 : t1;
11
+ let t2;
12
+ let t3;
13
+ let t4;
14
+ let t5;
15
+ let t6;
16
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
17
+ t2 = _jsx(Path, {
18
+ d: "M17.1494 13.82L14.1094 16.86",
19
+ stroke: "#232933",
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round",
22
+ strokeMiterlimit: "10",
23
+ strokeWidth: "1.5"
24
+ });
25
+ t3 = _jsx(Path, {
26
+ d: "M6.84961 13.82H17.1496",
27
+ stroke: "#232933",
28
+ strokeLinecap: "round",
29
+ strokeLinejoin: "round",
30
+ strokeMiterlimit: "10",
31
+ strokeWidth: "1.5"
32
+ });
33
+ t4 = _jsx(Path, {
34
+ d: "M6.84961 10.18L9.88962 7.14001",
35
+ stroke: "#232933",
36
+ strokeLinecap: "round",
37
+ strokeLinejoin: "round",
38
+ strokeMiterlimit: "10",
39
+ strokeWidth: "1.5"
40
+ });
41
+ t5 = _jsx(Path, {
42
+ d: "M17.1496 10.18H6.84961",
43
+ stroke: "#232933",
44
+ strokeLinecap: "round",
45
+ strokeLinejoin: "round",
46
+ strokeMiterlimit: "10",
47
+ strokeWidth: "1.5"
48
+ });
49
+ t6 = _jsx(Path, {
50
+ d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z",
51
+ stroke: "black",
52
+ strokeLinecap: "round",
53
+ strokeLinejoin: "round",
54
+ strokeWidth: "1.5"
55
+ });
56
+ $[0] = t2;
57
+ $[1] = t3;
58
+ $[2] = t4;
59
+ $[3] = t5;
60
+ $[4] = t6;
61
+ } else {
62
+ t2 = $[0];
63
+ t3 = $[1];
64
+ t4 = $[2];
65
+ t5 = $[3];
66
+ t6 = $[4];
67
+ }
68
+ let t7;
69
+ if ($[5] !== size) {
70
+ t7 = _jsxs(Svg, {
71
+ fill: "none",
72
+ height: size,
73
+ viewBox: "0 0 24 24",
74
+ width: size,
75
+ children: [t2, t3, t4, t5, t6]
76
+ });
77
+ $[5] = size;
78
+ $[6] = t7;
79
+ } else {
80
+ t7 = $[6];
81
+ }
82
+ return t7;
83
+ };
4
84
  export default ArrangeCircleIcon;
@@ -1,6 +1,66 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
+ import React from "react";
2
3
  import Svg, { Path } from "react-native-svg";
3
- function ArrowDownIcon({ size = 56, color = "#FFFFFF" }) {
4
- return (_jsxs(Svg, { fill: "none", height: size, viewBox: "0 0 56 56", width: size, children: [_jsx(Path, { d: "M28.0003 51.3333C40.887 51.3333 51.3337 40.8866 51.3337 28C51.3337 15.1133 40.887 4.66663 28.0003 4.66663C15.1137 4.66663 4.66699 15.1133 4.66699 28C4.66699 40.8866 15.1137 51.3333 28.0003 51.3333Z", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3" }), _jsx(Path, { d: "M28 19.8334V33.8334", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3" }), _jsx(Path, { d: "M21 29.1666L28 36.1666L35 29.1666", stroke: color, strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "3" })] }));
4
+ import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
5
+ function ArrowDownIcon(t0) {
6
+ const $ = _c(9);
7
+ const {
8
+ size: t1,
9
+ color: t2
10
+ } = t0;
11
+ const size = t1 === undefined ? 56 : t1;
12
+ const color = t2 === undefined ? "#FFFFFF" : t2;
13
+ let t3;
14
+ let t4;
15
+ let t5;
16
+ if ($[0] !== color) {
17
+ t3 = _jsx(Path, {
18
+ d: "M28.0003 51.3333C40.887 51.3333 51.3337 40.8866 51.3337 28C51.3337 15.1133 40.887 4.66663 28.0003 4.66663C15.1137 4.66663 4.66699 15.1133 4.66699 28C4.66699 40.8866 15.1137 51.3333 28.0003 51.3333Z",
19
+ stroke: color,
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round",
22
+ strokeWidth: "3"
23
+ });
24
+ t4 = _jsx(Path, {
25
+ d: "M28 19.8334V33.8334",
26
+ stroke: color,
27
+ strokeLinecap: "round",
28
+ strokeLinejoin: "round",
29
+ strokeWidth: "3"
30
+ });
31
+ t5 = _jsx(Path, {
32
+ d: "M21 29.1666L28 36.1666L35 29.1666",
33
+ stroke: color,
34
+ strokeLinecap: "round",
35
+ strokeLinejoin: "round",
36
+ strokeWidth: "3"
37
+ });
38
+ $[0] = color;
39
+ $[1] = t3;
40
+ $[2] = t4;
41
+ $[3] = t5;
42
+ } else {
43
+ t3 = $[1];
44
+ t4 = $[2];
45
+ t5 = $[3];
46
+ }
47
+ let t6;
48
+ if ($[4] !== size || $[5] !== t3 || $[6] !== t4 || $[7] !== t5) {
49
+ t6 = _jsxs(Svg, {
50
+ fill: "none",
51
+ height: size,
52
+ viewBox: "0 0 56 56",
53
+ width: size,
54
+ children: [t3, t4, t5]
55
+ });
56
+ $[4] = size;
57
+ $[5] = t3;
58
+ $[6] = t4;
59
+ $[7] = t5;
60
+ $[8] = t6;
61
+ } else {
62
+ t6 = $[8];
63
+ }
64
+ return t6;
5
65
  }
6
66
  export default ArrowDownIcon;