@grupalia/rn-ui-kit 0.31.1 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/lib/commonjs/components/BaseAlert.js +40 -96
  2. package/lib/commonjs/components/BaseAlert.js.map +1 -1
  3. package/lib/commonjs/components/DateTimeSelector.js +40 -6
  4. package/lib/commonjs/components/DateTimeSelector.js.map +1 -1
  5. package/lib/commonjs/hooks/useTimezonedDate.js +6 -0
  6. package/lib/commonjs/hooks/useTimezonedDate.js.map +1 -1
  7. package/lib/module/components/BaseAlert.js +41 -97
  8. package/lib/module/components/BaseAlert.js.map +1 -1
  9. package/lib/module/components/DateTimeSelector.js +41 -7
  10. package/lib/module/components/DateTimeSelector.js.map +1 -1
  11. package/lib/module/hooks/useTimezonedDate.js +6 -0
  12. package/lib/module/hooks/useTimezonedDate.js.map +1 -1
  13. package/lib/typescript/commonjs/components/BaseAlert.d.ts +1 -1
  14. package/lib/typescript/commonjs/components/BaseAlert.d.ts.map +1 -1
  15. package/lib/typescript/commonjs/components/DateTimeSelector.d.ts +11 -0
  16. package/lib/typescript/commonjs/components/DateTimeSelector.d.ts.map +1 -1
  17. package/lib/typescript/commonjs/hooks/useTimezonedDate.d.ts +6 -0
  18. package/lib/typescript/commonjs/hooks/useTimezonedDate.d.ts.map +1 -1
  19. package/lib/typescript/module/components/BaseAlert.d.ts +1 -1
  20. package/lib/typescript/module/components/BaseAlert.d.ts.map +1 -1
  21. package/lib/typescript/module/components/DateTimeSelector.d.ts +11 -0
  22. package/lib/typescript/module/components/DateTimeSelector.d.ts.map +1 -1
  23. package/lib/typescript/module/hooks/useTimezonedDate.d.ts +6 -0
  24. package/lib/typescript/module/hooks/useTimezonedDate.d.ts.map +1 -1
  25. package/package.json +1 -1
@@ -7,49 +7,27 @@ exports.default = void 0;
7
7
  var _clsx = _interopRequireDefault(require("clsx"));
8
8
  var _nativewind = require("nativewind");
9
9
  var _outline = require("react-native-heroicons/outline");
10
- var _solid = require("react-native-heroicons/solid");
11
10
  var _hocComponents = require("../hoc-components");
12
11
  var _BaseIcon = _interopRequireDefault(require("./BaseIcon"));
13
12
  var _BaseText = _interopRequireDefault(require("./BaseText"));
14
13
  var _useIsAboveBreakpoint = require("../hooks/useIsAboveBreakpoint");
14
+ var _foregroundColors = _interopRequireDefault(require("../styles/foreground-colors"));
15
15
  var _jsxRuntime = require("react/jsx-runtime");
16
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
17
  function IconComponent({
18
- type,
19
- variant = 'primary'
18
+ type
20
19
  }) {
21
20
  const iconColors = {
22
- brand: {
23
- primary: 'fg-white',
24
- secondary: 'fg-brand-primary'
25
- },
26
- error: {
27
- primary: 'fg-white',
28
- secondary: 'fg-error-primary'
29
- },
30
- success: {
31
- primary: 'fg-white',
32
- secondary: 'fg-success-primary'
33
- },
34
- alert: {
35
- primary: 'fg-white',
36
- secondary: 'fg-warning-primary'
37
- }
21
+ brand: 'fg-brand-primary',
22
+ error: 'fg-error-primary',
23
+ alert: 'fg-warning-primary'
38
24
  };
39
- const icons = {
40
- brand: _solid.InformationCircleIcon,
41
- error: _solid.XCircleIcon,
42
- success: _solid.CheckCircleIcon,
43
- alert: _solid.ExclamationTriangleIcon
44
- };
45
- if (variant === 'secondary') {
46
- icons.brand = _outline.InformationCircleIcon;
47
- }
48
25
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseIcon.default, {
49
- icon: icons[type],
50
- size: 18,
51
- color: iconColors[type][variant],
52
- className: "mr-1"
26
+ icon: _outline.InformationCircleIcon,
27
+ size: 16,
28
+ color: iconColors[type],
29
+ strokeWidth: 2,
30
+ className: "shrink-0"
53
31
  });
54
32
  }
55
33
  function BaseAlert({
@@ -62,82 +40,48 @@ function BaseAlert({
62
40
  }) {
63
41
  const largePhone = (0, _useIsAboveBreakpoint.useIsAboveBreakpoint)('xs');
64
42
  const alertClasses = () => {
65
- if (variant === 'primary') {
66
- switch (type) {
67
- case 'error':
68
- return 'bg-error-solid';
69
- case 'success':
70
- return 'bg-success-solid';
71
- case 'alert':
72
- return 'bg-warning-solid';
73
- case 'brand':
74
- default:
75
- return 'bg-brand-solid';
76
- }
77
- } else {
78
- switch (type) {
79
- case 'error':
80
- return 'bg-white border border-error';
81
- case 'success':
82
- case 'alert':
83
- return 'bg-white border border-primary';
84
- case 'brand':
85
- default:
86
- return 'bg-white border border-brand';
87
- }
88
- }
89
- };
90
- const messageTextColor = () => {
91
- if (variant === 'primary') {
92
- return 'text-white';
93
- }
43
+ if (variant === 'secondary') return 'bg-primary';
94
44
  switch (type) {
95
45
  case 'error':
96
- return 'text-error-primary';
97
- case 'success':
98
- return 'text-success-primary';
46
+ return 'bg-error-primary';
99
47
  case 'alert':
100
- return 'text-warning-primary';
48
+ return 'bg-warning-primary';
101
49
  case 'brand':
102
50
  default:
103
- return 'text-brand-secondary';
51
+ return 'bg-brand-primary';
104
52
  }
105
53
  };
106
- const descriptionTextColor = () => {
107
- if (variant === 'primary') {
108
- return 'text-utility-gray-100';
109
- }
110
- switch (type) {
111
- case 'error':
112
- return 'text-error-primary';
113
- case 'success':
114
- return 'text-success-primary';
115
- case 'alert':
116
- return 'text-warning-primary';
117
- case 'brand':
118
- default:
119
- return 'text-brand-tertiary';
120
- }
54
+
55
+ // @TODO handle dark mode colors
56
+ const iconBorderColors = {
57
+ brand: _foregroundColors.default['fg-brand-primary'].light,
58
+ error: _foregroundColors.default['fg-error-primary'].light,
59
+ alert: _foregroundColors.default['fg-warning-primary'].light
121
60
  };
122
61
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
123
- className: (0, _clsx.default)('flex flex-row rounded-lg', alertClasses(), largePhone ? 'px-2 py-4' : 'px-1 py-2'),
62
+ className: (0, _clsx.default)('flex w-full flex-col rounded-xl border border-primary', alertClasses(), largePhone ? 'p-4' : 'p-2'),
124
63
  ...props,
125
64
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
126
- className: "shrink-0",
127
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
128
- type: type,
129
- variant: variant
65
+ className: "items-center -ml-1.5 justify-center self-start rounded-full border-2 p-[4px]",
66
+ style: {
67
+ borderColor: `${iconBorderColors[type]}19`
68
+ },
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hocComponents.View, {
70
+ className: "items-center justify-center self-start rounded-full border-2 p-[2px]",
71
+ style: {
72
+ borderColor: `${iconBorderColors[type]}66`
73
+ },
74
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {
75
+ type: type
76
+ })
130
77
  })
131
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_hocComponents.View, {
132
- className: (0, _clsx.default)('flex flex-1 flex-col pr-2', largePhone ? 'ml-3' : 'ml-1'),
133
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
134
- className: (0, _clsx.default)('flex-1 font-semibold', messageTextColor(), largePhone ? 'text-base' : 'text-sm'),
135
- children: message
136
- }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
137
- className: (0, _clsx.default)('flex-1 text-sm', descriptionTextColor(), largePhone ? 'mt-3' : 'mt-1'),
138
- children: description
139
- }), children]
140
- })]
78
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
79
+ className: (0, _clsx.default)('mt-2 font-semibold text-secondary', largePhone ? 'text-sm' : 'text-xs'),
80
+ children: message
81
+ }), description && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
82
+ className: (0, _clsx.default)('text-sm text-quaternary', largePhone ? 'mt-3' : 'mt-1'),
83
+ children: description
84
+ }), children]
141
85
  });
