@sincpro/mobile-ui 0.7.2 → 1.0.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 (270) hide show
  1. package/README.md +7 -5
  2. package/dist/Actions/Actions.Button.d.ts +91 -91
  3. package/dist/Actions/Actions.Button.js +36 -43
  4. package/dist/Actions/Actions.FAB.js +5 -5
  5. package/dist/Actions/Actions.FilterButton.js +3 -3
  6. package/dist/Actions/Actions.IconButton.d.ts +31 -31
  7. package/dist/Actions/Actions.IconButton.js +4 -4
  8. package/dist/Actions/index.d.ts +11 -11
  9. package/dist/Actions/index.js +5 -5
  10. package/dist/Dialog/BottomSheet/BottomSheet.Root.js +1 -1
  11. package/dist/Dialog/BottomSheet/index.d.ts +1 -1
  12. package/dist/Dialog/BottomSheet/index.js +1 -1
  13. package/dist/Dialog/Confirmation.context.js +3 -3
  14. package/dist/Dialog/Dialog.ActionSheet.js +6 -6
  15. package/dist/Dialog/Dialog.Confirmation.js +4 -4
  16. package/dist/Dialog/Dialog.EditValue.js +4 -4
  17. package/dist/Dialog/Dialog.Sheet.js +6 -4
  18. package/dist/Dialog/index.d.ts +5 -5
  19. package/dist/Dialog/index.js +5 -5
  20. package/dist/Display/Display.Accordion.js +5 -5
  21. package/dist/Display/Display.Avatar.d.ts +30 -30
  22. package/dist/Display/Display.Avatar.js +2 -2
  23. package/dist/Display/Display.AvatarGroup.js +3 -3
  24. package/dist/Display/Display.Badge.d.ts +3 -3
  25. package/dist/Display/Display.Badge.js +1 -1
  26. package/dist/Display/Display.Card.d.ts +15 -15
  27. package/dist/Display/Display.Card.js +4 -4
  28. package/dist/Display/Display.Carousel.js +2 -2
  29. package/dist/Display/Display.Chip.d.ts +3 -3
  30. package/dist/Display/Display.Chip.js +12 -12
  31. package/dist/Display/Display.CircleButton.d.ts +1 -1
  32. package/dist/Display/Display.CircleButton.js +3 -3
  33. package/dist/Display/Display.CopyableText.js +2 -2
  34. package/dist/Display/Display.CountRecords.js +2 -2
  35. package/dist/Display/Display.DataTable.js +2 -2
  36. package/dist/Display/Display.Date.d.ts +1 -1
  37. package/dist/Display/Display.Date.js +5 -5
  38. package/dist/Display/Display.Divider.d.ts +24 -24
  39. package/dist/Display/Display.Divider.js +1 -1
  40. package/dist/Display/Display.GradientSurface.d.ts +58 -39
  41. package/dist/Display/Display.GradientSurface.js +31 -15
  42. package/dist/Display/Display.Icon.d.ts +1 -1
  43. package/dist/Display/Display.Icon.js +1 -1
  44. package/dist/Display/Display.IconBadge.js +3 -3
  45. package/dist/Display/Display.Image.js +4 -4
  46. package/dist/Display/Display.KeyValue.js +2 -2
  47. package/dist/Display/Display.ListItem.js +5 -5
  48. package/dist/Display/Display.Logo.d.ts +3 -3
  49. package/dist/Display/Display.Logo.js +2 -2
  50. package/dist/Display/Display.MediaCard.js +4 -4
  51. package/dist/Display/Display.MediaEmbed.js +7 -7
  52. package/dist/Display/Display.MenuButton.d.ts +4 -4
  53. package/dist/Display/Display.MenuButton.js +6 -6
  54. package/dist/Display/Display.MenuCard.d.ts +1 -1
  55. package/dist/Display/Display.MenuCard.js +3 -3
  56. package/dist/Display/Display.MenuGrid.d.ts +1 -1
  57. package/dist/Display/Display.MenuGrid.js +1 -1
  58. package/dist/Display/Display.Monetary.d.ts +1 -1
  59. package/dist/Display/Display.Monetary.js +2 -2
  60. package/dist/Display/Display.Pattern.d.ts +33 -12
  61. package/dist/Display/Display.Pattern.js +60 -14
  62. package/dist/Display/Display.PriceTag.js +2 -2
  63. package/dist/Display/Display.ProductCard.js +7 -7
  64. package/dist/Display/Display.Rating.js +3 -3
  65. package/dist/Display/Display.SearchHistory.js +6 -6
  66. package/dist/Display/Display.SectionHeader.js +4 -4
  67. package/dist/Display/Display.Stat.js +2 -2
  68. package/dist/Display/Display.StatCard.js +4 -4
  69. package/dist/Display/Display.StatusDot.js +3 -3
  70. package/dist/Display/Display.Story.js +3 -3
  71. package/dist/Display/Display.StoryTray.js +5 -5
  72. package/dist/Display/Display.StoryViewer.js +4 -4
  73. package/dist/Display/Display.SwipeableRow.js +4 -4
  74. package/dist/Display/Display.Tag.js +2 -2
  75. package/dist/Display/Display.Timeline.js +4 -4
  76. package/dist/Display/Display.Tooltip.js +3 -3
  77. package/dist/Display/index.d.ts +45 -45
  78. package/dist/Display/index.js +42 -42
  79. package/dist/Feedback/ErrorBoundary.d.ts +1 -1
  80. package/dist/Feedback/ErrorBoundary.js +1 -1
  81. package/dist/Feedback/Feedback.Banner.d.ts +3 -3
  82. package/dist/Feedback/Feedback.Banner.js +5 -5
  83. package/dist/Feedback/Feedback.DomainSplashScreen.js +5 -4
  84. package/dist/Feedback/Feedback.Empty.js +3 -3
  85. package/dist/Feedback/Feedback.EmptyState.js +5 -5
  86. package/dist/Feedback/Feedback.Error.js +4 -4
  87. package/dist/Feedback/Feedback.Loading.d.ts +1 -1
  88. package/dist/Feedback/Feedback.Loading.js +2 -2
  89. package/dist/Feedback/Feedback.PermissionCard.js +5 -5
  90. package/dist/Feedback/Feedback.Progress.js +2 -2
  91. package/dist/Feedback/Feedback.ProgressCircle.js +1 -1
  92. package/dist/Feedback/Feedback.Skeleton.js +2 -2
  93. package/dist/Feedback/Feedback.Spinner.js +3 -3
  94. package/dist/Feedback/Feedback.Splash.d.ts +1 -1
  95. package/dist/Feedback/Feedback.Splash.js +7 -6
  96. package/dist/Feedback/Toast.context.js +7 -7
  97. package/dist/Feedback/index.d.ts +13 -13
  98. package/dist/Feedback/index.js +13 -13
  99. package/dist/Form/Form.Button.d.ts +2 -2
  100. package/dist/Form/Form.Button.js +1 -1
  101. package/dist/Form/Form.Checkbox.js +4 -4
  102. package/dist/Form/Form.ControlledCheckbox.js +1 -1
  103. package/dist/Form/Form.ControlledInput.js +1 -1
  104. package/dist/Form/Form.ControlledMonetaryInput.js +1 -1
  105. package/dist/Form/Form.ControlledRadioButton.js +1 -1
  106. package/dist/Form/Form.DatePicker.js +5 -5
  107. package/dist/Form/Form.Dropdown.js +7 -7
  108. package/dist/Form/Form.FAB.d.ts +2 -2
  109. package/dist/Form/Form.FAB.js +1 -1
  110. package/dist/Form/Form.FilterButton.d.ts +2 -2
  111. package/dist/Form/Form.FilterButton.js +1 -1
  112. package/dist/Form/Form.FractionalQuantityInput.js +4 -4
  113. package/dist/Form/Form.IconButton.d.ts +2 -2
  114. package/dist/Form/Form.IconButton.js +1 -1
  115. package/dist/Form/Form.Input.js +4 -4
  116. package/dist/Form/Form.InputField.d.ts +1 -1
  117. package/dist/Form/Form.InputField.js +3 -3
  118. package/dist/Form/Form.MonetaryInput.js +5 -4
  119. package/dist/Form/Form.PasswordInput.d.ts +1 -1
  120. package/dist/Form/Form.PasswordInput.js +3 -3
  121. package/dist/Form/Form.PinInput.js +5 -5
  122. package/dist/Form/Form.QuantitySelector.js +3 -3
  123. package/dist/Form/Form.RadioButton.js +4 -4
  124. package/dist/Form/Form.SearchBar.js +4 -4
  125. package/dist/Form/Form.Select.js +6 -6
  126. package/dist/Form/Form.Slider.js +3 -3
  127. package/dist/Form/Form.Switch.js +4 -4
  128. package/dist/Form/Form.TextInput.js +3 -3
  129. package/dist/Form/index.d.ts +27 -27
  130. package/dist/Form/index.js +25 -25
  131. package/dist/Navigation/Navigation.AppBar.d.ts +5 -4
  132. package/dist/Navigation/Navigation.AppBar.js +10 -10
  133. package/dist/Navigation/Navigation.BottomNav.d.ts +1 -1
  134. package/dist/Navigation/Navigation.BottomNav.js +25 -16
  135. package/dist/Navigation/Navigation.CollapsingHeader.d.ts +1 -1
  136. package/dist/Navigation/Navigation.CollapsingHeader.js +3 -3
  137. package/dist/Navigation/Navigation.FloatingBar.js +2 -2
  138. package/dist/Navigation/Navigation.Header.js +6 -6
  139. package/dist/Navigation/Navigation.HeaderToolbar.js +5 -5
  140. package/dist/Navigation/Navigation.Menu.js +6 -6
  141. package/dist/Navigation/Navigation.MenuSection.js +2 -2
  142. package/dist/Navigation/Navigation.RowItem.d.ts +1 -1
  143. package/dist/Navigation/Navigation.RowItem.js +2 -2
  144. package/dist/Navigation/Navigation.SearchBar.js +6 -6
  145. package/dist/Navigation/Navigation.SegmentedControl.js +4 -4
  146. package/dist/Navigation/Navigation.Steps.js +5 -5
  147. package/dist/Navigation/Navigation.TabIcon.js +2 -2
  148. package/dist/Navigation/Navigation.TabItem.js +2 -2
  149. package/dist/Navigation/Navigation.Tabs.js +5 -5
  150. package/dist/Navigation/index.d.ts +19 -19
  151. package/dist/Navigation/index.js +15 -15
  152. package/dist/Typography/Typography.Heading.d.ts +1 -1
  153. package/dist/Typography/Typography.Heading.js +1 -1
  154. package/dist/Typography/Typography.Text.d.ts +2 -2
  155. package/dist/Typography/Typography.Text.js +8 -6
  156. package/dist/Typography/index.d.ts +2 -2
  157. package/dist/Typography/index.js +2 -2
  158. package/dist/branding.d.ts +22 -0
  159. package/dist/branding.js +20 -3
  160. package/dist/icons/AddItemIcon.d.ts +1 -1
  161. package/dist/icons/ArrangeCircle.d.ts +1 -1
  162. package/dist/icons/ArrowDownIcon.d.ts +1 -1
  163. package/dist/icons/ArrowUpIcon.d.ts +1 -1
  164. package/dist/icons/BoxIcon.d.ts +1 -1
  165. package/dist/icons/BoxTimeIcon.d.ts +1 -1
  166. package/dist/icons/CalendarIcon.d.ts +1 -1
  167. package/dist/icons/CardIcon.d.ts +1 -1
  168. package/dist/icons/CashierIcon.d.ts +1 -1
  169. package/dist/icons/DuoIcon.d.ts +1 -1
  170. package/dist/icons/HomeIcon.d.ts +1 -1
  171. package/dist/icons/HomeIconOutlined.d.ts +1 -1
  172. package/dist/icons/LogoIcon.d.ts +1 -1
  173. package/dist/icons/MoneyReceiveIcon.d.ts +1 -1
  174. package/dist/icons/PinIcon.d.ts +1 -1
  175. package/dist/icons/PrinterIcon.d.ts +1 -1
  176. package/dist/icons/ProfileIcon.d.ts +1 -1
  177. package/dist/icons/SettingsIcon.d.ts +1 -1
  178. package/dist/icons/SinpeIcon.d.ts +1 -1
  179. package/dist/icons/ToggleOffIcon.d.ts +1 -1
  180. package/dist/icons/WalletMoneyIcon.d.ts +1 -1
  181. package/dist/index.d.ts +24 -23
  182. package/dist/index.js +26 -24
  183. package/dist/layouts/AuthContainer.d.ts +5 -2
  184. package/dist/layouts/AuthContainer.js +6 -6
  185. package/dist/layouts/Container.js +1 -1
  186. package/dist/layouts/GradientContainer.js +1 -1
  187. package/dist/layouts/ScrollContainer.js +1 -1
  188. package/dist/layouts/TabNavigatorLayout.js +4 -4
  189. package/dist/primitives/AspectRatio.js +1 -1
  190. package/dist/primitives/BaseButton.d.ts +85 -85
  191. package/dist/primitives/BaseButton.js +34 -50
  192. package/dist/primitives/Box.js +1 -1
  193. package/dist/primitives/Pressable.js +1 -1
  194. package/dist/primitives/Row.js +1 -1
  195. package/dist/primitives/Stack.js +1 -1
  196. package/dist/primitives/index.d.ts +6 -6
  197. package/dist/primitives/index.js +6 -6
  198. package/dist/theme/active.d.ts +1 -1
  199. package/dist/theme/active.js +14 -1
  200. package/dist/theme/build.d.ts +33 -0
  201. package/dist/theme/build.js +118 -0
  202. package/dist/theme/color.d.ts +26 -0
  203. package/dist/theme/color.js +109 -0
  204. package/dist/theme/components/index.d.ts +1 -1
  205. package/dist/theme/components/index.js +1 -1
  206. package/dist/theme/contrast.d.ts +29 -0
  207. package/dist/theme/contrast.js +57 -0
  208. package/dist/theme/css-vars.d.ts +3 -1
  209. package/dist/theme/css-vars.js +29 -3
  210. package/dist/theme/dark.d.ts +3 -4
  211. package/dist/theme/dark.js +91 -48
  212. package/dist/theme/default.d.ts +5 -1
  213. package/dist/theme/default.js +89 -41
  214. package/dist/theme/define.d.ts +4 -1
  215. package/dist/theme/define.js +4 -1
  216. package/dist/theme/globals.css +61 -46
  217. package/dist/theme/index.d.ts +14 -10
  218. package/dist/theme/index.js +13 -9
  219. package/dist/theme/theme.d.ts +1 -1
  220. package/dist/theme/theme.js +2 -2
  221. package/dist/theme/types.d.ts +77 -16
  222. package/dist/theme/types.js +13 -3
  223. package/dist/theme/typography.d.ts +4 -4
  224. package/dist/theme/typography.js +26 -28
  225. package/dist/theme/useTheme.d.ts +1 -1
  226. package/dist/theme/useTheme.js +1 -1
  227. package/dist/theme/validate.d.ts +16 -0
  228. package/dist/theme/validate.js +200 -0
  229. package/dist/tokens/index.d.ts +2 -2
  230. package/dist/tokens/index.js +2 -2
  231. package/dist/views/AppSplashView.d.ts +2 -2
  232. package/dist/views/AppSplashView.js +3 -3
  233. package/dist/views/AuthFormView.d.ts +1 -1
  234. package/dist/views/AuthFormView.js +3 -3
  235. package/dist/views/FormViewV2.d.ts +2 -2
  236. package/dist/views/FormViewV2.js +9 -9
  237. package/dist/views/ListViewV2.d.ts +3 -3
  238. package/dist/views/ListViewV2.js +16 -16
  239. package/dist/views/Wizard/Wizard.context.js +1 -1
  240. package/dist/views/Wizard/Wizard.d.ts +1 -1
  241. package/dist/views/Wizard/Wizard.js +1 -1
  242. package/dist/views/Wizard/index.d.ts +4 -4
  243. package/dist/views/Wizard/index.js +2 -2
  244. package/dist/views/types/IFormView.d.ts +1 -1
  245. package/dist/views/types/IListView.d.ts +1 -1
  246. package/dist/widgets/CircleButton.d.ts +2 -2
  247. package/dist/widgets/CircleButton.js +1 -1
  248. package/dist/widgets/GeoPermissionCard.js +3 -3
  249. package/dist/widgets/HomeHeader.js +3 -3
  250. package/dist/widgets/JSONViewer.js +2 -2
  251. package/dist/widgets/MenuCard.d.ts +2 -2
  252. package/dist/widgets/MenuCard.js +1 -1
  253. package/dist/widgets/MenuGrid.d.ts +3 -3
  254. package/dist/widgets/MenuGrid.js +1 -1
  255. package/dist/widgets/MenuSection.d.ts +2 -2
  256. package/dist/widgets/MenuSection.js +1 -1
  257. package/dist/widgets/PromoBanner.js +3 -3
  258. package/dist/widgets/PromoModal.js +3 -3
  259. package/dist/widgets/QuickActions.js +3 -3
  260. package/dist/widgets/ScreenHeader.js +2 -2
  261. package/dist/widgets/TimeZoneSelector.d.ts +1 -1
  262. package/dist/widgets/TimeZoneSelector.js +4 -4
  263. package/dist/widgets/TimeZoneSelectorModal.d.ts +1 -1
  264. package/dist/widgets/TimeZoneSelectorModal.js +5 -5
  265. package/dist/widgets/index.d.ts +16 -16
  266. package/dist/widgets/index.js +10 -10
  267. package/package.json +56 -50
  268. package/tailwind.preset.js +19 -0
  269. package/dist/icons/icon_getters.d.ts +0 -6
  270. package/dist/icons/icon_getters.js +0 -23
