orn-ui 0.2.3 → 0.2.5

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 (83) hide show
  1. package/lib/commonjs/molecules/Steps.js +14 -6
  2. package/lib/commonjs/molecules/Steps.js.map +1 -1
  3. package/lib/commonjs/molecules/SymmetricGrid.js +84 -0
  4. package/lib/commonjs/molecules/SymmetricGrid.js.map +1 -0
  5. package/lib/commonjs/molecules/index.js +7 -0
  6. package/lib/commonjs/molecules/index.js.map +1 -1
  7. package/lib/commonjs/organisms/AlertProvider.js +12 -4
  8. package/lib/commonjs/organisms/AlertProvider.js.map +1 -1
  9. package/lib/commonjs/organisms/BottomSheet.js +58 -50
  10. package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
  11. package/lib/commonjs/organisms/Modal.js +44 -42
  12. package/lib/commonjs/organisms/Modal.js.map +1 -1
  13. package/lib/commonjs/organisms/ReorderableList.js +165 -0
  14. package/lib/commonjs/organisms/ReorderableList.js.map +1 -0
  15. package/lib/commonjs/organisms/Screen.js +1 -2
  16. package/lib/commonjs/organisms/Screen.js.map +1 -1
  17. package/lib/commonjs/organisms/index.js +7 -0
  18. package/lib/commonjs/organisms/index.js.map +1 -1
  19. package/lib/commonjs/safe-area/SafeAreaUIProvider.js +38 -30
  20. package/lib/commonjs/safe-area/SafeAreaUIProvider.js.map +1 -1
  21. package/lib/commonjs/theme/UIProvider.js +35 -8
  22. package/lib/commonjs/theme/UIProvider.js.map +1 -1
  23. package/lib/module/molecules/Steps.js +14 -6
  24. package/lib/module/molecules/Steps.js.map +1 -1
  25. package/lib/module/molecules/SymmetricGrid.js +79 -0
  26. package/lib/module/molecules/SymmetricGrid.js.map +1 -0
  27. package/lib/module/molecules/index.js +1 -0
  28. package/lib/module/molecules/index.js.map +1 -1
  29. package/lib/module/organisms/AlertProvider.js +12 -4
  30. package/lib/module/organisms/AlertProvider.js.map +1 -1
  31. package/lib/module/organisms/BottomSheet.js +59 -51
  32. package/lib/module/organisms/BottomSheet.js.map +1 -1
  33. package/lib/module/organisms/Modal.js +45 -43
  34. package/lib/module/organisms/Modal.js.map +1 -1
  35. package/lib/module/organisms/ReorderableList.js +159 -0
  36. package/lib/module/organisms/ReorderableList.js.map +1 -0
  37. package/lib/module/organisms/Screen.js +1 -2
  38. package/lib/module/organisms/Screen.js.map +1 -1
  39. package/lib/module/organisms/index.js +1 -0
  40. package/lib/module/organisms/index.js.map +1 -1
  41. package/lib/module/safe-area/SafeAreaUIProvider.js +39 -31
  42. package/lib/module/safe-area/SafeAreaUIProvider.js.map +1 -1
  43. package/lib/module/theme/UIProvider.js +36 -10
  44. package/lib/module/theme/UIProvider.js.map +1 -1
  45. package/lib/typescript/molecules/Steps.d.ts.map +1 -1
  46. package/lib/typescript/molecules/SymmetricGrid.d.ts +26 -0
  47. package/lib/typescript/molecules/SymmetricGrid.d.ts.map +1 -0
  48. package/lib/typescript/molecules/index.d.ts +2 -0
  49. package/lib/typescript/molecules/index.d.ts.map +1 -1
  50. package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
  51. package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
  52. package/lib/typescript/organisms/Modal.d.ts.map +1 -1
  53. package/lib/typescript/organisms/ReorderableList.d.ts +48 -0
  54. package/lib/typescript/organisms/ReorderableList.d.ts.map +1 -0
  55. package/lib/typescript/organisms/Screen.d.ts.map +1 -1
  56. package/lib/typescript/organisms/index.d.ts +2 -0
  57. package/lib/typescript/organisms/index.d.ts.map +1 -1
  58. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts +0 -38
  59. package/lib/typescript/safe-area/SafeAreaUIProvider.d.ts.map +1 -1
  60. package/lib/typescript/theme/UIProvider.d.ts +21 -1
  61. package/lib/typescript/theme/UIProvider.d.ts.map +1 -1
  62. package/package.json +11 -1
  63. package/registry/alert-provider.json +1 -1
  64. package/registry/bottom-sheet.json +1 -1
  65. package/registry/core.json +1 -1
  66. package/registry/index.json +30 -6
  67. package/registry/manifest.json +14 -0
  68. package/registry/modal.json +1 -1
  69. package/registry/reorderable-list.json +18 -0
  70. package/registry/screen.json +1 -1
  71. package/registry/steps.json +1 -1
  72. package/registry/symmetric-grid.json +18 -0
  73. package/src/molecules/Steps.tsx +14 -8
  74. package/src/molecules/SymmetricGrid.tsx +82 -0
  75. package/src/molecules/index.ts +2 -0
  76. package/src/organisms/AlertProvider.tsx +13 -5
  77. package/src/organisms/BottomSheet.tsx +58 -44
  78. package/src/organisms/Modal.tsx +63 -55
  79. package/src/organisms/ReorderableList.tsx +183 -0
  80. package/src/organisms/Screen.tsx +1 -2
  81. package/src/organisms/index.ts +2 -0
  82. package/src/safe-area/SafeAreaUIProvider.tsx +46 -41
  83. package/src/theme/UIProvider.tsx +50 -8
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+
3
+ import React, { useRef, useState } from 'react';
4
+ import { Animated, PanResponder, View } from 'react-native';
5
+ import { createStyles } from '../theme/createStyles';
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ /** Reordena moviendo el ítem de `from` a `to`, sin mutar `data`. Exportada aparte por ser testeable sin simular gestos. */
8
+ export function move(data, from, to) {
9
+ const next = data.slice();
10
+ const [item] = next.splice(from, 1);
11
+ next.splice(to, 0, item);
12
+ return next;
13
+ }
14
+ const useStyles = createStyles(() => ({
15
+ row: {
16
+ width: '100%'
17
+ }
18
+ }));
19
+
20
+ /**
21
+ * ReorderableList
22
+ * Ley de destino común (common fate): al arrastrar una fila, las filas que
23
+ * tiene que atravesar se desplazan juntas en el mismo sentido — eso es lo
24
+ * que comunica "van a intercambiar lugar" antes de soltar el dedo, no un
25
+ * simple resaltado del ítem activo.
26
+ *
27
+ * Sin dependencias de gestos/animación externas (reanimated, gesture-handler):
28
+ * PanResponder + Animated alcanzan porque el cálculo de índice destino
29
+ * necesita el valor de arrastre en JS en cada movimiento (no algo que
30
+ * useNativeDriver pueda resolver solo).
31
+ *
32
+ * Dentro de un scroll vertical hay que cablear `onDragStart`/`onDragEnd` a
33
+ * `scrollEnabled`, o en iOS el arrastre no llega a empezar:
34
+ *
35
+ * ```tsx
36
+ * const [dragging, setDragging] = useState(false);
37
+ * <ScrollView scrollEnabled={!dragging}>
38
+ * <ReorderableList onDragStart={() => setDragging(true)} onDragEnd={() => setDragging(false)} … />
39
+ * </ScrollView>
40
+ * ```
41
+ */
42
+ export function ReorderableList({
43
+ data,
44
+ keyExtractor,
45
+ itemHeight,
46
+ renderItem,
47
+ onReorder,
48
+ onDragStart,
49
+ onDragEnd,
50
+ disabled = false,
51
+ style
52
+ }) {
53
+ const styles = useStyles();
54
+ const [activeIndex, setActiveIndex] = useState(null);
55
+ const [targetIndex, setTargetIndex] = useState(null);
56
+ const dy = useRef(new Animated.Value(0)).current;
57
+ const activeIndexRef = useRef(null);
58
+ // El PanResponder de cada fila se crea una sola vez (se cachea en el Map de
59
+ // abajo) y su closure queda fijo al render de esa primera vez: leer
60
+ // `targetIndex` (state) directamente ahí siempre daría el valor del
61
+ // montaje. Un ref sí refleja la última escritura sin importar cuándo se
62
+ // creó la closure que lo lee.
63
+ const targetIndexRef = useRef(null);
64
+ const dataRef = useRef(data);
65
+ dataRef.current = data;
66
+ // Igual razón que targetIndexRef: el responder de cada fila se crea una
67
+ // sola vez, así que leer `disabled` directo del closure congelaría el
68
+ // valor del momento en que esa fila se creó.
69
+ const disabledRef = useRef(disabled);
70
+ disabledRef.current = disabled;
71
+ // Misma razón: los callbacks se leen desde closures creadas una sola vez.
72
+ const onReorderRef = useRef(onReorder);
73
+ onReorderRef.current = onReorder;
74
+ const onDragStartRef = useRef(onDragStart);
75
+ onDragStartRef.current = onDragStart;
76
+ const onDragEndRef = useRef(onDragEnd);
77
+ onDragEndRef.current = onDragEnd;
78
+ const panResponders = useRef(new Map()).current;
79
+ // Si `data` se achica, los responders de índices que ya no existen quedan
80
+ // colgados en el Map para siempre: se podan en cada render.
81
+ for (const index of panResponders.keys()) {
82
+ if (index >= data.length) panResponders.delete(index);
83
+ }
84
+ function panResponderFor(index) {
85
+ let responder = panResponders.get(index);
86
+ if (responder) return responder;
87
+ const endDrag = () => {
88
+ dy.setValue(0);
89
+ activeIndexRef.current = null;
90
+ targetIndexRef.current = null;
91
+ setActiveIndex(null);
92
+ setTargetIndex(null);
93
+ onDragEndRef.current?.();
94
+ };
95
+ responder = PanResponder.create({
96
+ onStartShouldSetPanResponder: () => !disabledRef.current,
97
+ onMoveShouldSetPanResponder: (_, gesture) => !disabledRef.current && Math.abs(gesture.dy) > 2,
98
+ // Un scroll padre pide el responder apenas su gesto vertical arranca —
99
+ // el mismo eje que el arrastre. Cederlo cancelaría el drag a mitad de
100
+ // camino, así que la fila se lo queda hasta soltar.
101
+ onPanResponderTerminationRequest: () => false,
102
+ onPanResponderGrant: () => {
103
+ activeIndexRef.current = index;
104
+ targetIndexRef.current = index;
105
+ setActiveIndex(index);
106
+ setTargetIndex(index);
107
+ dy.setValue(0);
108
+ onDragStartRef.current?.(index);
109
+ },
110
+ onPanResponderMove: (_, gesture) => {
111
+ dy.setValue(gesture.dy);
112
+ const from = activeIndexRef.current;
113
+ if (from === null) return;
114
+ const rawTarget = from + Math.round(gesture.dy / itemHeight);
115
+ const clamped = Math.max(0, Math.min(dataRef.current.length - 1, rawTarget));
116
+ targetIndexRef.current = clamped;
117
+ setTargetIndex(prev => prev === clamped ? prev : clamped);
118
+ },
119
+ onPanResponderRelease: () => {
120
+ const from = activeIndexRef.current;
121
+ const to = targetIndexRef.current;
122
+ endDrag();
123
+ if (from === null || to === null || from === to) return;
124
+ onReorderRef.current(move(dataRef.current, from, to));
125
+ },
126
+ onPanResponderTerminate: endDrag
127
+ });
128
+ panResponders.set(index, responder);
129
+ return responder;
130
+ }
131
+ return /*#__PURE__*/_jsx(View, {
132
+ style: style,
133
+ children: data.map((item, index) => {
134
+ const isActive = activeIndex === index;
135
+ // Filas entre el origen y el destino se corren un lugar entero en el
136
+ // sentido del arrastre: es el efecto de "grupo que se mueve junto".
137
+ let shift = 0;
138
+ if (activeIndex !== null && targetIndex !== null && !isActive) {
139
+ if (activeIndex < targetIndex && index > activeIndex && index <= targetIndex) shift = -itemHeight;else if (activeIndex > targetIndex && index < activeIndex && index >= targetIndex) shift = itemHeight;
140
+ }
141
+ return /*#__PURE__*/_jsx(Animated.View, {
142
+ style: [styles.row, isActive ? {
143
+ transform: [{
144
+ translateY: dy
145
+ }],
146
+ zIndex: 1,
147
+ elevation: 4
148
+ } : {
149
+ transform: [{
150
+ translateY: shift
151
+ }]
152
+ }],
153
+ ...panResponderFor(index).panHandlers,
154
+ children: renderItem(item, index, isActive)
155
+ }, keyExtractor(item, index));
156
+ })
157
+ });
158
+ }
159
+ //# sourceMappingURL=ReorderableList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useRef","useState","Animated","PanResponder","View","createStyles","jsx","_jsx","move","data","from","to","next","slice","item","splice","useStyles","row","width","ReorderableList","keyExtractor","itemHeight","renderItem","onReorder","onDragStart","onDragEnd","disabled","style","styles","activeIndex","setActiveIndex","targetIndex","setTargetIndex","dy","Value","current","activeIndexRef","targetIndexRef","dataRef","disabledRef","onReorderRef","onDragStartRef","onDragEndRef","panResponders","Map","index","keys","length","delete","panResponderFor","responder","get","endDrag","setValue","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gesture","Math","abs","onPanResponderTerminationRequest","onPanResponderGrant","onPanResponderMove","rawTarget","round","clamped","max","min","prev","onPanResponderRelease","onPanResponderTerminate","set","children","map","isActive","shift","transform","translateY","zIndex","elevation","panHandlers"],"sourceRoot":"../../../src","sources":["organisms/ReorderableList.tsx"],"mappings":"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","ignoreList":[]}
@@ -54,11 +54,10 @@ export const Screen = /*#__PURE__*/memo(({
54
54
  ...keyboardProps,
55
55
  children: scrollable ? /*#__PURE__*/_jsx(ScrollView, {
56
56
  style: styles.container,
57
- contentInsetAdjustmentBehavior: "automatic",
58
57
  automaticallyAdjustKeyboardInsets: true,
59
58
  contentContainerStyle: [styles.contentContainer, {
60
59
  paddingTop: applyTop ? insets.top : 0
61
- }, Platform.OS === 'android' && applyBottom && {
60
+ }, applyBottom && {
62
61
  paddingBottom: insets.bottom
63
62
  }, contentContainerStyle],
64
63
  keyboardShouldPersistTaps: "handled",
@@ -1 +1 @@
1
- {"version":3,"names":["React","memo","KeyboardAvoidingView","Platform","ScrollView","View","createStyles","useInsets","jsx","_jsx","useStyles","theme","wrapper","flex","backgroundColor","colors","background","container","contentContainer","flexGrow","Screen","children","style","scrollable","contentContainerStyle","edges","keyboardAvoiding","insets","styles","applyTop","includes","applyBottom","avoidWithView","OS","KeyboardWrapper","keyboardProps","behavior","keyboardVerticalOffset","contentInsetAdjustmentBehavior","automaticallyAdjustKeyboardInsets","paddingTop","top","paddingBottom","bottom","keyboardShouldPersistTaps","displayName"],"sourceRoot":"../../../src","sources":["organisms/Screen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","memo","KeyboardAvoidingView","Platform","ScrollView","View","createStyles","useInsets","jsx","_jsx","useStyles","theme","wrapper","flex","backgroundColor","colors","background","container","contentContainer","flexGrow","Screen","children","style","scrollable","contentContainerStyle","edges","keyboardAvoiding","insets","styles","applyTop","includes","applyBottom","avoidWithView","OS","KeyboardWrapper","keyboardProps","behavior","keyboardVerticalOffset","automaticallyAdjustKeyboardInsets","paddingTop","top","paddingBottom","bottom","keyboardShouldPersistTaps","displayName"],"sourceRoot":"../../../src","sources":["organisms/Screen.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,QAAQ,OAAO;AACnC,SAASC,oBAAoB,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/F,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,SAAS,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAsBhD,MAAMC,SAAS,GAAGJ,YAAY,CAAEK,KAAK,KAAM;EACzCC,OAAO,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,eAAe,EAAEH,KAAK,CAACI,MAAM,CAACC;EAAW,CAAC;EAC9DC,SAAS,EAAE;IAAEJ,IAAI,EAAE;EAAE,CAAC;EACtBK,gBAAgB,EAAE;IAAEC,QAAQ,EAAE;EAAE;AAClC,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,gBAAGnB,IAAI,CAAC,CAAC;EAC1BoB,QAAQ;EACRC,KAAK;EACLC,UAAU,GAAG,IAAI;EACjBC,qBAAqB;EACrBC,KAAK,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC;EACzBC,gBAAgB,GAAG;AACR,CAAC,KAAK;EACjB,MAAMC,MAAM,GAAGpB,SAAS,CAAC,CAAC;EAC1B,MAAMqB,MAAM,GAAGlB,SAAS,CAAC,CAAC;EAC1B,MAAMmB,QAAQ,GAAGJ,KAAK,CAACK,QAAQ,CAAC,KAAK,CAAC;EACtC,MAAMC,WAAW,GAAGN,KAAK,CAACK,QAAQ,CAAC,QAAQ,CAAC;;EAE5C;EACA;EACA;EACA;EACA;EACA,MAAME,aAAa,GAAGN,gBAAgB,IAAI,EAAEH,UAAU,IAAIpB,QAAQ,CAAC8B,EAAE,KAAK,KAAK,CAAC;EAEhF,MAAMC,eAAyC,GAAGF,aAAa,GAAG9B,oBAAoB,GAAGG,IAAI;EAC7F,MAAM8B,aAAa,GAAGH,aAAa,GAC/B;IACEI,QAAQ,EAAEjC,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GAAI,SAAS,GAAc,QAAkB;IAC5EI,sBAAsB,EAAElC,QAAQ,CAAC8B,EAAE,KAAK,KAAK,GAAG,CAAC,GAAG;EACtD,CAAC,GACD,CAAC,CAAC;EAEN,oBACExB,IAAA,CAACJ,IAAI;IAACiB,KAAK,EAAE,CAACM,MAAM,CAAChB,OAAO,EAAEU,KAAK,CAAE;IAAAD,QAAA,eACnCZ,IAAA,CAACyB,eAAe;MAACZ,KAAK,EAAEM,MAAM,CAACX,SAAU;MAAA,GAAKkB,aAAa;MAAAd,QAAA,EACxDE,UAAU,gBACTd,IAAA,CAACL,UAAU;QACTkB,KAAK,EAAEM,MAAM,CAACX,SAAU;QACxBqB,iCAAiC;QACjCd,qBAAqB,EAAE,CACrBI,MAAM,CAACV,gBAAgB,EACvB;UAAEqB,UAAU,EAAEV,QAAQ,GAAGF,MAAM,CAACa,GAAG,GAAG;QAAE,CAAC,EACzCT,WAAW,IAAI;UAAEU,aAAa,EAAEd,MAAM,CAACe;QAAO,CAAC,EAC/ClB,qBAAqB,CACrB;QACFmB,yBAAyB,EAAC,SAAS;QAAAtB,QAAA,EAElCA;MAAQ,CACC,CAAC,gBAEbZ,IAAA,CAACJ,IAAI;QAACiB,KAAK,EAAE,CAACM,MAAM,CAACX,SAAS,EAAE;UAAEsB,UAAU,EAAEV,QAAQ,GAAGF,MAAM,CAACa,GAAG,GAAG,CAAC;UAAEC,aAAa,EAAEV,WAAW,GAAGJ,MAAM,CAACe,MAAM,GAAG;QAAE,CAAC,CAAE;QAAArB,QAAA,EACxHA;MAAQ,CACL;IACP,CACc;EAAC,CACd,CAAC;AAEX,CAAC,CAAC;AACFD,MAAM,CAACwB,WAAW,GAAG,QAAQ","ignoreList":[]}
@@ -15,4 +15,5 @@ export { DateField } from './DateField';
15
15
  export { Wizard } from './Wizard';
16
16
  export { ThemeToggle } from './ThemeToggle';
17
17
  export { NavigationBar } from './NavigationBar';
18
+ export { ReorderableList } from './ReorderableList';
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","BottomSheet","Select","Alert","AlertProvider","useAlert","showAlert","showConfirm","hideAlert","Screen","List","SearchList","Toast","ToastProvider","useToast","showToast","hideToast","hideAllToasts","DatePicker","buildMonthGrid","DEFAULT_MONTH_NAMES","DEFAULT_WEEKDAY_NAMES","DateField","Wizard","ThemeToggle","NavigationBar"],"sourceRoot":"../../../src","sources":["organisms/index.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,SAAS;AAE/B,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,KAAK,QAAQ,SAAS;AAE/B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAE5F,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,KAAK,QAAQ,SAAS;AAE/B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AAE9F,SAASC,UAAU,EAAEC,cAAc,EAAEC,mBAAmB,EAAEC,qBAAqB,QAAQ,cAAc;AAErG,SAASC,SAAS,QAAQ,aAAa;AAEvC,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,aAAa,QAAQ,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["Modal","BottomSheet","Select","Alert","AlertProvider","useAlert","showAlert","showConfirm","hideAlert","Screen","List","SearchList","Toast","ToastProvider","useToast","showToast","hideToast","hideAllToasts","DatePicker","buildMonthGrid","DEFAULT_MONTH_NAMES","DEFAULT_WEEKDAY_NAMES","DateField","Wizard","ThemeToggle","NavigationBar","ReorderableList"],"sourceRoot":"../../../src","sources":["organisms/index.ts"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,SAAS;AAE/B,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,KAAK,QAAQ,SAAS;AAE/B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAE5F,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,IAAI,QAAQ,QAAQ;AAE7B,SAASC,UAAU,QAAQ,cAAc;AAEzC,SAASC,KAAK,QAAQ,SAAS;AAE/B,SAASC,aAAa,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AAE9F,SAASC,UAAU,EAAEC,cAAc,EAAEC,mBAAmB,EAAEC,qBAAqB,QAAQ,cAAc;AAErG,SAASC,SAAS,QAAQ,aAAa;AAEvC,SAASC,MAAM,QAAQ,UAAU;AAEjC,SAASC,WAAW,QAAQ,eAAe;AAE3C,SAASC,aAAa,QAAQ,iBAAiB;AAE/C,SAASC,eAAe,QAAQ,mBAAmB","ignoreList":[]}
@@ -1,9 +1,44 @@
1
1
  "use strict";
2
2
 
3
- import React from 'react';
3
+ import React, { useEffect, useState } from 'react';
4
4
  import { SafeAreaProvider, useSafeAreaInsets } from 'react-native-safe-area-context';
5
- import { UIProvider } from '../theme/UIProvider';
6
- import { jsx as _jsx } from "react/jsx-runtime";
5
+ import { UIProvider, useInsets } from '../theme/UIProvider';
6
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
7
+ const probeStyle = {
8
+ position: 'absolute',
9
+ top: 0,
10
+ left: 0,
11
+ right: 0,
12
+ bottom: 0
13
+ };
14
+ function sameInsets(a, b) {
15
+ return a.top === b.top && a.right === b.right && a.bottom === b.bottom && a.left === b.left;
16
+ }
17
+ function InsetsProbe({
18
+ onMeasure
19
+ }) {
20
+ const insets = useSafeAreaInsets();
21
+ useEffect(() => {
22
+ onMeasure(insets);
23
+ }, [insets, onMeasure]);
24
+ return null;
25
+ }
26
+ function RemeasuringModalSafeAreaBoundary({
27
+ children
28
+ }) {
29
+ const ambient = useInsets();
30
+ const [measured, setMeasured] = useState(null);
31
+ const onMeasure = React.useCallback(next => setMeasured(prev => prev && sameInsets(prev, next) ? prev : next), []);
32
+ return /*#__PURE__*/_jsxs(_Fragment, {
33
+ children: [/*#__PURE__*/_jsx(SafeAreaProvider, {
34
+ style: probeStyle,
35
+ pointerEvents: "none",
36
+ children: /*#__PURE__*/_jsx(InsetsProbe, {
37
+ onMeasure: onMeasure
38
+ })
39
+ }), children(measured ?? ambient)]
40
+ });
41
+ }
7
42
  function Measured({
8
43
  insets: override,
9
44
  children,
@@ -12,38 +47,11 @@ function Measured({
12
47
  const measured = useSafeAreaInsets();
13
48
  return /*#__PURE__*/_jsx(UIProvider, {
14
49
  insets: override ?? measured,
50
+ ModalSafeAreaBoundary: RemeasuringModalSafeAreaBoundary,
15
51
  ...rest,
16
52
  children: children
17
53
  });
18
54
  }
19
-
20
- /**
21
- * SafeAreaUIProvider
22
- * `UIProvider` con los insets ya cableados desde `react-native-safe-area-context`.
23
- *
24
- * Vive en su propio subpath (`orn-ui/safe-area`) a propósito: es el único
25
- * archivo de la librería que importa un paquete de terceros. Nada del entry
26
- * principal lo referencia, así que quien hace `import { Button } from 'orn-ui'`
27
- * nunca lo resuelve y el bundle sigue sin dependencias de runtime.
28
- *
29
- * ```tsx
30
- * import { SafeAreaUIProvider } from 'orn-ui/safe-area';
31
- *
32
- * export default function App() {
33
- * return (
34
- * <SafeAreaUIProvider defaultMode="system">
35
- * <RootNavigator />
36
- * </SafeAreaUIProvider>
37
- * );
38
- * }
39
- * ```
40
- *
41
- * El equivalente a mano — pasarle `insets={useSafeAreaInsets()}` a `UIProvider`
42
- * desde un componente que ya esté dentro de `<SafeAreaProvider>` — sigue
43
- * siendo válido. Esto sólo evita el error silencioso de olvidarlo: `insets`
44
- * por defecto es `{0,0,0,0}`, y con ceros el bottom sheet queda pegado contra
45
- * la barra de gestos y el modal `full` se mete abajo del notch.
46
- */
47
55
  export function SafeAreaUIProvider({
48
56
  mountSafeAreaProvider = true,
49
57
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["React","SafeAreaProvider","useSafeAreaInsets","UIProvider","jsx","_jsx","Measured","insets","override","children","rest","measured","SafeAreaUIProvider","mountSafeAreaProvider","props"],"sourceRoot":"../../../src","sources":["safe-area/SafeAreaUIProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAAgC;AACpF,SAASC,UAAU,QAA8B,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAkBvE,SAASC,QAAQA,CAAC;EAAEC,MAAM,EAAEC,QAAQ;EAAEC,QAAQ;EAAE,GAAGC;AAA8B,CAAC,EAAE;EAClF,MAAMC,QAAQ,GAAGT,iBAAiB,CAAC,CAAC;EACpC,oBACEG,IAAA,CAACF,UAAU;IAACI,MAAM,EAAEC,QAAQ,IAAIG,QAAS;IAAA,GAAKD,IAAI;IAAAD,QAAA,EAC/CA;EAAQ,CACC,CAAC;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,kBAAkBA,CAAC;EACjCC,qBAAqB,GAAG,IAAI;EAC5B,GAAGC;AACoB,CAAC,EAAE;EAC1B,IAAI,CAACD,qBAAqB,EAAE,oBAAOR,IAAA,CAACC,QAAQ;IAAA,GAAKQ;EAAK,CAAG,CAAC;EAC1D,oBACET,IAAA,CAACJ,gBAAgB;IAAAQ,QAAA,eACfJ,IAAA,CAACC,QAAQ;MAAA,GAAKQ;IAAK,CAAG;EAAC,CACP,CAAC;AAEvB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","SafeAreaProvider","useSafeAreaInsets","UIProvider","useInsets","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","probeStyle","position","top","left","right","bottom","sameInsets","a","b","InsetsProbe","onMeasure","insets","RemeasuringModalSafeAreaBoundary","children","ambient","measured","setMeasured","useCallback","next","prev","style","pointerEvents","Measured","override","rest","ModalSafeAreaBoundary","SafeAreaUIProvider","mountSafeAreaProvider","props"],"sourceRoot":"../../../src","sources":["safe-area/SafeAreaUIProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAElD,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,gCAAgC;AACpF,SACEC,UAAU,EACVC,SAAS,QAGJ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAQ7B,MAAMC,UAAqB,GAAG;EAAEC,QAAQ,EAAE,UAAU;EAAEC,GAAG,EAAE,CAAC;EAAEC,IAAI,EAAE,CAAC;EAAEC,KAAK,EAAE,CAAC;EAAEC,MAAM,EAAE;AAAE,CAAC;AAE5F,SAASC,UAAUA,CAACC,CAAa,EAAEC,CAAa,EAAE;EAChD,OAAOD,CAAC,CAACL,GAAG,KAAKM,CAAC,CAACN,GAAG,IAAIK,CAAC,CAACH,KAAK,KAAKI,CAAC,CAACJ,KAAK,IAAIG,CAAC,CAACF,MAAM,KAAKG,CAAC,CAACH,MAAM,IAAIE,CAAC,CAACJ,IAAI,KAAKK,CAAC,CAACL,IAAI;AAC7F;AAEA,SAASM,WAAWA,CAAC;EAAEC;AAAuD,CAAC,EAAE;EAC/E,MAAMC,MAAM,GAAGpB,iBAAiB,CAAC,CAAC;EAClCH,SAAS,CAAC,MAAM;IACdsB,SAAS,CAACC,MAAM,CAAC;EACnB,CAAC,EAAE,CAACA,MAAM,EAAED,SAAS,CAAC,CAAC;EACvB,OAAO,IAAI;AACb;AAEA,SAASE,gCAAgCA,CAAC;EAAEC;AAAqC,CAAC,EAAE;EAClF,MAAMC,OAAO,GAAGrB,SAAS,CAAC,CAAC;EAC3B,MAAM,CAACsB,QAAQ,EAAEC,WAAW,CAAC,GAAG3B,QAAQ,CAAoB,IAAI,CAAC;EACjE,MAAMqB,SAAS,GAAGvB,KAAK,CAAC8B,WAAW,CAChCC,IAAgB,IAAKF,WAAW,CAAEG,IAAI,IAAMA,IAAI,IAAIb,UAAU,CAACa,IAAI,EAAED,IAAI,CAAC,GAAGC,IAAI,GAAGD,IAAK,CAAC,EAC3F,EACF,CAAC;EAED,oBACEnB,KAAA,CAAAF,SAAA;IAAAgB,QAAA,gBACElB,IAAA,CAACL,gBAAgB;MAAC8B,KAAK,EAAEpB,UAAW;MAACqB,aAAa,EAAC,MAAM;MAAAR,QAAA,eACvDlB,IAAA,CAACc,WAAW;QAACC,SAAS,EAAEA;MAAU,CAAE;IAAC,CACrB,CAAC,EAClBG,QAAQ,CAACE,QAAQ,IAAID,OAAO,CAAC;EAAA,CAC9B,CAAC;AAEP;AAEA,SAASQ,QAAQA,CAAC;EAAEX,MAAM,EAAEY,QAAQ;EAAEV,QAAQ;EAAE,GAAGW;AAA8B,CAAC,EAAE;EAClF,MAAMT,QAAQ,GAAGxB,iBAAiB,CAAC,CAAC;EACpC,oBACEI,IAAA,CAACH,UAAU;IACTmB,MAAM,EAAEY,QAAQ,IAAIR,QAAS;IAC7BU,qBAAqB,EAAEb,gCAAiC;IAAA,GACpDY,IAAI;IAAAX,QAAA,EAEPA;EAAQ,CACC,CAAC;AAEjB;AAEA,OAAO,SAASa,kBAAkBA,CAAC;EACjCC,qBAAqB,GAAG,IAAI;EAC5B,GAAGC;AACoB,CAAC,EAAE;EAC1B,IAAI,CAACD,qBAAqB,EAAE,oBAAOhC,IAAA,CAAC2B,QAAQ;IAAA,GAAKM;EAAK,CAAG,CAAC;EAC1D,oBACEjC,IAAA,CAACL,gBAAgB;IAAAuB,QAAA,eACflB,IAAA,CAAC2B,QAAQ;MAAA,GAAKM;IAAK,CAAG;EAAC,CACP,CAAC;AAEvB","ignoreList":[]}
@@ -1,16 +1,30 @@
1
1
  "use strict";
2
2
 
3
- import React, { createContext, useContext, useMemo, useState, useCallback } from 'react';
3
+ import React, { createContext, useContext, useMemo, useState, useCallback, useRef } from 'react';
4
4
  import { Appearance, useColorScheme } from 'react-native';
5
5
  import { defaultTheme } from './createTheme';
6
6
  import { defaultLabels } from './labels';
7
7
  import { zeroInsets } from './insets';
8
8
  import { renderDefaultIcon } from '../icons/defaultIcons';
9
- import { jsx as _jsx } from "react/jsx-runtime";
10
- const UIContext = /*#__PURE__*/createContext(undefined);
11
9
 
12
- /** Una sola vez por sesión: en un re-render el aviso no aporta nada nuevo. */
13
- let warnedAboutInsets = false;
10
+ /**
11
+ * Un `<Modal>`/`<BottomSheet>` nativo abre su propia ventana (en Android
12
+ * siempre; en iOS según `presentationStyle`), así que los insets medidos en
13
+ * la raíz de la app pueden no valer ahí adentro. Este boundary es el punto de
14
+ * inyección: el default sólo repite los insets ambientes (comportamiento de
15
+ * siempre, cero deps), pero `SafeAreaUIProvider` lo reemplaza por uno que
16
+ * monta un `<SafeAreaProvider>` nuevo y remide dentro de esa ventana.
17
+ */
18
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
19
+ function DefaultModalSafeAreaBoundary({
20
+ children
21
+ }) {
22
+ const insets = useInsets();
23
+ return /*#__PURE__*/_jsx(_Fragment, {
24
+ children: children(insets)
25
+ });
26
+ }
27
+ const UIContext = /*#__PURE__*/createContext(undefined);
14
28
  /**
15
29
  * UIProvider
16
30
  * Único punto de entrada de la librería: resuelve el theme activo (sistema u
@@ -27,7 +41,8 @@ export function UIProvider({
27
41
  icons = renderDefaultIcon,
28
42
  insets = zeroInsets,
29
43
  labels: labelOverrides,
30
- allowFontScaling = false
44
+ allowFontScaling = false,
45
+ ModalSafeAreaBoundary = DefaultModalSafeAreaBoundary
31
46
  }) {
32
47
  const systemScheme = useColorScheme();
33
48
  const [uncontrolledMode, setUncontrolledMode] = useState(defaultMode);
@@ -38,11 +53,16 @@ export function UIProvider({
38
53
  onModeChange?.(next);
39
54
  }, [isControlled, onModeChange]);
40
55
 
56
+ // Por instancia, no por módulo: dos `<UIProvider>` en el mismo árbol (tests,
57
+ // un modal con su propio provider) avisan cada uno si le faltan insets, en
58
+ // vez de que el segundo se calle porque el primero ya avisó una vez.
59
+ const warnedAboutInsets = useRef(false);
60
+
41
61
  // Olvidar `insets` no rompe nada visible al montar: el default de ceros
42
62
  // recién se nota cuando abrís un Modal `full` (se mete abajo del notch) o un
43
63
  // BottomSheet (queda pegado a la barra de gestos). El aviso llega antes.
44
- if (__DEV__ && insets === zeroInsets && !warnedAboutInsets) {
45
- warnedAboutInsets = true;
64
+ if (__DEV__ && insets === zeroInsets && !warnedAboutInsets.current) {
65
+ warnedAboutInsets.current = true;
46
66
  console.warn('orn-ui: <UIProvider> sin `insets`, se usan {top:0,bottom:0,left:0,right:0}. ' + 'Los modales y el Screen quedan sin safe area. Pasá `insets={useSafeAreaInsets()}` ' + "o usá <SafeAreaUIProvider> de 'orn-ui/safe-area', que lo cablea solo.");
47
67
  }
48
68
  const scheme = mode === 'system' ? systemScheme === 'dark' ? 'dark' : 'light' : mode;
@@ -58,8 +78,9 @@ export function UIProvider({
58
78
  icons,
59
79
  insets,
60
80
  labels,
61
- allowFontScaling
62
- }), [resolvedTheme, mode, setMode, icons, insets, labels, allowFontScaling]);
81
+ allowFontScaling,
82
+ ModalSafeAreaBoundary
83
+ }), [resolvedTheme, mode, setMode, icons, insets, labels, allowFontScaling, ModalSafeAreaBoundary]);
63
84
  return /*#__PURE__*/_jsx(UIContext.Provider, {
64
85
  value: value,
65
86
  children: children
@@ -101,6 +122,11 @@ export function useAllowFontScaling() {
101
122
  return useUIContext().allowFontScaling;
102
123
  }
103
124
 
125
+ /** Interno: lo consumen `Modal`/`BottomSheet` para remedir insets dentro de su propia ventana nativa. */
126
+ export function useModalSafeAreaBoundary() {
127
+ return useUIContext().ModalSafeAreaBoundary;
128
+ }
129
+
104
130
  /** Re-exportado para que tests/consumidores puedan simular cambios de sistema sin RN real. */
105
131
  export const __testUtils = {
106
132
  Appearance
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useMemo","useState","useCallback","Appearance","useColorScheme","defaultTheme","defaultLabels","zeroInsets","renderDefaultIcon","jsx","_jsx","UIContext","undefined","warnedAboutInsets","UIProvider","children","theme","defaultMode","mode","controlledMode","onModeChange","icons","insets","labels","labelOverrides","allowFontScaling","systemScheme","uncontrolledMode","setUncontrolledMode","isControlled","setMode","next","__DEV__","console","warn","scheme","resolvedTheme","value","Provider","useUIContext","ctx","Error","useTheme","useColors","colors","useThemeMode","useIcons","useInsets","useLabels","useAllowFontScaling","__testUtils"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,OAAO;AACxF,SAASC,UAAU,EAAEC,cAAc,QAAQ,cAAc;AACzD,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,aAAa,QAAqB,UAAU;AACrD,SAASC,UAAU,QAAyB,UAAU;AAEtD,SAASC,iBAAiB,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAe1D,MAAMC,SAAS,gBAAGb,aAAa,CAA6Bc,SAAS,CAAC;;AAEtE;AACA,IAAIC,iBAAiB,GAAG,KAAK;AAoB7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CAAC;EACzBC,QAAQ;EACRC,KAAK,GAAGX,YAAY;EACpBY,WAAW,GAAG,QAAQ;EACtBC,IAAI,EAAEC,cAAc;EACpBC,YAAY;EACZC,KAAK,GAAGb,iBAAiB;EACzBc,MAAM,GAAGf,UAAU;EACnBgB,MAAM,EAAEC,cAAc;EACtBC,gBAAgB,GAAG;AACJ,CAAC,EAAE;EAClB,MAAMC,YAAY,GAAGtB,cAAc,CAAC,CAAC;EACrC,MAAM,CAACuB,gBAAgB,EAAEC,mBAAmB,CAAC,GAAG3B,QAAQ,CAAYgB,WAAW,CAAC;EAChF,MAAMY,YAAY,GAAGV,cAAc,KAAKP,SAAS;EACjD,MAAMM,IAAI,GAAGW,YAAY,GAAGV,cAAc,GAAGQ,gBAAgB;EAE7D,MAAMG,OAAO,GAAG5B,WAAW,CACxB6B,IAAe,IAAK;IACnB,IAAI,CAACF,YAAY,EAAED,mBAAmB,CAACG,IAAI,CAAC;IAC5CX,YAAY,GAAGW,IAAI,CAAC;EACtB,CAAC,EACD,CAACF,YAAY,EAAET,YAAY,CAC7B,CAAC;;EAED;EACA;EACA;EACA,IAAIY,OAAO,IAAIV,MAAM,KAAKf,UAAU,IAAI,CAACM,iBAAiB,EAAE;IAC1DA,iBAAiB,GAAG,IAAI;IACxBoB,OAAO,CAACC,IAAI,CACV,8EAA8E,GAC5E,oFAAoF,GACpF,uEACJ,CAAC;EACH;EAEA,MAAMC,MAAwB,GAC5BjB,IAAI,KAAK,QAAQ,GAAIQ,YAAY,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO,GAAIR,IAAI;EAEzE,MAAMkB,aAAa,GAAGpB,KAAK,CAACmB,MAAM,CAAC;EAEnC,MAAMZ,MAAM,GAAGvB,OAAO,CACpB,MAAOwB,cAAc,GAAG;IAAE,GAAGlB,aAAa;IAAE,GAAGkB;EAAe,CAAC,GAAGlB,aAAc,EAChF,CAACkB,cAAc,CACjB,CAAC;EAED,MAAMa,KAAK,GAAGrC,OAAO,CACnB,OAAO;IAAEgB,KAAK,EAAEoB,aAAa;IAAElB,IAAI;IAAEY,OAAO;IAAET,KAAK;IAAEC,MAAM;IAAEC,MAAM;IAAEE;EAAiB,CAAC,CAAC,EACxF,CAACW,aAAa,EAAElB,IAAI,EAAEY,OAAO,EAAET,KAAK,EAAEC,MAAM,EAAEC,MAAM,EAAEE,gBAAgB,CACxE,CAAC;EAED,oBAAOf,IAAA,CAACC,SAAS,CAAC2B,QAAQ;IAACD,KAAK,EAAEA,KAAM;IAAAtB,QAAA,EAAEA;EAAQ,CAAqB,CAAC;AAC1E;AAEA,SAASwB,YAAYA,CAAA,EAAmB;EACtC,MAAMC,GAAG,GAAGzC,UAAU,CAACY,SAAS,CAAC;EACjC,IAAI,CAAC6B,GAAG,EAAE;IACR,MAAM,IAAIC,KAAK,CAAC,uDAAuD,CAAC;EAC1E;EACA,OAAOD,GAAG;AACZ;AAEA,OAAO,SAASE,QAAQA,CAAA,EAAU;EAChC,OAAOH,YAAY,CAAC,CAAC,CAACvB,KAAK;AAC7B;AAEA,OAAO,SAAS2B,SAASA,CAAA,EAAoB;EAC3C,OAAOJ,YAAY,CAAC,CAAC,CAACvB,KAAK,CAAC4B,MAAM;AACpC;AAEA,OAAO,SAASC,YAAYA,CAAA,EAAG;EAC7B,MAAM;IAAE3B,IAAI;IAAEY;EAAQ,CAAC,GAAGS,YAAY,CAAC,CAAC;EACxC,OAAO;IAAErB,IAAI;IAAEY;EAAQ,CAAC;AAC1B;AAEA,OAAO,SAASgB,QAAQA,CAAA,EAAiB;EACvC,OAAOP,YAAY,CAAC,CAAC,CAAClB,KAAK;AAC7B;AAEA,OAAO,SAAS0B,SAASA,CAAA,EAAe;EACtC,OAAOR,YAAY,CAAC,CAAC,CAACjB,MAAM;AAC9B;AAEA,OAAO,SAAS0B,SAASA,CAAA,EAAW;EAClC,OAAOT,YAAY,CAAC,CAAC,CAAChB,MAAM;AAC9B;AAEA,OAAO,SAAS0B,mBAAmBA,CAAA,EAAY;EAC7C,OAAOV,YAAY,CAAC,CAAC,CAACd,gBAAgB;AACxC;;AAEA;AACA,OAAO,MAAMyB,WAAW,GAAG;EAAE/C;AAAW,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useMemo","useState","useCallback","useRef","Appearance","useColorScheme","defaultTheme","defaultLabels","zeroInsets","renderDefaultIcon","Fragment","_Fragment","jsx","_jsx","DefaultModalSafeAreaBoundary","children","insets","useInsets","UIContext","undefined","UIProvider","theme","defaultMode","mode","controlledMode","onModeChange","icons","labels","labelOverrides","allowFontScaling","ModalSafeAreaBoundary","systemScheme","uncontrolledMode","setUncontrolledMode","isControlled","setMode","next","warnedAboutInsets","__DEV__","current","console","warn","scheme","resolvedTheme","value","Provider","useUIContext","ctx","Error","useTheme","useColors","colors","useThemeMode","useIcons","useLabels","useAllowFontScaling","useModalSafeAreaBoundary","__testUtils"],"sourceRoot":"../../../src","sources":["theme/UIProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Steps.d.ts","sourceRoot":"","sources":["../../../src/molecules/Steps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAA4C,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKxG,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAsDD;;;;GAIG;AACH,eAAO,MAAM,KAAK,sGACmF,UAAU,uBAgI9G,CAAC"}
1
+ {"version":3,"file":"Steps.d.ts","sourceRoot":"","sources":["../../../src/molecules/Steps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAA4C,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAKxG,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACxC,4DAA4D;IAC5D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAsDD;;;;GAIG;AACH,eAAO,MAAM,KAAK,sGACmF,UAAU,uBAsI9G,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface SymmetricGridProps<T> {
4
+ data: T[];
5
+ renderItem: (item: T, index: number) => React.ReactElement;
6
+ keyExtractor: (item: T, index: number) => string;
7
+ /** Columnas por fila. @default 2 */
8
+ columns?: number;
9
+ /** Separación entre celdas, en ambos ejes. @default theme.tokens.spacing.md */
10
+ gap?: number;
11
+ /**
12
+ * Última fila incompleta: centrada (simétrica) en vez de pegada a la
13
+ * izquierda con un hueco a la derecha. @default true
14
+ */
15
+ balanceLastRow?: boolean;
16
+ style?: StyleProp<ViewStyle>;
17
+ }
18
+ /**
19
+ * SymmetricGrid
20
+ * Ley de Prägnanz (buena forma): agrupa en filas parejas de N columnas.
21
+ * La última fila, cuando queda incompleta, se centra por defecto en vez de
22
+ * quedar pegada a un borde — eso es lo que la lee como "fila corta" y no
23
+ * como un layout roto con un hueco a un lado.
24
+ */
25
+ export declare function SymmetricGrid<T>({ data, renderItem, keyExtractor, columns, gap, balanceLastRow, style, }: SymmetricGridProps<T>): React.JSX.Element;
26
+ //# sourceMappingURL=SymmetricGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SymmetricGrid.d.ts","sourceRoot":"","sources":["../../../src/molecules/SymmetricGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAQ,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAC3D,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAgBD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,EAC/B,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,OAAW,EACX,GAAG,EACH,cAAqB,EACrB,KAAK,GACN,EAAE,kBAAkB,CAAC,CAAC,CAAC,qBAgCvB"}
@@ -12,4 +12,6 @@ export { SegmentedControl } from './SegmentedControl';
12
12
  export type { SegmentedControlProps, SegmentedControlOption } from './SegmentedControl';
13
13
  export { Steps } from './Steps';
14
14
  export type { StepsProps, StepItem, StepStatus } from './Steps';
15
+ export { SymmetricGrid } from './SymmetricGrid';
16
+ export type { SymmetricGridProps } from './SymmetricGrid';
15
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecules/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACrD,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlertProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/AlertProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAC5G,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,oEAAoE;IACpE,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,qFAAqF;IACrF,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAKD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAYD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA+ExE;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
1
+ {"version":3,"file":"AlertProvider.d.ts","sourceRoot":"","sources":["../../../src/organisms/AlertProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAuF,MAAM,OAAO,CAAC;AAC5G,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAGlE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAe,SAAQ,YAAY;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,iBAAiB;IACzB,oEAAoE;IACpE,KAAK,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,qFAAqF;IACrF,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACvD,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAKD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAED,wBAAgB,SAAS,IAAI,IAAI,CAEhC;AAYD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAuFxE;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/organisms/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+LAenB,gBAAgB,8BA2IpB,CAAC"}
1
+ {"version":3,"file":"BottomSheet.d.ts","sourceRoot":"","sources":["../../../src/organisms/BottomSheet.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAWL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,oBAAoB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB;;;;OAIG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmCD;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,+LAenB,gBAAgB,8BAyJpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/organisms/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAQL,KAAK,UAAU,IAAI,YAAY,EAC/B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAStB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,YAAY,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;IAC7F,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,oNAeb,UAAU,8BA8Id,CAAC"}
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../../src/organisms/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,EAQL,KAAK,UAAU,IAAI,YAAY,EAC/B,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAUtB,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,YAAY,EAAE,sBAAsB,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;IAC7F,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAsCD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,oNAeb,UAAU,8BAqJd,CAAC"}
@@ -0,0 +1,48 @@
1
+ import React from 'react';
2
+ import { type StyleProp, type ViewStyle } from 'react-native';
3
+ export interface ReorderableListProps<T> {
4
+ data: T[];
5
+ keyExtractor: (item: T, index: number) => string;
6
+ /** Alto fijo de cada fila: necesario para calcular el índice destino sin medir layout async. */
7
+ itemHeight: number;
8
+ renderItem: (item: T, index: number, dragging: boolean) => React.ReactElement;
9
+ /** Se llama al soltar, con el arreglo ya reordenado. No muta `data`. */
10
+ onReorder: (data: T[]) => void;
11
+ /**
12
+ * Empieza el arrastre de la fila `index`. Úsalo para apagar el scroll del
13
+ * contenedor (`scrollEnabled={false}`) mientras dura: en iOS el
14
+ * `UIScrollView` padre cancela los toques del contenido apenas su gesto
15
+ * vertical arranca, y sin eso el arrastre muere a los pocos píxeles.
16
+ */
17
+ onDragStart?: (index: number) => void;
18
+ /** Termina el arrastre — soltando o por cancelación. Siempre corre si corrió `onDragStart`. */
19
+ onDragEnd?: () => void;
20
+ disabled?: boolean;
21
+ style?: StyleProp<ViewStyle>;
22
+ }
23
+ /** Reordena moviendo el ítem de `from` a `to`, sin mutar `data`. Exportada aparte por ser testeable sin simular gestos. */
24
+ export declare function move<T>(data: T[], from: number, to: number): T[];
25
+ /**
26
+ * ReorderableList
27
+ * Ley de destino común (common fate): al arrastrar una fila, las filas que
28
+ * tiene que atravesar se desplazan juntas en el mismo sentido — eso es lo
29
+ * que comunica "van a intercambiar lugar" antes de soltar el dedo, no un
30
+ * simple resaltado del ítem activo.
31
+ *
32
+ * Sin dependencias de gestos/animación externas (reanimated, gesture-handler):
33
+ * PanResponder + Animated alcanzan porque el cálculo de índice destino
34
+ * necesita el valor de arrastre en JS en cada movimiento (no algo que
35
+ * useNativeDriver pueda resolver solo).
36
+ *
37
+ * Dentro de un scroll vertical hay que cablear `onDragStart`/`onDragEnd` a
38
+ * `scrollEnabled`, o en iOS el arrastre no llega a empezar:
39
+ *
40
+ * ```tsx
41
+ * const [dragging, setDragging] = useState(false);
42
+ * <ScrollView scrollEnabled={!dragging}>
43
+ * <ReorderableList onDragStart={() => setDragging(true)} onDragEnd={() => setDragging(false)} … />
44
+ * </ScrollView>
45
+ * ```
46
+ */
47
+ export declare function ReorderableList<T>({ data, keyExtractor, itemHeight, renderItem, onReorder, onDragStart, onDragEnd, disabled, style, }: ReorderableListProps<T>): React.JSX.Element;
48
+ //# sourceMappingURL=ReorderableList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReorderableList.d.ts","sourceRoot":"","sources":["../../../src/organisms/ReorderableList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAChD,OAAO,EAAgC,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG5F,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,gGAAgG;IAChG,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC,YAAY,CAAC;IAC9E,wEAAwE;IACxE,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;IAC/B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,+FAA+F;IAC/F,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,2HAA2H;AAC3H,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC,EAAE,CAKhE;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EACjC,IAAI,EACJ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,QAAgB,EAChB,KAAK,GACN,EAAE,oBAAoB,CAAC,CAAC,CAAC,qBAiHzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/organisms/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;;GAIG;AACH,eAAO,MAAM,MAAM,+GAOhB,WAAW,uBA+CZ,CAAC"}
1
+ {"version":3,"file":"Screen.d.ts","sourceRoot":"","sources":["../../../src/organisms/Screen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAe,MAAM,OAAO,CAAC;AACpC,OAAO,EAAoD,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE1C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,kEAAkE;IAClE,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAQD;;;;GAIG;AACH,eAAO,MAAM,MAAM,+GAOhB,WAAW,uBA8CZ,CAAC"}
@@ -28,4 +28,6 @@ export { ThemeToggle } from './ThemeToggle';
28
28
  export type { ThemeToggleProps } from './ThemeToggle';
29
29
  export { NavigationBar } from './NavigationBar';
30
30
  export type { NavigationBarProps, NavigationBarItem } from './NavigationBar';
31
+ export { ReorderableList } from './ReorderableList';
32
+ export type { ReorderableListProps } from './ReorderableList';
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organisms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACtG,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/organisms/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC7F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/F,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACtG,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}