142
86
  }
143
87
  var _default = exports.default = (0, _nativewind.styled)(BaseAlert);
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_nativewind","_outline","_solid","_hocComponents","_BaseIcon","_BaseText","_useIsAboveBreakpoint","_jsxRuntime","e","__esModule","default","IconComponent","type","variant","iconColors","brand","primary","secondary","error","success","alert","icons","SolidInformationCircleIcon","XCircleIcon","CheckCircleIcon","ExclamationTriangleIcon","OutlinedInformationCircleIcon","jsx","icon","size","color","className","BaseAlert","message","description","children","props","largePhone","useIsAboveBreakpoint","alertClasses","messageTextColor","descriptionTextColor","jsxs","View","clsx","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/BaseAlert.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_nativewind","_outline","_hocComponents","_BaseIcon","_BaseText","_useIsAboveBreakpoint","_foregroundColors","_jsxRuntime","e","__esModule","default","IconComponent","type","iconColors","brand","error","alert","jsx","icon","InformationCircleIcon","size","color","strokeWidth","className","BaseAlert","message","description","variant","children","props","largePhone","useIsAboveBreakpoint","alertClasses","iconBorderColors","foregroundColors","light","jsxs","View","clsx","style","borderColor","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/BaseAlert.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ var _tz = require("@date-fns/tz");
7
8
  var _dateFns = require("date-fns");
8
9
  var _nativewind = require("nativewind");
9
10
  var _react = require("react");
