@cdx-ui/components 0.0.1-beta.140 → 0.0.1-beta.142
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/lib/commonjs/components/BottomSheet/index.js +8 -2
- package/lib/commonjs/components/BottomSheet/index.js.map +1 -1
- package/lib/commonjs/components/Calendar/CalendarMonthHeader.js +96 -0
- package/lib/commonjs/components/Calendar/CalendarMonthHeader.js.map +1 -0
- package/lib/commonjs/components/Calendar/CalendarYearPickerGrid.js +74 -0
- package/lib/commonjs/components/Calendar/CalendarYearPickerGrid.js.map +1 -0
- package/lib/commonjs/components/Calendar/flashCalendarAdapter.js +298 -0
- package/lib/commonjs/components/Calendar/flashCalendarAdapter.js.map +1 -0
- package/lib/commonjs/components/Calendar/index.js +149 -0
- package/lib/commonjs/components/Calendar/index.js.map +1 -0
- package/lib/commonjs/components/Calendar/styles.js +70 -0
- package/lib/commonjs/components/Calendar/styles.js.map +1 -0
- package/lib/commonjs/components/DateField/index.js +147 -0
- package/lib/commonjs/components/DateField/index.js.map +1 -0
- package/lib/commonjs/components/DateField/styles.js +34 -0
- package/lib/commonjs/components/DateField/styles.js.map +1 -0
- package/lib/commonjs/components/DatePicker/index.js +163 -0
- package/lib/commonjs/components/DatePicker/index.js.map +1 -0
- package/lib/commonjs/components/DateRangePicker/index.js +177 -0
- package/lib/commonjs/components/DateRangePicker/index.js.map +1 -0
- package/lib/commonjs/components/DateTimeField/index.js +96 -0
- package/lib/commonjs/components/DateTimeField/index.js.map +1 -0
- package/lib/commonjs/components/DateTimeList/index.js +180 -0
- package/lib/commonjs/components/DateTimeList/index.js.map +1 -0
- package/lib/commonjs/components/DateTimeList/styles.js +55 -0
- package/lib/commonjs/components/DateTimeList/styles.js.map +1 -0
- package/lib/commonjs/components/DateTimePicker/index.js +187 -0
- package/lib/commonjs/components/DateTimePicker/index.js.map +1 -0
- package/lib/commonjs/components/MonthCalendar/index.js +229 -0
- package/lib/commonjs/components/MonthCalendar/index.js.map +1 -0
- package/lib/commonjs/components/MonthPicker/index.js +163 -0
- package/lib/commonjs/components/MonthPicker/index.js.map +1 -0
- package/lib/commonjs/components/RangeCalendar/index.js +165 -0
- package/lib/commonjs/components/RangeCalendar/index.js.map +1 -0
- package/lib/commonjs/components/index.js +120 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/picker/PickerTrigger.js +49 -0
- package/lib/commonjs/components/picker/PickerTrigger.js.map +1 -0
- package/lib/commonjs/components/picker/styles.js +15 -0
- package/lib/commonjs/components/picker/styles.js.map +1 -0
- package/lib/commonjs/components/picker/surfaces.js +141 -0
- package/lib/commonjs/components/picker/surfaces.js.map +1 -0
- package/lib/module/components/BottomSheet/index.js +8 -2
- package/lib/module/components/BottomSheet/index.js.map +1 -1
- package/lib/module/components/Calendar/CalendarMonthHeader.js +92 -0
- package/lib/module/components/Calendar/CalendarMonthHeader.js.map +1 -0
- package/lib/module/components/Calendar/CalendarYearPickerGrid.js +70 -0
- package/lib/module/components/Calendar/CalendarYearPickerGrid.js.map +1 -0
- package/lib/module/components/Calendar/flashCalendarAdapter.js +290 -0
- package/lib/module/components/Calendar/flashCalendarAdapter.js.map +1 -0
- package/lib/module/components/Calendar/index.js +145 -0
- package/lib/module/components/Calendar/index.js.map +1 -0
- package/lib/module/components/Calendar/styles.js +66 -0
- package/lib/module/components/Calendar/styles.js.map +1 -0
- package/lib/module/components/DateField/index.js +143 -0
- package/lib/module/components/DateField/index.js.map +1 -0
- package/lib/module/components/DateField/styles.js +30 -0
- package/lib/module/components/DateField/styles.js.map +1 -0
- package/lib/module/components/DatePicker/index.js +159 -0
- package/lib/module/components/DatePicker/index.js.map +1 -0
- package/lib/module/components/DateRangePicker/index.js +173 -0
- package/lib/module/components/DateRangePicker/index.js.map +1 -0
- package/lib/module/components/DateTimeField/index.js +92 -0
- package/lib/module/components/DateTimeField/index.js.map +1 -0
- package/lib/module/components/DateTimeList/index.js +176 -0
- package/lib/module/components/DateTimeList/index.js.map +1 -0
- package/lib/module/components/DateTimeList/styles.js +52 -0
- package/lib/module/components/DateTimeList/styles.js.map +1 -0
- package/lib/module/components/DateTimePicker/index.js +183 -0
- package/lib/module/components/DateTimePicker/index.js.map +1 -0
- package/lib/module/components/MonthCalendar/index.js +225 -0
- package/lib/module/components/MonthCalendar/index.js.map +1 -0
- package/lib/module/components/MonthPicker/index.js +159 -0
- package/lib/module/components/MonthPicker/index.js.map +1 -0
- package/lib/module/components/RangeCalendar/index.js +161 -0
- package/lib/module/components/RangeCalendar/index.js.map +1 -0
- package/lib/module/components/index.js +10 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/picker/PickerTrigger.js +45 -0
- package/lib/module/components/picker/PickerTrigger.js.map +1 -0
- package/lib/module/components/picker/styles.js +12 -0
- package/lib/module/components/picker/styles.js.map +1 -0
- package/lib/module/components/picker/surfaces.js +135 -0
- package/lib/module/components/picker/surfaces.js.map +1 -0
- package/lib/typescript/components/BottomSheet/index.d.ts +2 -2
- package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -1
- package/lib/typescript/components/Calendar/CalendarMonthHeader.d.ts +14 -0
- package/lib/typescript/components/Calendar/CalendarMonthHeader.d.ts.map +1 -0
- package/lib/typescript/components/Calendar/CalendarYearPickerGrid.d.ts +12 -0
- package/lib/typescript/components/Calendar/CalendarYearPickerGrid.d.ts.map +1 -0
- package/lib/typescript/components/Calendar/flashCalendarAdapter.d.ts +18 -0
- package/lib/typescript/components/Calendar/flashCalendarAdapter.d.ts.map +1 -0
- package/lib/typescript/components/Calendar/index.d.ts +19 -0
- package/lib/typescript/components/Calendar/index.d.ts.map +1 -0
- package/lib/typescript/components/Calendar/styles.d.ts +23 -0
- package/lib/typescript/components/Calendar/styles.d.ts.map +1 -0
- package/lib/typescript/components/DateField/index.d.ts +43 -0
- package/lib/typescript/components/DateField/index.d.ts.map +1 -0
- package/lib/typescript/components/DateField/styles.d.ts +15 -0
- package/lib/typescript/components/DateField/styles.d.ts.map +1 -0
- package/lib/typescript/components/DatePicker/index.d.ts +40 -0
- package/lib/typescript/components/DatePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/DateRangePicker/index.d.ts +45 -0
- package/lib/typescript/components/DateRangePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/DateTimeField/index.d.ts +29 -0
- package/lib/typescript/components/DateTimeField/index.d.ts.map +1 -0
- package/lib/typescript/components/DateTimeList/index.d.ts +19 -0
- package/lib/typescript/components/DateTimeList/index.d.ts.map +1 -0
- package/lib/typescript/components/DateTimeList/styles.d.ts +17 -0
- package/lib/typescript/components/DateTimeList/styles.d.ts.map +1 -0
- package/lib/typescript/components/DateTimePicker/index.d.ts +40 -0
- package/lib/typescript/components/DateTimePicker/index.d.ts.map +1 -0
- package/lib/typescript/components/MonthCalendar/index.d.ts +29 -0
- package/lib/typescript/components/MonthCalendar/index.d.ts.map +1 -0
- package/lib/typescript/components/MonthPicker/index.d.ts +40 -0
- package/lib/typescript/components/MonthPicker/index.d.ts.map +1 -0
- package/lib/typescript/components/RangeCalendar/index.d.ts +19 -0
- package/lib/typescript/components/RangeCalendar/index.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +10 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/components/picker/PickerTrigger.d.ts +25 -0
- package/lib/typescript/components/picker/PickerTrigger.d.ts.map +1 -0
- package/lib/typescript/components/picker/styles.d.ts +4 -0
- package/lib/typescript/components/picker/styles.d.ts.map +1 -0
- package/lib/typescript/components/picker/surfaces.d.ts +28 -0
- package/lib/typescript/components/picker/surfaces.d.ts.map +1 -0
- package/package.json +6 -4
- package/src/components/BottomSheet/index.tsx +7 -1
- package/src/components/Calendar/CalendarMonthHeader.tsx +124 -0
- package/src/components/Calendar/CalendarYearPickerGrid.tsx +101 -0
- package/src/components/Calendar/flashCalendarAdapter.ts +362 -0
- package/src/components/Calendar/index.tsx +151 -0
- package/src/components/Calendar/styles.ts +80 -0
- package/src/components/DateField/index.tsx +196 -0
- package/src/components/DateField/styles.ts +51 -0
- package/src/components/DatePicker/index.tsx +187 -0
- package/src/components/DateRangePicker/index.tsx +202 -0
- package/src/components/DateTimeField/index.tsx +128 -0
- package/src/components/DateTimeList/index.tsx +187 -0
- package/src/components/DateTimeList/styles.ts +59 -0
- package/src/components/DateTimePicker/index.tsx +233 -0
- package/src/components/MonthCalendar/index.tsx +252 -0
- package/src/components/MonthPicker/index.tsx +188 -0
- package/src/components/RangeCalendar/index.tsx +162 -0
- package/src/components/index.ts +10 -0
- package/src/components/picker/PickerTrigger.tsx +65 -0
- package/src/components/picker/styles.ts +17 -0
- package/src/components/picker/surfaces.tsx +174 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useMemo } from 'react';
|
|
4
|
+
import { Text } from 'react-native';
|
|
5
|
+
import { CalendarToday } from '@cdx-ui/icons';
|
|
6
|
+
import { dataAttributes, DateRangePickerContext, DateRangePickerRoot as DateRangePickerRootPrimitive, mergeDataAttributes, useDateRangePickerContext } from '@cdx-ui/primitives';
|
|
7
|
+
import { cn, ParentContext, useParentContext } from '@cdx-ui/utils';
|
|
8
|
+
import { Dialog } from '../Dialog';
|
|
9
|
+
import { Icon } from '../Icon';
|
|
10
|
+
import { RangeCalendar } from '../RangeCalendar';
|
|
11
|
+
import { PickerTrigger } from '../picker/PickerTrigger';
|
|
12
|
+
import { PickerBottomSheetSurface, PickerDialogSurface, PickerPopoverSurface } from '../picker/surfaces';
|
|
13
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
14
|
+
const DATE_FIELD_SCOPE = 'DATE_FIELD';
|
|
15
|
+
const DateRangePickerRoot = /*#__PURE__*/forwardRef(({
|
|
16
|
+
className,
|
|
17
|
+
children,
|
|
18
|
+
style,
|
|
19
|
+
...props
|
|
20
|
+
}, ref) => {
|
|
21
|
+
const parent = useParentContext();
|
|
22
|
+
const ctx = useMemo(() => ({
|
|
23
|
+
...parent,
|
|
24
|
+
[DATE_FIELD_SCOPE]: {
|
|
25
|
+
variant: 'outline',
|
|
26
|
+
size: 'default',
|
|
27
|
+
fullWidth: true
|
|
28
|
+
}
|
|
29
|
+
}), [parent]);
|
|
30
|
+
return /*#__PURE__*/_jsx(ParentContext.Provider, {
|
|
31
|
+
value: ctx,
|
|
32
|
+
children: /*#__PURE__*/_jsx(DateRangePickerRootPrimitive, {
|
|
33
|
+
ref: ref,
|
|
34
|
+
className: cn('gap-2', className),
|
|
35
|
+
style: style,
|
|
36
|
+
...props,
|
|
37
|
+
...mergeDataAttributes(props, dataAttributes({
|
|
38
|
+
slot: 'date-range-picker'
|
|
39
|
+
})),
|
|
40
|
+
children: children
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
DateRangePickerRoot.displayName = 'DateRangePicker';
|
|
45
|
+
const DateRangePickerTrigger = /*#__PURE__*/forwardRef(({
|
|
46
|
+
accessibilityLabel,
|
|
47
|
+
...props
|
|
48
|
+
}, ref) => {
|
|
49
|
+
const {
|
|
50
|
+
open,
|
|
51
|
+
setOpen,
|
|
52
|
+
disabled,
|
|
53
|
+
triggerRef,
|
|
54
|
+
labels
|
|
55
|
+
} = useDateRangePickerContext();
|
|
56
|
+
return /*#__PURE__*/_jsx(PickerTrigger, {
|
|
57
|
+
ref: ref,
|
|
58
|
+
open: open,
|
|
59
|
+
setOpen: setOpen,
|
|
60
|
+
disabled: disabled,
|
|
61
|
+
triggerRef: triggerRef,
|
|
62
|
+
accessibilityLabel: accessibilityLabel ?? labels.openDateRangePicker,
|
|
63
|
+
...props
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
DateRangePickerTrigger.displayName = 'DateRangePicker.Trigger';
|
|
67
|
+
const DateRangePickerTriggerIndicator = () => /*#__PURE__*/_jsx(Icon, {
|
|
68
|
+
as: CalendarToday,
|
|
69
|
+
className: "text-content-secondary"
|
|
70
|
+
});
|
|
71
|
+
DateRangePickerTriggerIndicator.displayName = 'DateRangePicker.TriggerIndicator';
|
|
72
|
+
const DateRangePickerRangeSeparator = () => {
|
|
73
|
+
const {
|
|
74
|
+
labels
|
|
75
|
+
} = useDateRangePickerContext();
|
|
76
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
77
|
+
className: "body-md text-content-secondary px-1",
|
|
78
|
+
children: labels.rangeSeparator
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
DateRangePickerRangeSeparator.displayName = 'DateRangePicker.RangeSeparator';
|
|
82
|
+
const DateRangePickerCalendar = /*#__PURE__*/forwardRef(({
|
|
83
|
+
...props
|
|
84
|
+
}, ref) => {
|
|
85
|
+
const {
|
|
86
|
+
startValue,
|
|
87
|
+
endValue,
|
|
88
|
+
onRangeChange,
|
|
89
|
+
focusedField,
|
|
90
|
+
setFocusedField,
|
|
91
|
+
locale,
|
|
92
|
+
labels
|
|
93
|
+
} = useDateRangePickerContext();
|
|
94
|
+
return /*#__PURE__*/_jsx(RangeCalendar, {
|
|
95
|
+
ref: ref,
|
|
96
|
+
startValue: startValue,
|
|
97
|
+
endValue: endValue,
|
|
98
|
+
focusedField: focusedField,
|
|
99
|
+
onFocusedFieldChange: setFocusedField,
|
|
100
|
+
locale: locale,
|
|
101
|
+
labels: labels,
|
|
102
|
+
onRangeChange: range => {
|
|
103
|
+
if (!range.startId) {
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
onRangeChange?.({
|
|
107
|
+
startId: range.startId,
|
|
108
|
+
endId: range.endId
|
|
109
|
+
});
|
|
110
|
+
},
|
|
111
|
+
...props
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
DateRangePickerCalendar.displayName = 'DateRangePicker.Calendar';
|
|
115
|
+
function DateRangePickerDialog({
|
|
116
|
+
children
|
|
117
|
+
}) {
|
|
118
|
+
const ctx = useDateRangePickerContext();
|
|
119
|
+
return /*#__PURE__*/_jsx(PickerDialogSurface, {
|
|
120
|
+
open: ctx.open,
|
|
121
|
+
setOpen: ctx.setOpen,
|
|
122
|
+
registerSurface: ctx.registerSurface,
|
|
123
|
+
children: /*#__PURE__*/_jsx(Dialog.Popup, {
|
|
124
|
+
className: "p-4",
|
|
125
|
+
children: /*#__PURE__*/_jsx(DateRangePickerContext.Provider, {
|
|
126
|
+
value: ctx,
|
|
127
|
+
children: children
|
|
128
|
+
})
|
|
129
|
+
})
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function DateRangePickerBottomSheet({
|
|
133
|
+
children
|
|
134
|
+
}) {
|
|
135
|
+
const ctx = useDateRangePickerContext();
|
|
136
|
+
return /*#__PURE__*/_jsx(PickerBottomSheetSurface, {
|
|
137
|
+
open: ctx.open,
|
|
138
|
+
setOpen: ctx.setOpen,
|
|
139
|
+
registerSurface: ctx.registerSurface,
|
|
140
|
+
children: /*#__PURE__*/_jsx(DateRangePickerContext.Provider, {
|
|
141
|
+
value: ctx,
|
|
142
|
+
children: children
|
|
143
|
+
})
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
function DateRangePickerPopover({
|
|
147
|
+
children,
|
|
148
|
+
className
|
|
149
|
+
}) {
|
|
150
|
+
const ctx = useDateRangePickerContext();
|
|
151
|
+
return /*#__PURE__*/_jsx(PickerPopoverSurface, {
|
|
152
|
+
open: ctx.open,
|
|
153
|
+
setOpen: ctx.setOpen,
|
|
154
|
+
registerSurface: ctx.registerSurface,
|
|
155
|
+
anchorRef: ctx.anchorRef,
|
|
156
|
+
triggerRef: ctx.triggerRef,
|
|
157
|
+
className: className,
|
|
158
|
+
children: /*#__PURE__*/_jsx(DateRangePickerContext.Provider, {
|
|
159
|
+
value: ctx,
|
|
160
|
+
children: children
|
|
161
|
+
})
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
export const DateRangePicker = Object.assign(DateRangePickerRoot, {
|
|
165
|
+
Trigger: DateRangePickerTrigger,
|
|
166
|
+
TriggerIndicator: DateRangePickerTriggerIndicator,
|
|
167
|
+
RangeSeparator: DateRangePickerRangeSeparator,
|
|
168
|
+
Calendar: DateRangePickerCalendar,
|
|
169
|
+
Popover: DateRangePickerPopover,
|
|
170
|
+
Dialog: DateRangePickerDialog,
|
|
171
|
+
BottomSheet: DateRangePickerBottomSheet
|
|
172
|
+
});
|
|
173
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useMemo","Text","CalendarToday","dataAttributes","DateRangePickerContext","DateRangePickerRoot","DateRangePickerRootPrimitive","mergeDataAttributes","useDateRangePickerContext","cn","ParentContext","useParentContext","Dialog","Icon","RangeCalendar","PickerTrigger","PickerBottomSheetSurface","PickerDialogSurface","PickerPopoverSurface","jsx","_jsx","DATE_FIELD_SCOPE","className","children","style","props","ref","parent","ctx","variant","size","fullWidth","Provider","value","slot","displayName","DateRangePickerTrigger","accessibilityLabel","open","setOpen","disabled","triggerRef","labels","openDateRangePicker","DateRangePickerTriggerIndicator","as","DateRangePickerRangeSeparator","rangeSeparator","DateRangePickerCalendar","startValue","endValue","onRangeChange","focusedField","setFocusedField","locale","onFocusedFieldChange","range","startId","endId","DateRangePickerDialog","registerSurface","Popup","DateRangePickerBottomSheet","DateRangePickerPopover","anchorRef","DateRangePicker","Object","assign","Trigger","TriggerIndicator","RangeSeparator","Calendar","Popover","BottomSheet"],"sourceRoot":"../../../../src","sources":["components/DateRangePicker/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useMemo } from 'react';
|
|
4
|
+
import { DateTimeFieldInput as DateTimeFieldInputPrimitive, DateTimeFieldRoot as DateTimeFieldRootPrimitive, DateTimeFieldSegment as DateTimeFieldSegmentPrimitive, dataAttributes, mergeDataAttributes } from '@cdx-ui/primitives';
|
|
5
|
+
import { cn, ParentContext, useParentContext } from '@cdx-ui/utils';
|
|
6
|
+
import { DateField } from '../DateField';
|
|
7
|
+
import { dateFieldInputVariants, dateFieldRootVariants, dateFieldSegmentVariants } from '../DateField/styles';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
const SCOPE = 'DATE_FIELD';
|
|
10
|
+
const useDateFieldStyleContext = () => useParentContext()[SCOPE] ?? {};
|
|
11
|
+
const DateTimeFieldRoot = /*#__PURE__*/forwardRef(({
|
|
12
|
+
className,
|
|
13
|
+
children,
|
|
14
|
+
style,
|
|
15
|
+
variant = 'outline',
|
|
16
|
+
size = 'default',
|
|
17
|
+
fullWidth,
|
|
18
|
+
...props
|
|
19
|
+
}, ref) => {
|
|
20
|
+
const parent = useParentContext();
|
|
21
|
+
const ctx = useMemo(() => ({
|
|
22
|
+
...parent,
|
|
23
|
+
[SCOPE]: {
|
|
24
|
+
variant,
|
|
25
|
+
size,
|
|
26
|
+
fullWidth
|
|
27
|
+
}
|
|
28
|
+
}), [parent, variant, size, fullWidth]);
|
|
29
|
+
return /*#__PURE__*/_jsx(ParentContext.Provider, {
|
|
30
|
+
value: ctx,
|
|
31
|
+
children: /*#__PURE__*/_jsx(DateTimeFieldRootPrimitive, {
|
|
32
|
+
ref: ref,
|
|
33
|
+
className: cn(dateFieldRootVariants(), className),
|
|
34
|
+
style: style,
|
|
35
|
+
...props,
|
|
36
|
+
...mergeDataAttributes(props, dataAttributes({
|
|
37
|
+
slot: 'date-time-field'
|
|
38
|
+
})),
|
|
39
|
+
children: children ?? /*#__PURE__*/_jsx(DateField.Group, {
|
|
40
|
+
children: /*#__PURE__*/_jsx(DateTimeField.Input, {
|
|
41
|
+
children: segment => /*#__PURE__*/_jsx(DateTimeField.Segment, {
|
|
42
|
+
segment: segment
|
|
43
|
+
})
|
|
44
|
+
})
|
|
45
|
+
})
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
DateTimeFieldRoot.displayName = 'DateTimeField';
|
|
50
|
+
const DateTimeFieldInput = /*#__PURE__*/forwardRef(({
|
|
51
|
+
className,
|
|
52
|
+
style,
|
|
53
|
+
...props
|
|
54
|
+
}, ref) => {
|
|
55
|
+
const {
|
|
56
|
+
size
|
|
57
|
+
} = useDateFieldStyleContext();
|
|
58
|
+
return /*#__PURE__*/_jsx(DateTimeFieldInputPrimitive, {
|
|
59
|
+
ref: ref,
|
|
60
|
+
className: cn(dateFieldInputVariants({
|
|
61
|
+
size: size ?? 'default'
|
|
62
|
+
}), className),
|
|
63
|
+
style: style,
|
|
64
|
+
...props
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
DateTimeFieldInput.displayName = 'DateTimeField.Input';
|
|
68
|
+
const DateTimeFieldSegment = /*#__PURE__*/forwardRef(({
|
|
69
|
+
segment,
|
|
70
|
+
className,
|
|
71
|
+
style,
|
|
72
|
+
...props
|
|
73
|
+
}, ref) => /*#__PURE__*/_jsx(DateTimeFieldSegmentPrimitive, {
|
|
74
|
+
ref: ref,
|
|
75
|
+
segment: segment,
|
|
76
|
+
className: cn(dateFieldSegmentVariants({
|
|
77
|
+
literal: !segment.isEditable
|
|
78
|
+
}), className),
|
|
79
|
+
style: style,
|
|
80
|
+
...props,
|
|
81
|
+
...mergeDataAttributes(props, dataAttributes({
|
|
82
|
+
placeholder: segment.isEditable && segment.value == null
|
|
83
|
+
}))
|
|
84
|
+
}));
|
|
85
|
+
DateTimeFieldSegment.displayName = 'DateTimeField.Segment';
|
|
86
|
+
export const DateTimeField = Object.assign(DateTimeFieldRoot, {
|
|
87
|
+
Group: DateField.Group,
|
|
88
|
+
Input: DateTimeFieldInput,
|
|
89
|
+
Segment: DateTimeFieldSegment,
|
|
90
|
+
Suffix: DateField.Suffix
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useMemo","DateTimeFieldInput","DateTimeFieldInputPrimitive","DateTimeFieldRoot","DateTimeFieldRootPrimitive","DateTimeFieldSegment","DateTimeFieldSegmentPrimitive","dataAttributes","mergeDataAttributes","cn","ParentContext","useParentContext","DateField","dateFieldInputVariants","dateFieldRootVariants","dateFieldSegmentVariants","jsx","_jsx","SCOPE","useDateFieldStyleContext","className","children","style","variant","size","fullWidth","props","ref","parent","ctx","Provider","value","slot","Group","DateTimeField","Input","segment","Segment","displayName","literal","isEditable","placeholder","Object","assign","Suffix"],"sourceRoot":"../../../../src","sources":["components/DateTimeField/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { Pressable, Text, View } from 'react-native';
|
|
5
|
+
import { useCSSVariable } from 'uniwind';
|
|
6
|
+
import { dataAttributes, DATE_TIME_LIST_HEIGHT, DATE_TIME_LIST_ITEM_HEIGHT, DateTimeListColumn as DateTimeListColumnPrimitive, DateTimeListRoot as DateTimeListRootPrimitive, mergeDataAttributes, useDateTimeListColumnContext, useDateTimeListContext } from '@cdx-ui/primitives';
|
|
7
|
+
import { getDateTimeSegmentVisibility } from '@cdx-ui/formatters';
|
|
8
|
+
import { cn } from '@cdx-ui/utils';
|
|
9
|
+
import { dateTimeListColumnsVariants, dateTimeListColumnVariants, dateTimeListEdgeFadeVariants, dateTimeListHighlightVariants, dateTimeListOptionTextVariants, dateTimeListOptionVariants, dateTimeListRootVariants } from './styles';
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
function DateTimeListDefaultBody() {
|
|
12
|
+
const {
|
|
13
|
+
granularity,
|
|
14
|
+
hour12
|
|
15
|
+
} = useDateTimeListContext();
|
|
16
|
+
const {
|
|
17
|
+
showTime,
|
|
18
|
+
showMinute,
|
|
19
|
+
showSecond
|
|
20
|
+
} = getDateTimeSegmentVisibility(granularity);
|
|
21
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
22
|
+
children: [/*#__PURE__*/_jsx(DateTimeListDateColumn, {}), showTime ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
23
|
+
children: [/*#__PURE__*/_jsx(DateTimeListHourColumn, {}), showMinute ? /*#__PURE__*/_jsx(DateTimeListMinuteColumn, {}) : null, showSecond ? /*#__PURE__*/_jsx(DateTimeListSecondColumn, {}) : null, hour12 ? /*#__PURE__*/_jsx(DateTimeListPeriodColumn, {}) : null]
|
|
24
|
+
}) : null]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
/** Cross-platform edge fade (Uniwind gradients are unreliable on native). */
|
|
29
|
+
function EdgeFade({
|
|
30
|
+
edge
|
|
31
|
+
}) {
|
|
32
|
+
const surface = useCSSVariable('--color-surface-primary') || 'transparent';
|
|
33
|
+
const isTop = edge === 'top';
|
|
34
|
+
return /*#__PURE__*/_jsx(View, {
|
|
35
|
+
pointerEvents: "none",
|
|
36
|
+
className: dateTimeListEdgeFadeVariants({
|
|
37
|
+
edge
|
|
38
|
+
}),
|
|
39
|
+
style: {
|
|
40
|
+
height: DATE_TIME_LIST_ITEM_HEIGHT * 1.75,
|
|
41
|
+
experimental_backgroundImage: isTop ? `linear-gradient(to bottom, ${surface}, transparent)` : `linear-gradient(to top, ${surface}, transparent)`
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
const DateTimeListRoot = /*#__PURE__*/forwardRef(({
|
|
46
|
+
className,
|
|
47
|
+
children,
|
|
48
|
+
style,
|
|
49
|
+
...props
|
|
50
|
+
}, ref) => /*#__PURE__*/_jsxs(DateTimeListRootPrimitive, {
|
|
51
|
+
ref: ref,
|
|
52
|
+
className: cn(dateTimeListRootVariants(), className),
|
|
53
|
+
style: [{
|
|
54
|
+
height: DATE_TIME_LIST_HEIGHT
|
|
55
|
+
}, style],
|
|
56
|
+
...props,
|
|
57
|
+
...mergeDataAttributes(props, dataAttributes({
|
|
58
|
+
slot: 'date-time-list'
|
|
59
|
+
})),
|
|
60
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
61
|
+
pointerEvents: "none",
|
|
62
|
+
className: dateTimeListHighlightVariants(),
|
|
63
|
+
style: {
|
|
64
|
+
top: (DATE_TIME_LIST_HEIGHT - DATE_TIME_LIST_ITEM_HEIGHT) / 2,
|
|
65
|
+
height: DATE_TIME_LIST_ITEM_HEIGHT
|
|
66
|
+
}
|
|
67
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
68
|
+
className: dateTimeListColumnsVariants(),
|
|
69
|
+
children: children ?? /*#__PURE__*/_jsx(DateTimeListDefaultBody, {})
|
|
70
|
+
}), /*#__PURE__*/_jsx(EdgeFade, {
|
|
71
|
+
edge: "top"
|
|
72
|
+
}), /*#__PURE__*/_jsx(EdgeFade, {
|
|
73
|
+
edge: "bottom"
|
|
74
|
+
})]
|
|
75
|
+
}));
|
|
76
|
+
DateTimeListRoot.displayName = 'DateTimeList';
|
|
77
|
+
function ColumnOption({
|
|
78
|
+
option
|
|
79
|
+
}) {
|
|
80
|
+
const {
|
|
81
|
+
onSelect,
|
|
82
|
+
column
|
|
83
|
+
} = useDateTimeListColumnContext();
|
|
84
|
+
return /*#__PURE__*/_jsx(Pressable, {
|
|
85
|
+
accessibilityRole: "button",
|
|
86
|
+
accessibilityLabel: option.label,
|
|
87
|
+
accessibilityState: {
|
|
88
|
+
selected: option.selected
|
|
89
|
+
},
|
|
90
|
+
onPress: () => onSelect(option.value),
|
|
91
|
+
className: dateTimeListOptionVariants(),
|
|
92
|
+
'data-column': column,
|
|
93
|
+
'data-selected': option.selected,
|
|
94
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
95
|
+
className: dateTimeListOptionTextVariants({
|
|
96
|
+
selected: option.selected
|
|
97
|
+
}),
|
|
98
|
+
numberOfLines: 1,
|
|
99
|
+
children: option.label
|
|
100
|
+
})
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function ColumnShell({
|
|
104
|
+
className,
|
|
105
|
+
style,
|
|
106
|
+
column,
|
|
107
|
+
...props
|
|
108
|
+
}) {
|
|
109
|
+
return /*#__PURE__*/_jsx(DateTimeListColumnPrimitive, {
|
|
110
|
+
column: column,
|
|
111
|
+
className: cn(dateTimeListColumnVariants({
|
|
112
|
+
column
|
|
113
|
+
}), className),
|
|
114
|
+
style: [{
|
|
115
|
+
height: DATE_TIME_LIST_HEIGHT
|
|
116
|
+
}, style],
|
|
117
|
+
...props,
|
|
118
|
+
children: option => /*#__PURE__*/_jsx(ColumnOption, {
|
|
119
|
+
option: option
|
|
120
|
+
})
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
function DateTimeListDateColumn(props) {
|
|
124
|
+
return /*#__PURE__*/_jsx(ColumnShell, {
|
|
125
|
+
column: "date",
|
|
126
|
+
...props
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
function DateTimeListHourColumn(props) {
|
|
130
|
+
return /*#__PURE__*/_jsx(ColumnShell, {
|
|
131
|
+
column: "hour",
|
|
132
|
+
...props
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
function DateTimeListMinuteColumn(props) {
|
|
136
|
+
return /*#__PURE__*/_jsx(ColumnShell, {
|
|
137
|
+
column: "minute",
|
|
138
|
+
...props
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function DateTimeListSecondColumn(props) {
|
|
142
|
+
return /*#__PURE__*/_jsx(ColumnShell, {
|
|
143
|
+
column: "second",
|
|
144
|
+
...props
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
function DateTimeListTimeColumn(props) {
|
|
148
|
+
const {
|
|
149
|
+
granularity
|
|
150
|
+
} = useDateTimeListContext();
|
|
151
|
+
const {
|
|
152
|
+
showMinute,
|
|
153
|
+
showSecond
|
|
154
|
+
} = getDateTimeSegmentVisibility(granularity);
|
|
155
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
156
|
+
children: [/*#__PURE__*/_jsx(DateTimeListHourColumn, {
|
|
157
|
+
...props
|
|
158
|
+
}), showMinute ? /*#__PURE__*/_jsx(DateTimeListMinuteColumn, {
|
|
159
|
+
...props
|
|
160
|
+
}) : null, showSecond ? /*#__PURE__*/_jsx(DateTimeListSecondColumn, {
|
|
161
|
+
...props
|
|
162
|
+
}) : null]
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
function DateTimeListPeriodColumn(props) {
|
|
166
|
+
return /*#__PURE__*/_jsx(ColumnShell, {
|
|
167
|
+
column: "period",
|
|
168
|
+
...props
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
export const DateTimeList = Object.assign(DateTimeListRoot, {
|
|
172
|
+
DateColumn: DateTimeListDateColumn,
|
|
173
|
+
TimeColumn: DateTimeListTimeColumn,
|
|
174
|
+
PeriodColumn: DateTimeListPeriodColumn
|
|
175
|
+
});
|
|
176
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","Pressable","Text","View","useCSSVariable","dataAttributes","DATE_TIME_LIST_HEIGHT","DATE_TIME_LIST_ITEM_HEIGHT","DateTimeListColumn","DateTimeListColumnPrimitive","DateTimeListRoot","DateTimeListRootPrimitive","mergeDataAttributes","useDateTimeListColumnContext","useDateTimeListContext","getDateTimeSegmentVisibility","cn","dateTimeListColumnsVariants","dateTimeListColumnVariants","dateTimeListEdgeFadeVariants","dateTimeListHighlightVariants","dateTimeListOptionTextVariants","dateTimeListOptionVariants","dateTimeListRootVariants","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DateTimeListDefaultBody","granularity","hour12","showTime","showMinute","showSecond","children","DateTimeListDateColumn","DateTimeListHourColumn","DateTimeListMinuteColumn","DateTimeListSecondColumn","DateTimeListPeriodColumn","EdgeFade","edge","surface","isTop","pointerEvents","className","style","height","experimental_backgroundImage","props","ref","slot","top","displayName","ColumnOption","option","onSelect","column","accessibilityRole","accessibilityLabel","label","accessibilityState","selected","onPress","value","numberOfLines","ColumnShell","DateTimeListTimeColumn","DateTimeList","Object","assign","DateColumn","TimeColumn","PeriodColumn"],"sourceRoot":"../../../../src","sources":["components/DateTimeList/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { cva } from '@cdx-ui/utils';
|
|
4
|
+
|
|
5
|
+
// Stacking order inside the DateTimeList root: the highlight band sits behind
|
|
6
|
+
// the option columns, and the edge fades sit above both. Uniwind requires
|
|
7
|
+
// statically detectable class names, so each layer is a named literal rather
|
|
8
|
+
// than a computed `z-[...]` string.
|
|
9
|
+
const LAYER_HIGHLIGHT = 'z-[1]';
|
|
10
|
+
const LAYER_COLUMNS = 'z-[2]';
|
|
11
|
+
const LAYER_EDGE_FADE = 'z-[3]';
|
|
12
|
+
export const dateTimeListRootVariants = cva('relative overflow-hidden rounded-[var(--border-radius-default)] bg-surface-primary px-2');
|
|
13
|
+
export const dateTimeListHighlightVariants = cva(['absolute left-2 right-2', LAYER_HIGHLIGHT, 'rounded-[var(--border-radius-default)] bg-surface-secondary']);
|
|
14
|
+
export const dateTimeListColumnsVariants = cva([LAYER_COLUMNS, 'h-full flex-row']);
|
|
15
|
+
export const dateTimeListColumnVariants = cva('min-w-0', {
|
|
16
|
+
variants: {
|
|
17
|
+
column: {
|
|
18
|
+
date: 'flex-[1.8]',
|
|
19
|
+
hour: 'flex-1',
|
|
20
|
+
minute: 'flex-1',
|
|
21
|
+
second: 'flex-1',
|
|
22
|
+
period: 'flex-[0.8]'
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
defaultVariants: {
|
|
26
|
+
column: 'hour'
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
export const dateTimeListOptionVariants = cva('h-full items-center justify-center px-1');
|
|
30
|
+
export const dateTimeListOptionTextVariants = cva('body-md tabular-nums', {
|
|
31
|
+
variants: {
|
|
32
|
+
selected: {
|
|
33
|
+
true: 'font-semibold text-content-primary',
|
|
34
|
+
false: 'text-content-tertiary'
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
defaultVariants: {
|
|
38
|
+
selected: false
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
export const dateTimeListEdgeFadeVariants = cva(['absolute left-0 right-0', LAYER_EDGE_FADE], {
|
|
42
|
+
variants: {
|
|
43
|
+
edge: {
|
|
44
|
+
top: 'top-0',
|
|
45
|
+
bottom: 'bottom-0'
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
defaultVariants: {
|
|
49
|
+
edge: 'top'
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["cva","LAYER_HIGHLIGHT","LAYER_COLUMNS","LAYER_EDGE_FADE","dateTimeListRootVariants","dateTimeListHighlightVariants","dateTimeListColumnsVariants","dateTimeListColumnVariants","variants","column","date","hour","minute","second","period","defaultVariants","dateTimeListOptionVariants","dateTimeListOptionTextVariants","selected","true","false","dateTimeListEdgeFadeVariants","edge","top","bottom"],"sourceRoot":"../../../../src","sources":["components/DateTimeList/styles.ts"],"mappings":";;AAAA,SAASA,GAAG,QAA2B,eAAe;;AAEtD;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAG,OAAO;AAC/B,MAAMC,aAAa,GAAG,OAAO;AAC7B,MAAMC,eAAe,GAAG,OAAO;AAE/B,OAAO,MAAMC,wBAAwB,GAAGJ,GAAG,CACzC,yFACF,CAAC;AAED,OAAO,MAAMK,6BAA6B,GAAGL,GAAG,CAAC,CAC/C,yBAAyB,EACzBC,eAAe,EACf,6DAA6D,CAC9D,CAAC;AAEF,OAAO,MAAMK,2BAA2B,GAAGN,GAAG,CAAC,CAACE,aAAa,EAAE,iBAAiB,CAAC,CAAC;AAElF,OAAO,MAAMK,0BAA0B,GAAGP,GAAG,CAAC,SAAS,EAAE;EACvDQ,QAAQ,EAAE;IACRC,MAAM,EAAE;MACNC,IAAI,EAAE,YAAY;MAClBC,IAAI,EAAE,QAAQ;MACdC,MAAM,EAAE,QAAQ;MAChBC,MAAM,EAAE,QAAQ;MAChBC,MAAM,EAAE;IACV;EACF,CAAC;EACDC,eAAe,EAAE;IAAEN,MAAM,EAAE;EAAO;AACpC,CAAC,CAAC;AAEF,OAAO,MAAMO,0BAA0B,GAAGhB,GAAG,CAAC,yCAAyC,CAAC;AAExF,OAAO,MAAMiB,8BAA8B,GAAGjB,GAAG,CAAC,sBAAsB,EAAE;EACxEQ,QAAQ,EAAE;IACRU,QAAQ,EAAE;MACRC,IAAI,EAAE,oCAAoC;MAC1CC,KAAK,EAAE;IACT;EACF,CAAC;EACDL,eAAe,EAAE;IAAEG,QAAQ,EAAE;EAAM;AACrC,CAAC,CAAC;AAEF,OAAO,MAAMG,4BAA4B,GAAGrB,GAAG,CAAC,CAAC,yBAAyB,EAAEG,eAAe,CAAC,EAAE;EAC5FK,QAAQ,EAAE;IACRc,IAAI,EAAE;MACJC,GAAG,EAAE,OAAO;MACZC,MAAM,EAAE;IACV;EACF,CAAC;EACDT,eAAe,EAAE;IAAEO,IAAI,EAAE;EAAM;AACjC,CAAC,CAAC","ignoreList":[]}
|