@sincpro/mobile-ui 3.0.0 → 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 +7 -2
  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,156 +1,575 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "nativewind/jsx-runtime";
1
+ import { c as _c } from "react/compiler-runtime";
2
2
  import { Actions } from "../Actions/index.js";
3
3
  import Sheet from "../Dialog/Dialog.Sheet.js";
4
4
  import Input from "../Form/Form.Input.js";
5
5
  import KeyboardForm from "../Form/Form.KeyboardForm.js";
6
6
  import Pressable from "../primitives/Pressable.js";
7
7
  import { Typography } from "../Typography/index.js";
8
- import { describeCriteria, moveCollectionEntry, validateCriteria, } from "../utils/criteria.js";
8
+ import { attempt } from "../utils/async.js";
9
+ import { describeCriteria, moveCollectionEntry, validateCriteria } from "../utils/criteria.js";
9
10
  import FilterBuilder from "./FilterBuilder.js";
10
11
  import QueryChoice from "./QueryChoice.js";
11
12
  import { useRef, useState } from "react";
12
13
  import { Keyboard, View } from "react-native";
13
- const sections = [
14
- { id: "filter", label: "Filtros" },
15
- { id: "sort", label: "Ordenar" },
16
- { id: "group", label: "Agrupar" },
17
- { id: "saved", label: "Guardados" },
18
- ];
19
- function OptionsEditor({ value, fields, sortFields = [], groupFields = [], savedQueries = [], onApply, onClose, onSave, onPendingChange, }) {
20
- const pending = useRef(false);
21
- const [draft, setDraft] = useState(value);
22
- const [section, setSection] = useState("filter");
23
- const [editing, setEditing] = useState(false);
24
- const [label, setLabel] = useState("");
25
- const [error, setError] = useState();
26
- const [status, setStatus] = useState();
27
- const [saving, setSaving] = useState(false);
28
- const [applying, setApplying] = useState(false);
29
- const problem = () => validateCriteria(draft.filter, fields) ??
30
- (draft.sort.some((sort) => !sortFields.some((field) => field.id === sort.field))
31
- ? "El orden contiene un campo no disponible."
32
- : undefined) ??
33
- (draft.groupBy.some((id) => !groupFields.some((field) => field.id === id))
34
- ? "El agrupado contiene un campo no disponible."
35
- : undefined);
36
- const close = () => {
37
- if (!pending.current) {
38
- Keyboard.dismiss();
39
- onClose();
40
- }
14
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "nativewind/jsx-runtime";
15
+ const sections = [{
16
+ id: "filter",
17
+ label: "Filtros"
18
+ }, {
19
+ id: "sort",
20
+ label: "Ordenar"
21
+ }, {
22
+ id: "group",
23
+ label: "Agrupar"
24
+ }, {
25
+ id: "saved",
26
+ label: "Guardados"
27
+ }];
28
+ function OptionsEditor(t0) {
29
+ const $ = _c(74);
30
+ const {
31
+ value,
32
+ fields,
33
+ sortFields: t1,
34
+ groupFields: t2,
35
+ savedQueries: t3,
36
+ onApply,
37
+ onClose,
38
+ onSave,
39
+ onPendingChange
40
+ } = t0;
41
+ const sortFields = t1 === undefined ? [] : t1;
42
+ const groupFields = t2 === undefined ? [] : t2;
43
+ let t4;
44
+ if ($[0] !== t3) {
45
+ t4 = t3 === undefined ? [] : t3;
46
+ $[0] = t3;
47
+ $[1] = t4;
48
+ } else {
49
+ t4 = $[1];
50
+ }
51
+ const savedQueries = t4;
52
+ const pending = useRef(false);
53
+ const [draft, setDraft] = useState(value);
54
+ const [section, setSection] = useState("filter");
55
+ const [editing, setEditing] = useState(false);
56
+ const [label, setLabel] = useState("");
57
+ const [error, setError] = useState();
58
+ const [status, setStatus] = useState();
59
+ const [saving, setSaving] = useState(false);
60
+ const [applying, setApplying] = useState(false);
61
+ const problem = () => validateCriteria(draft.filter, fields) ?? (draft.sort.some(sort => !sortFields.some(field_0 => field_0.id === sort.field)) ? "El orden contiene un campo no disponible." : undefined) ?? (draft.groupBy.some(id => !groupFields.some(field => field.id === id)) ? "El agrupado contiene un campo no disponible." : undefined);
62
+ let t5;
63
+ if ($[2] !== onClose) {
64
+ t5 = () => {
65
+ if (!pending.current) {
66
+ Keyboard.dismiss();
67
+ onClose();
68
+ }
69
+ };
70
+ $[2] = onClose;
71
+ $[3] = t5;
72
+ } else {
73
+ t5 = $[3];
74
+ }
75
+ const close = t5;
76
+ let t6;
77
+ if ($[4] !== draft.groupBy || $[5] !== draft.sort || $[6] !== section) {
78
+ t6 = section === "sort" ? draft.sort.map(_temp) : draft.groupBy;
79
+ $[4] = draft.groupBy;
80
+ $[5] = draft.sort;
81
+ $[6] = section;
82
+ $[7] = t6;
83
+ } else {
84
+ t6 = $[7];
85
+ }
86
+ const ordered = t6;
87
+ const available = section === "sort" ? sortFields : groupFields;
88
+ let t7;
89
+ if ($[8] !== section) {
90
+ t7 = next => setDraft(current => section === "sort" ? {
91
+ ...current,
92
+ sort: next.map(field_1 => current.sort.find(entry_0 => entry_0.field === field_1) ?? {
93
+ field: field_1,
94
+ direction: "asc"
95
+ })
96
+ } : {
97
+ ...current,
98
+ groupBy: next
99
+ });
100
+ $[8] = section;
101
+ $[9] = t7;
102
+ } else {
103
+ t7 = $[9];
104
+ }
105
+ const updateOrder = t7;
106
+ let t8;
107
+ if ($[10] !== draft || $[11] !== label || $[12] !== onPendingChange || $[13] !== onSave || $[14] !== problem) {
108
+ t8 = async () => {
109
+ if (!onSave || pending.current) {
110
+ return;
111
+ }
112
+ const invalid = problem();
113
+ if (invalid || !label.trim()) {
114
+ setError(invalid ?? "Escribe un nombre para guardar.");
115
+ return;
116
+ }
117
+ pending.current = true;
118
+ setSaving(true);
119
+ onPendingChange(true);
120
+ setError(undefined);
121
+ setStatus(undefined);
122
+ const result = await attempt(async () => {
123
+ await onSave(label.trim(), draft);
124
+ setStatus("Configuraci\xF3n guardada. Pulsa Aplicar configuraci\xF3n para usarla.");
125
+ });
126
+ pending.current = false;
127
+ setSaving(false);
128
+ onPendingChange(false);
129
+ if (!result.ok) {
130
+ console.error("[CollectionOptions] Save failed", result.error);
131
+ setError("No se pudo guardar. Conservamos la configuraci\xF3n para reintentar.");
132
+ }
133
+ };
134
+ $[10] = draft;
135
+ $[11] = label;
136
+ $[12] = onPendingChange;
137
+ $[13] = onSave;
138
+ $[14] = problem;
139
+ $[15] = t8;
140
+ } else {
141
+ t8 = $[15];
142
+ }
143
+ const saveConfiguration = t8;
144
+ let t9;
145
+ if ($[16] !== draft || $[17] !== editing || $[18] !== onApply || $[19] !== onClose || $[20] !== onPendingChange || $[21] !== problem) {
146
+ t9 = async () => {
147
+ if (editing || pending.current) {
148
+ return;
149
+ }
150
+ const invalid_0 = problem();
151
+ if (invalid_0) {
152
+ setError(invalid_0);
153
+ return;
154
+ }
155
+ pending.current = true;
156
+ setSaving(true);
157
+ setApplying(true);
158
+ onPendingChange(true);
159
+ setError(undefined);
160
+ const result_0 = await attempt(async () => {
161
+ await onApply(draft);
162
+ Keyboard.dismiss();
163
+ onClose();
164
+ });
165
+ pending.current = false;
166
+ setSaving(false);
167
+ setApplying(false);
168
+ onPendingChange(false);
169
+ if (!result_0.ok) {
170
+ console.error("[CollectionOptions] Apply failed", result_0.error);
171
+ setError("No se pudo aplicar. Conservamos la configuraci\xF3n para reintentar.");
172
+ }
173
+ };
174
+ $[16] = draft;
175
+ $[17] = editing;
176
+ $[18] = onApply;
177
+ $[19] = onClose;
178
+ $[20] = onPendingChange;
179
+ $[21] = problem;
180
+ $[22] = t9;
181
+ } else {
182
+ t9 = $[22];
183
+ }
184
+ const applyConfiguration = t9;
185
+ const T0 = View;
186
+ let t10;
187
+ if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
188
+ t10 = {
189
+ flex: 1,
190
+ minHeight: 0
41
191
  };
42
- const ordered = section === "sort" ? draft.sort.map((entry) => entry.field) : draft.groupBy;
43
- const available = section === "sort" ? sortFields : groupFields;
44
- const updateOrder = (next) => setDraft((current) => section === "sort"
45
- ? {
46
- ...current,
47
- sort: next.map((field) => current.sort.find((entry) => entry.field === field) ?? {
48
- field,
49
- direction: "asc",
50
- }),
51
- }
52
- : { ...current, groupBy: next });
53
- const saveConfiguration = async () => {
54
- if (!onSave || pending.current)
55
- return;
56
- const invalid = problem();
57
- if (invalid || !label.trim()) {
58
- setError(invalid ?? "Escribe un nombre para guardar.");
59
- return;
60
- }
61
- pending.current = true;
62
- setSaving(true);
63
- onPendingChange(true);
192
+ $[23] = t10;
193
+ } else {
194
+ t10 = $[23];
195
+ }
196
+ let t11;
197
+ if ($[24] !== editing || $[25] !== saving || $[26] !== section) {
198
+ t11 = sections.map(item => _jsx(Pressable, {
199
+ accessibilityLabel: item.label,
200
+ accessibilityRole: "tab",
201
+ accessibilityState: {
202
+ selected: item.id === section,
203
+ disabled: editing || saving
204
+ },
205
+ disabled: editing || saving,
206
+ onPress: () => {
207
+ Keyboard.dismiss();
208
+ setSection(item.id);
64
209
  setError(undefined);
65
210
  setStatus(undefined);
66
- try {
67
- await onSave(label.trim(), draft);
68
- setStatus("Configuración guardada. Pulsa Aplicar configuración para usarla.");
69
- }
70
- catch (cause) {
71
- console.error("[CollectionOptions] Save failed", cause);
72
- setError("No se pudo guardar. Conservamos la configuración para reintentar.");
73
- }
74
- finally {
75
- pending.current = false;
76
- setSaving(false);
77
- onPendingChange(false);
78
- }
211
+ },
212
+ style: {
213
+ minHeight: 48,
214
+ justifyContent: "center",
215
+ paddingHorizontal: 8
216
+ },
217
+ children: _jsx(Typography.Text, {
218
+ className: section === item.id ? "text-text-accent" : "text-text-secondary",
219
+ semibold: section === item.id,
220
+ variant: "bodySmall",
221
+ children: item.label
222
+ })
223
+ }, item.id));
224
+ $[24] = editing;
225
+ $[25] = saving;
226
+ $[26] = section;
227
+ $[27] = t11;
228
+ } else {
229
+ t11 = $[27];
230
+ }
231
+ let t12;
232
+ if ($[28] !== t11) {
233
+ t12 = _jsx(View, {
234
+ accessibilityRole: "tablist",
235
+ className: "flex-row flex-wrap px-4 gap-2",
236
+ children: t11
237
+ });
238
+ $[28] = t11;
239
+ $[29] = t12;
240
+ } else {
241
+ t12 = $[29];
242
+ }
243
+ const T1 = View;
244
+ const t13 = saving ? "no-hide-descendants" : "auto";
245
+ const t14 = saving ? "none" : "auto";
246
+ let t15;
247
+ if ($[30] === Symbol.for("react.memo_cache_sentinel")) {
248
+ t15 = {
249
+ flex: 1,
250
+ minHeight: 0
79
251
  };
80
- const applyConfiguration = async () => {
81
- if (editing || pending.current)
82
- return;
83
- const invalid = problem();
84
- if (invalid) {
85
- setError(invalid);
86
- return;
87
- }
88
- pending.current = true;
89
- setSaving(true);
90
- setApplying(true);
91
- onPendingChange(true);
92
- setError(undefined);
93
- try {
94
- await onApply(draft);
95
- Keyboard.dismiss();
96
- onClose();
97
- }
98
- catch (cause) {
99
- console.error("[CollectionOptions] Apply failed", cause);
100
- setError("No se pudo aplicar. Conservamos la configuración para reintentar.");
101
- }
102
- finally {
103
- pending.current = false;
104
- setSaving(false);
105
- setApplying(false);
106
- onPendingChange(false);
107
- }
252
+ $[30] = t15;
253
+ } else {
254
+ t15 = $[30];
255
+ }
256
+ const T2 = KeyboardForm;
257
+ let t16;
258
+ if ($[31] === Symbol.for("react.memo_cache_sentinel")) {
259
+ t16 = {
260
+ paddingVertical: 16,
261
+ gap: 16
108
262
  };
109
- return (_jsxs(View, { style: { flex: 1, minHeight: 0 }, children: [_jsx(View, { accessibilityRole: "tablist", className: "flex-row flex-wrap px-4 gap-2", children: sections.map((item) => (_jsx(Pressable, { accessibilityLabel: item.label, accessibilityRole: "tab", accessibilityState: {
110
- selected: item.id === section,
111
- disabled: editing || saving,
112
- }, disabled: editing || saving, onPress: () => {
113
- Keyboard.dismiss();
114
- setSection(item.id);
115
- setError(undefined);
116
- setStatus(undefined);
117
- }, style: { minHeight: 48, justifyContent: "center", paddingHorizontal: 8 }, children: _jsx(Typography.Text, { className: section === item.id ? "text-text-accent" : "text-text-secondary", semibold: section === item.id, variant: "bodyLarge", children: item.label }) }, item.id))) }), _jsx(View, { importantForAccessibility: saving ? "no-hide-descendants" : "auto", pointerEvents: saving ? "none" : "auto", style: { flex: 1, minHeight: 0 }, children: _jsxs(KeyboardForm, { contentContainerStyle: { paddingVertical: 16, gap: 16 }, children: [!editing ? (_jsx(Typography.Text, { className: "text-text-secondary", variant: "bodyLarge", children: describeCriteria(draft.filter, fields) })) : null, section === "filter" ? (_jsx(FilterBuilder, { fields: fields, onChange: (filter) => {
118
- setError(undefined);
119
- setDraft({ ...draft, filter });
120
- }, onEditingChange: setEditing, value: draft.filter })) : section === "saved" ? (_jsxs(_Fragment, { children: [_jsx(Typography.Text, { variant: "bodyReadable", children: "Una configuraci\u00F3n incluye b\u00FAsqueda, condiciones, orden y niveles de agrupaci\u00F3n. Cargarla todav\u00EDa no modifica la colecci\u00F3n." }), !savedQueries.length ? (_jsx(Typography.Text, { children: "No hay configuraciones guardadas." })) : (savedQueries.map((saved) => (_jsx(Actions.Button, { disabled: saving, onPress: () => {
121
- setDraft(saved.query);
122
- setError(undefined);
123
- setStatus(`Configuración ${saved.label} cargada. Pulsa Aplicar configuración.`);
124
- }, title: `Cargar ${saved.label}`, variant: "secondary" }, saved.id)))), onSave ? (_jsxs(_Fragment, { children: [_jsx(Input, { editable: !saving, label: "Nombre de la configuraci\u00F3n", onChangeText: setLabel, testID: "collection-query-name", value: label }), _jsx(Actions.Button, { loading: saving, onPress: () => void saveConfiguration(), title: "Guardar configuraci\u00F3n" })] })) : null] })) : (_jsxs(_Fragment, { children: [_jsx(Typography.Text, { variant: "bodyReadable", children: section === "sort"
125
- ? "El primer campo tiene prioridad; los siguientes resuelven empates."
126
- : "Los grupos se anidan en este orden. La app aplica los niveles al conjunto completo." }), !ordered.length ? (_jsx(Typography.Text, { children: section === "sort" ? "Sin orden configurado." : "Sin agrupación." })) : null, ordered.map((id, index) => {
127
- const field = available.find((item) => item.id === id);
128
- const sort = draft.sort.find((entry) => entry.field === id);
129
- return (_jsxs(View, { className: "gap-2 border-b border-border-light pb-3", children: [_jsxs(Typography.Text, { semibold: true, variant: "bodyReadable", children: [index + 1, ". ", field?.label ?? `${id} (no disponible)`] }), section === "sort" ? (_jsx(Actions.Button, { onPress: () => setDraft({
130
- ...draft,
131
- sort: draft.sort.map((entry) => entry.field === id
132
- ? {
133
- ...entry,
134
- direction: entry.direction === "asc" ? "desc" : "asc",
135
- }
136
- : entry),
137
- }), title: `${field?.label ?? id}: ${sort?.direction === "asc" ? (field?.ascLabel ?? "Ascendente") : (field?.descLabel ?? "Descendente")}`, variant: "secondary" })) : null, _jsxs(View, { className: "flex-row flex-wrap gap-2", children: [_jsx(Actions.Button, { accessibilityLabel: `Subir ${field?.label ?? id}`, disabled: index === 0, onPress: () => updateOrder(moveCollectionEntry(ordered, index, -1)), title: "Subir", variant: "link" }), _jsx(Actions.Button, { accessibilityLabel: `Bajar ${field?.label ?? id}`, disabled: index === ordered.length - 1, onPress: () => updateOrder(moveCollectionEntry(ordered, index, 1)), title: "Bajar", variant: "link" }), _jsx(Actions.Button, { accessibilityLabel: `Quitar ${field?.label ?? id}`, onPress: () => updateOrder(ordered.filter((key) => key !== id)), title: "Quitar", variant: "link" })] })] }, id));
138
- }), available.some((field) => !ordered.includes(field.id)) ? (_jsx(QueryChoice, { label: section === "sort"
139
- ? "Añadir criterio de orden"
140
- : "Añadir nivel de agrupación", onChange: (id) => updateOrder([...ordered, id]), options: available
141
- .filter((field) => !ordered.includes(field.id))
142
- .map((field) => ({ label: field.label, value: field.id })), value: undefined })) : null] })), status ? (_jsx(Typography.Text, { accessibilityLiveRegion: "polite", children: status })) : null] }) }), error ? (_jsx(Typography.Text, { accessibilityLiveRegion: "polite", accessibilityRole: "alert", className: "pb-3 text-danger", selectable: true, children: error })) : null, _jsxs(View, { className: "py-3 border-t border-border-light gap-2", children: [editing ? (_jsx(Typography.Text, { children: "Guarda o cancela la condici\u00F3n antes de aplicar." })) : null, _jsx(Actions.Button, { accessibilityLabel: "Cancelar configuraci\u00F3n", disabled: saving, onPress: close, title: "Cancelar", variant: "secondary" }), _jsx(Actions.Button, { disabled: editing || saving, loading: applying, onPress: () => void applyConfiguration(), title: "Aplicar configuraci\u00F3n" })] })] }));
263
+ $[31] = t16;
264
+ } else {
265
+ t16 = $[31];
266
+ }
267
+ let t17;
268
+ if ($[32] !== draft.filter || $[33] !== editing || $[34] !== fields) {
269
+ t17 = !editing ? _jsx(Typography.Text, {
270
+ className: "text-text-secondary",
271
+ variant: "bodySmall",
272
+ children: describeCriteria(draft.filter, fields)
273
+ }) : null;
274
+ $[32] = draft.filter;
275
+ $[33] = editing;
276
+ $[34] = fields;
277
+ $[35] = t17;
278
+ } else {
279
+ t17 = $[35];
280
+ }
281
+ const t18 = section === "filter" ? _jsx(FilterBuilder, {
282
+ fields: fields,
283
+ onChange: filter => {
284
+ setError(undefined);
285
+ setDraft({
286
+ ...draft,
287
+ filter
288
+ });
289
+ },
290
+ onEditingChange: setEditing,
291
+ value: draft.filter
292
+ }) : section === "saved" ? _jsxs(_Fragment, {
293
+ children: [_jsx(Typography.Text, {
294
+ variant: "body",
295
+ children: "Una configuraci\xF3n incluye b\xFAsqueda, condiciones, orden y niveles de agrupaci\xF3n. Cargarla todav\xEDa no modifica la colecci\xF3n."
296
+ }), !savedQueries.length ? _jsx(Typography.Text, {
297
+ children: "No hay configuraciones guardadas."
298
+ }) : savedQueries.map(saved => _jsx(Actions.Button, {
299
+ disabled: saving,
300
+ onPress: () => {
301
+ setDraft(saved.query);
302
+ setError(undefined);
303
+ setStatus(`Configuración ${saved.label} cargada. Pulsa Aplicar configuración.`);
304
+ },
305
+ title: `Cargar ${saved.label}`,
306
+ variant: "secondary"
307
+ }, saved.id)), onSave ? _jsxs(_Fragment, {
308
+ children: [_jsx(Input, {
309
+ editable: !saving,
310
+ label: "Nombre de la configuraci\xF3n",
311
+ onChangeText: setLabel,
312
+ testID: "collection-query-name",
313
+ value: label
314
+ }), _jsx(Actions.Button, {
315
+ loading: saving,
316
+ onPress: () => void saveConfiguration(),
317
+ title: "Guardar configuraci\xF3n"
318
+ })]
319
+ }) : null]
320
+ }) : _jsxs(_Fragment, {
321
+ children: [_jsx(Typography.Text, {
322
+ variant: "body",
323
+ children: section === "sort" ? "El primer campo tiene prioridad; los siguientes resuelven empates." : "Los grupos se anidan en este orden. La app aplica los niveles al conjunto completo."
324
+ }), !ordered.length ? _jsx(Typography.Text, {
325
+ children: section === "sort" ? "Sin orden configurado." : "Sin agrupaci\xF3n."
326
+ }) : null, ordered.map((id_0, index) => {
327
+ const field_2 = available.find(item_0 => item_0.id === id_0);
328
+ const sort_0 = draft.sort.find(entry_1 => entry_1.field === id_0);
329
+ return _jsxs(View, {
330
+ className: "gap-2 border-b border-border-light pb-3",
331
+ children: [_jsxs(Typography.Text, {
332
+ semibold: true,
333
+ variant: "body",
334
+ children: [index + 1, ". ", field_2?.label ?? `${id_0} (no disponible)`]
335
+ }), section === "sort" ? _jsx(Actions.Button, {
336
+ onPress: () => setDraft({
337
+ ...draft,
338
+ sort: draft.sort.map(entry_2 => entry_2.field === id_0 ? {
339
+ ...entry_2,
340
+ direction: entry_2.direction === "asc" ? "desc" : "asc"
341
+ } : entry_2)
342
+ }),
343
+ title: `${field_2?.label ?? id_0}: ${sort_0?.direction === "asc" ? field_2?.ascLabel ?? "Ascendente" : field_2?.descLabel ?? "Descendente"}`,
344
+ variant: "secondary"
345
+ }) : null, _jsxs(View, {
346
+ className: "flex-row flex-wrap gap-2",
347
+ children: [_jsx(Actions.Button, {
348
+ accessibilityLabel: `Subir ${field_2?.label ?? id_0}`,
349
+ disabled: index === 0,
350
+ onPress: () => updateOrder(moveCollectionEntry(ordered, index, -1)),
351
+ title: "Subir",
352
+ variant: "link"
353
+ }), _jsx(Actions.Button, {
354
+ accessibilityLabel: `Bajar ${field_2?.label ?? id_0}`,
355
+ disabled: index === ordered.length - 1,
356
+ onPress: () => updateOrder(moveCollectionEntry(ordered, index, 1)),
357
+ title: "Bajar",
358
+ variant: "link"
359
+ }), _jsx(Actions.Button, {
360
+ accessibilityLabel: `Quitar ${field_2?.label ?? id_0}`,
361
+ onPress: () => updateOrder(ordered.filter(key => key !== id_0)),
362
+ title: "Quitar",
363
+ variant: "link"
364
+ })]
365
+ })]
366
+ }, id_0);
367
+ }), available.some(field_5 => !ordered.includes(field_5.id)) ? _jsx(QueryChoice, {
368
+ label: section === "sort" ? "A\xF1adir criterio de orden" : "A\xF1adir nivel de agrupaci\xF3n",
369
+ onChange: id_1 => updateOrder([...ordered, id_1]),
370
+ options: available.filter(field_3 => !ordered.includes(field_3.id)).map(_temp2),
371
+ value: undefined
372
+ }) : null]
373
+ });
374
+ let t19;
375
+ if ($[36] !== status) {
376
+ t19 = status ? _jsx(Typography.Text, {
377
+ accessibilityLiveRegion: "polite",
378
+ children: status
379
+ }) : null;
380
+ $[36] = status;
381
+ $[37] = t19;
382
+ } else {
383
+ t19 = $[37];
384
+ }
385
+ let t20;
386
+ if ($[38] !== T2 || $[39] !== t16 || $[40] !== t17 || $[41] !== t18 || $[42] !== t19) {
387
+ t20 = _jsxs(T2, {
388
+ contentContainerStyle: t16,
389
+ children: [t17, t18, t19]
390
+ });
391
+ $[38] = T2;
392
+ $[39] = t16;
393
+ $[40] = t17;
394
+ $[41] = t18;
395
+ $[42] = t19;
396
+ $[43] = t20;
397
+ } else {
398
+ t20 = $[43];
399
+ }
400
+ let t21;
401
+ if ($[44] !== T1 || $[45] !== t13 || $[46] !== t14 || $[47] !== t15 || $[48] !== t20) {
402
+ t21 = _jsx(T1, {
403
+ importantForAccessibility: t13,
404
+ pointerEvents: t14,
405
+ style: t15,
406
+ children: t20
407
+ });
408
+ $[44] = T1;
409
+ $[45] = t13;
410
+ $[46] = t14;
411
+ $[47] = t15;
412
+ $[48] = t20;
413
+ $[49] = t21;
414
+ } else {
415
+ t21 = $[49];
416
+ }
417
+ let t22;
418
+ if ($[50] !== error) {
419
+ t22 = error ? _jsx(Typography.Text, {
420
+ accessibilityLiveRegion: "polite",
421
+ accessibilityRole: "alert",
422
+ className: "pb-3 text-danger",
423
+ selectable: true,
424
+ children: error
425
+ }) : null;
426
+ $[50] = error;
427
+ $[51] = t22;
428
+ } else {
429
+ t22 = $[51];
430
+ }
431
+ let t23;
432
+ if ($[52] !== editing) {
433
+ t23 = editing ? _jsx(Typography.Text, {
434
+ children: "Guarda o cancela la condici\xF3n antes de aplicar."
435
+ }) : null;
436
+ $[52] = editing;
437
+ $[53] = t23;
438
+ } else {
439
+ t23 = $[53];
440
+ }
441
+ let t24;
442
+ if ($[54] !== close || $[55] !== saving) {
443
+ t24 = _jsx(Actions.Button, {
444
+ accessibilityLabel: "Cancelar configuraci\xF3n",
445
+ disabled: saving,
446
+ onPress: close,
447
+ title: "Cancelar",
448
+ variant: "secondary"
449
+ });
450
+ $[54] = close;
451
+ $[55] = saving;
452
+ $[56] = t24;
453
+ } else {
454
+ t24 = $[56];
455
+ }
456
+ const t25 = editing || saving;
457
+ let t26;
458
+ if ($[57] !== applyConfiguration) {
459
+ t26 = () => void applyConfiguration();
460
+ $[57] = applyConfiguration;
461
+ $[58] = t26;
462
+ } else {
463
+ t26 = $[58];
464
+ }
465
+ let t27;
466
+ if ($[59] !== applying || $[60] !== t25 || $[61] !== t26) {
467
+ t27 = _jsx(Actions.Button, {
468
+ disabled: t25,
469
+ loading: applying,
470
+ onPress: t26,
471
+ title: "Aplicar configuraci\xF3n"
472
+ });
473
+ $[59] = applying;
474
+ $[60] = t25;
475
+ $[61] = t26;
476
+ $[62] = t27;
477
+ } else {
478
+ t27 = $[62];
479
+ }
480
+ let t28;
481
+ if ($[63] !== t23 || $[64] !== t24 || $[65] !== t27) {
482
+ t28 = _jsxs(View, {
483
+ className: "py-3 border-t border-border-light gap-2",
484
+ children: [t23, t24, t27]
485
+ });
486
+ $[63] = t23;
487
+ $[64] = t24;
488
+ $[65] = t27;
489
+ $[66] = t28;
490
+ } else {
491
+ t28 = $[66];
492
+ }
493
+ let t29;
494
+ if ($[67] !== T0 || $[68] !== t10 || $[69] !== t12 || $[70] !== t21 || $[71] !== t22 || $[72] !== t28) {
495
+ t29 = _jsxs(T0, {
496
+ style: t10,
497
+ children: [t12, t21, t22, t28]
498
+ });
499
+ $[67] = T0;
500
+ $[68] = t10;
501
+ $[69] = t12;
502
+ $[70] = t21;
503
+ $[71] = t22;
504
+ $[72] = t28;
505
+ $[73] = t29;
506
+ } else {
507
+ t29 = $[73];
508
+ }
509
+ return t29;
510
+ }
511
+ function _temp2(field_4) {
512
+ return {
513
+ label: field_4.label,
514
+ value: field_4.id
515
+ };
516
+ }
517
+ function _temp(entry) {
518
+ return entry.field;
143
519
  }
144
520
  export default function CollectionOptions(props) {
145
- const busy = useRef(false);
146
- const [pending, setPending] = useState(false);
147
- return (_jsx(Sheet, { dismissible: !pending, onClose: () => {
148
- if (!busy.current) {
149
- Keyboard.dismiss();
150
- props.onClose();
151
- }
152
- }, scrollable: false, testID: props.testID, title: props.title ?? "Configurar colección", visible: props.visible, children: props.visible ? (_jsx(OptionsEditor, { ...props, onPendingChange: (next) => {
153
- busy.current = next;
154
- setPending(next);
155
- } })) : null }));
521
+ const $ = _c(11);
522
+ const busy = useRef(false);
523
+ const [pending, setPending] = useState(false);
524
+ const t0 = !pending;
525
+ let t1;
526
+ if ($[0] !== props) {
527
+ t1 = () => {
528
+ if (!busy.current) {
529
+ Keyboard.dismiss();
530
+ props.onClose();
531
+ }
532
+ };
533
+ $[0] = props;
534
+ $[1] = t1;
535
+ } else {
536
+ t1 = $[1];
537
+ }
538
+ const t2 = props.title ?? "Configurar colecci\xF3n";
539
+ let t3;
540
+ if ($[2] !== props) {
541
+ t3 = props.visible ? _jsx(OptionsEditor, {
542
+ ...props,
543
+ onPendingChange: next => {
544
+ busy.current = next;
545
+ setPending(next);
546
+ }
547
+ }) : null;
548
+ $[2] = props;
549
+ $[3] = t3;
550
+ } else {
551
+ t3 = $[3];
552
+ }
553
+ let t4;
554
+ if ($[4] !== props.testID || $[5] !== props.visible || $[6] !== t0 || $[7] !== t1 || $[8] !== t2 || $[9] !== t3) {
555
+ t4 = _jsx(Sheet, {
556
+ dismissible: t0,
557
+ onClose: t1,
558
+ scrollable: false,
559
+ testID: props.testID,
560
+ title: t2,
561
+ visible: props.visible,
562
+ children: t3
563
+ });
564
+ $[4] = props.testID;
565
+ $[5] = props.visible;
566
+ $[6] = t0;
567
+ $[7] = t1;
568
+ $[8] = t2;
569
+ $[9] = t3;
570
+ $[10] = t4;
571
+ } else {
572
+ t4 = $[10];
573
+ }
574
+ return t4;
156
575
  }