@@ -12,6 +13,7 @@ var _BaseDatesScrollView = _interopRequireDefault(require("./BaseDatesScrollView
12
13
  var _BaseRadioGroup = _interopRequireDefault(require("./BaseRadioGroup"));
13
14
  var _BaseText = _interopRequireDefault(require("./BaseText"));
14
15
  var _hooks = require("../hooks");
16
+ var _BaseAlert = _interopRequireDefault(require("./BaseAlert"));
15
17
  var _jsxRuntime = require("react/jsx-runtime");
16
18
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
19
  function parseMilitaryTime(time) {
@@ -100,6 +102,9 @@ function DateTimeSelector({
100
102
  disabled = false,
101
103
  error,
102
104
  allowPastDatetimes = false,
105
+ availableDates,
106
+ emptyTimeSlotsMessage = 'No hay horarios disponibles para este día',
107
+ emptyTimeSlotsDescription = 'Por favor, selecciona otro día.',
103
108
  ...props
104
109
  }) {
105
110
  const {
@@ -110,15 +115,36 @@ function DateTimeSelector({
110
115
  const minDateStartOfDay = (0, _react.useMemo)(() => (0, _dateFns.startOfDay)(tz(minDate || new Date())), [minDate, tz]);
111
116
  const maxDateEndOfDay = (0, _react.useMemo)(() => maxDate ? (0, _dateFns.startOfDay)(tz(maxDate)) : null, [maxDate, tz]);
112
117
  const dateRange = (0, _react.useMemo)(() => {
118
+ if (availableDates && availableDates.length > 0) {
119
+ return availableDates.map(availableDate => (0, _dateFns.parse)(availableDate.date, 'yyyy-MM-dd', new _tz.TZDate()));
120
+ }
113
121
  const startDate = minDateStartOfDay;
114
122
  const endDate = maxDateEndOfDay || (0, _dateFns.addDays)(startDate, 7);
115
123
  return (0, _dateFns.eachDayOfInterval)({
116
124
  start: startDate,
117
125
  end: endDate
118
126
  });
119
- }, [minDateStartOfDay, maxDateEndOfDay]);
127
+ }, [minDateStartOfDay, maxDateEndOfDay, availableDates]);
120
128
  const timeSlotsCache = (0, _react.useMemo)(() => new Map(), []);
121
129
  const getTimeSlotsForDate = (0, _react.useCallback)(date => {
130
+ if (availableDates && availableDates.length > 0) {
131
+ const dateStr = (0, _dateFns.format)(date, 'yyyy-MM-dd');
132
+ const availableDate = availableDates.find(avail => avail.date === dateStr);
133
+ if (availableDate && availableDate.availableTimeBlocks) {
134
+ return availableDate.availableTimeBlocks.filter(block => (0, _dateFns.isAfter)(tz(block.startsAt), new _tz.TZDate())).map(block => {
135
+ const startTime = tz(block.startsAt);
136
+ const endTime = tz(block.endsAt);
137
+ const startLabel = (0, _dateFns.format)(startTime, 'H:mm');
138
+ const endLabel = (0, _dateFns.format)(endTime, 'H:mm');
139
+ return {
140
+ startTime,
141
+ endTime,
142
+ label: `${startLabel} - ${endLabel}`
143
+ };
144
+ });
145
+ }
146
+ return [];
147
+ }
122
148
  const configHash = JSON.stringify({
123
149
  dayHourRestrictions,
124
150
  minHour,
@@ -192,24 +218,27 @@ function DateTimeSelector({
192
218
  }
193
219
  timeSlotsCache.set(cacheKey, slots);
194
220
  return slots;
195
- }, [timeSlotsCache, dayHourRestrictions, minHour, maxHour, timeSlotIntervalMinutes, timeSlotDurationMinutes, disabledHours, allowPastDatetimes, tz, fromWallClock]);
221
+ }, [timeSlotsCache, dayHourRestrictions, minHour, maxHour, timeSlotIntervalMinutes, timeSlotDurationMinutes, disabledHours, allowPastDatetimes, availableDates, tz, fromWallClock]);
196
222
  const timeSlots = (0, _react.useMemo)(() => {
197
223
  if (!selectedDate) return [];
198
224
  return getTimeSlotsForDate(selectedDate);
199
225
  }, [selectedDate, getTimeSlotsForDate]);
200
226
  const isDayDisabled = (0, _react.useCallback)(day => {
201
227
  if (disabled) return true;
228
+ if (availableDates && availableDates.length > 0) {
229
+ const dateStr = (0, _dateFns.format)(day, 'yyyy-MM-dd');
230
+ const availableDate = availableDates.find(avail => avail.date === dateStr);
231
+ return !availableDate;
232
+ }
202
233
  if (minDateStartOfDay && (0, _dateFns.isBefore)(day, minDateStartOfDay)) return true;
203
234
  if (maxDateEndOfDay && (0, _dateFns.isAfter)(day, maxDateEndOfDay)) return true;
204
235
  const tzDay = tz(day);
205
236
  if (disabledWeekDays.includes(tzDay.getDay())) return true;
206
237
  if (!allowPastDatetimes && (0, _dateFns.isBefore)(day, (0, _dateFns.startOfDay)(tz()))) return true;
207
-
208
- // Check if there are available time slots for this day
209
238
  const availableSlots = getTimeSlotsForDate(day);
210
239
  if (availableSlots.length === 0) return true;
211
240
  return false;
212
- }, [disabled, minDateStartOfDay, maxDateEndOfDay, disabledWeekDays, allowPastDatetimes, getTimeSlotsForDate, tz]);
241
+ }, [disabled, minDateStartOfDay, maxDateEndOfDay, disabledWeekDays, allowPastDatetimes, availableDates, getTimeSlotsForDate, tz]);
213
242
  const handleDayPress = (0, _react.useCallback)(day => {
214
243
  if (isDayDisabled(day)) return;
215
244
  setSelectedDate(day);
@@ -238,12 +267,17 @@ function DateTimeSelector({
238
267
  selectedDate: selectedDate,
239
268
  isDayDisabled: isDayDisabled,
240
269
  onDayPress: handleDayPress
241
- }), selectedDate && /*#__PURE__*/(0, _jsxRuntime.jsx)(TimeSlots, {
270
+ }), selectedDate && timeSlots.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(TimeSlots, {
242
271
  timeSlots: timeSlots,
243
272
  selectedTime: selectedTime,
244
273
  handleTimePress: handleTimePress,
245
274
  disabled: disabled,
246
275
  timeLabel: timeLabel
276
+ }), selectedDate && timeSlots.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseAlert.default, {
277
+ className: "mt-10",
278
+ type: "alert",
279
+ message: emptyTimeSlotsMessage,
280
+ description: emptyTimeSlotsDescription
247
281
  }), error && /*#__PURE__*/(0, _jsxRuntime.jsx)(_BaseText.default, {
248
282
  className: "mt-2 text-error-primary",
249
283
  children: error
@@ -1 +1 @@
1
- {"version":3,"names":["_dateFns","require","_nativewind","_react","_hocComponents","_BaseDatesScrollView","_interopRequireDefault","_BaseRadioGroup","_BaseText","_hooks","_jsxRuntime","e","__esModule","default","parseMilitaryTime","time","hour","Math","floor","minute","TimeSlots","timeSlots","selectedTime","handleTimePress","disabled","timeLabel","tz","useTimezonedDate","radioOptions","map","slot","label","value","startTime","getTime","toString","selectedValue","undefined","handleRadioChange","timestamp","parseInt","selectedDate","jsxs","View","className","children","jsx","GestureScrollView","style","flex","minHeight","showsVerticalScrollIndicator","nestedScrollEnabled","options","onChange","length","LinearGradient","colors","start","x","y","end","pointerEvents","DateTimeSelector","minDate","maxDate","minHour","maxHour","dayHourRestrictions","timeSlotIntervalMinutes","timeSlotDurationMinutes","disabledWeekDays","disabledHours","dateLabel","description","error","allowPastDatetimes","props","fromWallClock","setSelectedDate","useState","minDateStartOfDay","useMemo","startOfDay","Date","maxDateEndOfDay","dateRange","startDate","endDate","addDays","eachDayOfInterval","timeSlotsCache","Map","getTimeSlotsForDate","useCallback","date","configHash","JSON","stringify","cacheKey","format","has","get","slots","now","tzDate","day","getDay","schedule","minHourParsed","minHourInMinutes","maxHourParsed","maxHourInMinutes","includes","isToday","getHours","currentTimeInMinutes","getMinutes","startTimeInMinutes","endTimeInMinutes","endHour","endMinute","year","getFullYear","month","getMonth","getDate","endTime","startLabel","hourLabel","endLabel","push","set","isDayDisabled","isBefore","isAfter","tzDay","availableSlots","handleDayPress","isSameDay","onDayPress","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/DateTimeSelector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_tz","require","_dateFns","_nativewind","_react","_hocComponents","_BaseDatesScrollView","_interopRequireDefault","_BaseRadioGroup","_BaseText","_hooks","_BaseAlert","_jsxRuntime","e","__esModule","default","parseMilitaryTime","time","hour","Math","floor","minute","TimeSlots","timeSlots","selectedTime","handleTimePress","disabled","timeLabel","tz","useTimezonedDate","radioOptions","map","slot","label","value","startTime","getTime","toString","selectedValue","undefined","handleRadioChange","timestamp","parseInt","selectedDate","jsxs","View","className","children","jsx","GestureScrollView","style","flex","minHeight","showsVerticalScrollIndicator","nestedScrollEnabled","options","onChange","length","LinearGradient","colors","start","x","y","end","pointerEvents","DateTimeSelector","minDate","maxDate","minHour","maxHour","dayHourRestrictions","timeSlotIntervalMinutes","timeSlotDurationMinutes","disabledWeekDays","disabledHours","dateLabel","description","error","allowPastDatetimes","availableDates","emptyTimeSlotsMessage","emptyTimeSlotsDescription","props","fromWallClock","setSelectedDate","useState","minDateStartOfDay","useMemo","startOfDay","Date","maxDateEndOfDay","dateRange","availableDate","parse","date","TZDate","startDate","endDate","addDays","eachDayOfInterval","timeSlotsCache","Map","getTimeSlotsForDate","useCallback","dateStr","format","find","avail","availableTimeBlocks","filter","block","isAfter","startsAt","endTime","endsAt","startLabel","endLabel","configHash","JSON","stringify","cacheKey","has","get","slots","now","tzDate","day","getDay","schedule","minHourParsed","minHourInMinutes","maxHourParsed","maxHourInMinutes","includes","isToday","getHours","currentTimeInMinutes","getMinutes","startTimeInMinutes","endTimeInMinutes","endHour","endMinute","year","getFullYear","month","getMonth","getDate","hourLabel","push","set","isDayDisabled","isBefore","tzDay","availableSlots","handleDayPress","isSameDay","onDayPress","type","message","_default","exports","styled"],"sourceRoot":"../../../src","sources":["components/DateTimeSelector.tsx"],"mappings":"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","ignoreList":[]}
@@ -60,6 +60,12 @@ function useTimezonedDate() {
60
60
  * Interpret a wall-clock date/time as occurring in the configured timezone.
61
61
  * Returns a TZDate instance.
62
62
  *
63
+ * e.g. to create a date for July 1, 2025 at 14:30 in the configured timezone:
64
+ *
65
+ * fromWallClock({ year: 2025, month: 7, day: 1, hour: 14, minute: 30 });
66
+ * => returns UTC datetime for 2025-07-01T14:30:00 -0600 (if timezone is America/Mexico_City)
67
+ * => 2025-07-01T20:30:00Z
68
+ *
63
69
  * @param fields - Wall clock time components (month is 1-based)
64
70
  * @returns TZDate instance in the configured timezone
65
71
  */
@@ -1 +1 @@
1
- {"version":3,"names":["_tz","require","_react","_UIKitProvider","useTimezonedDate","timezone","useTimezone","useMemo","tz","date","undefined","TZDate","Date","fromWallClock","fields","year","month","day","hour","minute","second","millisecond"],"sourceRoot":"../../../src","sources":["hooks/useTimezonedDate.ts"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;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;AACO,SAASG,gBAAgBA,CAAA,EAAG;EACjC,MAAMC,QAAQ,GAAG,IAAAC,0BAAW,EAAC,CAAC;EAE9B,OAAO,IAAAC,cAAO,EAAC,OAAO;IACpB;AACJ;AACA;AACA;AACA;AACA;IACIC,EAAE,EAAGC,IAA6B,IAAa;MAC7C,IAAIA,IAAI,KAAKC,SAAS,EAAE;QACtB,OAAOC,UAAM,CAACH,EAAE,CAACH,QAAQ,CAAC;MAC5B;MACA,IAAII,IAAI,YAAYG,IAAI,EAAE;QACxB,OAAOD,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAEI,IAAI,CAAC;MAClC;MACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACxD,OAAOE,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAE,IAAIO,IAAI,CAACH,IAAI,CAAC,CAAC;MAC5C;MACA,OAAOE,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAEI,IAAI,CAAC;IAClC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IACII,aAAa,EAAGC,MAQf,IAAK,IAAIH,UAAM,CACdG,MAAM,CAACC,IAAI,EACXD,MAAM,CAACE,KAAK,GAAG,CAAC,EAChBF,MAAM,CAACG,GAAG,EACVH,MAAM,CAACI,IAAI,IAAI,CAAC,EAChBJ,MAAM,CAACK,MAAM,IAAI,CAAC,EAClBL,MAAM,CAACM,MAAM,IAAI,CAAC,EAClBN,MAAM,CAACO,WAAW,IAAI,CAAC,EACvBhB,QACF,CAAC;IAED;AACJ;AACA;IACIA;EACF,CAAC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["_tz","require","_react","_UIKitProvider","useTimezonedDate","timezone","useTimezone","useMemo","tz","date","undefined","TZDate","Date","fromWallClock","fields","year","month","day","hour","minute","second","millisecond"],"sourceRoot":"../../../src","sources":["hooks/useTimezonedDate.ts"],"mappings":";;;;;;AAAA,IAAAA,GAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAEA,IAAAE,cAAA,GAAAF,OAAA;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;AACO,SAASG,gBAAgBA,CAAA,EAAG;EACjC,MAAMC,QAAQ,GAAG,IAAAC,0BAAW,EAAC,CAAC;EAE9B,OAAO,IAAAC,cAAO,EAAC,OAAO;IACpB;AACJ;AACA;AACA;AACA;AACA;IACIC,EAAE,EAAGC,IAA6B,IAAa;MAC7C,IAAIA,IAAI,KAAKC,SAAS,EAAE;QACtB,OAAOC,UAAM,CAACH,EAAE,CAACH,QAAQ,CAAC;MAC5B;MACA,IAAII,IAAI,YAAYG,IAAI,EAAE;QACxB,OAAOD,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAEI,IAAI,CAAC;MAClC;MACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACxD,OAAOE,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAE,IAAIO,IAAI,CAACH,IAAI,CAAC,CAAC;MAC5C;MACA,OAAOE,UAAM,CAACH,EAAE,CAACH,QAAQ,EAAEI,IAAI,CAAC;IAClC,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACII,aAAa,EAAGC,MAQf,IAAK,IAAIH,UAAM,CACdG,MAAM,CAACC,IAAI,EACXD,MAAM,CAACE,KAAK,GAAG,CAAC,EAChBF,MAAM,CAACG,GAAG,EACVH,MAAM,CAACI,IAAI,IAAI,CAAC,EAChBJ,MAAM,CAACK,MAAM,IAAI,CAAC,EAClBL,MAAM,CAACM,MAAM,IAAI,CAAC,EAClBN,MAAM,CAACO,WAAW,IAAI,CAAC,EACvBhB,QACF,CAAC;IAED;AACJ;AACA;IACIA;EACF,CAAC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;AACjB","ignoreList":[]}
@@ -2,49 +2,27 @@
2
2
 
3
3
  import clsx from 'clsx';
4
4
  import { styled } from 'nativewind';
5
- import { InformationCircleIcon as OutlinedInformationCircleIcon } from 'react-native-heroicons/outline';
6
- import { ExclamationTriangleIcon, CheckCircleIcon, XCircleIcon, InformationCircleIcon as SolidInformationCircleIcon } from 'react-native-heroicons/solid';
5
+ import { InformationCircleIcon } from 'react-native-heroicons/outline';
7
6
  import { View } from "../hoc-components.js";
8
7
  import BaseIcon from "./BaseIcon.js";
9
8
  import BaseText from "./BaseText.js";
10
9
  import { useIsAboveBreakpoint } from "../hooks/useIsAboveBreakpoint.js";
10
+ import foregroundColors from "../styles/foreground-colors.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
12
  function IconComponent({
13
- type,
14
- variant = 'primary'
13
+ type
15
14
  }) {
16
15
  const iconColors = {
17
- brand: {
18
- primary: 'fg-white',
19
- secondary: 'fg-brand-primary'
20
- },
21
- error: {
22
- primary: 'fg-white',
23
- secondary: 'fg-error-primary'
24
- },
25
- success: {
26
- primary: 'fg-white',
27
- secondary: 'fg-success-primary'
28
- },
29
- alert: {
30
- primary: 'fg-white',
31
- secondary: 'fg-warning-primary'
32
- }
16
+ brand: 'fg-brand-primary',
17
+ error: 'fg-error-primary',
18
+ alert: 'fg-warning-primary'
33
19
  };
34
- const icons = {
35
- brand: SolidInformationCircleIcon,
36
- error: XCircleIcon,
37
- success: CheckCircleIcon,
38
- alert: ExclamationTriangleIcon
39
- };
40
- if (variant === 'secondary') {
41
- icons.brand = OutlinedInformationCircleIcon;
42
- }
43
20
  return /*#__PURE__*/_jsx(BaseIcon, {
44
- icon: icons[type],
45
- size: 18,
46
- color: iconColors[type][variant],
47
- className: "mr-1"
21
+ icon: InformationCircleIcon,
22
+ size: 16,
23
+ color: iconColors[type],
24
+ strokeWidth: 2,
25
+ className: "shrink-0"
48
26
  });
49
27
  }
50
28
  function BaseAlert({
@@ -57,82 +35,48 @@ function BaseAlert({
57
35
  }) {
58
36
  const largePhone = useIsAboveBreakpoint('xs');
59
37
  const alertClasses = () => {
60
- if (variant === 'primary') {
61
- switch (type) {
62
- case 'error':
63
- return 'bg-error-solid';
64
- case 'success':
65
- return 'bg-success-solid';
66
- case 'alert':
67
- return 'bg-warning-solid';
68
- case 'brand':
69
- default:
70
- return 'bg-brand-solid';
71
- }
72
- } else {
73
- switch (type) {
74
- case 'error':
75
- return 'bg-white border border-error';
76
- case 'success':
77
- case 'alert':
78
- return 'bg-white border border-primary';
79
- case 'brand':
80
- default:
81
- return 'bg-white border border-brand';
82
- }
83
- }
84
- };
85
- const messageTextColor = () => {
86
- if (variant === 'primary') {
87
- return 'text-white';
88
- }
38
+ if (variant === 'secondary') return 'bg-primary';
89
39
  switch (type) {
90
40
  case 'error':
91
- return 'text-error-primary';
92
- case 'success':
93
- return 'text-success-primary';
41
+ return 'bg-error-primary';
94
42
  case 'alert':
95
- return 'text-warning-primary';
43
+ return 'bg-warning-primary';
96
44
  case 'brand':
97
45
  default:
98
- return 'text-brand-secondary';
46
+ return 'bg-brand-primary';
99
47
  }
100
48
  };
101
- const descriptionTextColor = () => {
102
- if (variant === 'primary') {
103
- return 'text-utility-gray-100';
104
- }
105
- switch (type) {
106
- case 'error':
107
- return 'text-error-primary';
108
- case 'success':
109
- return 'text-success-primary';
110
- case 'alert':
111
- return 'text-warning-primary';
112
- case 'brand':
113
- default:
114
- return 'text-brand-tertiary';
115
- }
49
+
50
+ // @TODO handle dark mode colors
51
+ const iconBorderColors = {
52
+ brand: foregroundColors['fg-brand-primary'].light,
53
+ error: foregroundColors['fg-error-primary'].light,
54
+ alert: foregroundColors['fg-warning-primary'].light
116
55
  };
117
56
  return /*#__PURE__*/_jsxs(View, {
118
- className: clsx('flex flex-row rounded-lg', alertClasses(), largePhone ? 'px-2 py-4' : 'px-1 py-2'),
57
+ className: clsx('flex w-full flex-col rounded-xl border border-primary', alertClasses(), largePhone ? 'p-4' : 'p-2'),
119
58
  ...props,
120
59
  children: [/*#__PURE__*/_jsx(View, {
121
- className: "shrink-0",
122
- children: /*#__PURE__*/_jsx(IconComponent, {
123
- type: type,
124
- variant: variant
60
+ className: "items-center -ml-1.5 justify-center self-start rounded-full border-2 p-[4px]",
61
+ style: {
62
+ borderColor: `${iconBorderColors[type]}19`
63
+ },
64
+ children: /*#__PURE__*/_jsx(View, {
65
+ className: "items-center justify-center self-start rounded-full border-2 p-[2px]",
66
+ style: {
67
+ borderColor: `${iconBorderColors[type]}66`
68
+ },
69
+ children: /*#__PURE__*/_jsx(IconComponent, {
70
+ type: type
71
+ })
125
72
  })
126
- }), /*#__PURE__*/_jsxs(View, {
127
- className: clsx('flex flex-1 flex-col pr-2', largePhone ? 'ml-3' : 'ml-1'),
128
- children: [/*#__PURE__*/_jsx(BaseText, {
129
- className: clsx('flex-1 font-semibold', messageTextColor(), largePhone ? 'text-base' : 'text-sm'),
130
- children: message
131
- }), description && /*#__PURE__*/_jsx(BaseText, {
132
- className: clsx('flex-1 text-sm', descriptionTextColor(), largePhone ? 'mt-3' : 'mt-1'),
133
- children: description
134
- }), children]
135
- })]
73
+ }), /*#__PURE__*/_jsx(BaseText, {
74
+ className: clsx('mt-2 font-semibold text-secondary', largePhone ? 'text-sm' : 'text-xs'),
75
+ children: message
76
+ }), description && /*#__PURE__*/_jsx(BaseText, {
77
+ className: clsx('text-sm text-quaternary', largePhone ? 'mt-3' : 'mt-1'),
78
+ children: description
79
+ }), children]
136
80
  });
137
81
  }
138
82
  export default styled(BaseAlert);
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","styled","InformationCircleIcon","OutlinedInformationCircleIcon","ExclamationTriangleIcon","CheckCircleIcon","XCircleIcon","SolidInformationCircleIcon","View","BaseIcon","BaseText","useIsAboveBreakpoint","jsx","_jsx","jsxs","_jsxs","IconComponent","type","variant","iconColors","brand","primary","secondary","error","success","alert","icons","icon","size","color","className","BaseAlert","message","description","children","props","largePhone","alertClasses","messageTextColor","descriptionTextColor"],"sourceRoot":"../../../src","sources":["components/BaseAlert.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","styled","InformationCircleIcon","View","BaseIcon","BaseText","useIsAboveBreakpoint","foregroundColors","jsx","_jsx","jsxs","_jsxs","IconComponent","type","iconColors","brand","error","alert","icon","size","color","strokeWidth","className","BaseAlert","message","description","variant","children","props","largePhone","alertClasses","iconBorderColors","light","style","borderColor"],"sourceRoot":"../../../src","sources":["components/BaseAlert.tsx"],"mappings":";;AAAA,OAAOA,IAAI,MAAM,MAAM;AACvB,SAASC,MAAM,QAAQ,YAAY;AACnC,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,SAASC,IAAI,QAAQ,sBAAmB;AACxC,OAAOC,QAAQ,MAAM,eAAY;AACjC,OAAOC,QAAQ,MAAM,eAAY;AACjC,SAASC,oBAAoB,QAAQ,kCAA+B;AACpE,OAAOC,gBAAgB,MAAM,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAM3D,SAASC,aAAaA,CAAC;EAAEC;AAAyB,CAAC,EAAE;EACnD,MAAMC,UAAU,GAAG;IACjBC,KAAK,EAAE,kBAAkB;IACzBC,KAAK,EAAE,kBAAkB;IACzBC,KAAK,EAAE;EACT,CAAU;EAEV,oBACER,IAAA,CAACL,QAAQ;IACPc,IAAI,EAAEhB,qBAAsB;IAC5BiB,IAAI,EAAE,EAAG;IACTC,KAAK,EAAEN,UAAU,CAACD,IAAI,CAAE;IACxBQ,WAAW,EAAE,CAAE;IACfC,SAAS,EAAC;EAAU,CACrB,CAAC;AAEN;AASA,SAASC,SAASA,CAAC;EACjBV,IAAI;EACJW,OAAO;EACPC,WAAW;EACXC,OAAO,GAAG,SAAS;EACnBC,QAAQ;EACR,GAAGC;AACE,CAAC,EAAE;EACR,MAAMC,UAAU,GAAGvB,oBAAoB,CAAC,IAAI,CAAC;EAC7C,MAAMwB,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAIJ,OAAO,KAAK,WAAW,EAAE,OAAO,YAAY;IAEhD,QAAQb,IAAI;MACV,KAAK,OAAO;QACV,OAAO,kBAAkB;MAC3B,KAAK,OAAO;QACV,OAAO,oBAAoB;MAC7B,KAAK,OAAO;MACZ;QACE,OAAO,kBAAkB;IAC7B;EACF,CAAC;;EAED;EACA,MAAMkB,gBAAgB,GAAG;IACvBhB,KAAK,EAAER,gBAAgB,CAAC,kBAAkB,CAAC,CAACyB,KAAK;IACjDhB,KAAK,EAAET,gBAAgB,CAAC,kBAAkB,CAAC,CAACyB,KAAK;IACjDf,KAAK,EAAEV,gBAAgB,CAAC,oBAAoB,CAAC,CAACyB;EAChD,CAAU;EAEV,oBACErB,KAAA,CAACR,IAAI;IACHmB,SAAS,EAAEtB,IAAI,CACb,uDAAuD,EACvD8B,YAAY,CAAC,CAAC,EACdD,UAAU,GAAG,KAAK,GAAG,KACvB,CAAE;IAAA,GACED,KAAK;IAAAD,QAAA,gBAETlB,IAAA,CAACN,IAAI;MACHmB,SAAS,EAAC,8EAA8E;MACxFW,KAAK,EAAE;QAAEC,WAAW,EAAE,GAAGH,gBAAgB,CAAClB,IAAI,CAAC;MAAK,CAAE;MAAAc,QAAA,eAEtDlB,IAAA,CAACN,IAAI;QACHmB,SAAS,EAAC,sEAAsE;QAChFW,KAAK,EAAE;UAAEC,WAAW,EAAE,GAAGH,gBAAgB,CAAClB,IAAI,CAAC;QAAK,CAAE;QAAAc,QAAA,eAEtDlB,IAAA,CAACG,aAAa;UACZC,IAAI,EAAEA;QAAK,CACZ;MAAC,CACE;IAAC,CACH,CAAC,eACPJ,IAAA,CAACJ,QAAQ;MAACiB,SAAS,EAAEtB,IAAI,CACvB,mCAAmC,EACnC6B,UAAU,GAAG,SAAS,GAAG,SAC3B,CAAE;MAAAF,QAAA,EAECH;IAAO,CACA,CAAC,EACVC,WAAW,iBACZhB,IAAA,CAACJ,QAAQ;MAACiB,SAAS,EAAEtB,IAAI,CACvB,yBAAyB,EACzB6B,UAAU,GAAG,MAAM,GAAG,MACxB,CAAE;MAAAF,QAAA,EAECF;IAAW,CACJ,CACT,EACAE,QAAQ;EAAA,CACL,CAAC;AAEX;AAEA,eAAe1B,MAAM,CAACsB,SAAS,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { isBefore, isAfter, addDays, startOfDay, isSameDay, isToday, format, eachDayOfInterval } from 'date-fns';
3
+ import { TZDate } from '@date-fns/tz';
4
+ import { isBefore, isAfter, addDays, startOfDay, isSameDay, isToday, format, eachDayOfInterval, parse } from 'date-fns';
4
5
  import { styled } from 'nativewind';
5
6
  import { useMemo, useCallback, useState } from 'react';
6
7
  import { View, GestureScrollView, LinearGradient } from "../hoc-components.js";
@@ -8,6 +9,7 @@ import BaseDatesScrollView from "./BaseDatesScrollView.js";
8
9
  import BaseRadioGroup from "./BaseRadioGroup.js";
9
10
  import BaseText from "./BaseText.js";
10
11
  import { useTimezonedDate } from "../hooks/index.js";
12
+ import BaseAlert from "./BaseAlert.js";
11
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
14
  function parseMilitaryTime(time) {
13
15
  const hour = Math.floor(time / 100);
@@ -95,6 +97,9 @@ function DateTimeSelector({
95
97
  disabled = false,
96
98
  error,
97
99
  allowPastDatetimes = false,
100
+ availableDates,
101
+ emptyTimeSlotsMessage = 'No hay horarios disponibles para este día',
102
+ emptyTimeSlotsDescription = 'Por favor, selecciona otro día.',
98
103
  ...props
99
104
  }) {
100
105
  const {
@@ -105,15 +110,36 @@ function DateTimeSelector({
105
110
  const minDateStartOfDay = useMemo(() => startOfDay(tz(minDate || new Date())), [minDate, tz]);
106
111
  const maxDateEndOfDay = useMemo(() => maxDate ? startOfDay(tz(maxDate)) : null, [maxDate, tz]);
107
112
  const dateRange = useMemo(() => {
113
+ if (availableDates && availableDates.length > 0) {
114
+ return availableDates.map(availableDate => parse(availableDate.date, 'yyyy-MM-dd', new TZDate()));
115
+ }
108
116
  const startDate = minDateStartOfDay;
109
117
  const endDate = maxDateEndOfDay || addDays(startDate, 7);
110
118
  return eachDayOfInterval({
111
119
  start: startDate,
112
120
  end: endDate
113
121
  });
114
- }, [minDateStartOfDay, maxDateEndOfDay]);
122
+ }, [minDateStartOfDay, maxDateEndOfDay, availableDates]);
115
123
  const timeSlotsCache = useMemo(() => new Map(), []);
116
124
  const getTimeSlotsForDate = useCallback(date => {
125
+ if (availableDates && availableDates.length > 0) {
126
+ const dateStr = format(date, 'yyyy-MM-dd');
127
+ const availableDate = availableDates.find(avail => avail.date === dateStr);
128
+ if (availableDate && availableDate.availableTimeBlocks) {
129
+ return availableDate.availableTimeBlocks.filter(block => isAfter(tz(block.startsAt), new TZDate())).map(block => {
130
+ const startTime = tz(block.startsAt);
131
+ const endTime = tz(block.endsAt);
132
+ const startLabel = format(startTime, 'H:mm');
133
+ const endLabel = format(endTime, 'H:mm');
134
+ return {
135
+ startTime,
136
+ endTime,
137
+ label: `${startLabel} - ${endLabel}`
138
+ };
139
+ });
140
+ }
141
+ return [];
142
+ }
117
143
  const configHash = JSON.stringify({
118
144
  dayHourRestrictions,
119
145
  minHour,
@@ -187,24 +213,27 @@ function DateTimeSelector({
187
213
  }
188
214
  timeSlotsCache.set(cacheKey, slots);
189
215
  return slots;
190
- }, [timeSlotsCache, dayHourRestrictions, minHour, maxHour, timeSlotIntervalMinutes, timeSlotDurationMinutes, disabledHours, allowPastDatetimes, tz, fromWallClock]);
216
+ }, [timeSlotsCache, dayHourRestrictions, minHour, maxHour, timeSlotIntervalMinutes, timeSlotDurationMinutes, disabledHours, allowPastDatetimes, availableDates, tz, fromWallClock]);
191
217
  const timeSlots = useMemo(() => {
192
218
  if (!selectedDate) return [];
193
219
  return getTimeSlotsForDate(selectedDate);
194
220
  }, [selectedDate, getTimeSlotsForDate]);
195
221
  const isDayDisabled = useCallback(day => {
196
222
  if (disabled) return true;
223
+ if (availableDates && availableDates.length > 0) {
224
+ const dateStr = format(day, 'yyyy-MM-dd');
225
+ const availableDate = availableDates.find(avail => avail.date === dateStr);
226
+ return !availableDate;
227
+ }
197
228
  if (minDateStartOfDay && isBefore(day, minDateStartOfDay)) return true;
198
229
  if (maxDateEndOfDay && isAfter(day, maxDateEndOfDay)) return true;
199
230
  const tzDay = tz(day);
200
231
  if (disabledWeekDays.includes(tzDay.getDay())) return true;
201
232
  if (!allowPastDatetimes && isBefore(day, startOfDay(tz()))) return true;
202
-
203
- // Check if there are available time slots for this day
204
233
  const availableSlots = getTimeSlotsForDate(day);
205
234
  if (availableSlots.length === 0) return true;
206
235
  return false;
207
- }, [disabled, minDateStartOfDay, maxDateEndOfDay, disabledWeekDays, allowPastDatetimes, getTimeSlotsForDate, tz]);
236
+ }, [disabled, minDateStartOfDay, maxDateEndOfDay, disabledWeekDays, allowPastDatetimes, availableDates, getTimeSlotsForDate, tz]);
208
237
  const handleDayPress = useCallback(day => {
209
238
  if (isDayDisabled(day)) return;
210
239
  setSelectedDate(day);
@@ -233,12 +262,17 @@ function DateTimeSelector({
233
262
  selectedDate: selectedDate,
234
263
  isDayDisabled: isDayDisabled,
235
264
  onDayPress: handleDayPress
236
- }), selectedDate && /*#__PURE__*/_jsx(TimeSlots, {
265
+ }), selectedDate && timeSlots.length > 0 && /*#__PURE__*/_jsx(TimeSlots, {
237
266
  timeSlots: timeSlots,
238
267
  selectedTime: selectedTime,
239
268
  handleTimePress: handleTimePress,
240
269
  disabled: disabled,
241
270
  timeLabel: timeLabel
271
+ }), selectedDate && timeSlots.length === 0 && /*#__PURE__*/_jsx(BaseAlert, {
272
+ className: "mt-10",
273
+ type: "alert",
274
+ message: emptyTimeSlotsMessage,
275
+ description: emptyTimeSlotsDescription
242
276
  }), error && /*#__PURE__*/_jsx(BaseText, {
243
277
  className: "mt-2 text-error-primary",
244
278
  children: error
@@ -1 +1 @@
1
- {"version":3,"names":["isBefore","isAfter","addDays","startOfDay","isSameDay","isToday","format","eachDayOfInterval","styled","useMemo","useCallback","useState","View","GestureScrollView","LinearGradient","BaseDatesScrollView","BaseRadioGroup","BaseText","useTimezonedDate","jsx","_jsx","jsxs","_jsxs","parseMilitaryTime","time","hour","Math","floor","minute","TimeSlots","timeSlots","selectedTime","handleTimePress","disabled","timeLabel","tz","radioOptions","map","slot","label","value","startTime","getTime","toString","selectedValue","undefined","handleRadioChange","timestamp","parseInt","selectedDate","className","children","style","flex","minHeight","showsVerticalScrollIndicator","nestedScrollEnabled","options","onChange","length","colors","start","x","y","end","pointerEvents","DateTimeSelector","minDate","maxDate","minHour","maxHour","dayHourRestrictions","timeSlotIntervalMinutes","timeSlotDurationMinutes","disabledWeekDays","disabledHours","dateLabel","description","error","allowPastDatetimes","props","fromWallClock","setSelectedDate","minDateStartOfDay","Date","maxDateEndOfDay","dateRange","startDate","endDate","timeSlotsCache","Map","getTimeSlotsForDate","date","configHash","JSON","stringify","cacheKey","has","get","slots","now","tzDate","day","getDay","schedule","minHourParsed","minHourInMinutes","maxHourParsed","maxHourInMinutes","includes","getHours","currentTimeInMinutes","getMinutes","startTimeInMinutes","endTimeInMinutes","endHour","endMinute","year","getFullYear","month","getMonth","getDate","endTime","startLabel","hourLabel","endLabel","push","set","isDayDisabled","tzDay","availableSlots","handleDayPress","onDayPress"],"sourceRoot":"../../../src","sources":["components/DateTimeSelector.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TZDate","isBefore","isAfter","addDays","startOfDay","isSameDay","isToday","format","eachDayOfInterval","parse","styled","useMemo","useCallback","useState","View","GestureScrollView","LinearGradient","BaseDatesScrollView","BaseRadioGroup","BaseText","useTimezonedDate","BaseAlert","jsx","_jsx","jsxs","_jsxs","parseMilitaryTime","time","hour","Math","floor","minute","TimeSlots","timeSlots","selectedTime","handleTimePress","disabled","timeLabel","tz","radioOptions","map","slot","label","value","startTime","getTime","toString","selectedValue","undefined","handleRadioChange","timestamp","parseInt","selectedDate","className","children","style","flex","minHeight","showsVerticalScrollIndicator","nestedScrollEnabled","options","onChange","length","colors","start","x","y","end","pointerEvents","DateTimeSelector","minDate","maxDate","minHour","maxHour","dayHourRestrictions","timeSlotIntervalMinutes","timeSlotDurationMinutes","disabledWeekDays","disabledHours","dateLabel","description","error","allowPastDatetimes","availableDates","emptyTimeSlotsMessage","emptyTimeSlotsDescription","props","fromWallClock","setSelectedDate","minDateStartOfDay","Date","maxDateEndOfDay","dateRange","availableDate","date","startDate","endDate","timeSlotsCache","Map","getTimeSlotsForDate","dateStr","find","avail","availableTimeBlocks","filter","block","startsAt","endTime","endsAt","startLabel","endLabel","configHash","JSON","stringify","cacheKey","has","get","slots","now","tzDate","day","getDay","schedule","minHourParsed","minHourInMinutes","maxHourParsed","maxHourInMinutes","includes","getHours","currentTimeInMinutes","getMinutes","startTimeInMinutes","endTimeInMinutes","endHour","endMinute","year","getFullYear","month","getMonth","getDate","hourLabel","push","set","isDayDisabled","tzDay","availableSlots","handleDayPress","onDayPress","type","message"],"sourceRoot":"../../../src","sources":["components/DateTimeSelector.tsx"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,12 @@ export function useTimezonedDate() {
57
57
  * Interpret a wall-clock date/time as occurring in the configured timezone.
58
58
  * Returns a TZDate instance.
59
59
  *
60
+ * e.g. to create a date for July 1, 2025 at 14:30 in the configured timezone:
61
+ *
62
+ * fromWallClock({ year: 2025, month: 7, day: 1, hour: 14, minute: 30 });
63
+ * => returns UTC datetime for 2025-07-01T14:30:00 -0600 (if timezone is America/Mexico_City)
64
+ * => 2025-07-01T20:30:00Z
65
+ *
60
66
  * @param fields - Wall clock time components (month is 1-based)
61
67
  * @returns TZDate instance in the configured timezone
62
68
  */
@@ -1 +1 @@
1
- {"version":3,"names":["TZDate","useMemo","useTimezone","useTimezonedDate","timezone","tz","date","undefined","Date","fromWallClock","fields","year","month","day","hour","minute","second","millisecond"],"sourceRoot":"../../../src","sources":["hooks/useTimezonedDate.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,cAAc;AACrC,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAASC,WAAW,QAAQ,qBAAkB;;AAE9C;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;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EACjC,MAAMC,QAAQ,GAAGF,WAAW,CAAC,CAAC;EAE9B,OAAOD,OAAO,CAAC,OAAO;IACpB;AACJ;AACA;AACA;AACA;AACA;IACII,EAAE,EAAGC,IAA6B,IAAa;MAC7C,IAAIA,IAAI,KAAKC,SAAS,EAAE;QACtB,OAAOP,MAAM,CAACK,EAAE,CAACD,QAAQ,CAAC;MAC5B;MACA,IAAIE,IAAI,YAAYE,IAAI,EAAE;QACxB,OAAOR,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAEE,IAAI,CAAC;MAClC;MACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACxD,OAAON,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAE,IAAII,IAAI,CAACF,IAAI,CAAC,CAAC;MAC5C;MACA,OAAON,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAEE,IAAI,CAAC;IAClC,CAAC;IAED;AACJ;AACA;AACA;AACA;AACA;AACA;IACIG,aAAa,EAAGC,MAQf,IAAK,IAAIV,MAAM,CACdU,MAAM,CAACC,IAAI,EACXD,MAAM,CAACE,KAAK,GAAG,CAAC,EAChBF,MAAM,CAACG,GAAG,EACVH,MAAM,CAACI,IAAI,IAAI,CAAC,EAChBJ,MAAM,CAACK,MAAM,IAAI,CAAC,EAClBL,MAAM,CAACM,MAAM,IAAI,CAAC,EAClBN,MAAM,CAACO,WAAW,IAAI,CAAC,EACvBb,QACF,CAAC;IAED;AACJ;AACA;IACIA;EACF,CAAC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;AACjB","ignoreList":[]}
1
+ {"version":3,"names":["TZDate","useMemo","useTimezone","useTimezonedDate","timezone","tz","date","undefined","Date","fromWallClock","fields","year","month","day","hour","minute","second","millisecond"],"sourceRoot":"../../../src","sources":["hooks/useTimezonedDate.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,cAAc;AACrC,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAASC,WAAW,QAAQ,qBAAkB;;AAE9C;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;AACA,OAAO,SAASC,gBAAgBA,CAAA,EAAG;EACjC,MAAMC,QAAQ,GAAGF,WAAW,CAAC,CAAC;EAE9B,OAAOD,OAAO,CAAC,OAAO;IACpB;AACJ;AACA;AACA;AACA;AACA;IACII,EAAE,EAAGC,IAA6B,IAAa;MAC7C,IAAIA,IAAI,KAAKC,SAAS,EAAE;QACtB,OAAOP,MAAM,CAACK,EAAE,CAACD,QAAQ,CAAC;MAC5B;MACA,IAAIE,IAAI,YAAYE,IAAI,EAAE;QACxB,OAAOR,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAEE,IAAI,CAAC;MAClC;MACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QACxD,OAAON,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAE,IAAII,IAAI,CAACF,IAAI,CAAC,CAAC;MAC5C;MACA,OAAON,MAAM,CAACK,EAAE,CAACD,QAAQ,EAAEE,IAAI,CAAC;IAClC,CAAC;IACD;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIG,aAAa,EAAGC,MAQf,IAAK,IAAIV,MAAM,CACdU,MAAM,CAACC,IAAI,EACXD,MAAM,CAACE,KAAK,GAAG,CAAC,EAChBF,MAAM,CAACG,GAAG,EACVH,MAAM,CAACI,IAAI,IAAI,CAAC,EAChBJ,MAAM,CAACK,MAAM,IAAI,CAAC,EAClBL,MAAM,CAACM,MAAM,IAAI,CAAC,EAClBN,MAAM,CAACO,WAAW,IAAI,CAAC,EACvBb,QACF,CAAC;IAED;AACJ;AACA;IACIA;EACF,CAAC,CAAC,EAAE,CAACA,QAAQ,CAAC,CAAC;AACjB","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { View } from '../hoc-components';
3
3
  interface Props extends React.ComponentProps<typeof View> {
4
- type: 'brand' | 'error' | 'success' | 'alert';
4
+ type: 'brand' | 'error' | 'alert';
5
5
  message: string;
6
6
  description?: string;
7
7
  variant?: 'primary' | 'secondary';
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseAlert.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAmDzC,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACvD,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC;;AAkHD,wBAAiC"}
1
+ {"version":3,"file":"BaseAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseAlert.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AA4BzC,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACvD,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC;;AA2ED,wBAAiC"}
@@ -4,6 +4,14 @@ interface DayHourRestriction {
4
4
  minHour: number;
5
5
  maxHour: number;
6
6
  }
7
+ interface AvailableTimeBlock {
8
+ startsAt: string;
9
+ endsAt: string;
10
+ }
11
+ interface AvailableDate {
12
+ date: string;
13
+ availableTimeBlocks: AvailableTimeBlock[];
14
+ }
7
15
  export interface DateTimeSelectorProps extends ViewProps {
8
16
  value: Date | undefined;
9
17
  onChange: (date?: Date) => void;
@@ -23,6 +31,9 @@ export interface DateTimeSelectorProps extends ViewProps {
23
31
  disabled?: boolean;
24
32
  error?: string;
25
33
  allowPastDatetimes?: boolean;
34
+ availableDates?: AvailableDate[];
35
+ emptyTimeSlotsMessage?: string;
36
+ emptyTimeSlotsDescription?: string;
26
37
  }
27
38
  declare const _default: import("react").ForwardRefExoticComponent<DateTimeSelectorProps & {
28
39
  className?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTimeSelector.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAuFzC,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;;;;;;;AAoPD,wBAAwC"}
1
+ {"version":3,"file":"DateTimeSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTimeSelector.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwFzC,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;;;;;;;AAoSD,wBAAwC"}
@@ -39,6 +39,12 @@ export declare function useTimezonedDate(): {
39
39
  * Interpret a wall-clock date/time as occurring in the configured timezone.
40
40
  * Returns a TZDate instance.
41
41
  *
42
+ * e.g. to create a date for July 1, 2025 at 14:30 in the configured timezone:
43
+ *
44
+ * fromWallClock({ year: 2025, month: 7, day: 1, hour: 14, minute: 30 });
45
+ * => returns UTC datetime for 2025-07-01T14:30:00 -0600 (if timezone is America/Mexico_City)
46
+ * => 2025-07-01T20:30:00Z
47
+ *
42
48
  * @param fields - Wall clock time components (month is 1-based)
43
49
  * @returns TZDate instance in the configured timezone
44
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useTimezonedDate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTimezonedDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB;IAI5B;;;;;OAKG;gBACS,IAAI,GAAG,MAAM,GAAG,MAAM,KAAG,MAAM;IAa3C;;;;;;OAMG;4BACqB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAWD;;OAEG;;EAGN"}
1
+ {"version":3,"file":"useTimezonedDate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTimezonedDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB;IAI5B;;;;;OAKG;gBACS,IAAI,GAAG,MAAM,GAAG,MAAM,KAAG,MAAM;IAY3C;;;;;;;;;;;;OAYG;4BACqB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAWD;;OAEG;;EAGN"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { View } from '../hoc-components';
3
3
  interface Props extends React.ComponentProps<typeof View> {
4
- type: 'brand' | 'error' | 'success' | 'alert';
4
+ type: 'brand' | 'error' | 'alert';
5
5
  message: string;
6
6
  description?: string;
7
7
  variant?: 'primary' | 'secondary';
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseAlert.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAmDzC,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACvD,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC;;AAkHD,wBAAiC"}
1
+ {"version":3,"file":"BaseAlert.d.ts","sourceRoot":"","sources":["../../../../src/components/BaseAlert.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AA4BzC,UAAU,KAAM,SAAQ,KAAK,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC;IACvD,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC;;AA2ED,wBAAiC"}
@@ -4,6 +4,14 @@ interface DayHourRestriction {
4
4
  minHour: number;
5
5
  maxHour: number;
6
6
  }
7
+ interface AvailableTimeBlock {
8
+ startsAt: string;
9
+ endsAt: string;
10
+ }
11
+ interface AvailableDate {
12
+ date: string;
13
+ availableTimeBlocks: AvailableTimeBlock[];
14
+ }
7
15
  export interface DateTimeSelectorProps extends ViewProps {
8
16
  value: Date | undefined;
9
17
  onChange: (date?: Date) => void;
@@ -23,6 +31,9 @@ export interface DateTimeSelectorProps extends ViewProps {
23
31
  disabled?: boolean;
24
32
  error?: string;
25
33
  allowPastDatetimes?: boolean;
34
+ availableDates?: AvailableDate[];
35
+ emptyTimeSlotsMessage?: string;
36
+ emptyTimeSlotsDescription?: string;
26
37
  }
27
38
  declare const _default: import("react").ForwardRefExoticComponent<DateTimeSelectorProps & {
28
39
  className?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTimeSelector.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAuFzC,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;;;;;;;AAoPD,wBAAwC"}
1
+ {"version":3,"file":"DateTimeSelector.d.ts","sourceRoot":"","sources":["../../../../src/components/DateTimeSelector.tsx"],"names":[],"mappings":";AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAwFzC,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAsB,SAAQ,SAAS;IACtD,KAAK,EAAE,IAAI,GAAG,SAAS,CAAC;IACxB,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACzD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC;;;;;;;AAoSD,wBAAwC"}
@@ -39,6 +39,12 @@ export declare function useTimezonedDate(): {
39
39
  * Interpret a wall-clock date/time as occurring in the configured timezone.
40
40
  * Returns a TZDate instance.
41
41
  *
42
+ * e.g. to create a date for July 1, 2025 at 14:30 in the configured timezone:
43
+ *
44
+ * fromWallClock({ year: 2025, month: 7, day: 1, hour: 14, minute: 30 });
45
+ * => returns UTC datetime for 2025-07-01T14:30:00 -0600 (if timezone is America/Mexico_City)
46
+ * => 2025-07-01T20:30:00Z
47
+ *
42
48
  * @param fields - Wall clock time components (month is 1-based)
43
49
  * @returns TZDate instance in the configured timezone
44
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useTimezonedDate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTimezonedDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB;IAI5B;;;;;OAKG;gBACS,IAAI,GAAG,MAAM,GAAG,MAAM,KAAG,MAAM;IAa3C;;;;;;OAMG;4BACqB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAWD;;OAEG;;EAGN"}
1
+ {"version":3,"file":"useTimezonedDate.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useTimezonedDate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAKtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB;IAI5B;;;;;OAKG;gBACS,IAAI,GAAG,MAAM,GAAG,MAAM,KAAG,MAAM;IAY3C;;;;;;;;;;;;OAYG;4BACqB;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;IAWD;;OAEG;;EAGN"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grupalia/rn-ui-kit",
3
- "version": "0.31.1",
3
+ "version": "0.33.0",
4
4
  "description": "Grupalia React Native UI Kit",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/module/index.d.ts",