orn-ui 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +20 -2
- package/lib/commonjs/atoms/PressableScale.js +9 -10
- package/lib/commonjs/atoms/PressableScale.js.map +1 -1
- package/lib/commonjs/atoms/Skeleton.js +96 -0
- package/lib/commonjs/atoms/Skeleton.js.map +1 -0
- package/lib/commonjs/atoms/Transition.js +171 -0
- package/lib/commonjs/atoms/Transition.js.map +1 -0
- package/lib/commonjs/atoms/index.js +20 -0
- package/lib/commonjs/atoms/index.js.map +1 -1
- package/lib/commonjs/molecules/OptionCard.js +55 -22
- package/lib/commonjs/molecules/OptionCard.js.map +1 -1
- package/lib/commonjs/molecules/{ThemeToggle.js → SegmentedControl.js} +36 -36
- package/lib/commonjs/molecules/SegmentedControl.js.map +1 -0
- package/lib/commonjs/molecules/Stepper.js +124 -47
- package/lib/commonjs/molecules/Stepper.js.map +1 -1
- package/lib/commonjs/molecules/Steps.js +36 -6
- package/lib/commonjs/molecules/Steps.js.map +1 -1
- package/lib/commonjs/molecules/index.js +9 -3
- package/lib/commonjs/molecules/index.js.map +1 -1
- package/lib/commonjs/organisms/AlertProvider.js +26 -0
- package/lib/commonjs/organisms/AlertProvider.js.map +1 -1
- package/lib/commonjs/organisms/BottomSheet.js +118 -39
- package/lib/commonjs/organisms/BottomSheet.js.map +1 -1
- package/lib/commonjs/organisms/DateField.js +46 -15
- package/lib/commonjs/organisms/DateField.js.map +1 -1
- package/lib/commonjs/organisms/DatePicker.js +129 -50
- package/lib/commonjs/organisms/DatePicker.js.map +1 -1
- package/lib/commonjs/organisms/List.js +66 -44
- package/lib/commonjs/organisms/List.js.map +1 -1
- package/lib/commonjs/organisms/Modal.js +42 -87
- package/lib/commonjs/organisms/Modal.js.map +1 -1
- package/lib/commonjs/organisms/NavigationBar.js +210 -0
- package/lib/commonjs/organisms/NavigationBar.js.map +1 -0
- package/lib/commonjs/organisms/Screen.js +9 -2
- package/lib/commonjs/organisms/Screen.js.map +1 -1
- package/lib/commonjs/organisms/SearchList.js +95 -27
- package/lib/commonjs/organisms/SearchList.js.map +1 -1
- package/lib/commonjs/organisms/Select.js +222 -50
- package/lib/commonjs/organisms/Select.js.map +1 -1
- package/lib/commonjs/organisms/ThemeToggle.js +52 -0
- package/lib/commonjs/organisms/ThemeToggle.js.map +1 -0
- package/lib/commonjs/organisms/Toast.js +8 -22
- package/lib/commonjs/organisms/Toast.js.map +1 -1
- package/lib/commonjs/organisms/ToastProvider.js +24 -0
- package/lib/commonjs/organisms/ToastProvider.js.map +1 -1
- package/lib/commonjs/organisms/Wizard.js +23 -2
- package/lib/commonjs/organisms/Wizard.js.map +1 -1
- package/lib/commonjs/organisms/imperativeBridge.js +28 -0
- package/lib/commonjs/organisms/imperativeBridge.js.map +1 -0
- package/lib/commonjs/organisms/index.js +50 -0
- package/lib/commonjs/organisms/index.js.map +1 -1
- package/lib/commonjs/theme/colors.js +207 -0
- package/lib/commonjs/theme/colors.js.map +1 -0
- package/lib/commonjs/theme/createTheme.js +25 -2
- package/lib/commonjs/theme/createTheme.js.map +1 -1
- package/lib/commonjs/theme/index.js +25 -0
- package/lib/commonjs/theme/index.js.map +1 -1
- package/lib/commonjs/theme/labels.js +5 -1
- package/lib/commonjs/theme/labels.js.map +1 -1
- package/lib/commonjs/theme/palettes.js +5 -2
- package/lib/commonjs/theme/palettes.js.map +1 -1
- package/lib/module/atoms/PressableScale.js +9 -10
- package/lib/module/atoms/PressableScale.js.map +1 -1
- package/lib/module/atoms/Skeleton.js +91 -0
- package/lib/module/atoms/Skeleton.js.map +1 -0
- package/lib/module/atoms/Transition.js +165 -0
- package/lib/module/atoms/Transition.js.map +1 -0
- package/lib/module/atoms/index.js +2 -0
- package/lib/module/atoms/index.js.map +1 -1
- package/lib/module/molecules/OptionCard.js +56 -23
- package/lib/module/molecules/OptionCard.js.map +1 -1
- package/lib/module/molecules/{ThemeToggle.js → SegmentedControl.js} +36 -36
- package/lib/module/molecules/SegmentedControl.js.map +1 -0
- package/lib/module/molecules/Stepper.js +125 -49
- package/lib/module/molecules/Stepper.js.map +1 -1
- package/lib/module/molecules/Steps.js +37 -7
- package/lib/module/molecules/Steps.js.map +1 -1
- package/lib/module/molecules/index.js +2 -2
- package/lib/module/molecules/index.js.map +1 -1
- package/lib/module/organisms/AlertProvider.js +24 -1
- package/lib/module/organisms/AlertProvider.js.map +1 -1
- package/lib/module/organisms/BottomSheet.js +120 -41
- package/lib/module/organisms/BottomSheet.js.map +1 -1
- package/lib/module/organisms/DateField.js +49 -18
- package/lib/module/organisms/DateField.js.map +1 -1
- package/lib/module/organisms/DatePicker.js +131 -52
- package/lib/module/organisms/DatePicker.js.map +1 -1
- package/lib/module/organisms/List.js +68 -46
- package/lib/module/organisms/List.js.map +1 -1
- package/lib/module/organisms/Modal.js +44 -89
- package/lib/module/organisms/Modal.js.map +1 -1
- package/lib/module/organisms/NavigationBar.js +205 -0
- package/lib/module/organisms/NavigationBar.js.map +1 -0
- package/lib/module/organisms/Screen.js +9 -2
- package/lib/module/organisms/Screen.js.map +1 -1
- package/lib/module/organisms/SearchList.js +96 -28
- package/lib/module/organisms/SearchList.js.map +1 -1
- package/lib/module/organisms/Select.js +224 -52
- package/lib/module/organisms/Select.js.map +1 -1
- package/lib/module/organisms/ThemeToggle.js +47 -0
- package/lib/module/organisms/ThemeToggle.js.map +1 -0
- package/lib/module/organisms/Toast.js +10 -24
- package/lib/module/organisms/Toast.js.map +1 -1
- package/lib/module/organisms/ToastProvider.js +21 -0
- package/lib/module/organisms/ToastProvider.js.map +1 -1
- package/lib/module/organisms/Wizard.js +24 -3
- package/lib/module/organisms/Wizard.js.map +1 -1
- package/lib/module/organisms/imperativeBridge.js +24 -0
- package/lib/module/organisms/imperativeBridge.js.map +1 -0
- package/lib/module/organisms/index.js +4 -2
- package/lib/module/organisms/index.js.map +1 -1
- package/lib/module/theme/colors.js +194 -0
- package/lib/module/theme/colors.js.map +1 -0
- package/lib/module/theme/createTheme.js +25 -2
- package/lib/module/theme/createTheme.js.map +1 -1
- package/lib/module/theme/index.js +1 -0
- package/lib/module/theme/index.js.map +1 -1
- package/lib/module/theme/labels.js +5 -1
- package/lib/module/theme/labels.js.map +1 -1
- package/lib/module/theme/palettes.js +5 -2
- package/lib/module/theme/palettes.js.map +1 -1
- package/lib/typescript/atoms/PressableScale.d.ts +3 -2
- package/lib/typescript/atoms/PressableScale.d.ts.map +1 -1
- package/lib/typescript/atoms/Skeleton.d.ts +29 -0
- package/lib/typescript/atoms/Skeleton.d.ts.map +1 -0
- package/lib/typescript/atoms/Transition.d.ts +51 -0
- package/lib/typescript/atoms/Transition.d.ts.map +1 -0
- package/lib/typescript/atoms/index.d.ts +4 -0
- package/lib/typescript/atoms/index.d.ts.map +1 -1
- package/lib/typescript/molecules/OptionCard.d.ts +11 -6
- package/lib/typescript/molecules/OptionCard.d.ts.map +1 -1
- package/lib/typescript/molecules/SegmentedControl.d.ts +24 -0
- package/lib/typescript/molecules/SegmentedControl.d.ts.map +1 -0
- package/lib/typescript/molecules/Stepper.d.ts +35 -3
- package/lib/typescript/molecules/Stepper.d.ts.map +1 -1
- package/lib/typescript/molecules/Steps.d.ts.map +1 -1
- package/lib/typescript/molecules/index.d.ts +4 -4
- package/lib/typescript/molecules/index.d.ts.map +1 -1
- package/lib/typescript/organisms/AlertProvider.d.ts +9 -0
- package/lib/typescript/organisms/AlertProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/BottomSheet.d.ts +26 -4
- package/lib/typescript/organisms/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/organisms/DateField.d.ts +23 -5
- package/lib/typescript/organisms/DateField.d.ts.map +1 -1
- package/lib/typescript/organisms/DatePicker.d.ts +5 -1
- package/lib/typescript/organisms/DatePicker.d.ts.map +1 -1
- package/lib/typescript/organisms/List.d.ts +9 -2
- package/lib/typescript/organisms/List.d.ts.map +1 -1
- package/lib/typescript/organisms/Modal.d.ts +3 -5
- package/lib/typescript/organisms/Modal.d.ts.map +1 -1
- package/lib/typescript/organisms/NavigationBar.d.ts +32 -0
- package/lib/typescript/organisms/NavigationBar.d.ts.map +1 -0
- package/lib/typescript/organisms/Screen.d.ts +2 -1
- package/lib/typescript/organisms/Screen.d.ts.map +1 -1
- package/lib/typescript/organisms/SearchList.d.ts +21 -5
- package/lib/typescript/organisms/SearchList.d.ts.map +1 -1
- package/lib/typescript/organisms/Select.d.ts +19 -4
- package/lib/typescript/organisms/Select.d.ts.map +1 -1
- package/lib/typescript/{molecules → organisms}/ThemeToggle.d.ts +4 -4
- package/lib/typescript/organisms/ThemeToggle.d.ts.map +1 -0
- package/lib/typescript/organisms/Toast.d.ts.map +1 -1
- package/lib/typescript/organisms/ToastProvider.d.ts +8 -0
- package/lib/typescript/organisms/ToastProvider.d.ts.map +1 -1
- package/lib/typescript/organisms/Wizard.d.ts +7 -1
- package/lib/typescript/organisms/Wizard.d.ts.map +1 -1
- package/lib/typescript/organisms/imperativeBridge.d.ts +12 -0
- package/lib/typescript/organisms/imperativeBridge.d.ts.map +1 -0
- package/lib/typescript/organisms/index.d.ts +7 -3
- package/lib/typescript/organisms/index.d.ts.map +1 -1
- package/lib/typescript/theme/colors.d.ts +44 -0
- package/lib/typescript/theme/colors.d.ts.map +1 -0
- package/lib/typescript/theme/createTheme.d.ts +3 -0
- package/lib/typescript/theme/createTheme.d.ts.map +1 -1
- package/lib/typescript/theme/index.d.ts +3 -1
- package/lib/typescript/theme/index.d.ts.map +1 -1
- package/lib/typescript/theme/labels.d.ts +6 -0
- package/lib/typescript/theme/labels.d.ts.map +1 -1
- package/lib/typescript/theme/palettes.d.ts.map +1 -1
- package/lib/typescript/theme/types.d.ts +9 -0
- package/lib/typescript/theme/types.d.ts.map +1 -1
- package/package.json +67 -6
- package/registry/alert-provider.json +9 -2
- package/registry/bottom-sheet.json +6 -2
- package/registry/core.json +9 -5
- package/registry/date-field.json +2 -1
- package/registry/date-picker.json +1 -1
- package/registry/index.json +99 -30
- package/registry/list.json +2 -1
- package/registry/manifest.json +44 -6
- package/registry/modal.json +3 -2
- package/registry/navigation-bar.json +18 -0
- package/registry/option-card.json +3 -2
- package/registry/pressable-scale.json +1 -1
- package/registry/screen.json +1 -1
- package/registry/search-list.json +2 -1
- package/registry/segmented-control.json +18 -0
- package/registry/select.json +1 -1
- package/registry/skeleton.json +18 -0
- package/registry/stepper.json +3 -2
- package/registry/steps.json +1 -1
- package/registry/theme-toggle.json +5 -4
- package/registry/toast-provider.json +11 -3
- package/registry/toast.json +3 -2
- package/registry/transition.json +19 -0
- package/registry/wizard.json +3 -2
- package/src/atoms/PressableScale.tsx +16 -6
- package/src/atoms/Skeleton.tsx +114 -0
- package/src/atoms/Transition.tsx +189 -0
- package/src/atoms/index.ts +4 -0
- package/src/molecules/OptionCard.tsx +62 -25
- package/src/molecules/SegmentedControl.tsx +84 -0
- package/src/molecules/Stepper.tsx +147 -32
- package/src/molecules/Steps.tsx +27 -8
- package/src/molecules/index.ts +4 -4
- package/src/organisms/AlertProvider.tsx +26 -1
- package/src/organisms/BottomSheet.tsx +214 -62
- package/src/organisms/DateField.tsx +79 -19
- package/src/organisms/DatePicker.tsx +198 -80
- package/src/organisms/List.tsx +73 -41
- package/src/organisms/Modal.tsx +49 -61
- package/src/organisms/NavigationBar.tsx +226 -0
- package/src/organisms/Screen.tsx +11 -3
- package/src/organisms/SearchList.tsx +131 -35
- package/src/organisms/Select.tsx +223 -45
- package/src/organisms/ThemeToggle.tsx +30 -0
- package/src/organisms/Toast.tsx +8 -21
- package/src/organisms/ToastProvider.tsx +24 -0
- package/src/organisms/Wizard.tsx +37 -3
- package/src/organisms/imperativeBridge.ts +28 -0
- package/src/organisms/index.ts +7 -3
- package/src/theme/colors.ts +175 -0
- package/src/theme/createTheme.ts +38 -4
- package/src/theme/index.ts +3 -1
- package/src/theme/labels.ts +13 -0
- package/src/theme/palettes.ts +5 -2
- package/src/theme/types.ts +10 -0
- package/lib/commonjs/molecules/ThemeToggle.js.map +0 -1
- package/lib/module/molecules/ThemeToggle.js.map +0 -1
- package/lib/typescript/molecules/ThemeToggle.d.ts.map +0 -1
- package/src/molecules/ThemeToggle.tsx +0 -67
|
@@ -1,33 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { memo, useMemo, useState } from 'react';
|
|
3
|
+
import React, { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
4
|
import { Text, TouchableOpacity, View } from 'react-native';
|
|
5
5
|
import { createStyles } from '../theme/createStyles';
|
|
6
|
-
import { useAllowFontScaling,
|
|
6
|
+
import { useAllowFontScaling, useLabels } from '../theme/UIProvider';
|
|
7
7
|
import { IconButton } from '../atoms/IconButton';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
export const DEFAULT_MONTH_NAMES = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
|
|
10
10
|
|
|
11
11
|
/** Índice 0 = domingo, para alinear con Date.getDay(). */
|
|
12
12
|
export const DEFAULT_WEEKDAY_NAMES = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];
|
|
13
|
-
/** Compara sólo año/mes/día, ignorando hora — dos Date del mismo día son "iguales". */
|
|
14
|
-
function isSameDay(a, b) {
|
|
15
|
-
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
16
|
-
}
|
|
17
13
|
function startOfDay(d) {
|
|
18
14
|
return new Date(d.getFullYear(), d.getMonth(), d.getDate());
|
|
19
15
|
}
|
|
20
16
|
|
|
21
|
-
/**
|
|
22
|
-
function
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
/** Timestamp del día, para comparar sin volver a crear Date en cada celda. */
|
|
18
|
+
function dayTime(d) {
|
|
19
|
+
return startOfDay(d).getTime();
|
|
20
|
+
}
|
|
21
|
+
function dayTimeOf(d) {
|
|
22
|
+
return d ? dayTime(d) : undefined;
|
|
25
23
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
24
|
+
|
|
25
|
+
/** Milisegundos que faltan para la próxima medianoche local. */
|
|
26
|
+
function msUntilNextMidnight(from) {
|
|
27
|
+
const next = new Date(from.getFullYear(), from.getMonth(), from.getDate() + 1);
|
|
28
|
+
return next.getTime() - from.getTime();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/** Número de mes absoluto (año * 12 + mes), para comparar meses con un `<`. */
|
|
32
|
+
function monthIndex(d) {
|
|
33
|
+
return d.getFullYear() * 12 + d.getMonth();
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
/**
|
|
@@ -130,6 +133,43 @@ const useStyles = createStyles(theme => ({
|
|
|
130
133
|
opacity: 0.4
|
|
131
134
|
}
|
|
132
135
|
}));
|
|
136
|
+
/**
|
|
137
|
+
* Una celda del calendario. Va memoizada aparte porque el mes entero son 42
|
|
138
|
+
* celdas: sin esto, cualquier render del padre reconcilia las 42.
|
|
139
|
+
*/
|
|
140
|
+
const DayCell = /*#__PURE__*/memo(({
|
|
141
|
+
day,
|
|
142
|
+
label,
|
|
143
|
+
selected,
|
|
144
|
+
inRange,
|
|
145
|
+
isRangeStart,
|
|
146
|
+
isRangeEnd,
|
|
147
|
+
isToday,
|
|
148
|
+
disabled,
|
|
149
|
+
allowFontScaling,
|
|
150
|
+
styles,
|
|
151
|
+
onPress
|
|
152
|
+
}) => /*#__PURE__*/_jsx(View, {
|
|
153
|
+
style: [styles.cell, (inRange || isRangeStart || isRangeEnd) && styles.cellInRange, isRangeStart && styles.cellRangeStart, isRangeEnd && styles.cellRangeEnd],
|
|
154
|
+
children: /*#__PURE__*/_jsx(TouchableOpacity, {
|
|
155
|
+
style: [styles.dayButton, selected && styles.daySelected, !selected && isToday && styles.dayToday],
|
|
156
|
+
onPress: () => onPress(day),
|
|
157
|
+
disabled: disabled,
|
|
158
|
+
activeOpacity: 0.7,
|
|
159
|
+
accessibilityRole: "button",
|
|
160
|
+
accessibilityLabel: label,
|
|
161
|
+
accessibilityState: {
|
|
162
|
+
selected,
|
|
163
|
+
disabled
|
|
164
|
+
},
|
|
165
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
166
|
+
allowFontScaling: allowFontScaling,
|
|
167
|
+
style: [styles.dayText, inRange && styles.dayTextInRange, selected && styles.dayTextSelected, disabled && styles.dayTextDisabled],
|
|
168
|
+
children: day.getDate()
|
|
169
|
+
})
|
|
170
|
+
})
|
|
171
|
+
}));
|
|
172
|
+
DayCell.displayName = 'DayCell';
|
|
133
173
|
|
|
134
174
|
/**
|
|
135
175
|
* DatePicker
|
|
@@ -146,24 +186,27 @@ export const DatePicker = /*#__PURE__*/memo(({
|
|
|
146
186
|
minDate,
|
|
147
187
|
maxDate,
|
|
148
188
|
defaultMonth,
|
|
149
|
-
monthNames
|
|
150
|
-
weekdayNames
|
|
189
|
+
monthNames,
|
|
190
|
+
weekdayNames,
|
|
151
191
|
firstDayOfWeek = 0,
|
|
192
|
+
onVisibleMonthChange,
|
|
152
193
|
style,
|
|
153
194
|
testID
|
|
154
195
|
}) => {
|
|
155
|
-
const colors = useColors();
|
|
156
196
|
const styles = useStyles();
|
|
197
|
+
const labels = useLabels();
|
|
157
198
|
const allowFontScaling = useAllowFontScaling();
|
|
158
199
|
const isRange = mode === 'range';
|
|
159
|
-
const
|
|
200
|
+
const months = monthNames ?? labels.months;
|
|
201
|
+
const weekdays = weekdayNames ?? labels.weekdaysShort;
|
|
202
|
+
const handlePress = useCallback(day => {
|
|
160
203
|
if (!isRange) {
|
|
161
204
|
onChange?.(day);
|
|
162
205
|
return;
|
|
163
206
|
}
|
|
164
207
|
// Primer toque (o rango ya cerrado, o toque antes del inicio): arranca
|
|
165
208
|
// un rango nuevo. Segundo toque en adelante: lo cierra.
|
|
166
|
-
if (!range?.start || range.end ||
|
|
209
|
+
if (!range?.start || range.end || dayTime(day) < dayTime(range.start)) {
|
|
167
210
|
onRangeChange?.({
|
|
168
211
|
start: day
|
|
169
212
|
});
|
|
@@ -173,14 +216,51 @@ export const DatePicker = /*#__PURE__*/memo(({
|
|
|
173
216
|
end: day
|
|
174
217
|
});
|
|
175
218
|
}
|
|
176
|
-
};
|
|
177
|
-
const
|
|
178
|
-
const [visibleMonth, setVisibleMonth] = useState(() => new Date(
|
|
179
|
-
|
|
219
|
+
}, [isRange, onChange, onRangeChange, range?.start, range?.end]);
|
|
220
|
+
const anchor = value ?? range?.start ?? defaultMonth;
|
|
221
|
+
const [visibleMonth, setVisibleMonth] = useState(() => new Date((anchor ?? new Date()).getFullYear(), (anchor ?? new Date()).getMonth(), 1));
|
|
222
|
+
|
|
223
|
+
// La fecha elegida puede cambiar desde afuera (uso controlado): sin esto,
|
|
224
|
+
// el calendario se quedaba clavado en el mes con el que montó.
|
|
225
|
+
const anchorMonth = anchor ? monthIndex(anchor) : undefined;
|
|
226
|
+
const lastAnchorMonth = useRef(anchorMonth);
|
|
227
|
+
useEffect(() => {
|
|
228
|
+
if (anchorMonth === undefined || anchorMonth === lastAnchorMonth.current) return;
|
|
229
|
+
lastAnchorMonth.current = anchorMonth;
|
|
230
|
+
setVisibleMonth(new Date(Math.floor(anchorMonth / 12), anchorMonth % 12, 1));
|
|
231
|
+
}, [anchorMonth]);
|
|
232
|
+
|
|
233
|
+
// "Hoy" se recalcula en la próxima medianoche: una app que queda abierta
|
|
234
|
+
// toda la noche marcaba el día anterior.
|
|
235
|
+
const [todayTs, setTodayTs] = useState(() => dayTime(new Date()));
|
|
236
|
+
useEffect(() => {
|
|
237
|
+
const timer = setTimeout(() => setTodayTs(dayTime(new Date())), msUntilNextMidnight(new Date()));
|
|
238
|
+
return () => clearTimeout(timer);
|
|
239
|
+
}, [todayTs]);
|
|
180
240
|
const grid = useMemo(() => buildMonthGrid(visibleMonth.getFullYear(), visibleMonth.getMonth(), firstDayOfWeek), [visibleMonth, firstDayOfWeek]);
|
|
181
|
-
const orderedWeekdays = useMemo(() => firstDayOfWeek === 0 ?
|
|
182
|
-
|
|
183
|
-
|
|
241
|
+
const orderedWeekdays = useMemo(() => firstDayOfWeek === 0 ? weekdays : [...weekdays.slice(1), weekdays[0]], [weekdays, firstDayOfWeek]);
|
|
242
|
+
|
|
243
|
+
// Los límites se resuelven una vez y no 42 veces por render: comparar
|
|
244
|
+
// timestamps sale gratis, crear un Date por celda no.
|
|
245
|
+
const bounds = useMemo(() => ({
|
|
246
|
+
min: dayTimeOf(minDate),
|
|
247
|
+
max: dayTimeOf(maxDate),
|
|
248
|
+
start: dayTimeOf(range?.start),
|
|
249
|
+
end: dayTimeOf(range?.end),
|
|
250
|
+
selected: dayTimeOf(value)
|
|
251
|
+
}), [minDate, maxDate, range?.start, range?.end, value]);
|
|
252
|
+
const shiftMonth = delta => setVisibleMonth(m => {
|
|
253
|
+
const next = new Date(m.getFullYear(), m.getMonth() + delta, 1);
|
|
254
|
+
onVisibleMonthChange?.(next);
|
|
255
|
+
return next;
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
// Un mes entero fuera de los límites no tiene nada que elegir: la flecha
|
|
259
|
+
// que lleva ahí se apaga en vez de dejar navegar al vacío.
|
|
260
|
+
const visibleIndex = monthIndex(visibleMonth);
|
|
261
|
+
const canGoBack = !minDate || visibleIndex > monthIndex(minDate);
|
|
262
|
+
const canGoForward = !maxDate || visibleIndex < monthIndex(maxDate);
|
|
263
|
+
const monthLabel = `${months[visibleMonth.getMonth()]} ${visibleMonth.getFullYear()}`;
|
|
184
264
|
return /*#__PURE__*/_jsxs(View, {
|
|
185
265
|
style: [styles.container, style],
|
|
186
266
|
testID: testID,
|
|
@@ -189,6 +269,7 @@ export const DatePicker = /*#__PURE__*/memo(({
|
|
|
189
269
|
children: [/*#__PURE__*/_jsx(IconButton, {
|
|
190
270
|
iconName: "chevron-left",
|
|
191
271
|
accessibilityLabel: "Previous month",
|
|
272
|
+
disabled: !canGoBack,
|
|
192
273
|
onPress: () => shiftMonth(-1)
|
|
193
274
|
}), /*#__PURE__*/_jsx(Text, {
|
|
194
275
|
allowFontScaling: allowFontScaling,
|
|
@@ -198,6 +279,7 @@ export const DatePicker = /*#__PURE__*/memo(({
|
|
|
198
279
|
}), /*#__PURE__*/_jsx(IconButton, {
|
|
199
280
|
iconName: "chevron-right",
|
|
200
281
|
accessibilityLabel: "Next month",
|
|
282
|
+
disabled: !canGoForward,
|
|
201
283
|
onPress: () => shiftMonth(1)
|
|
202
284
|
})]
|
|
203
285
|
}), /*#__PURE__*/_jsx(View, {
|
|
@@ -213,31 +295,28 @@ export const DatePicker = /*#__PURE__*/memo(({
|
|
|
213
295
|
if (!day) return /*#__PURE__*/_jsx(View, {
|
|
214
296
|
style: styles.cell
|
|
215
297
|
}, cellIndex);
|
|
216
|
-
const
|
|
217
|
-
const
|
|
218
|
-
const
|
|
219
|
-
const
|
|
220
|
-
const
|
|
221
|
-
const
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
children: day.getDate()
|
|
239
|
-
})
|
|
240
|
-
})
|
|
298
|
+
const t = dayTime(day);
|
|
299
|
+
const disabled = bounds.min !== undefined && t < bounds.min || bounds.max !== undefined && t > bounds.max;
|
|
300
|
+
const isStart = isRange && bounds.start === t;
|
|
301
|
+
const isEnd = isRange && bounds.end === t;
|
|
302
|
+
const closed = isRange && bounds.start !== undefined && bounds.end !== undefined;
|
|
303
|
+
const between = closed && t > bounds.start && t < bounds.end;
|
|
304
|
+
const selected = isRange ? isStart || isEnd : bounds.selected === t;
|
|
305
|
+
return /*#__PURE__*/_jsx(DayCell, {
|
|
306
|
+
day: day,
|
|
307
|
+
label: `${months[day.getMonth()]} ${day.getDate()}, ${day.getFullYear()}`,
|
|
308
|
+
selected: selected
|
|
309
|
+
// Un día fuera de los límites no se pinta como parte del
|
|
310
|
+
// rango: se ve deshabilitado, y eso es lo que es.
|
|
311
|
+
,
|
|
312
|
+
inRange: between && !disabled,
|
|
313
|
+
isRangeStart: !!closed && isStart && !disabled,
|
|
314
|
+
isRangeEnd: isEnd && !disabled,
|
|
315
|
+
isToday: t === todayTs,
|
|
316
|
+
disabled: disabled,
|
|
317
|
+
allowFontScaling: allowFontScaling,
|
|
318
|
+
styles: styles,
|
|
319
|
+
onPress: handlePress
|
|
241
320
|
}, cellIndex);
|
|
242
321
|
})
|
|
243
322
|
}, rowIndex))]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","memo","useMemo","useState","Text","TouchableOpacity","View","createStyles","useAllowFontScaling","useColors","IconButton","jsx","_jsx","jsxs","_jsxs","DEFAULT_MONTH_NAMES","DEFAULT_WEEKDAY_NAMES","isSameDay","a","b","getFullYear","getMonth","getDate","startOfDay","d","Date","isBetween","day","start","end","t","getTime","isOutOfRange","minDate","maxDate","buildMonthGrid","year","month","firstDayOfWeek","first","daysInMonth","leading","getDay","cells","i","push","length","rows","r","slice","useStyles","theme","container","backgroundColor","colors","surface","borderRadius","tokens","radius","lg","borderWidth","borderColor","border","padding","spacing","md","header","flexDirection","alignItems","justifyContent","marginBottom","sm","monthLabel","fontSize","fontWeight","semibold","color","text","weekRow","weekday","flex","textAlign","xs","textLight","paddingVertical","row","cell","aspectRatio","dayButton","width","height","dayText","daySelected","primary","dayTextSelected","onPrimary","bold","cellInRange","primarySoft","cellRangeStart","borderTopLeftRadius","borderBottomLeftRadius","cellRangeEnd","borderTopRightRadius","borderBottomRightRadius","dayTextInRange","primaryText","dayToday","dayTextDisabled","opacity","DatePicker","mode","value","onChange","range","onRangeChange","defaultMonth","monthNames","weekdayNames","style","testID","styles","allowFontScaling","isRange","handlePress","initial","visibleMonth","setVisibleMonth","today","grid","orderedWeekdays","shiftMonth","delta","m","children","iconName","accessibilityLabel","onPress","accessibilityRole","map","w","rowIndex","cellIndex","isStart","isEnd","inRange","selected","disabled","isToday","activeOpacity","accessibilityState","displayName"],"sourceRoot":"../../../src","sources":["organisms/DatePicker.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,IAAI,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACtD,SAASC,IAAI,EAAEC,gBAAgB,EAAEC,IAAI,QAAwC,cAAc;AAC3F,SAASC,YAAY,QAAQ,uBAAuB;AACpD,SAASC,mBAAmB,EAAEC,SAAS,QAAQ,qBAAqB;AACpE,SAASC,UAAU,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEjD,OAAO,MAAMC,mBAAmB,GAAG,CACjC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EACtD,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CACjE;;AAED;AACA,OAAO,MAAMC,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAkCxE;AACA,SAASC,SAASA,CAACC,CAAO,EAAEC,CAAO,EAAW;EAC5C,OAAOD,CAAC,CAACE,WAAW,CAAC,CAAC,KAAKD,CAAC,CAACC,WAAW,CAAC,CAAC,IAAIF,CAAC,CAACG,QAAQ,CAAC,CAAC,KAAKF,CAAC,CAACE,QAAQ,CAAC,CAAC,IAAIH,CAAC,CAACI,OAAO,CAAC,CAAC,KAAKH,CAAC,CAACG,OAAO,CAAC,CAAC;AAC5G;AAEA,SAASC,UAAUA,CAACC,CAAO,EAAQ;EACjC,OAAO,IAAIC,IAAI,CAACD,CAAC,CAACJ,WAAW,CAAC,CAAC,EAAEI,CAAC,CAACH,QAAQ,CAAC,CAAC,EAAEG,CAAC,CAACF,OAAO,CAAC,CAAC,CAAC;AAC7D;;AAEA;AACA,SAASI,SAASA,CAACC,GAAS,EAAEC,KAAW,EAAEC,GAAS,EAAW;EAC7D,MAAMC,CAAC,GAAGP,UAAU,CAACI,GAAG,CAAC,CAACI,OAAO,CAAC,CAAC;EACnC,OAAOD,CAAC,GAAGP,UAAU,CAACK,KAAK,CAAC,CAACG,OAAO,CAAC,CAAC,IAAID,CAAC,GAAGP,UAAU,CAACM,GAAG,CAAC,CAACE,OAAO,CAAC,CAAC;AACzE;AAEA,SAASC,YAAYA,CAACL,GAAS,EAAEM,OAAc,EAAEC,OAAc,EAAW;EACxE,MAAMJ,CAAC,GAAGP,UAAU,CAACI,GAAG,CAAC,CAACI,OAAO,CAAC,CAAC;EACnC,IAAIE,OAAO,IAAIH,CAAC,GAAGP,UAAU,CAACU,OAAO,CAAC,CAACF,OAAO,CAAC,CAAC,EAAE,OAAO,IAAI;EAC7D,IAAIG,OAAO,IAAIJ,CAAC,GAAGP,UAAU,CAACW,OAAO,CAAC,CAACH,OAAO,CAAC,CAAC,EAAE,OAAO,IAAI;EAC7D,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASI,cAAcA,CAACC,IAAY,EAAEC,KAAa,EAAEC,cAAqB,EAAqB;EACpG,MAAMC,KAAK,GAAG,IAAId,IAAI,CAACW,IAAI,EAAEC,KAAK,EAAE,CAAC,CAAC;EACtC,MAAMG,WAAW,GAAG,IAAIf,IAAI,CAACW,IAAI,EAAEC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAACf,OAAO,CAAC,CAAC;EAC1D,MAAMmB,OAAO,GAAG,CAACF,KAAK,CAACG,MAAM,CAAC,CAAC,GAAGJ,cAAc,GAAG,CAAC,IAAI,CAAC;EAEzD,MAAMK,KAAsB,GAAG,EAAE;EACjC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,OAAO,EAAEG,CAAC,EAAE,EAAED,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC;EAClD,KAAK,IAAIrB,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIgB,WAAW,EAAEhB,CAAC,EAAE,EAAEmB,KAAK,CAACE,IAAI,CAAC,IAAIpB,IAAI,CAACW,IAAI,EAAEC,KAAK,EAAEb,CAAC,CAAC,CAAC;EAC3E,OAAOmB,KAAK,CAACG,MAAM,GAAG,EAAE,EAAEH,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC;EAE1C,MAAME,IAAuB,GAAG,EAAE;EAClC,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAED,IAAI,CAACF,IAAI,CAACF,KAAK,CAACM,KAAK,CAACD,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;EACpE,OAAOD,IAAI;AACb;AAEA,MAAMG,SAAS,GAAG3C,YAAY,CAAE4C,KAAK,KAAM;EACzCC,SAAS,EAAE;IACTC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACC,OAAO;IACrCC,YAAY,EAAEL,KAAK,CAACM,MAAM,CAACC,MAAM,CAACC,EAAE;IACpCC,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEV,KAAK,CAACG,MAAM,CAACQ,MAAM;IAChCC,OAAO,EAAEZ,KAAK,CAACM,MAAM,CAACO,OAAO,CAACC;EAChC,CAAC;EACDC,MAAM,EAAE;IAAEC,aAAa,EAAE,KAAK;IAAEC,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE,eAAe;IAAEC,YAAY,EAAEnB,KAAK,CAACM,MAAM,CAACO,OAAO,CAACO;EAAG,CAAC;EAC9HC,UAAU,EAAE;IAAEC,QAAQ,EAAEtB,KAAK,CAACM,MAAM,CAACgB,QAAQ,CAACd,EAAE;IAAEe,UAAU,EAAEvB,KAAK,CAACM,MAAM,CAACiB,UAAU,CAACC,QAAQ;IAAEC,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAACuB;EAAK,CAAC;EAC1HC,OAAO,EAAE;IAAEX,aAAa,EAAE;EAAM,CAAC;EACjCY,OAAO,EAAE;IACPC,IAAI,EAAE,CAAC;IACPC,SAAS,EAAE,QAAQ;IACnBR,QAAQ,EAAEtB,KAAK,CAACM,MAAM,CAACgB,QAAQ,CAACS,EAAE;IAClCR,UAAU,EAAEvB,KAAK,CAACM,MAAM,CAACiB,UAAU,CAACC,QAAQ;IAC5CC,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAAC6B,SAAS;IAC7BC,eAAe,EAAEjC,KAAK,CAACM,MAAM,CAACO,OAAO,CAACO;EACxC,CAAC;EACDc,GAAG,EAAE;IAAElB,aAAa,EAAE;EAAM,CAAC;EAC7BmB,IAAI,EAAE;IAAEN,IAAI,EAAE,CAAC;IAAEO,WAAW,EAAE,CAAC;IAAEnB,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS,CAAC;EACjFmB,SAAS,EAAE;IAAEC,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAElC,YAAY,EAAE,EAAE;IAAEY,UAAU,EAAE,QAAQ;IAAEC,cAAc,EAAE;EAAS,CAAC;EACtGsB,OAAO,EAAE;IAAElB,QAAQ,EAAEtB,KAAK,CAACM,MAAM,CAACgB,QAAQ,CAACR,EAAE;IAAEW,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAACuB;EAAK,CAAC;EACzEe,WAAW,EAAE;IAAEvC,eAAe,EAAEF,KAAK,CAACG,MAAM,CAACuC;EAAQ,CAAC;EACtDC,eAAe,EAAE;IAAElB,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAACyC,SAAS;IAAErB,UAAU,EAAEvB,KAAK,CAACM,MAAM,CAACiB,UAAU,CAACsB;EAAK,CAAC;EAC5F;EACA;EACAC,WAAW,EAAE;IAAE5C,eAAe,EAAEF,KAAK,CAACG,MAAM,CAAC4C;EAAY,CAAC;EAC1DC,cAAc,EAAE;IAAEC,mBAAmB,EAAE,EAAE;IAAEC,sBAAsB,EAAE;EAAG,CAAC;EACvEC,YAAY,EAAE;IAAEC,oBAAoB,EAAE,EAAE;IAAEC,uBAAuB,EAAE;EAAG,CAAC;EACvEC,cAAc,EAAE;IAAE7B,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAACoD,WAAW;IAAEhC,UAAU,EAAEvB,KAAK,CAACM,MAAM,CAACiB,UAAU,CAACC;EAAS,CAAC;EACjGgC,QAAQ,EAAE;IAAE/C,WAAW,EAAE,CAAC;IAAEC,WAAW,EAAEV,KAAK,CAACG,MAAM,CAACuC;EAAQ,CAAC;EAC/De,eAAe,EAAE;IAAEhC,KAAK,EAAEzB,KAAK,CAACG,MAAM,CAAC6B,SAAS;IAAE0B,OAAO,EAAE;EAAI;AACjE,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,gBAAG7G,IAAI,CAC5B,CAAC;EACC8G,IAAI,GAAG,QAAQ;EACfC,KAAK;EACLC,QAAQ;EACRC,KAAK;EACLC,aAAa;EACblF,OAAO;EACPC,OAAO;EACPkF,YAAY;EACZC,UAAU,GAAGtG,mBAAmB;EAChCuG,YAAY,GAAGtG,qBAAqB;EACpCsB,cAAc,GAAG,CAAC;EAClBiF,KAAK;EACLC;AACe,CAAC,KAAK;EACrB,MAAMlE,MAAM,GAAG7C,SAAS,CAAC,CAAC;EAC1B,MAAMgH,MAAM,GAAGvE,SAAS,CAAC,CAAC;EAC1B,MAAMwE,gBAAgB,GAAGlH,mBAAmB,CAAC,CAAC;EAC9C,MAAMmH,OAAO,GAAGZ,IAAI,KAAK,OAAO;EAEhC,MAAMa,WAAW,GAAIjG,GAAS,IAAK;IACjC,IAAI,CAACgG,OAAO,EAAE;MACZV,QAAQ,GAAGtF,GAAG,CAAC;MACf;IACF;IACA;IACA;IACA,IAAI,CAACuF,KAAK,EAAEtF,KAAK,IAAIsF,KAAK,CAACrF,GAAG,IAAIN,UAAU,CAACI,GAAG,CAAC,GAAGJ,UAAU,CAAC2F,KAAK,CAACtF,KAAK,CAAC,EAAE;MAC3EuF,aAAa,GAAG;QAAEvF,KAAK,EAAED;MAAI,CAAC,CAAC;IACjC,CAAC,MAAM;MACLwF,aAAa,GAAG;QAAEvF,KAAK,EAAEsF,KAAK,CAACtF,KAAK;QAAEC,GAAG,EAAEF;MAAI,CAAC,CAAC;IACnD;EACF,CAAC;EAED,MAAMkG,OAAO,GAAGb,KAAK,IAAIE,KAAK,EAAEtF,KAAK,IAAIwF,YAAY,IAAI,IAAI3F,IAAI,CAAC,CAAC;EACnE,MAAM,CAACqG,YAAY,EAAEC,eAAe,CAAC,GAAG5H,QAAQ,CAAC,MAAM,IAAIsB,IAAI,CAACoG,OAAO,CAACzG,WAAW,CAAC,CAAC,EAAEyG,OAAO,CAACxG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAE9G,MAAM2G,KAAK,GAAG9H,OAAO,CAAC,MAAM,IAAIuB,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;EAC3C,MAAMwG,IAAI,GAAG/H,OAAO,CAClB,MAAMiC,cAAc,CAAC2F,YAAY,CAAC1G,WAAW,CAAC,CAAC,EAAE0G,YAAY,CAACzG,QAAQ,CAAC,CAAC,EAAEiB,cAAc,CAAC,EACzF,CAACwF,YAAY,EAAExF,cAAc,CAC/B,CAAC;EAED,MAAM4F,eAAe,GAAGhI,OAAO,CAC7B,MAAOoC,cAAc,KAAK,CAAC,GAAGgF,YAAY,GAAG,CAAC,GAAGA,YAAY,CAACrE,KAAK,CAAC,CAAC,CAAC,EAAEqE,YAAY,CAAC,CAAC,CAAC,CAAG,EAC1F,CAACA,YAAY,EAAEhF,cAAc,CAC/B,CAAC;EAED,MAAM6F,UAAU,GAAIC,KAAa,IAC/BL,eAAe,CAAEM,CAAC,IAAK,IAAI5G,IAAI,CAAC4G,CAAC,CAACjH,WAAW,CAAC,CAAC,EAAEiH,CAAC,CAAChH,QAAQ,CAAC,CAAC,GAAG+G,KAAK,EAAE,CAAC,CAAC,CAAC;EAE5E,MAAM5D,UAAU,GAAG,GAAG6C,UAAU,CAACS,YAAY,CAACzG,QAAQ,CAAC,CAAC,CAAC,IAAIyG,YAAY,CAAC1G,WAAW,CAAC,CAAC,EAAE;EAEzF,oBACEN,KAAA,CAACR,IAAI;IAACiH,KAAK,EAAE,CAACE,MAAM,CAACrE,SAAS,EAAEmE,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAc,QAAA,gBACrDxH,KAAA,CAACR,IAAI;MAACiH,KAAK,EAAEE,MAAM,CAACvD,MAAO;MAAAoE,QAAA,gBACzB1H,IAAA,CAACF,UAAU;QAAC6H,QAAQ,EAAC,cAAc;QAACC,kBAAkB,EAAC,gBAAgB;QAACC,OAAO,EAAEA,CAAA,KAAMN,UAAU,CAAC,CAAC,CAAC;MAAE,CAAE,CAAC,eACzGvH,IAAA,CAACR,IAAI;QAACsH,gBAAgB,EAAEA,gBAAiB;QAACH,KAAK,EAAEE,MAAM,CAACjD,UAAW;QAACkE,iBAAiB,EAAC,QAAQ;QAAAJ,QAAA,EAC3F9D;MAAU,CACP,CAAC,eACP5D,IAAA,CAACF,UAAU;QAAC6H,QAAQ,EAAC,eAAe;QAACC,kBAAkB,EAAC,YAAY;QAACC,OAAO,EAAEA,CAAA,KAAMN,UAAU,CAAC,CAAC;MAAE,CAAE,CAAC;IAAA,CACjG,CAAC,eAEPvH,IAAA,CAACN,IAAI;MAACiH,KAAK,EAAEE,MAAM,CAAC3C,OAAQ;MAAAwD,QAAA,EACzBJ,eAAe,CAACS,GAAG,CAAC,CAACC,CAAC,EAAEhG,CAAC,kBACxBhC,IAAA,CAACR,IAAI;QAACsH,gBAAgB,EAAEA,gBAAiB;QAAmBH,KAAK,EAAEE,MAAM,CAAC1C,OAAQ;QAAAuD,QAAA,EAC/EM;MAAC,GAD2C,GAAGA,CAAC,IAAIhG,CAAC,EAElD,CACP;IAAC,CACE,CAAC,EAENqF,IAAI,CAACU,GAAG,CAAC,CAACtD,GAAG,EAAEwD,QAAQ,kBACtBjI,IAAA,CAACN,IAAI;MAACiH,KAAK,EAAEE,MAAM,CAACpC,GAAI;MAAAiD,QAAA,EACrBjD,GAAG,CAACsD,GAAG,CAAC,CAAChH,GAAG,EAAEmH,SAAS,KAAK;QAC3B,IAAI,CAACnH,GAAG,EAAE,oBAAOf,IAAA,CAACN,IAAI;UAACiH,KAAK,EAAEE,MAAM,CAACnC;QAAK,GAAMwD,SAAY,CAAC;QAE7D,MAAMC,OAAO,GAAGpB,OAAO,IAAI,CAAC,CAACT,KAAK,EAAEtF,KAAK,IAAIX,SAAS,CAACU,GAAG,EAAEuF,KAAK,CAACtF,KAAK,CAAC;QACxE,MAAMoH,KAAK,GAAGrB,OAAO,IAAI,CAAC,CAACT,KAAK,EAAErF,GAAG,IAAIZ,SAAS,CAACU,GAAG,EAAEuF,KAAK,CAACrF,GAAG,CAAC;QAClE,MAAMoH,OAAO,GACXtB,OAAO,IAAI,CAAC,CAACT,KAAK,EAAEtF,KAAK,IAAI,CAAC,CAACsF,KAAK,CAACrF,GAAG,IAAIH,SAAS,CAACC,GAAG,EAAEuF,KAAK,CAACtF,KAAK,EAAEsF,KAAK,CAACrF,GAAG,CAAC;QACpF,MAAMqH,QAAQ,GAAGvB,OAAO,GAAGoB,OAAO,IAAIC,KAAK,GAAG,CAAC,CAAChC,KAAK,IAAI/F,SAAS,CAACU,GAAG,EAAEqF,KAAK,CAAC;QAE9E,MAAMmC,QAAQ,GAAGnH,YAAY,CAACL,GAAG,EAAEM,OAAO,EAAEC,OAAO,CAAC;QACpD,MAAMkH,OAAO,GAAGnI,SAAS,CAACU,GAAG,EAAEqG,KAAK,CAAC;QACrC,oBACEpH,IAAA,CAACN,IAAI;UACHiH,KAAK,EAAE,CACLE,MAAM,CAACnC,IAAI,EACX,CAAC2D,OAAO,IAAKF,OAAO,IAAI,CAAC,CAAC7B,KAAK,EAAErF,GAAI,IAAImH,KAAK,KAAKvB,MAAM,CAACxB,WAAW,EACrE8C,OAAO,IAAI,CAAC,CAAC7B,KAAK,EAAErF,GAAG,IAAI4F,MAAM,CAACtB,cAAc,EAChD6C,KAAK,IAAIvB,MAAM,CAACnB,YAAY,CAC5B;UAAAgC,QAAA,eAGF1H,IAAA,CAACP,gBAAgB;YACfkH,KAAK,EAAE,CAACE,MAAM,CAACjC,SAAS,EAAE0D,QAAQ,IAAIzB,MAAM,CAAC7B,WAAW,EAAE,CAACsD,QAAQ,IAAIE,OAAO,IAAI3B,MAAM,CAACd,QAAQ,CAAE;YACnG8B,OAAO,EAAEA,CAAA,KAAMb,WAAW,CAACjG,GAAG,CAAE;YAChCwH,QAAQ,EAAEA,QAAS;YACnBE,aAAa,EAAE,GAAI;YACnBX,iBAAiB,EAAC,QAAQ;YAC1BF,kBAAkB,EAAE,GAAGnB,UAAU,CAAC1F,GAAG,CAACN,QAAQ,CAAC,CAAC,CAAC,IAAIM,GAAG,CAACL,OAAO,CAAC,CAAC,KAAKK,GAAG,CAACP,WAAW,CAAC,CAAC,EAAG;YAC3FkI,kBAAkB,EAAE;cAAEJ,QAAQ;cAAEC;YAAS,CAAE;YAAAb,QAAA,eAE3C1H,IAAA,CAACR,IAAI;cACHsH,gBAAgB,EAAEA,gBAAiB;cACnCH,KAAK,EAAE,CACLE,MAAM,CAAC9B,OAAO,EACdsD,OAAO,IAAIxB,MAAM,CAAChB,cAAc,EAChCyC,QAAQ,IAAIzB,MAAM,CAAC3B,eAAe,EAClCqD,QAAQ,IAAI1B,MAAM,CAACb,eAAe,CAClC;cAAA0B,QAAA,EAED3G,GAAG,CAACL,OAAO,CAAC;YAAC,CACV;UAAC,CACS;QAAC,GAtBdwH,SAuBD,CAAC;MAEX,CAAC;IAAC,GA7C0BD,QA8CxB,CACP,CAAC;EAAA,CACE,CAAC;AAEX,CACF,CAAC;AACD/B,UAAU,CAACyC,WAAW,GAAG,YAAY","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","memo","useCallback","useEffect","useMemo","useRef","useState","Text","TouchableOpacity","View","createStyles","useAllowFontScaling","useLabels","IconButton","jsx","_jsx","jsxs","_jsxs","DEFAULT_MONTH_NAMES","DEFAULT_WEEKDAY_NAMES","startOfDay","d","Date","getFullYear","getMonth","getDate","dayTime","getTime","dayTimeOf","undefined","msUntilNextMidnight","from","next","monthIndex","buildMonthGrid","year","month","firstDayOfWeek","first","daysInMonth","leading","getDay","cells","i","push","length","rows","r","slice","useStyles","theme","container","backgroundColor","colors","surface","borderRadius","tokens","radius","lg","borderWidth","borderColor","border","padding","spacing","md","header","flexDirection","alignItems","justifyContent","marginBottom","sm","monthLabel","fontSize","fontWeight","semibold","color","text","weekRow","weekday","flex","textAlign","xs","textLight","paddingVertical","row","cell","aspectRatio","dayButton","width","height","dayText","daySelected","primary","dayTextSelected","onPrimary","bold","cellInRange","primarySoft","cellRangeStart","borderTopLeftRadius","borderBottomLeftRadius","cellRangeEnd","borderTopRightRadius","borderBottomRightRadius","dayTextInRange","primaryText","dayToday","dayTextDisabled","opacity","DayCell","day","label","selected","inRange","isRangeStart","isRangeEnd","isToday","disabled","allowFontScaling","styles","onPress","style","children","activeOpacity","accessibilityRole","accessibilityLabel","accessibilityState","displayName","DatePicker","mode","value","onChange","range","onRangeChange","minDate","maxDate","defaultMonth","monthNames","weekdayNames","onVisibleMonthChange","testID","labels","isRange","months","weekdays","weekdaysShort","handlePress","start","end","anchor","visibleMonth","setVisibleMonth","anchorMonth","lastAnchorMonth","current","Math","floor","todayTs","setTodayTs","timer","setTimeout","clearTimeout","grid","orderedWeekdays","bounds","min","max","shiftMonth","delta","m","visibleIndex","canGoBack","canGoForward","iconName","map","w","rowIndex","cellIndex","t","isStart","isEnd","closed","between"],"sourceRoot":"../../../src","sources":["organisms/DatePicker.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,40 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import React, { useCallback } from 'react';
|
|
4
|
-
import {
|
|
4
|
+
import { FlatList, RefreshControl, View } from 'react-native';
|
|
5
5
|
import { createStyles } from '../theme/createStyles';
|
|
6
6
|
import { useColors, useLabels } from '../theme/UIProvider';
|
|
7
7
|
import { EmptyState } from '../atoms/EmptyState';
|
|
8
|
+
import { Skeleton } from '../atoms/Skeleton';
|
|
8
9
|
import { Spinner } from '../atoms/Spinner';
|
|
9
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
const useStyles = createStyles(theme => ({
|
|
11
12
|
container: {
|
|
12
13
|
flex: 1,
|
|
13
14
|
backgroundColor: theme.colors.background
|
|
14
15
|
},
|
|
15
|
-
loadingOverlay: {
|
|
16
|
-
position: 'absolute',
|
|
17
|
-
top: 0,
|
|
18
|
-
left: 0,
|
|
19
|
-
right: 0,
|
|
20
|
-
bottom: 0,
|
|
21
|
-
backgroundColor: theme.colors.scrim,
|
|
22
|
-
zIndex: 10,
|
|
23
|
-
justifyContent: 'center',
|
|
24
|
-
alignItems: 'center'
|
|
25
|
-
},
|
|
26
|
-
loadingText: {
|
|
27
|
-
marginTop: theme.tokens.spacing.md,
|
|
28
|
-
color: theme.colors.textLight,
|
|
29
|
-
fontWeight: theme.tokens.fontWeight.medium
|
|
30
|
-
},
|
|
31
16
|
listContent: {
|
|
32
|
-
padding: theme.tokens.spacing.md
|
|
33
|
-
paddingBottom: Platform.OS === 'android' ? 100 : 80
|
|
17
|
+
padding: theme.tokens.spacing.md
|
|
34
18
|
},
|
|
35
19
|
footerLoader: {
|
|
36
20
|
paddingVertical: theme.tokens.spacing.xl,
|
|
37
21
|
alignItems: 'center'
|
|
22
|
+
},
|
|
23
|
+
skeletonRow: {
|
|
24
|
+
flexDirection: 'row',
|
|
25
|
+
alignItems: 'center',
|
|
26
|
+
gap: theme.tokens.spacing.md,
|
|
27
|
+
padding: theme.tokens.spacing.md
|
|
28
|
+
},
|
|
29
|
+
skeletonText: {
|
|
30
|
+
flex: 1,
|
|
31
|
+
gap: theme.tokens.spacing.sm
|
|
38
32
|
}
|
|
39
33
|
}));
|
|
40
34
|
|
|
@@ -49,10 +43,13 @@ export function List({
|
|
|
49
43
|
keyExtractor,
|
|
50
44
|
renderItem,
|
|
51
45
|
isLoading,
|
|
46
|
+
isRefreshing = false,
|
|
52
47
|
isLoadingMore = false,
|
|
53
48
|
isReady = true,
|
|
54
49
|
loadingText,
|
|
55
50
|
loadingMoreText,
|
|
51
|
+
skeletonCount = 6,
|
|
52
|
+
renderSkeletonItem,
|
|
56
53
|
onEndReached,
|
|
57
54
|
onEndReachedThreshold = 0.3,
|
|
58
55
|
onRefresh,
|
|
@@ -71,21 +68,27 @@ export function List({
|
|
|
71
68
|
const labels = useLabels();
|
|
72
69
|
const resolvedLoadingText = loadingText ?? labels.loading;
|
|
73
70
|
const resolvedLoadingMoreText = loadingMoreText ?? labels.loadingMore;
|
|
71
|
+
const isInitialLoading = isLoading && data.length === 0;
|
|
72
|
+
|
|
73
|
+
// El footer propio y el loader de paginación conviven: antes el primero
|
|
74
|
+
// tapaba al segundo y la lista dejaba de avisar que estaba trayendo más.
|
|
74
75
|
const renderFooter = useCallback(() => {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
})
|
|
76
|
+
const custom = typeof ListFooterComponent === 'function' ? /*#__PURE__*/_jsx(ListFooterComponent, {}) : ListFooterComponent ?? null;
|
|
77
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
78
|
+
children: [custom, isLoadingMore && /*#__PURE__*/_jsx(View, {
|
|
79
|
+
style: styles.footerLoader,
|
|
80
|
+
children: /*#__PURE__*/_jsx(Spinner, {
|
|
81
|
+
text: resolvedLoadingMoreText,
|
|
82
|
+
fullscreen: false
|
|
83
|
+
})
|
|
84
|
+
})]
|
|
85
85
|
});
|
|
86
86
|
}, [isLoadingMore, resolvedLoadingMoreText, ListFooterComponent, styles.footerLoader]);
|
|
87
|
+
|
|
88
|
+
// Vacío sólo cuando ya se sabe que no hay nada: durante la carga inicial se
|
|
89
|
+
// muestran placeholders, no "sin resultados".
|
|
87
90
|
const renderEmpty = useCallback(() => {
|
|
88
|
-
if (isLoading) return null;
|
|
91
|
+
if (isLoading || isRefreshing) return null;
|
|
89
92
|
return /*#__PURE__*/_jsx(EmptyState, {
|
|
90
93
|
title: emptyTitle,
|
|
91
94
|
description: emptyDescription,
|
|
@@ -94,7 +97,7 @@ export function List({
|
|
|
94
97
|
marginTop: 50
|
|
95
98
|
}
|
|
96
99
|
});
|
|
97
|
-
}, [isLoading, emptyTitle, emptyDescription, emptyIconName]);
|
|
100
|
+
}, [isLoading, isRefreshing, emptyTitle, emptyDescription, emptyIconName]);
|
|
98
101
|
if (!isReady) {
|
|
99
102
|
return /*#__PURE__*/_jsx(View, {
|
|
100
103
|
style: styles.container,
|
|
@@ -103,19 +106,38 @@ export function List({
|
|
|
103
106
|
})
|
|
104
107
|
});
|
|
105
108
|
}
|
|
106
|
-
|
|
109
|
+
if (isInitialLoading) {
|
|
110
|
+
return /*#__PURE__*/_jsx(View, {
|
|
111
|
+
style: [styles.container, containerStyle],
|
|
112
|
+
testID: "list-skeleton",
|
|
113
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
114
|
+
style: [styles.listContent, contentContainerStyle],
|
|
115
|
+
children: Array.from({
|
|
116
|
+
length: skeletonCount
|
|
117
|
+
}, (_, i) => /*#__PURE__*/_jsx(React.Fragment, {
|
|
118
|
+
children: renderSkeletonItem?.() ?? /*#__PURE__*/_jsxs(View, {
|
|
119
|
+
style: styles.skeletonRow,
|
|
120
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
121
|
+
variant: "circle",
|
|
122
|
+
width: 40
|
|
123
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
124
|
+
style: styles.skeletonText,
|
|
125
|
+
children: [/*#__PURE__*/_jsx(Skeleton, {
|
|
126
|
+
width: "60%",
|
|
127
|
+
height: 14
|
|
128
|
+
}), /*#__PURE__*/_jsx(Skeleton, {
|
|
129
|
+
width: "35%",
|
|
130
|
+
height: 12
|
|
131
|
+
})]
|
|
132
|
+
})]
|
|
133
|
+
})
|
|
134
|
+
}, i))
|
|
135
|
+
})
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
return /*#__PURE__*/_jsx(View, {
|
|
107
139
|
style: [styles.container, containerStyle],
|
|
108
|
-
children:
|
|
109
|
-
style: styles.loadingOverlay,
|
|
110
|
-
pointerEvents: "none",
|
|
111
|
-
children: [/*#__PURE__*/_jsx(ActivityIndicator, {
|
|
112
|
-
size: "large",
|
|
113
|
-
color: colors.primary
|
|
114
|
-
}), /*#__PURE__*/_jsx(Text, {
|
|
115
|
-
style: styles.loadingText,
|
|
116
|
-
children: resolvedLoadingText
|
|
117
|
-
})]
|
|
118
|
-
}), /*#__PURE__*/_jsx(ListComponent, {
|
|
140
|
+
children: /*#__PURE__*/_jsx(ListComponent, {
|
|
119
141
|
data: data,
|
|
120
142
|
keyExtractor: keyExtractor,
|
|
121
143
|
renderItem: renderItem,
|
|
@@ -126,13 +148,13 @@ export function List({
|
|
|
126
148
|
ListFooterComponent: renderFooter,
|
|
127
149
|
ListEmptyComponent: renderEmpty,
|
|
128
150
|
refreshControl: onRefresh ? /*#__PURE__*/_jsx(RefreshControl, {
|
|
129
|
-
refreshing:
|
|
151
|
+
refreshing: isRefreshing,
|
|
130
152
|
onRefresh: onRefresh,
|
|
131
153
|
colors: [colors.primary],
|
|
132
154
|
tintColor: colors.primary
|
|
133
155
|
}) : undefined,
|
|
134
156
|
...listProps
|
|
135
|
-
})
|
|
157
|
+
})
|
|
136
158
|
});
|
|
137
159
|
}
|
|
138
160
|
//# sourceMappingURL=List.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","
|
|
1
|
+
{"version":3,"names":["React","useCallback","FlatList","RefreshControl","View","createStyles","useColors","useLabels","EmptyState","Skeleton","Spinner","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useStyles","theme","container","flex","backgroundColor","colors","background","listContent","padding","tokens","spacing","md","footerLoader","paddingVertical","xl","alignItems","skeletonRow","flexDirection","gap","skeletonText","sm","List","data","keyExtractor","renderItem","isLoading","isRefreshing","isLoadingMore","isReady","loadingText","loadingMoreText","skeletonCount","renderSkeletonItem","onEndReached","onEndReachedThreshold","onRefresh","emptyTitle","emptyDescription","emptyIconName","ListHeaderComponent","ListFooterComponent","contentContainerStyle","containerStyle","ListComponent","listProps","styles","labels","resolvedLoadingText","loading","resolvedLoadingMoreText","loadingMore","isInitialLoading","length","renderFooter","custom","children","style","text","fullscreen","renderEmpty","title","description","iconName","marginTop","testID","Array","from","_","i","variant","width","height","ListEmptyComponent","refreshControl","refreshing","primary","tintColor","undefined"],"sourceRoot":"../../../src","sources":["organisms/List.tsx"],"mappings":"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","ignoreList":[]}
|