@thewhileloop/whileui 0.2.8 → 0.2.10
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 +35 -4
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts +1 -1
- package/dist/blocks/datepicker/date-range-picker-modal.d.ts.map +1 -1
- package/dist/blocks/datepicker/date-range-picker-modal.js +6 -1
- package/dist/blocks/datepicker/date-range-picker-modal.js.map +1 -1
- package/dist/blocks/datepicker/datepicker-inline.d.ts +1 -1
- package/dist/blocks/datepicker/datepicker-inline.d.ts.map +1 -1
- package/dist/blocks/datepicker/datepicker-inline.js +8 -2
- package/dist/blocks/datepicker/datepicker-inline.js.map +1 -1
- package/dist/blocks/datepicker/datepicker-modal.d.ts +1 -1
- package/dist/blocks/datepicker/datepicker-modal.d.ts.map +1 -1
- package/dist/blocks/datepicker/datepicker-modal.js +7 -2
- package/dist/blocks/datepicker/datepicker-modal.js.map +1 -1
- package/dist/blocks/datepicker/use-calendar-theme.d.ts +13 -0
- package/dist/blocks/datepicker/use-calendar-theme.d.ts.map +1 -1
- package/dist/blocks/datepicker/use-calendar-theme.js +1 -0
- package/dist/blocks/datepicker/use-calendar-theme.js.map +1 -1
- package/dist/lib/theme-colors.d.ts.map +1 -1
- package/dist/lib/theme-colors.js +43 -11
- package/dist/lib/theme-colors.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -505,7 +505,7 @@ Uniwind.setTheme('dark'); // or 'light' or 'system'
|
|
|
505
505
|
|
|
506
506
|
### Theme Colors for RN Primitives
|
|
507
507
|
|
|
508
|
-
Some React Native APIs require
|
|
508
|
+
Some React Native APIs require native color strings (hex/rgb/hsl/named). Use `useThemeColors` or `useIconColors` to read from your `global.css` theme. If your theme uses `oklch(...)`, add `--app-color-*` hex fallbacks — `useThemeColors` will use them when `--color-*` is not RN-native.
|
|
509
509
|
|
|
510
510
|
```tsx
|
|
511
511
|
import { useThemeColors, useIconColors } from '@thewhileloop/whileui';
|
|
@@ -521,11 +521,42 @@ const iconColors = useIconColors();
|
|
|
521
521
|
<Spinner color={colors.foreground} /> // Spinner defaults to this when color not passed
|
|
522
522
|
```
|
|
523
523
|
|
|
524
|
-
- **useThemeColors** — Returns
|
|
524
|
+
- **useThemeColors** — Returns RN-safe color strings for all semantic tokens. Falls back to `--app-color-*` when `--color-*` is not RN-native (e.g. `oklch(...)`).
|
|
525
525
|
- **useIconColors** — Subset for icons. Maps `muted` → `mutedForeground` (readable on backgrounds).
|
|
526
526
|
|
|
527
527
|
Input, Textarea, NumericInput, SmartInput, Spinner, and LoadingScreen default to theme colors when you omit `placeholderTextColor` or `spinnerColor`.
|
|
528
528
|
|
|
529
|
+
Optional RN fallback tokens (hex/rgb/hsl/named):
|
|
530
|
+
|
|
531
|
+
```css
|
|
532
|
+
@layer theme {
|
|
533
|
+
:root {
|
|
534
|
+
@variant light {
|
|
535
|
+
--app-color-primary: #000000;
|
|
536
|
+
--app-color-primary-foreground: #ffffff;
|
|
537
|
+
--app-color-foreground: #000000;
|
|
538
|
+
--app-color-muted: #f5f5f5;
|
|
539
|
+
--app-color-muted-foreground: #737373;
|
|
540
|
+
--app-color-background: #ffffff;
|
|
541
|
+
--app-color-border: #e5e5e5;
|
|
542
|
+
--app-color-accent: #22c55e;
|
|
543
|
+
--app-color-destructive: #dc2626;
|
|
544
|
+
}
|
|
545
|
+
@variant dark {
|
|
546
|
+
--app-color-primary: #ffffff;
|
|
547
|
+
--app-color-primary-foreground: #000000;
|
|
548
|
+
--app-color-foreground: #ffffff;
|
|
549
|
+
--app-color-muted: #2e2e2e;
|
|
550
|
+
--app-color-muted-foreground: #999999;
|
|
551
|
+
--app-color-background: #000000;
|
|
552
|
+
--app-color-border: #3d3d3d;
|
|
553
|
+
--app-color-accent: #22c55e;
|
|
554
|
+
--app-color-destructive: #dc2626;
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
```
|
|
559
|
+
|
|
529
560
|
Or use the first-party ThemeBridge helper with optional persistence:
|
|
530
561
|
|
|
531
562
|
```tsx
|
|
@@ -1187,7 +1218,7 @@ const [value, setValue] = useState('');
|
|
|
1187
1218
|
|
|
1188
1219
|
## DatePickerModal / DatePickerInline / DateRangePickerModal
|
|
1189
1220
|
|
|
1190
|
-
Date selection blocks using react-native-calendars. Theme-aware via `useCalendarTheme` (Uniwind light/dark). Optional `theme` prop for custom hex
|
|
1221
|
+
Date selection blocks using react-native-calendars. Theme-aware via `useCalendarTheme` (Uniwind light/dark). Optional `theme` prop for custom RN color strings (hex/rgb/hsl/named). `CalendarTheme` maps to react-native-calendars Theme and supports `arrowColor`, `disabledArrowColor`, and optional font keys.
|
|
1191
1222
|
|
|
1192
1223
|
**DatePickerModal** — Compact trigger opens bottom sheet with calendar. Use `DatePickerTrigger` as the trigger content.
|
|
1193
1224
|
|
|
@@ -1240,7 +1271,7 @@ const [range, setRange] = useState<DateRange | null>(null);
|
|
|
1240
1271
|
| `open` / `onOpenChange` | — | Modal state (modal variants) |
|
|
1241
1272
|
| `trigger` | `ReactNode` | Custom trigger (modal variants) |
|
|
1242
1273
|
| `minDate` / `maxDate` | `string` | YYYY-MM-DD bounds |
|
|
1243
|
-
| `theme` | `CalendarTheme` | Override calendar
|
|
1274
|
+
| `theme` | `CalendarTheme` | Override calendar colors |
|
|
1244
1275
|
|
|
1245
1276
|
## ConfirmActionSheet
|
|
1246
1277
|
|
|
@@ -17,7 +17,7 @@ export interface DateRangePickerModalProps {
|
|
|
17
17
|
minDate?: string;
|
|
18
18
|
/** Maximum selectable date YYYY-MM-DD */
|
|
19
19
|
maxDate?: string;
|
|
20
|
-
/** Override calendar theme (
|
|
20
|
+
/** Override calendar theme (RN color strings) */
|
|
21
21
|
theme?: CalendarTheme;
|
|
22
22
|
/** Trigger element. If not provided, no trigger is rendered. */
|
|
23
23
|
trigger?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker-modal.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/date-range-picker-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAa5E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,
|
|
1
|
+
{"version":3,"file":"date-range-picker-modal.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/date-range-picker-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAa5E,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,kBAAkB,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAOvE;AAiCD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,KAA2B,EAC3B,YAAqB,EACrB,SAAS,GACV,EAAE,yBAAyB,2CAiI3B;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,EACrC,KAAK,EACL,WAAiC,EACjC,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAYA;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -47,6 +47,11 @@ export function DateRangePickerModal({ value, onValueChange, open, onOpenChange,
|
|
|
47
47
|
const insets = useSafeAreaInsets();
|
|
48
48
|
const { theme } = useUniwind();
|
|
49
49
|
const calendarTheme = useCalendarTheme(customTheme);
|
|
50
|
+
const arrowColor = calendarTheme.arrowColor ??
|
|
51
|
+
calendarTheme.monthTextColor ??
|
|
52
|
+
calendarTheme.dayTextColor ??
|
|
53
|
+
'#000000';
|
|
54
|
+
const renderArrow = useCallback((direction) => (_jsx(Text, { className: "text-base font-medium", style: { color: arrowColor }, children: direction === 'left' ? '<' : '>' })), [arrowColor]);
|
|
50
55
|
const [draftStart, setDraftStart] = useState(value?.start ?? null);
|
|
51
56
|
const [draftEnd, setDraftEnd] = useState(value?.end ?? null);
|
|
52
57
|
const markedDates = useMemo(() => {
|
|
@@ -105,7 +110,7 @@ export function DateRangePickerModal({ value, onValueChange, open, onOpenChange,
|
|
|
105
110
|
setDraftStart(null);
|
|
106
111
|
setDraftEnd(null);
|
|
107
112
|
}, [onOpenChange]);
|
|
108
|
-
return (_jsxs(_Fragment, { children: [trigger ? (_jsx(Pressable, { onPress: handleOpen, className: cn('min-h-10 w-full flex-row items-center rounded-lg border border-input bg-background px-4', className), children: trigger })) : null, _jsx(Modal, { visible: open, transparent: true, animationType: "slide", children: _jsx(Pressable, { className: "flex-1 justify-end bg-black/40", onPress: handleBackdropPress, children: _jsxs(Pressable, { className: "rounded-t-xl border border-border bg-background", style: { paddingBottom: Math.max(insets.bottom, 16) }, onPress: (e) => e.stopPropagation(), children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border px-4 py-3", children: [_jsx(Text, { className: "text-base font-medium text-foreground", children: title }), _jsx(Button, { size: "sm", onPress: handleConfirm, children: _jsx(ButtonText, { children: confirmLabel }) })] }), _jsx(View, { className: "p-4", children: _jsx(Calendar, { current: draftStart ?? value?.start ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, markingType: "period", minDate: minDate, maxDate: maxDate, theme: calendarTheme, enableSwipeMonths: true }, theme) })] }) }) })] }));
|
|
113
|
+
return (_jsxs(_Fragment, { children: [trigger ? (_jsx(Pressable, { onPress: handleOpen, className: cn('min-h-10 w-full flex-row items-center rounded-lg border border-input bg-background px-4', className), children: trigger })) : null, _jsx(Modal, { visible: open, transparent: true, animationType: "slide", children: _jsx(Pressable, { className: "flex-1 justify-end bg-black/40", onPress: handleBackdropPress, children: _jsxs(Pressable, { className: "rounded-t-xl border border-border bg-background", style: { paddingBottom: Math.max(insets.bottom, 16) }, onPress: (e) => e.stopPropagation(), children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border px-4 py-3", children: [_jsx(Text, { className: "text-base font-medium text-foreground", children: title }), _jsx(Button, { size: "sm", onPress: handleConfirm, children: _jsx(ButtonText, { children: confirmLabel }) })] }), _jsx(View, { className: "p-4", children: _jsx(Calendar, { current: draftStart ?? value?.start ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, markingType: "period", minDate: minDate, maxDate: maxDate, theme: calendarTheme, renderArrow: renderArrow, enableSwipeMonths: true }, theme) })] }) }) })] }));
|
|
109
114
|
}
|
|
110
115
|
/** Compact trigger showing formatted range. Use as DateRangePickerModal's trigger prop. */
|
|
111
116
|
export function DateRangePickerTrigger({ value, placeholder = 'Select date range', className, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker-modal.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/date-range-picker-modal.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"date-range-picker-modal.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/date-range-picker-modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ export interface DatePickerInlineProps {
|
|
|
8
8
|
minDate?: string;
|
|
9
9
|
/** Maximum selectable date YYYY-MM-DD */
|
|
10
10
|
maxDate?: string;
|
|
11
|
-
/** Override calendar theme (
|
|
11
|
+
/** Override calendar theme (RN color strings) */
|
|
12
12
|
theme?: CalendarTheme;
|
|
13
13
|
className?: string;
|
|
14
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-inline.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-inline.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"datepicker-inline.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-inline.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,KAAK,EAAE,WAAW,EAClB,SAAS,GACV,EAAE,qBAAqB,2CA+CvB"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
2
|
+
import { useCallback, useMemo } from 'react';
|
|
3
3
|
import { View } from 'react-native';
|
|
4
4
|
import { useUniwind } from 'uniwind';
|
|
5
5
|
import { Calendar } from 'react-native-calendars';
|
|
6
|
+
import { Text } from '../../components/text';
|
|
6
7
|
import { cn } from '../../lib/cn';
|
|
7
8
|
import { useCalendarTheme } from './use-calendar-theme';
|
|
8
9
|
export function DatePickerInline({ value, onValueChange, minDate, maxDate, theme: customTheme, className, }) {
|
|
9
10
|
const { theme } = useUniwind();
|
|
10
11
|
const calendarTheme = useCalendarTheme(customTheme);
|
|
12
|
+
const arrowColor = calendarTheme.arrowColor ??
|
|
13
|
+
calendarTheme.monthTextColor ??
|
|
14
|
+
calendarTheme.dayTextColor ??
|
|
15
|
+
'#000000';
|
|
16
|
+
const renderArrow = useCallback((direction) => (_jsx(Text, { className: "text-base font-medium", style: { color: arrowColor }, children: direction === 'left' ? '<' : '>' })), [arrowColor]);
|
|
11
17
|
const markedDates = useMemo(() => {
|
|
12
18
|
if (!value)
|
|
13
19
|
return undefined;
|
|
@@ -22,6 +28,6 @@ export function DatePickerInline({ value, onValueChange, minDate, maxDate, theme
|
|
|
22
28
|
const handleDayPress = (day) => {
|
|
23
29
|
onValueChange?.(day.dateString);
|
|
24
30
|
};
|
|
25
|
-
return (_jsx(View, { className: cn('overflow-hidden rounded-xl border border-border', className), children: _jsx(Calendar, { current: value ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, minDate: minDate, maxDate: maxDate, theme: calendarTheme, enableSwipeMonths: true }, theme) }));
|
|
31
|
+
return (_jsx(View, { className: cn('overflow-hidden rounded-xl border border-border', className), children: _jsx(Calendar, { current: value ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, minDate: minDate, maxDate: maxDate, theme: calendarTheme, renderArrow: renderArrow, enableSwipeMonths: true }, theme) }));
|
|
26
32
|
}
|
|
27
33
|
//# sourceMappingURL=datepicker-inline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-inline.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-inline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"datepicker-inline.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-inline.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAiB,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAsB,MAAM,sBAAsB,CAAC;AAgB5E,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,aAAa,EACb,OAAO,EACP,OAAO,EACP,KAAK,EAAE,WAAW,EAClB,SAAS,GACa;IACtB,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,UAAU,GACd,aAAa,CAAC,UAAU;QACxB,aAAa,CAAC,cAAc;QAC5B,aAAa,CAAC,YAAY;QAC1B,SAAS,CAAC;IACZ,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,SAA2B,EAAE,EAAE,CAAC,CAC/B,KAAC,IAAI,IAAC,SAAS,EAAC,uBAAuB,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,YACjE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAC5B,CACR,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,OAAO;YACL,CAAC,KAAK,CAAC,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,iBAAiB,EAAE,KAAK;gBACxB,KAAK,EAAE,KAAK,EAAE,iEAAiE;aAChF;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,cAAc,GAAG,CAAC,GAAa,EAAE,EAAE;QACvC,aAAa,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC,YAC/E,KAAC,QAAQ,IAEP,OAAO,EAAE,KAAK,IAAI,SAAS,EAC3B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,aAAwC,EAC/C,WAAW,EAAE,WAAW,EACxB,iBAAiB,UARZ,KAAK,CASV,GACG,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -13,7 +13,7 @@ export interface DatePickerModalProps {
|
|
|
13
13
|
minDate?: string;
|
|
14
14
|
/** Maximum selectable date YYYY-MM-DD */
|
|
15
15
|
maxDate?: string;
|
|
16
|
-
/** Override calendar theme (
|
|
16
|
+
/** Override calendar theme (RN color strings) */
|
|
17
17
|
theme?: CalendarTheme;
|
|
18
18
|
/** Trigger element. If not provided, no trigger is rendered. */
|
|
19
19
|
trigger?: React.ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-modal.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"datepicker-modal.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5E,MAAM,WAAW,oBAAoB;IACnC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,uBAAuB;IACvB,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,gEAAgE;IAChE,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CASxE;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,aAAa,EACb,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,EAAE,WAAW,EAClB,OAAO,EACP,KAAqB,EACrB,YAAqB,EACrB,SAAS,GACV,EAAE,oBAAoB,2CAsFtB;AAED,qFAAqF;AACrF,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,WAA2B,EAC3B,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,2CAYA;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo } from 'react';
|
|
2
|
+
import { useCallback, useMemo } from 'react';
|
|
3
3
|
import { Modal, Pressable, View } from 'react-native';
|
|
4
4
|
import { useSafeAreaInsets } from 'react-native-safe-area-context';
|
|
5
5
|
import { useUniwind } from 'uniwind';
|
|
@@ -23,6 +23,11 @@ export function DatePickerModal({ value, onValueChange, open, onOpenChange, minD
|
|
|
23
23
|
const insets = useSafeAreaInsets();
|
|
24
24
|
const { theme } = useUniwind();
|
|
25
25
|
const calendarTheme = useCalendarTheme(customTheme);
|
|
26
|
+
const arrowColor = calendarTheme.arrowColor ??
|
|
27
|
+
calendarTheme.monthTextColor ??
|
|
28
|
+
calendarTheme.dayTextColor ??
|
|
29
|
+
'#000000';
|
|
30
|
+
const renderArrow = useCallback((direction) => (_jsx(Text, { className: "text-base font-medium", style: { color: arrowColor }, children: direction === 'left' ? '<' : '>' })), [arrowColor]);
|
|
26
31
|
const markedDates = useMemo(() => {
|
|
27
32
|
if (!value)
|
|
28
33
|
return undefined;
|
|
@@ -43,7 +48,7 @@ export function DatePickerModal({ value, onValueChange, open, onOpenChange, minD
|
|
|
43
48
|
const handleBackdropPress = () => {
|
|
44
49
|
onOpenChange(false);
|
|
45
50
|
};
|
|
46
|
-
return (_jsxs(_Fragment, { children: [trigger ? (_jsx(Pressable, { onPress: () => onOpenChange(true), className: cn('min-h-10 w-full flex-row items-center rounded-lg border border-input bg-background px-4', className), children: trigger })) : null, _jsx(Modal, { visible: open, transparent: true, animationType: "slide", children: _jsx(Pressable, { className: "flex-1 justify-end bg-black/40", onPress: handleBackdropPress, children: _jsxs(Pressable, { className: "rounded-t-xl border border-border bg-background", style: { paddingBottom: Math.max(insets.bottom, 16) }, onPress: (e) => e.stopPropagation(), children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border px-4 py-3", children: [_jsx(Text, { className: "text-base font-medium text-foreground", children: title }), _jsx(Button, { size: "sm", onPress: handleConfirm, children: _jsx(ButtonText, { children: confirmLabel }) })] }), _jsx(View, { className: "p-4", children: _jsx(Calendar, { current: value ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, minDate: minDate, maxDate: maxDate, theme: calendarTheme, enableSwipeMonths: true }, theme) })] }) }) })] }));
|
|
51
|
+
return (_jsxs(_Fragment, { children: [trigger ? (_jsx(Pressable, { onPress: () => onOpenChange(true), className: cn('min-h-10 w-full flex-row items-center rounded-lg border border-input bg-background px-4', className), children: trigger })) : null, _jsx(Modal, { visible: open, transparent: true, animationType: "slide", children: _jsx(Pressable, { className: "flex-1 justify-end bg-black/40", onPress: handleBackdropPress, children: _jsxs(Pressable, { className: "rounded-t-xl border border-border bg-background", style: { paddingBottom: Math.max(insets.bottom, 16) }, onPress: (e) => e.stopPropagation(), children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border px-4 py-3", children: [_jsx(Text, { className: "text-base font-medium text-foreground", children: title }), _jsx(Button, { size: "sm", onPress: handleConfirm, children: _jsx(ButtonText, { children: confirmLabel }) })] }), _jsx(View, { className: "p-4", children: _jsx(Calendar, { current: value ?? undefined, onDayPress: handleDayPress, markedDates: markedDates, minDate: minDate, maxDate: maxDate, theme: calendarTheme, renderArrow: renderArrow, enableSwipeMonths: true }, theme) })] }) }) })] }));
|
|
47
52
|
}
|
|
48
53
|
/** Compact trigger showing formatted date. Use as DatePickerModal's trigger prop. */
|
|
49
54
|
export function DatePickerTrigger({ value, placeholder = 'Select date', className, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datepicker-modal.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-modal.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"datepicker-modal.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/datepicker-modal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,21 @@ export interface CalendarTheme {
|
|
|
13
13
|
dotColor?: string;
|
|
14
14
|
selectedDotColor?: string;
|
|
15
15
|
arrowColor?: string;
|
|
16
|
+
disabledArrowColor?: string;
|
|
16
17
|
monthTextColor?: string;
|
|
17
18
|
indicatorColor?: string;
|
|
19
|
+
textDayFontFamily?: string;
|
|
20
|
+
textMonthFontFamily?: string;
|
|
21
|
+
textDayHeaderFontFamily?: string;
|
|
22
|
+
textDayFontWeight?: string;
|
|
23
|
+
textMonthFontWeight?: string;
|
|
24
|
+
textDayHeaderFontWeight?: string;
|
|
25
|
+
textDayFontSize?: number;
|
|
26
|
+
textMonthFontSize?: number;
|
|
27
|
+
textDayHeaderFontSize?: number;
|
|
28
|
+
todayButtonFontFamily?: string;
|
|
29
|
+
todayButtonFontWeight?: string;
|
|
30
|
+
todayButtonFontSize?: number;
|
|
18
31
|
}
|
|
19
32
|
/**
|
|
20
33
|
* Returns a theme object for react-native-calendars based on current Uniwind theme.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calendar-theme.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/use-calendar-theme.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"use-calendar-theme.d.ts","sourceRoot":"","sources":["../../../src/blocks/datepicker/use-calendar-theme.ts"],"names":[],"mappings":"AAGA,8EAA8E;AAC9E,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAoBD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,aAAa,CAS3E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-calendar-theme.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/use-calendar-theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-calendar-theme.js","sourceRoot":"","sources":["../../../src/blocks/datepicker/use-calendar-theme.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAkCxD,SAAS,kBAAkB,CAAC,CAAc;IACxC,OAAO;QACL,kBAAkB,EAAE,CAAC,CAAC,UAAU;QAChC,qBAAqB,EAAE,CAAC,CAAC,eAAe;QACxC,0BAA0B,EAAE,CAAC,CAAC,OAAO;QACrC,oBAAoB,EAAE,CAAC,CAAC,iBAAiB;QACzC,cAAc,EAAE,CAAC,CAAC,UAAU;QAC5B,oBAAoB,EAAE,CAAC,CAAC,KAAK;QAC7B,YAAY,EAAE,CAAC,CAAC,UAAU;QAC1B,iBAAiB,EAAE,CAAC,CAAC,MAAM;QAC3B,kBAAkB,EAAE,CAAC,CAAC,MAAM;QAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM;QAClB,gBAAgB,EAAE,CAAC,CAAC,iBAAiB;QACrC,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,cAAc,EAAE,CAAC,CAAC,UAAU;KAC7B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAA2B;IAC1D,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,SAAS;YAAE,MAAM,CAAC,CAAwB,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-colors.d.ts","sourceRoot":"","sources":["../../src/lib/theme-colors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"theme-colors.d.ts","sourceRoot":"","sources":["../../src/lib/theme-colors.ts"],"names":[],"mappings":"AA6BA;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,IAAI,WAAW,CAqD5C;AAED,oFAAoF;AACpF,wBAAgB,aAAa;;;;;;;EAU5B"}
|
package/dist/lib/theme-colors.js
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
1
|
import { useCSSVariable } from 'uniwind';
|
|
2
|
+
const HEX_RE = /^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/;
|
|
3
|
+
const RGB_RE = /^rgba?\(/i;
|
|
4
|
+
const HSL_RE = /^hsla?\(/i;
|
|
5
|
+
const NAMED_RE = /^[a-z]+$/i;
|
|
6
|
+
function isNativeColor(value) {
|
|
7
|
+
const s = value.trim();
|
|
8
|
+
if (!s)
|
|
9
|
+
return false;
|
|
10
|
+
return HEX_RE.test(s) || RGB_RE.test(s) || HSL_RE.test(s) || NAMED_RE.test(s);
|
|
11
|
+
}
|
|
12
|
+
function toNativeColor(value, appFallback, fallback) {
|
|
13
|
+
if (value != null) {
|
|
14
|
+
const s = String(value);
|
|
15
|
+
if (isNativeColor(s))
|
|
16
|
+
return s;
|
|
17
|
+
}
|
|
18
|
+
if (appFallback != null) {
|
|
19
|
+
const s = String(appFallback);
|
|
20
|
+
if (isNativeColor(s))
|
|
21
|
+
return s;
|
|
22
|
+
}
|
|
23
|
+
return fallback;
|
|
24
|
+
}
|
|
2
25
|
export function useThemeColors() {
|
|
3
|
-
const [primary, primaryForeground, foreground, muted, mutedForeground, background, border, accent, destructive,] = useCSSVariable([
|
|
26
|
+
const [primary, primaryForeground, foreground, muted, mutedForeground, background, border, accent, destructive, appPrimary, appPrimaryForeground, appForeground, appMuted, appMutedForeground, appBackground, appBorder, appAccent, appDestructive,] = useCSSVariable([
|
|
4
27
|
'--color-primary',
|
|
5
28
|
'--color-primary-foreground',
|
|
6
29
|
'--color-foreground',
|
|
@@ -10,18 +33,27 @@ export function useThemeColors() {
|
|
|
10
33
|
'--color-border',
|
|
11
34
|
'--color-accent',
|
|
12
35
|
'--color-destructive',
|
|
36
|
+
'--app-color-primary',
|
|
37
|
+
'--app-color-primary-foreground',
|
|
38
|
+
'--app-color-foreground',
|
|
39
|
+
'--app-color-muted',
|
|
40
|
+
'--app-color-muted-foreground',
|
|
41
|
+
'--app-color-background',
|
|
42
|
+
'--app-color-border',
|
|
43
|
+
'--app-color-accent',
|
|
44
|
+
'--app-color-destructive',
|
|
13
45
|
]);
|
|
14
|
-
// Fallbacks
|
|
46
|
+
// Fallbacks when undefined; prefer app hex tokens if theme colors are non-native (oklch).
|
|
15
47
|
return {
|
|
16
|
-
primary:
|
|
17
|
-
primaryForeground:
|
|
18
|
-
foreground:
|
|
19
|
-
muted:
|
|
20
|
-
mutedForeground:
|
|
21
|
-
background:
|
|
22
|
-
border:
|
|
23
|
-
accent:
|
|
24
|
-
destructive:
|
|
48
|
+
primary: toNativeColor(primary, appPrimary, '#000000'),
|
|
49
|
+
primaryForeground: toNativeColor(primaryForeground, appPrimaryForeground, '#ffffff'),
|
|
50
|
+
foreground: toNativeColor(foreground, appForeground, '#000000'),
|
|
51
|
+
muted: toNativeColor(muted, appMuted, '#f5f5f5'),
|
|
52
|
+
mutedForeground: toNativeColor(mutedForeground, appMutedForeground, '#737373'),
|
|
53
|
+
background: toNativeColor(background, appBackground, '#ffffff'),
|
|
54
|
+
border: toNativeColor(border, appBorder, '#e5e5e5'),
|
|
55
|
+
accent: toNativeColor(accent, appAccent, '#22c55e'),
|
|
56
|
+
destructive: toNativeColor(destructive, appDestructive, '#dc2626'),
|
|
25
57
|
};
|
|
26
58
|
}
|
|
27
59
|
/** Icon colors derived from theme. For @expo/vector-icons which need hex values. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-colors.js","sourceRoot":"","sources":["../../src/lib/theme-colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"theme-colors.js","sourceRoot":"","sources":["../../src/lib/theme-colors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,GAAG,oEAAoE,CAAC;AACpF,MAAM,MAAM,GAAG,WAAW,CAAC;AAC3B,MAAM,MAAM,GAAG,WAAW,CAAC;AAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC;AAE7B,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,aAAa,CACpB,KAAkC,EAClC,WAAwC,EACxC,QAAgB;IAEhB,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9B,IAAI,aAAa,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAkBD,MAAM,UAAU,cAAc;IAC5B,MAAM,CACJ,OAAO,EACP,iBAAiB,EACjB,UAAU,EACV,KAAK,EACL,eAAe,EACf,UAAU,EACV,MAAM,EACN,MAAM,EACN,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,aAAa,EACb,SAAS,EACT,SAAS,EACT,cAAc,EACf,GAAG,cAAc,CAAC;QACjB,iBAAiB;QACjB,4BAA4B;QAC5B,oBAAoB;QACpB,eAAe;QACf,0BAA0B;QAC1B,oBAAoB;QACpB,gBAAgB;QAChB,gBAAgB;QAChB,qBAAqB;QACrB,qBAAqB;QACrB,gCAAgC;QAChC,wBAAwB;QACxB,mBAAmB;QACnB,8BAA8B;QAC9B,wBAAwB;QACxB,oBAAoB;QACpB,oBAAoB;QACpB,yBAAyB;KAC1B,CAAC,CAAC;IAEH,0FAA0F;IAC1F,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC;QACtD,iBAAiB,EAAE,aAAa,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,SAAS,CAAC;QACpF,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC;QAC/D,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC;QAChD,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,kBAAkB,EAAE,SAAS,CAAC;QAC9E,UAAU,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC;QAC/D,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;QACnD,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;QACnD,WAAW,EAAE,aAAa,CAAC,WAAW,EAAE,cAAc,EAAE,SAAS,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,aAAa;IAC3B,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,KAAK,EAAE,CAAC,CAAC,eAAe;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC;AACJ,CAAC"}
|