@@ -1,27 +1,73 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import { cn } from "../theme/tw";
3
- import { StyleSheet, View } from "react-native";
4
- import Svg, { Circle, Defs, Line, Pattern as SvgPattern, Rect } from "react-native-svg";
2
+ import { getBrandingMesh, getBrandingMeshSize } from "../branding.js";
3
+ import { theme } from "../theme/index.js";
4
+ import { cn } from "../theme/tw.js";
5
+ import { Image as RNImage, StyleSheet, View, } from "react-native";
6
+ import Svg, { Circle, Defs, FeColorMatrix, Filter, Image as SvgImage, Line, Pattern as SvgPattern, Rect, } from "react-native-svg";
7
+ const BUNDLED_MESH = require("../../assets/brand-mesh.png");
8
+ function resolveMesh(propOverride) {
9
+ if (propOverride)
10
+ return propOverride;
11
+ const branded = getBrandingMesh();
12
+ if (branded)
13
+ return branded;
14
+ return BUNDLED_MESH;
15
+ }
16
+ /**
17
+ * Resolved mesh params per mode. The bundled asset (`assets/brand-mesh.png`) is a
18
+ * black symbol on transparent bg, so the two dark modes flip it via SVG ColorMatrix
19
+ * to produce a light symbol on the dark surface. To swap the asset, pass `meshSrc` on
20
+ * the `<Display.Pattern />` consumer or override `theme.pattern.source`.
21
+ */
22
+ const MESH_PRESETS = {
23
+ "light-pattern": { opacity: 0.2, invert: false, size: 56 },
24
+ "dark-pattern": { opacity: 0.25, invert: true, size: 56 },
25
+ "dark-full": { opacity: 0.55, invert: true, size: 56 },
26
+ };
5
27
  /**
6
- * Decorative SVG texture (dots / grid / diagonals) used as a background layer behind heroes,
7
- * splash, empty states. Tiles to any size via an SVG `<Pattern>`. Pure SVG — iOS + Android,
8
- * no native dep beyond `react-native-svg` (already a peer). Drop inside a relative/overflow
9
- * container (e.g. a `GradientSurface`).
28
+ * Decorative SVG texture used as a background layer. Geometric kinds (dots / grid /
29
+ * diagonals) render inline SVG primitives; `mesh` tiles the symbol asset via
30
+ * `<Pattern>` + `<Image>`, flipping it via SVG `<feColorMatrix>` on dark variants. The
31
+ * three modes — `light-pattern` / `dark-pattern` / `dark-full` — are picked per screen
32
+ * (or via `theme.pattern.mode`); see `MESH_PRESETS` for the resolved opacity/invert.
33
+ * Pure SVG — iOS + Android, no native dep beyond `react-native-svg`.
10
34
  */
11
- function Pattern({ kind = "dots", color = "#FFFFFF", opacity = 0.12, size = 22, absoluteFill = true, className, style, testID, }) {
12
- const id = `pat-${kind}-${size}`;
35
+ function Pattern({ kind = "dots", color = "#FFFFFF", mode, opacity, size, invert, meshSrc, absoluteFill = true, className, style, testID, }) {
36
+ const isMesh = kind === "mesh";
37
+ const fromTheme = isMesh ? theme.pattern : undefined;
38
+ const brandedSize = isMesh ? getBrandingMeshSize() : undefined;
39
+ const resolvedMode = mode ?? fromTheme?.mode ?? "light-pattern";
40
+ const preset = MESH_PRESETS[resolvedMode];
41
+ const resolvedSize = size ?? brandedSize ?? (isMesh ? (fromTheme?.size ?? preset.size) : 22);
42
+ const resolvedOpacity = opacity ?? (isMesh ? preset.opacity : 0.12);
43
+ const resolvedInvert = invert ?? (isMesh ? preset.invert : false);
44
+ const resolvedMeshSrc = isMesh ? resolveMesh(meshSrc ?? fromTheme?.source) : undefined;
45
+ const id = `pat-${kind}-${resolvedSize}-${resolvedInvert ? "inv" : "norm"}`;
46
+ const filterId = `${id}-filter`;
13
47
  const tile = (() => {
14
48
  switch (kind) {
15
49
  case "grid":
16
- return (_jsxs(_Fragment, { children: [_jsx(Line, { stroke: color, strokeWidth: 1, x1: 0, x2: size, y1: 0, y2: 0 }), _jsx(Line, { stroke: color, strokeWidth: 1, x1: 0, x2: 0, y1: 0, y2: size })] }));
50
+ return (_jsxs(_Fragment, { children: [_jsx(Line, { stroke: color, strokeWidth: 1, x1: 0, x2: resolvedSize, y1: 0, y2: 0 }), _jsx(Line, { stroke: color, strokeWidth: 1, x1: 0, x2: 0, y1: 0, y2: resolvedSize })] }));
17
51
  case "diagonals":
18
- return _jsx(Line, { stroke: color, strokeWidth: 1.5, x1: 0, x2: size, y1: size, y2: 0 });
52
+ return (_jsx(Line, { stroke: color, strokeWidth: 1.5, x1: 0, x2: resolvedSize, y1: resolvedSize, y2: 0 }));
53
+ case "mesh": {
54
+ if (!resolvedMeshSrc)
55
+ return null;
56
+ const mesh = RNImage.resolveAssetSource(resolvedMeshSrc);
57
+ if (!mesh)
58
+ return null;
59
+ return (_jsx(SvgImage, { height: resolvedSize, href: mesh.uri, preserveAspectRatio: "xMidYMid meet", width: resolvedSize, x: 0, y: 0 }));
60
+ }
19
61
  case "dots":
20
62
  default:
21
- return _jsx(Circle, { cx: size / 2, cy: size / 2, fill: color, r: 1.4 });
63
+ return _jsx(Circle, { cx: resolvedSize / 2, cy: resolvedSize / 2, fill: color, r: 1.4 });
22
64
  }
23
65
  })();
24
- return (_jsx(View, { className: cn(className), pointerEvents: "none", style: [absoluteFill ? StyleSheet.absoluteFill : undefined, { opacity }, style], testID: testID, children: _jsxs(Svg, { height: "100%", width: "100%", children: [_jsx(Defs, { children: _jsx(SvgPattern, { height: size, id: id, patternUnits: "userSpaceOnUse", width: size, x: 0, y: 0, children: tile }) }), _jsx(Rect, { fill: `url(#${id})`, height: "100%", width: "100%" })] }) }));
66
+ return (_jsx(View, { className: cn(className), pointerEvents: "none", style: [
67
+ absoluteFill ? StyleSheet.absoluteFill : undefined,
68
+ { opacity: resolvedOpacity },
69
+ style,
70
+ ], testID: testID, children: _jsxs(Svg, { height: "100%", width: "100%", children: [_jsxs(Defs, { children: [resolvedInvert && isMesh && (_jsx(Filter, { id: filterId, children: _jsx(FeColorMatrix, { type: "matrix", values: "-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 1 0" }) })), _jsx(SvgPattern, { height: resolvedSize, id: id, patternUnits: "userSpaceOnUse", width: resolvedSize, x: 0, y: 0, children: tile })] }), _jsx(Rect, { fill: `url(#${id})`, filter: resolvedInvert && isMesh ? `url(#${filterId})` : undefined, height: "100%", width: "100%" })] }) }));
25
71
  }
26
72
  export default Pattern;
27
- export { Pattern };
73
+ export { MESH_PRESETS, Pattern };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "nativewind/jsx-runtime";
2
- import { cn } from "../theme/tw";
3
- import { Typography } from "../Typography";
2
+ import { cn } from "../theme/tw.js";
3
+ import { Typography } from "../Typography/index.js";
4
4
  import { View } from "react-native";
5
5
  const sizeMap = {
6
6
  sm: { price: "data", original: "captionSmall" },
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import DisplayImage from "../Display/Display.Image";
3
- import PriceTag from "../Display/Display.PriceTag";
4
- import Rating from "../Display/Display.Rating";
5
- import Pressable from "../primitives/Pressable";
6
- import { theme } from "../theme";
7
- import { cn } from "../theme/tw";
8
- import { Typography } from "../Typography";
2
+ import DisplayImage from "./Display.Image.js";
3
+ import PriceTag from "./Display.PriceTag.js";
4
+ import Rating from "./Display.Rating.js";
5
+ import Pressable from "../primitives/Pressable.js";
6
+ import { theme } from "../theme/index.js";
7
+ import { cn } from "../theme/tw.js";
8
+ import { Typography } from "../Typography/index.js";
9
9
  import { View } from "react-native";
10
10
  function ProductCard({ title, image, price, originalPrice, currency, subtitle, rating, badge, onPress, className, testID, }) {
11
11
  return (_jsxs(Pressable, { accessibilityLabel: title, className: cn("bg-bg-card rounded-xl overflow-hidden border border-border-light", className), onPress: onPress, style: theme.shadow.sm, testID: testID, children: [_jsxs(View, { children: [_jsx(DisplayImage, { aspectRatio: 1, radius: 0, source: image }), badge ? _jsx(View, { className: "absolute top-2 left-2", children: badge }) : null] }), _jsxs(View, { className: "p-3 gap-1", children: [_jsx(Typography.Text, { className: "text-text-primary", numberOfLines: 1, semibold: true, variant: "body", children: title }), subtitle ? (_jsx(Typography.Text, { className: "text-text-secondary", numberOfLines: 1, variant: "bodySmall", children: subtitle })) : null, typeof rating === "number" ? _jsx(Rating, { readOnly: true, size: 14, value: rating }) : null, _jsx(View, { className: "mt-1", children: _jsx(PriceTag, { amount: price, currency: currency, originalAmount: originalPrice, size: "sm" }) })] })] }));
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import Pressable from "../primitives/Pressable";
4
- import { theme } from "../theme";
2
+ import Icon from "./Display.Icon.js";
3
+ import Pressable from "../primitives/Pressable.js";
4
+ import { theme } from "../theme/index.js";
5
5
  import { View } from "react-native";
6
6
  function Rating({ value, max = 5, size = 24, onChange, readOnly = false, className, testID, }) {
7
7
  const interactive = !readOnly && !!onChange;
@@ -1,13 +1,13 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import Pressable from "../primitives/Pressable";
4
- import { theme } from "../theme";
5
- import { cn } from "../theme/tw";
6
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import Pressable from "../primitives/Pressable.js";
4
+ import { theme } from "../theme/index.js";
5
+ import { cn } from "../theme/tw.js";
6
+ import { Typography } from "../Typography/index.js";
7
7
  import { View } from "react-native";
8
8
  function SearchHistory({ items, onSelect, onRemove, onClearAll, title = "Búsquedas recientes", icon = "time-outline", className, testID, }) {
9
9
  if (items.length === 0)
10
10
  return null;
11
- return (_jsxs(View, { className: cn("gap-1", className), testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between px-4 py-1", children: [_jsx(Typography.Text, { className: "text-text-secondary", semibold: true, variant: "bodySmall", children: title }), onClearAll ? (_jsx(Pressable, { accessibilityLabel: "Borrar todo", hitSlop: 8, onPress: onClearAll, children: _jsx(Typography.Text, { className: "text-primary", variant: "bodySmall", children: "Borrar todo" }) })) : null] }), items.map((value) => (_jsxs(Pressable, { accessibilityLabel: value, className: "flex-row items-center gap-3 px-4 py-2.5", onPress: () => onSelect(value), children: [_jsx(Icon, { color: theme.icon.tertiary, name: icon, size: 18 }), _jsx(Typography.Text, { className: "flex-1 text-text-primary", numberOfLines: 1, children: value }), _jsx(Pressable, { accessibilityLabel: `Quitar ${value}`, hitSlop: 10, onPress: () => onRemove(value), children: _jsx(Icon, { color: theme.icon.tertiary, name: "close", size: 16 }) })] }, value)))] }));
11
+ return (_jsxs(View, { className: cn("gap-1", className), testID: testID, children: [_jsxs(View, { className: "flex-row items-center justify-between px-4 py-1", children: [_jsx(Typography.Text, { className: "text-text-secondary", semibold: true, variant: "bodySmall", children: title }), onClearAll ? (_jsx(Pressable, { accessibilityLabel: "Borrar todo", hitSlop: 8, onPress: onClearAll, children: _jsx(Typography.Text, { className: "text-text-accent", variant: "bodySmall", children: "Borrar todo" }) })) : null] }), items.map((value) => (_jsxs(Pressable, { accessibilityLabel: value, className: "flex-row items-center gap-3 px-4 py-2.5", onPress: () => onSelect(value), children: [_jsx(Icon, { color: theme.icon.tertiary, name: icon, size: 18 }), _jsx(Typography.Text, { className: "flex-1 text-text-primary", numberOfLines: 1, children: value }), _jsx(Pressable, { accessibilityLabel: `Quitar ${value}`, hitSlop: 10, onPress: () => onRemove(value), children: _jsx(Icon, { color: theme.icon.tertiary, name: "close", size: 16 }) })] }, value)))] }));
12
12
  }
13
13
  export default SearchHistory;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Pressable from "../primitives/Pressable";
3
- import { cn } from "../theme/tw";
4
- import { Typography } from "../Typography";
2
+ import Pressable from "../primitives/Pressable.js";
3
+ import { cn } from "../theme/tw.js";
4
+ import { Typography } from "../Typography/index.js";
5
5
  import { View } from "react-native";
6
6
  function SectionHeader({ title, subtitle, action, className, testID }) {
7
- return (_jsxs(View, { className: cn("flex-row items-center justify-between px-4 py-2", className), testID: testID, children: [_jsxs(View, { className: "flex-1", children: [_jsx(Typography.Text, { className: "text-text-primary", semibold: true, variant: "subtitle", children: title }), subtitle ? (_jsx(Typography.Text, { className: "text-text-secondary", variant: "bodySmall", children: subtitle })) : null] }), action ? (_jsx(Pressable, { accessibilityRole: "button", hitSlop: 8, onPress: action.onPress, children: _jsx(Typography.Text, { className: "text-primary text-sm font-semibold", children: action.label }) })) : null] }));
7
+ return (_jsxs(View, { className: cn("flex-row items-center justify-between px-4 py-2", className), testID: testID, children: [_jsxs(View, { className: "flex-1", children: [_jsx(Typography.Text, { className: "text-text-primary", semibold: true, variant: "subtitle", children: title }), subtitle ? (_jsx(Typography.Text, { className: "text-text-secondary", variant: "bodySmall", children: subtitle })) : null] }), action ? (_jsx(Pressable, { accessibilityRole: "button", hitSlop: 8, onPress: action.onPress, children: _jsx(Typography.Text, { className: "text-text-accent text-sm font-semibold", children: action.label }) })) : null] }));
8
8
  }
9
9
  export default SectionHeader;
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import { cn } from "../theme/tw";
3
- import { Typography } from "../Typography";
2
+ import { cn } from "../theme/tw.js";
3
+ import { Typography } from "../Typography/index.js";
4
4
  import { View } from "react-native";
5
5
  function Stat({ value, label, align = "center", className, testID }) {
6
6
  return (_jsxs(View, { className: cn(align === "center" ? "items-center" : "items-start", className), testID: testID, children: [_jsx(Typography.Text, { className: "text-text-primary", variant: "dataLarge", children: value }), _jsx(Typography.Text, { className: "text-text-secondary", variant: "caption", children: label })] }));
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import { theme } from "../theme";
4
- import { cn } from "../theme/tw";
5
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import { theme } from "../theme/index.js";
4
+ import { cn } from "../theme/tw.js";
5
+ import { Typography } from "../Typography/index.js";
6
6
  import { View } from "react-native";
7
7
  function StatCard({ label, value, icon, delta, deltaSuffix = "%", hint, trailing, className, testID, }) {
8
8
  const hasDelta = typeof delta === "number";
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import { theme } from "../theme";
3
- import { cn } from "../theme/tw";
4
- import { Typography } from "../Typography";
2
+ import { theme } from "../theme/index.js";
3
+ import { cn } from "../theme/tw.js";
4
+ import { Typography } from "../Typography/index.js";
5
5
  import { View } from "react-native";
6
6
  const statusColor = {
7
7
  online: theme.success,
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Pressable from "../primitives/Pressable";
3
- import { theme } from "../theme";
4
- import { Typography } from "../Typography";
2
+ import Pressable from "../primitives/Pressable.js";
3
+ import { theme } from "../theme/index.js";
4
+ import { Typography } from "../Typography/index.js";
5
5
  import { LinearGradient } from "expo-linear-gradient";
6
6
  import { Image, View } from "react-native";
7
7
  const RING = ["#F58529", "#DD2A7B"];
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import Story from "../Display/Display.Story";
4
- import Pressable from "../primitives/Pressable";
5
- import { theme } from "../theme";
6
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import Story from "./Display.Story.js";
4
+ import Pressable from "../primitives/Pressable.js";
5
+ import { theme } from "../theme/index.js";
6
+ import { Typography } from "../Typography/index.js";
7
7
  import { Image, ScrollView, View } from "react-native";
8
8
  function CreateCard({ create, size }) {
9
9
  const w = size * 1.6;
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import Pressable from "../primitives/Pressable";
4
- import { theme } from "../theme";
5
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import Pressable from "../primitives/Pressable.js";
4
+ import { theme } from "../theme/index.js";
5
+ import { Typography } from "../Typography/index.js";
6
6
  import { LinearGradient } from "expo-linear-gradient";
7
7
  import { Image, Modal, Pressable as RNPressable, View, } from "react-native";
8
8
  import { useSafeAreaInsets } from "react-native-safe-area-context";
@@ -1,10 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import { useTheme } from "../theme";
4
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import { useTheme } from "../theme/index.js";
4
+ import { Typography } from "../Typography/index.js";
5
5
  import { useRef } from "react";
6
6
  import { TouchableOpacity, View } from "react-native";
7
- import { Swipeable } from "react-native-gesture-handler";
7
+ import Swipeable from "react-native-gesture-handler/ReanimatedSwipeable";
8
8
  function ActionButtons({ actions, onDone, }) {
9
9
  const theme = useTheme();
10
10
  return (_jsx(View, { style: { flexDirection: "row" }, children: actions.map((action, index) => (_jsxs(TouchableOpacity, { accessibilityLabel: action.label ?? "Acción", accessibilityRole: "button", activeOpacity: 0.8, onPress: () => {
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import { cn } from "../theme/tw";
3
- import { Typography } from "../Typography";
2
+ import { cn } from "../theme/tw.js";
3
+ import { Typography } from "../Typography/index.js";
4
4
  import { View } from "react-native";
5
5
  function Tag({ label, leading, dotColor, className, testID }) {
6
6
  return (_jsxs(View, { className: cn("flex-row items-center self-start rounded-full bg-bg-muted px-2.5 py-1 gap-1.5", className), testID: testID, children: [dotColor ? (_jsx(View, { style: { width: 8, height: 8, borderRadius: 4, backgroundColor: dotColor } })) : null, leading, _jsx(Typography.Text, { className: "text-text-secondary text-xs font-medium", numberOfLines: 1, children: label })] }));
@@ -1,8 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import { theme } from "../theme";
4
- import { cn } from "../theme/tw";
5
- import { Typography } from "../Typography";
2
+ import Icon from "./Display.Icon.js";
3
+ import { theme } from "../theme/index.js";
4
+ import { cn } from "../theme/tw.js";
5
+ import { Typography } from "../Typography/index.js";
6
6
  import { View } from "react-native";
7
7
  function Timeline({ steps, current, className, testID }) {
8
8
  return (_jsx(View, { className: className, testID: testID, children: steps.map((step, index) => {
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Pressable from "../primitives/Pressable";
3
- import { useTheme } from "../theme";
4
- import { Typography } from "../Typography";
2
+ import Pressable from "../primitives/Pressable.js";
3
+ import { useTheme } from "../theme/index.js";
4
+ import { Typography } from "../Typography/index.js";
5
5
  import { useState } from "react";
6
6
  import { View } from "react-native";
7
7
  function resolvePosition(placement) {
@@ -1,40 +1,40 @@
1
- import AvatarGroup from "../Display/Display.AvatarGroup";
2
- import Badge, { type BadgeProps, BadgeVariants } from "../Display/Display.Badge";
3
- import Carousel from "../Display/Display.Carousel";
4
- import Chip from "../Display/Display.Chip";
5
- import { CircleButton } from "../Display/Display.CircleButton";
6
- import CopyableText from "../Display/Display.CopyableText";
7
- import CountRecords from "../Display/Display.CountRecords";
8
- import DataTable from "../Display/Display.DataTable";
9
- import Date from "../Display/Display.Date";
10
- import Divider from "../Display/Display.Divider";
11
- import GradientSurface from "../Display/Display.GradientSurface";
12
- import IconBadge from "../Display/Display.IconBadge";
13
- import DisplayImage from "../Display/Display.Image";
14
- import KeyValue from "../Display/Display.KeyValue";
15
- import ListItem from "../Display/Display.ListItem";
16
- import MediaCard from "../Display/Display.MediaCard";
17
- import MediaEmbed from "../Display/Display.MediaEmbed";
18
- import MenuButton from "../Display/Display.MenuButton";
19
- import { MenuCard } from "../Display/Display.MenuCard";
20
- import { MenuGrid } from "../Display/Display.MenuGrid";
21
- import Monetary from "../Display/Display.Monetary";
22
- import Pattern from "../Display/Display.Pattern";
23
- import PriceTag from "../Display/Display.PriceTag";
24
- import ProductCard from "../Display/Display.ProductCard";
25
- import Rating from "../Display/Display.Rating";
26
- import SearchHistory from "../Display/Display.SearchHistory";
27
- import SectionHeader from "../Display/Display.SectionHeader";
28
- import Stat from "../Display/Display.Stat";
29
- import StatCard from "../Display/Display.StatCard";
30
- import StatusDot from "../Display/Display.StatusDot";
31
- import Story from "../Display/Display.Story";
32
- import StoryTray from "../Display/Display.StoryTray";
33
- import StoryViewer from "../Display/Display.StoryViewer";
34
- import SwipeableRow from "../Display/Display.SwipeableRow";
35
- import Tag from "../Display/Display.Tag";
36
- import Timeline from "../Display/Display.Timeline";
37
- import Tooltip from "../Display/Display.Tooltip";
1
+ import AvatarGroup from "./Display.AvatarGroup.js";
2
+ import Badge, { type BadgeProps, BadgeVariants } from "./Display.Badge.js";
3
+ import Carousel from "./Display.Carousel.js";
4
+ import Chip from "./Display.Chip.js";
5
+ import { CircleButton } from "./Display.CircleButton.js";
6
+ import CopyableText from "./Display.CopyableText.js";
7
+ import CountRecords from "./Display.CountRecords.js";
8
+ import DataTable from "./Display.DataTable.js";
9
+ import Date from "./Display.Date.js";
10
+ import Divider from "./Display.Divider.js";
11
+ import GradientSurface from "./Display.GradientSurface.js";
12
+ import IconBadge from "./Display.IconBadge.js";
13
+ import DisplayImage from "./Display.Image.js";
14
+ import KeyValue from "./Display.KeyValue.js";
15
+ import ListItem from "./Display.ListItem.js";
16
+ import MediaCard from "./Display.MediaCard.js";
17
+ import MediaEmbed from "./Display.MediaEmbed.js";
18
+ import MenuButton from "./Display.MenuButton.js";
19
+ import { MenuCard } from "./Display.MenuCard.js";
20
+ import { MenuGrid } from "./Display.MenuGrid.js";
21
+ import Monetary from "./Display.Monetary.js";
22
+ import Pattern from "./Display.Pattern.js";
23
+ import PriceTag from "./Display.PriceTag.js";
24
+ import ProductCard from "./Display.ProductCard.js";
25
+ import Rating from "./Display.Rating.js";
26
+ import SearchHistory from "./Display.SearchHistory.js";
27
+ import SectionHeader from "./Display.SectionHeader.js";
28
+ import Stat from "./Display.Stat.js";
29
+ import StatCard from "./Display.StatCard.js";
30
+ import StatusDot from "./Display.StatusDot.js";
31
+ import Story from "./Display.Story.js";
32
+ import StoryTray from "./Display.StoryTray.js";
33
+ import StoryViewer from "./Display.StoryViewer.js";
34
+ import SwipeableRow from "./Display.SwipeableRow.js";
35
+ import Tag from "./Display.Tag.js";
36
+ import Timeline from "./Display.Timeline.js";
37
+ import Tooltip from "./Display.Tooltip.js";
38
38
  export declare const Display: {
39
39
  Badge: typeof Badge;
40
40
  BadgeVariants: typeof BadgeVariants;
@@ -42,11 +42,11 @@ export declare const Display: {
42
42
  children: import("react").ReactNode;
43
43
  className?: string;
44
44
  }) => import("react").JSX.Element) & {
45
- Item: ({ title, children, defaultOpen, className, testID, }: import("../Display/Display.Accordion").AccordionItemProps) => import("react").JSX.Element;
45
+ Item: ({ title, children, defaultOpen, className, testID, }: import("./Display.Accordion.js").AccordionItemProps) => import("react").JSX.Element;
46
46
  };
47
- Avatar: import("react").FC<import("../Display/Display.Avatar").AvatarProps>;
47
+ Avatar: import("react").FC<import("./Display.Avatar.js").AvatarProps>;
48
48
  AvatarGroup: typeof AvatarGroup;
49
- Card: (({ padding, elevation, onPress, className, children, testID, }: import("../Display/Display.Card").CardProps) => import("react").JSX.Element) & {
49
+ Card: (({ padding, elevation, onPress, className, children, testID, }: import("./Display.Card.js").CardProps) => import("react").JSX.Element) & {
50
50
  Title: ({ children, className }: {
51
51
  children: import("react").ReactNode;
52
52
  className?: string;
@@ -84,9 +84,9 @@ export declare const Display: {
84
84
  Date: typeof Date;
85
85
  Divider: typeof Divider;
86
86
  GradientSurface: typeof GradientSurface;
87
- Icon: import("react").FC<import("../Display/Display.Icon").IconProps>;
87
+ Icon: import("react").FC<import("./Display.Icon.js").IconProps>;
88
88
  CountRecords: typeof CountRecords;
89
- Logo: import("react").FC<import("../Display/Display.Logo").LogoProps>;
89
+ Logo: import("react").FC<import("./Display.Logo.js").LogoProps>;
90
90
  CircleButton: typeof CircleButton;
91
91
  MenuButton: typeof MenuButton;
92
92
  MenuCard: typeof MenuCard;
@@ -95,7 +95,7 @@ export declare const Display: {
95
95
  Pattern: typeof Pattern;
96
96
  };
97
97
  export { type BadgeProps, BadgeVariants };
98
- export type { CircleButtonProps } from "../Display/Display.CircleButton";
99
- export type { MenuCardProps } from "../Display/Display.MenuCard";
100
- export type { MenuGridItem } from "../Display/Display.MenuGrid";
98
+ export type { CircleButtonProps } from "./Display.CircleButton.js";
99
+ export type { MenuCardProps } from "./Display.MenuCard.js";
100
+ export type { MenuGridItem } from "./Display.MenuGrid.js";
101
101
  export default Display;
@@ -1,45 +1,45 @@
1
- import Accordion from "../Display/Display.Accordion";
2
- import Avatar from "../Display/Display.Avatar";
3
- import AvatarGroup from "../Display/Display.AvatarGroup";
4
- import Badge, { BadgeVariants, } from "../Display/Display.Badge";
5
- import Card from "../Display/Display.Card";
6
- import Carousel from "../Display/Display.Carousel";
7
- import Chip from "../Display/Display.Chip";
8
- import { CircleButton } from "../Display/Display.CircleButton";
9
- import CopyableText from "../Display/Display.CopyableText";
10
- import CountRecords from "../Display/Display.CountRecords";
11
- import DataTable from "../Display/Display.DataTable";
12
- import Date from "../Display/Display.Date";
13
- import Divider from "../Display/Display.Divider";
14
- import GradientSurface from "../Display/Display.GradientSurface";
15
- import Icon from "../Display/Display.Icon";
16
- import IconBadge from "../Display/Display.IconBadge";
17
- import DisplayImage from "../Display/Display.Image";
18
- import KeyValue from "../Display/Display.KeyValue";
19
- import ListItem from "../Display/Display.ListItem";
20
- import Logo from "../Display/Display.Logo";
21
- import MediaCard from "../Display/Display.MediaCard";
22
- import MediaEmbed from "../Display/Display.MediaEmbed";
23
- import MenuButton from "../Display/Display.MenuButton";
24
- import { MenuCard } from "../Display/Display.MenuCard";
25
- import { MenuGrid } from "../Display/Display.MenuGrid";
26
- import Monetary from "../Display/Display.Monetary";
27
- import Pattern from "../Display/Display.Pattern";
28
- import PriceTag from "../Display/Display.PriceTag";
29
- import ProductCard from "../Display/Display.ProductCard";
30
- import Rating from "../Display/Display.Rating";
31
- import SearchHistory from "../Display/Display.SearchHistory";
32
- import SectionHeader from "../Display/Display.SectionHeader";
33
- import Stat from "../Display/Display.Stat";
34
- import StatCard from "../Display/Display.StatCard";
35
- import StatusDot from "../Display/Display.StatusDot";
36
- import Story from "../Display/Display.Story";
37
- import StoryTray from "../Display/Display.StoryTray";
38
- import StoryViewer from "../Display/Display.StoryViewer";
39
- import SwipeableRow from "../Display/Display.SwipeableRow";
40
- import Tag from "../Display/Display.Tag";
41
- import Timeline from "../Display/Display.Timeline";
42
- import Tooltip from "../Display/Display.Tooltip";
1
+ import Accordion from "./Display.Accordion.js";
2
+ import Avatar from "./Display.Avatar.js";
3
+ import AvatarGroup from "./Display.AvatarGroup.js";
4
+ import Badge, { BadgeVariants, } from "./Display.Badge.js";
5
+ import Card from "./Display.Card.js";
6
+ import Carousel from "./Display.Carousel.js";
7
+ import Chip from "./Display.Chip.js";
8
+ import { CircleButton } from "./Display.CircleButton.js";
9
+ import CopyableText from "./Display.CopyableText.js";
10
+ import CountRecords from "./Display.CountRecords.js";
11
+ import DataTable from "./Display.DataTable.js";
12
+ import Date from "./Display.Date.js";
13
+ import Divider from "./Display.Divider.js";
14
+ import GradientSurface from "./Display.GradientSurface.js";
15
+ import Icon from "./Display.Icon.js";
16
+ import IconBadge from "./Display.IconBadge.js";
17
+ import DisplayImage from "./Display.Image.js";
18
+ import KeyValue from "./Display.KeyValue.js";
19
+ import ListItem from "./Display.ListItem.js";
20
+ import Logo from "./Display.Logo.js";
21
+ import MediaCard from "./Display.MediaCard.js";
22
+ import MediaEmbed from "./Display.MediaEmbed.js";
23
+ import MenuButton from "./Display.MenuButton.js";
24
+ import { MenuCard } from "./Display.MenuCard.js";
25
+ import { MenuGrid } from "./Display.MenuGrid.js";
26
+ import Monetary from "./Display.Monetary.js";
27
+ import Pattern from "./Display.Pattern.js";
28
+ import PriceTag from "./Display.PriceTag.js";
29
+ import ProductCard from "./Display.ProductCard.js";
30
+ import Rating from "./Display.Rating.js";
31
+ import SearchHistory from "./Display.SearchHistory.js";
32
+ import SectionHeader from "./Display.SectionHeader.js";
33
+ import Stat from "./Display.Stat.js";
34
+ import StatCard from "./Display.StatCard.js";
35
+ import StatusDot from "./Display.StatusDot.js";
36
+ import Story from "./Display.Story.js";
37
+ import StoryTray from "./Display.StoryTray.js";
38
+ import StoryViewer from "./Display.StoryViewer.js";
39
+ import SwipeableRow from "./Display.SwipeableRow.js";
40
+ import Tag from "./Display.Tag.js";
41
+ import Timeline from "./Display.Timeline.js";
42
+ import Tooltip from "./Display.Tooltip.js";
43
43
  export const Display = {
44
44
  Badge,
45
45
  BadgeVariants,
@@ -13,6 +13,6 @@ export declare class ErrorBoundary extends Component<ErrorBoundaryProps, ErrorBo
13
13
  static getDerivedStateFromError(error: Error): ErrorBoundaryState;
14
14
  componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
15
15
  handleRetry: () => void;
16
- render(): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | null | undefined;
16
+ render(): string | number | bigint | boolean | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | null | undefined> | React.JSX.Element | null | undefined;
17
17
  }
18
18
  export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx } from "nativewind/jsx-runtime";
2
- import FeedbackError from "../Feedback/Feedback.Error";
2
+ import FeedbackError from "./Feedback.Error.js";
3
3
  import { Component } from "react";
4
4
  export class ErrorBoundary extends Component {
5
5
  constructor(props) {
@@ -1,4 +1,4 @@
1
- import { type VariantProps } from "../theme/tw";
1
+ import { type VariantProps } from "../theme/tw.js";
2
2
  import type { ReactNode } from "react";
3
3
  declare const banner: import("tailwind-variants").TVReturnType<{
4
4
  tone: {
@@ -46,7 +46,7 @@ declare const banner: import("tailwind-variants").TVReturnType<{
46
46
  root: string;
47
47
  title: string;
48
48
  message: string;
49
- }, import("tailwind-variants").TVReturnType<{
49
+ }, import("tailwind-variants").TVReturnTypeLike<{
50
50
  tone: {
51
51
  info: {
52
52
  root: string;
@@ -69,7 +69,7 @@ declare const banner: import("tailwind-variants").TVReturnType<{
69
69
  root: string;
70
70
  title: string;
71
71
  message: string;
72
- }, undefined, unknown, unknown, undefined>>;
72
+ }>>;
73
73
  export interface BannerProps extends VariantProps<typeof banner> {
74
74
  message: string;
75
75
  title?: string;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import Icon from "../Display/Display.Icon";
3
- import Pressable from "../primitives/Pressable";
4
- import { theme } from "../theme";
5
- import { tv } from "../theme/tw";
6
- import { Typography } from "../Typography";
2
+ import Icon from "../Display/Display.Icon.js";
3
+ import Pressable from "../primitives/Pressable.js";
4
+ import { theme } from "../theme/index.js";
5
+ import { tv } from "../theme/tw.js";
6
+ import { Typography } from "../Typography/index.js";
7
7
  import { View } from "react-native";
8
8
  const banner = tv({
9
9
  slots: {
@@ -1,7 +1,8 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "nativewind/jsx-runtime";
2
- import GradientSurface from "../Display/Display.GradientSurface";
3
- import Pattern from "../Display/Display.Pattern";
4
- import { Typography } from "../Typography";
2
+ import GradientSurface from "../Display/Display.GradientSurface.js";
3
+ import Pattern from "../Display/Display.Pattern.js";
4
+ import { theme } from "../theme/index.js";
5
+ import { Typography } from "../Typography/index.js";
5
6
  import { useCallback, useEffect, useState } from "react";
6
7
  import { StyleSheet, View } from "react-native";
7
8
  import Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming, } from "react-native-reanimated";
@@ -58,7 +59,7 @@ function DomainSplashScreen({ domainName, isLoading, children, onComplete, minDu
58
59
  const splashStyle = useAnimatedStyle(() => ({
59
60
  opacity: opacityValue.value,
60
61
  }));
61
- return (_jsxs(View, { style: styles.container, children: [children, _jsx(Animated.View, { pointerEvents: isLoading ? "auto" : "none", style: [StyleSheet.absoluteFill, splashStyle], children: _jsxs(GradientSurface, { preset: "night-green", radius: "none", style: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }, children: [_jsx(Pattern, { color: "#22E584", kind: "dots", opacity: 0.14, size: 26 }), _jsx(View, { className: "flex-1 justify-center items-center px-8", children: _jsxs(View, { className: "w-full items-center gap-5", children: [_jsx(Typography.Text, { bold: true, style: { color: "#FFFFFF", fontSize: 24, letterSpacing: 0.5 }, children: isComplete ? "¡Listo!" : `Cargando ${domainName}` }), !isComplete && (_jsx(View, { className: "w-full rounded-full h-1.5 overflow-hidden", style: { backgroundColor: "rgba(255,255,255,0.18)" }, children: _jsx(Animated.View, { className: "rounded-full h-1.5", style: [{ backgroundColor: "#22E584" }, progressBarStyle] }) })), isComplete && (_jsxs(Typography.Text, { style: { color: "rgba(255,255,255,0.8)", fontSize: 13 }, children: ["Ya puedes comenzar a usar ", domainName, "."] }))] }) })] }) })] }));
62
+ return (_jsxs(View, { style: styles.container, children: [children, _jsx(Animated.View, { pointerEvents: isLoading ? "auto" : "none", style: [StyleSheet.absoluteFill, splashStyle], children: _jsxs(GradientSurface, { preset: "warm", radius: "none", style: { position: "absolute", top: 0, left: 0, right: 0, bottom: 0 }, children: [_jsx(Pattern, { color: theme.primary, kind: "dots", opacity: 0.14, size: 26 }), _jsx(View, { className: "flex-1 justify-center items-center px-8", children: _jsxs(View, { className: "w-full items-center gap-5", children: [_jsx(Typography.Text, { bold: true, style: { color: "#FFFFFF", fontSize: 24, letterSpacing: 0.5 }, children: isComplete ? "¡Listo!" : `Cargando ${domainName}` }), !isComplete && (_jsx(View, { className: "w-full rounded-full h-1.5 overflow-hidden", style: { backgroundColor: "rgba(255,255,255,0.18)" }, children: _jsx(Animated.View, { className: "rounded-full h-1.5", style: [{ backgroundColor: theme.primary }, progressBarStyle] }) })), isComplete && (_jsxs(Typography.Text, { style: { color: "rgba(255,255,255,0.8)", fontSize: 13 }, children: ["Ya puedes comenzar a usar ", domainName, "."] }))] }) })] }) })] }));
62
63
  }
63
64
  const styles = StyleSheet.create({
64
65
  container: {