@aivenio/aquarium 1.77.1 → 1.79.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.
- package/README.md +19 -2
- package/dist/atoms.cjs +131 -3
- package/dist/atoms.mjs +131 -3
- package/dist/charts.cjs +1 -0
- package/dist/charts.mjs +1 -0
- package/dist/src/atoms/utils/index.d.ts +234 -0
- package/dist/src/atoms/utils/index.js +32 -0
- package/dist/src/molecules/Context/Context.d.ts +2 -1
- package/dist/src/molecules/Context/Context.js +6 -4
- package/dist/src/molecules/DateField/DateField.d.ts +10 -0
- package/dist/src/molecules/DateField/DateField.js +33 -0
- package/dist/src/molecules/DateField/DateInput.d.ts +3 -0
- package/dist/src/molecules/DateField/DateInput.js +22 -0
- package/dist/src/molecules/DatePicker/Button.d.ts +4 -0
- package/dist/src/molecules/DatePicker/Button.js +12 -0
- package/dist/src/molecules/DatePicker/Calendar.d.ts +6 -0
- package/dist/src/molecules/DatePicker/Calendar.js +44 -0
- package/dist/src/molecules/DatePicker/DatePicker.d.ts +12 -0
- package/dist/src/molecules/DatePicker/DatePicker.js +63 -0
- package/dist/src/molecules/DatePicker/DateRangePicker.d.ts +12 -0
- package/dist/src/molecules/DatePicker/DateRangePicker.js +68 -0
- package/dist/src/molecules/DatePicker/Dialog.d.ts +3 -0
- package/dist/src/molecules/DatePicker/Dialog.js +7 -0
- package/dist/src/molecules/DatePicker/Popover.d.ts +7 -0
- package/dist/src/molecules/DatePicker/Popover.js +27 -0
- package/dist/src/molecules/DatePicker/RangeCalendar.d.ts +4 -0
- package/dist/src/molecules/DatePicker/RangeCalendar.js +51 -0
- package/dist/src/molecules/Field/Field.d.ts +3 -0
- package/dist/src/molecules/Field/Field.js +7 -0
- package/dist/src/molecules/Popover/PopoverOverlay.d.ts +1 -1
- package/dist/src/molecules/TimeField/TimeField.d.ts +10 -0
- package/dist/src/molecules/TimeField/TimeField.js +33 -0
- package/dist/src/molecules/TimePicker/TimePicker.d.ts +6 -0
- package/dist/src/molecules/TimePicker/TimePicker.js +4 -0
- package/dist/src/molecules/Typography/Typography.d.ts +1 -1
- package/dist/src/molecules/Typography/Typography.js +11 -1
- package/dist/src/molecules/index.d.ts +3 -0
- package/dist/src/molecules/index.js +4 -1
- package/dist/src/tokens/tokens.json +20 -0
- package/dist/src/utils/mocks/mockDynamicIds.js +1 -2
- package/dist/src/utils/tailwind.d.ts +1 -0
- package/dist/src/utils/tailwind.js +6 -1
- package/dist/styles.css +1938 -1488
- package/dist/system.cjs +1061 -505
- package/dist/system.mjs +1047 -474
- package/dist/tailwind.config.js +2 -1
- package/dist/tailwind.theme.json +93 -3
- package/dist/tokens.json +20 -0
- package/dist/tsconfig.module.tsbuildinfo +1 -1
- package/dist/types/designTokens.d.ts +1 -1
- package/dist/types/tailwindGenerated.d.ts +1 -1
- package/package.json +6 -4
@@ -0,0 +1,234 @@
|
|
1
|
+
export declare const focusRing: import("tailwind-variants").TVReturnType<{
|
2
|
+
isFocusVisible: {
|
3
|
+
false: "outline-0";
|
4
|
+
true: "outline-2";
|
5
|
+
};
|
6
|
+
}, undefined, "outline outline-primary-default outline-offset-2", import("tailwind-variants/dist/config").TVConfig<{
|
7
|
+
isFocusVisible: {
|
8
|
+
false: "outline-0";
|
9
|
+
true: "outline-2";
|
10
|
+
};
|
11
|
+
}, {
|
12
|
+
isFocusVisible: {
|
13
|
+
false: "outline-0";
|
14
|
+
true: "outline-2";
|
15
|
+
};
|
16
|
+
}>, {
|
17
|
+
isFocusVisible: {
|
18
|
+
false: "outline-0";
|
19
|
+
true: "outline-2";
|
20
|
+
};
|
21
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
22
|
+
isFocusVisible: {
|
23
|
+
false: "outline-0";
|
24
|
+
true: "outline-2";
|
25
|
+
};
|
26
|
+
}, undefined, "outline outline-primary-default outline-offset-2", import("tailwind-variants/dist/config").TVConfig<{
|
27
|
+
isFocusVisible: {
|
28
|
+
false: "outline-0";
|
29
|
+
true: "outline-2";
|
30
|
+
};
|
31
|
+
}, {
|
32
|
+
isFocusVisible: {
|
33
|
+
false: "outline-0";
|
34
|
+
true: "outline-2";
|
35
|
+
};
|
36
|
+
}>, unknown, unknown, undefined>>;
|
37
|
+
export declare const fieldBorder: import("tailwind-variants").TVReturnType<{
|
38
|
+
isReadOnly: {
|
39
|
+
true: "bg-primary-muted";
|
40
|
+
};
|
41
|
+
isFocusWithin: {
|
42
|
+
false: "border-default hover:border-intense";
|
43
|
+
true: "border-info-default";
|
44
|
+
};
|
45
|
+
isInvalid: {
|
46
|
+
true: "border-danger-default";
|
47
|
+
};
|
48
|
+
isDisabled: {
|
49
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
50
|
+
};
|
51
|
+
}, undefined, undefined, import("tailwind-variants/dist/config").TVConfig<{
|
52
|
+
isReadOnly: {
|
53
|
+
true: "bg-primary-muted";
|
54
|
+
};
|
55
|
+
isFocusWithin: {
|
56
|
+
false: "border-default hover:border-intense";
|
57
|
+
true: "border-info-default";
|
58
|
+
};
|
59
|
+
isInvalid: {
|
60
|
+
true: "border-danger-default";
|
61
|
+
};
|
62
|
+
isDisabled: {
|
63
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
64
|
+
};
|
65
|
+
}, {
|
66
|
+
isReadOnly: {
|
67
|
+
true: "bg-primary-muted";
|
68
|
+
};
|
69
|
+
isFocusWithin: {
|
70
|
+
false: "border-default hover:border-intense";
|
71
|
+
true: "border-info-default";
|
72
|
+
};
|
73
|
+
isInvalid: {
|
74
|
+
true: "border-danger-default";
|
75
|
+
};
|
76
|
+
isDisabled: {
|
77
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
78
|
+
};
|
79
|
+
}>, {
|
80
|
+
isReadOnly: {
|
81
|
+
true: "bg-primary-muted";
|
82
|
+
};
|
83
|
+
isFocusWithin: {
|
84
|
+
false: "border-default hover:border-intense";
|
85
|
+
true: "border-info-default";
|
86
|
+
};
|
87
|
+
isInvalid: {
|
88
|
+
true: "border-danger-default";
|
89
|
+
};
|
90
|
+
isDisabled: {
|
91
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
92
|
+
};
|
93
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
94
|
+
isReadOnly: {
|
95
|
+
true: "bg-primary-muted";
|
96
|
+
};
|
97
|
+
isFocusWithin: {
|
98
|
+
false: "border-default hover:border-intense";
|
99
|
+
true: "border-info-default";
|
100
|
+
};
|
101
|
+
isInvalid: {
|
102
|
+
true: "border-danger-default";
|
103
|
+
};
|
104
|
+
isDisabled: {
|
105
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
106
|
+
};
|
107
|
+
}, undefined, undefined, import("tailwind-variants/dist/config").TVConfig<{
|
108
|
+
isReadOnly: {
|
109
|
+
true: "bg-primary-muted";
|
110
|
+
};
|
111
|
+
isFocusWithin: {
|
112
|
+
false: "border-default hover:border-intense";
|
113
|
+
true: "border-info-default";
|
114
|
+
};
|
115
|
+
isInvalid: {
|
116
|
+
true: "border-danger-default";
|
117
|
+
};
|
118
|
+
isDisabled: {
|
119
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
120
|
+
};
|
121
|
+
}, {
|
122
|
+
isReadOnly: {
|
123
|
+
true: "bg-primary-muted";
|
124
|
+
};
|
125
|
+
isFocusWithin: {
|
126
|
+
false: "border-default hover:border-intense";
|
127
|
+
true: "border-info-default";
|
128
|
+
};
|
129
|
+
isInvalid: {
|
130
|
+
true: "border-danger-default";
|
131
|
+
};
|
132
|
+
isDisabled: {
|
133
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
134
|
+
};
|
135
|
+
}>, unknown, unknown, undefined>>;
|
136
|
+
export declare const fieldGroup: import("tailwind-variants").TVReturnType<{
|
137
|
+
isReadOnly: {
|
138
|
+
true: "bg-primary-muted";
|
139
|
+
};
|
140
|
+
isFocusWithin: {
|
141
|
+
false: "border-default hover:border-intense";
|
142
|
+
true: "border-info-default";
|
143
|
+
};
|
144
|
+
isInvalid: {
|
145
|
+
true: "border-danger-default";
|
146
|
+
};
|
147
|
+
isDisabled: {
|
148
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
149
|
+
};
|
150
|
+
}, undefined, "group flex items-center bg-body border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
|
151
|
+
isReadOnly: {
|
152
|
+
true: "bg-primary-muted";
|
153
|
+
};
|
154
|
+
isFocusWithin: {
|
155
|
+
false: "border-default hover:border-intense";
|
156
|
+
true: "border-info-default";
|
157
|
+
};
|
158
|
+
isInvalid: {
|
159
|
+
true: "border-danger-default";
|
160
|
+
};
|
161
|
+
isDisabled: {
|
162
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
163
|
+
};
|
164
|
+
}, {
|
165
|
+
isReadOnly: {
|
166
|
+
true: "bg-primary-muted";
|
167
|
+
};
|
168
|
+
isFocusWithin: {
|
169
|
+
false: "border-default hover:border-intense";
|
170
|
+
true: "border-info-default";
|
171
|
+
};
|
172
|
+
isInvalid: {
|
173
|
+
true: "border-danger-default";
|
174
|
+
};
|
175
|
+
isDisabled: {
|
176
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
177
|
+
};
|
178
|
+
}>, {
|
179
|
+
isReadOnly: {
|
180
|
+
true: "bg-primary-muted";
|
181
|
+
};
|
182
|
+
isFocusWithin: {
|
183
|
+
false: "border-default hover:border-intense";
|
184
|
+
true: "border-info-default";
|
185
|
+
};
|
186
|
+
isInvalid: {
|
187
|
+
true: "border-danger-default";
|
188
|
+
};
|
189
|
+
isDisabled: {
|
190
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
191
|
+
};
|
192
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
193
|
+
isReadOnly: {
|
194
|
+
true: "bg-primary-muted";
|
195
|
+
};
|
196
|
+
isFocusWithin: {
|
197
|
+
false: "border-default hover:border-intense";
|
198
|
+
true: "border-info-default";
|
199
|
+
};
|
200
|
+
isInvalid: {
|
201
|
+
true: "border-danger-default";
|
202
|
+
};
|
203
|
+
isDisabled: {
|
204
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
205
|
+
};
|
206
|
+
}, undefined, "group flex items-center bg-body border rounded-sm typography-small text-default px-3 py-3 overflow-hidden", import("tailwind-variants/dist/config").TVConfig<{
|
207
|
+
isReadOnly: {
|
208
|
+
true: "bg-primary-muted";
|
209
|
+
};
|
210
|
+
isFocusWithin: {
|
211
|
+
false: "border-default hover:border-intense";
|
212
|
+
true: "border-info-default";
|
213
|
+
};
|
214
|
+
isInvalid: {
|
215
|
+
true: "border-danger-default";
|
216
|
+
};
|
217
|
+
isDisabled: {
|
218
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
219
|
+
};
|
220
|
+
}, {
|
221
|
+
isReadOnly: {
|
222
|
+
true: "bg-primary-muted";
|
223
|
+
};
|
224
|
+
isFocusWithin: {
|
225
|
+
false: "border-default hover:border-intense";
|
226
|
+
true: "border-info-default";
|
227
|
+
};
|
228
|
+
isInvalid: {
|
229
|
+
true: "border-danger-default";
|
230
|
+
};
|
231
|
+
isDisabled: {
|
232
|
+
true: "bg-default cursor-not-allowed text-inactive";
|
233
|
+
};
|
234
|
+
}>, unknown, unknown, undefined>>;
|
@@ -0,0 +1,32 @@
|
|
1
|
+
import { tv } from 'tailwind-variants';
|
2
|
+
export const focusRing = tv({
|
3
|
+
base: 'outline outline-primary-default outline-offset-2',
|
4
|
+
variants: {
|
5
|
+
isFocusVisible: {
|
6
|
+
false: 'outline-0',
|
7
|
+
true: 'outline-2',
|
8
|
+
},
|
9
|
+
},
|
10
|
+
});
|
11
|
+
export const fieldBorder = tv({
|
12
|
+
variants: {
|
13
|
+
isReadOnly: {
|
14
|
+
true: 'bg-primary-muted',
|
15
|
+
},
|
16
|
+
isFocusWithin: {
|
17
|
+
false: 'border-default hover:border-intense',
|
18
|
+
true: 'border-info-default',
|
19
|
+
},
|
20
|
+
isInvalid: {
|
21
|
+
true: 'border-danger-default',
|
22
|
+
},
|
23
|
+
isDisabled: {
|
24
|
+
true: 'bg-default cursor-not-allowed text-inactive',
|
25
|
+
},
|
26
|
+
},
|
27
|
+
});
|
28
|
+
export const fieldGroup = tv({
|
29
|
+
base: 'group flex items-center bg-body border rounded-sm typography-small text-default px-3 py-3 overflow-hidden',
|
30
|
+
variants: fieldBorder.variants,
|
31
|
+
});
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXRvbXMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDMUIsSUFBSSxFQUFFLGtEQUFrRDtJQUN4RCxRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsV0FBVztZQUNsQixJQUFJLEVBQUUsV0FBVztTQUNsQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUM1QixRQUFRLEVBQUU7UUFDUixVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsa0JBQWtCO1NBQ3pCO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsS0FBSyxFQUFFLHFDQUFxQztZQUM1QyxJQUFJLEVBQUUscUJBQXFCO1NBQzVCO1FBQ0QsU0FBUyxFQUFFO1lBQ1QsSUFBSSxFQUFFLHVCQUF1QjtTQUM5QjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSw2Q0FBNkM7U0FDcEQ7S0FDRjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDM0IsSUFBSSxFQUFFLDJHQUEyRztJQUNqSCxRQUFRLEVBQUUsV0FBVyxDQUFDLFFBQVE7Q0FDL0IsQ0FBQyxDQUFDIn0=
|
@@ -4,7 +4,8 @@ export declare type ContextObject = {
|
|
4
4
|
breakpointMatches: BreakpointMatches;
|
5
5
|
};
|
6
6
|
export declare type ContextProps = {
|
7
|
+
locale?: string;
|
7
8
|
children: React.ReactNode;
|
8
9
|
};
|
9
|
-
export declare const Context: ({ children }: ContextProps) => JSX.Element;
|
10
|
+
export declare const Context: ({ children, locale }: ContextProps) => JSX.Element;
|
10
11
|
export declare const DesignSystemContext: React.Context<ContextObject>;
|
@@ -1,20 +1,22 @@
|
|
1
1
|
import React from 'react';
|
2
|
+
import { I18nProvider } from '@react-aria/i18n';
|
2
3
|
import { ModalProvider } from '@react-aria/overlays';
|
3
4
|
import { getMatches } from '../../../src/utils/breakpoints';
|
4
5
|
import { useWindowSize } from '../../../src/utils/useWindowSize';
|
5
6
|
import { ToastProvider } from '../Toast/Toast';
|
6
|
-
export const Context = ({ children }) => {
|
7
|
+
export const Context = ({ children, locale = 'en-GB' }) => {
|
7
8
|
const windowSize = useWindowSize();
|
8
9
|
const [breakpointMatches, setBreakpointMatches] = React.useState(getMatches(windowSize));
|
9
10
|
React.useEffect(() => {
|
10
11
|
setBreakpointMatches(getMatches(windowSize));
|
11
12
|
}, [windowSize]);
|
12
13
|
return (React.createElement(DesignSystemContext.Provider, { value: { breakpointMatches } },
|
13
|
-
React.createElement(
|
14
|
-
React.createElement(
|
14
|
+
React.createElement(I18nProvider, { locale: locale },
|
15
|
+
React.createElement(ModalProvider, null,
|
16
|
+
React.createElement(ToastProvider, null, children)))));
|
15
17
|
};
|
16
18
|
const context = {
|
17
19
|
breakpointMatches: getMatches(undefined),
|
18
20
|
};
|
19
21
|
export const DesignSystemContext = React.createContext(context);
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvQ29udGV4dC9Db250ZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVyRCxPQUFPLEVBQTBCLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFXL0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLE9BQU8sRUFBZ0IsRUFBZSxFQUFFO0lBQ25GLE1BQU0sVUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQW9CLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFakIsT0FBTyxDQUNMLG9CQUFDLG1CQUFtQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRTtRQUN4RCxvQkFBQyxZQUFZLElBQUMsTUFBTSxFQUFFLE1BQU07WUFDMUIsb0JBQUMsYUFBYTtnQkFDWixvQkFBQyxhQUFhLFFBQUUsUUFBUSxDQUFpQixDQUMzQixDQUNILENBQ2MsQ0FDaEMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sT0FBTyxHQUFrQjtJQUM3QixpQkFBaUIsRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDO0NBQ3pDLENBQUM7QUFDRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFnQixPQUFPLENBQUMsQ0FBQyJ9
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { type DateFieldProps as AriaDateFieldProps, type DateValue } from 'react-aria-components';
|
3
|
+
import { type LabelControlProps } from '../../../src/utils/form/Label/Label';
|
4
|
+
export declare type DateFieldBaseProps<T extends DateValue> = Omit<AriaDateFieldProps<T>, 'children' | 'className' | 'isDateUnavailable' | 'isDisabled' | 'isInvalid' | 'isOpen' | 'isReadOnly' | 'isRequired' | 'slot' | 'style' | 'validate'> & {
|
5
|
+
disabled?: boolean;
|
6
|
+
valid?: boolean;
|
7
|
+
};
|
8
|
+
export declare const DateFieldBase: <T extends DateValue>({ disabled, valid, ...props }: DateFieldBaseProps<T>) => React.JSX.Element;
|
9
|
+
export declare type DateFieldProps<T extends DateValue> = DateFieldBaseProps<T> & Omit<LabelControlProps, 'length'>;
|
10
|
+
export declare const DateField: <T extends DateValue>(props: DateFieldProps<T>) => React.JSX.Element;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import { DateField as AriaDateField, } from 'react-aria-components';
|
14
|
+
import { useLabel } from '@react-aria/label';
|
15
|
+
import { useId } from '@react-aria/utils';
|
16
|
+
import omit from 'lodash/omit';
|
17
|
+
import { getLabelControlProps, LabelControl } from '../../../src/utils/form/Label/Label';
|
18
|
+
import { DateInput } from './DateInput';
|
19
|
+
export const DateFieldBase = (_a) => {
|
20
|
+
var { disabled, valid } = _a, props = __rest(_a, ["disabled", "valid"]);
|
21
|
+
return (React.createElement(AriaDateField, Object.assign({}, props, { isInvalid: valid === false, isDisabled: disabled }),
|
22
|
+
React.createElement(DateInput, null)));
|
23
|
+
};
|
24
|
+
export const DateField = (props) => {
|
25
|
+
const { labelProps, fieldProps } = useLabel({ label: props.labelText });
|
26
|
+
const errorMessageId = useId();
|
27
|
+
const errorProps = props.valid === false ? { 'aria-invalid': true, 'aria-describedby': errorMessageId } : {};
|
28
|
+
const _a = getLabelControlProps(props), { 'data-testid': dataTestId } = _a, labelControlProps = __rest(_a, ['data-testid']);
|
29
|
+
const baseProps = omit(props, Object.keys(labelControlProps));
|
30
|
+
return (React.createElement(LabelControl, Object.assign({}, labelProps, labelControlProps, { messageId: errorMessageId, className: "Aquarium-DateField" }),
|
31
|
+
React.createElement(DateFieldBase, Object.assign({}, baseProps, fieldProps, errorProps, { disabled: props.disabled, valid: props.valid }))));
|
32
|
+
};
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRlRmllbGQvRGF0ZUZpZWxkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsU0FBUyxJQUFJLGFBQWEsR0FHM0IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUEwQixNQUFNLDRCQUE0QixDQUFDO0FBRXhHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFvQnhDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxDQUFzQixFQUFvRCxFQUFFLEVBQUU7UUFBeEQsRUFBRSxRQUFRLEVBQUUsS0FBSyxPQUFtQyxFQUE5QixLQUFLLGNBQTNCLHFCQUE2QixDQUFGO0lBQzVFLE9BQU8sQ0FDTCxvQkFBQyxhQUFhLG9CQUFLLEtBQUssSUFBRSxTQUFTLEVBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUTtRQUN4RSxvQkFBQyxTQUFTLE9BQUcsQ0FDQyxDQUNqQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBSUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQXNCLEtBQXdCLEVBQUUsRUFBRTtJQUN6RSxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUN4RSxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUMvQixNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDN0csTUFBTSxLQUFzRCxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsRUFBakYsRUFBRSxhQUFhLEVBQUUsVUFBVSxPQUFzRCxFQUFqRCxpQkFBaUIsY0FBakQsZUFBbUQsQ0FBOEIsQ0FBQztJQUN4RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRTlELE9BQU8sQ0FDTCxvQkFBQyxZQUFZLG9CQUFLLFVBQVUsRUFBTSxpQkFBaUIsSUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBQyxvQkFBb0I7UUFDNUcsb0JBQUMsYUFBYSxvQkFBSyxTQUFTLEVBQU0sVUFBVSxFQUFNLFVBQVUsSUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUNqRyxDQUNoQixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { DateInput as AriaDateInput, DateSegment } from 'react-aria-components';
|
3
|
+
import { tv } from 'tailwind-variants';
|
4
|
+
import { fieldGroup } from '../../../src/atoms/utils';
|
5
|
+
const segmentStyles = tv({
|
6
|
+
base: 'inline p-0.5 rounded outline outline-0 caret-transparent text-default',
|
7
|
+
variants: {
|
8
|
+
isPlaceholder: {
|
9
|
+
true: 'text-inactive',
|
10
|
+
},
|
11
|
+
isDisabled: {
|
12
|
+
true: 'text-inactive',
|
13
|
+
},
|
14
|
+
isFocused: {
|
15
|
+
true: 'bg-info-muted',
|
16
|
+
},
|
17
|
+
},
|
18
|
+
});
|
19
|
+
export function DateInput(props) {
|
20
|
+
return (React.createElement(AriaDateInput, Object.assign({ className: (renderProps) => fieldGroup(Object.assign(Object.assign({}, renderProps), { class: 'block min-w-[150px]' })) }, props), (segment) => React.createElement(DateSegment, { segment: segment, className: segmentStyles })));
|
21
|
+
}
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZUlucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRlRmllbGQvRGF0ZUlucHV0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsSUFBSSxhQUFhLEVBQXVCLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLElBQUksRUFBRSx1RUFBdUU7SUFDN0UsUUFBUSxFQUFFO1FBQ1IsYUFBYSxFQUFFO1lBQ2IsSUFBSSxFQUFFLGVBQWU7U0FDdEI7UUFDRCxVQUFVLEVBQUU7WUFDVixJQUFJLEVBQUUsZUFBZTtTQUN0QjtRQUNELFNBQVMsRUFBRTtZQUNULElBQUksRUFBRSxlQUFlO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQXVDO0lBQy9ELE9BQU8sQ0FDTCxvQkFBQyxhQUFhLGtCQUFDLFNBQVMsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsVUFBVSxpQ0FBTSxXQUFXLEtBQUUsS0FBSyxFQUFFLHFCQUFxQixJQUFHLElBQU0sS0FBSyxHQUMvRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsb0JBQUMsV0FBVyxJQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsR0FBSSxDQUMzRCxDQUNqQixDQUFDO0FBQ0osQ0FBQyJ9
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Button as AriaButton } from 'react-aria-components';
|
3
|
+
import { composeRenderProps } from 'react-aria-components';
|
4
|
+
import { tv } from 'tailwind-variants';
|
5
|
+
import { focusRing } from '../../../src/atoms/utils';
|
6
|
+
const button = tv({
|
7
|
+
extend: focusRing,
|
8
|
+
});
|
9
|
+
export function Button(props) {
|
10
|
+
return (React.createElement(AriaButton, Object.assign({}, props, { className: composeRenderProps(props.className, (className, renderProps) => button(Object.assign(Object.assign({}, renderProps), { className }))) })));
|
11
|
+
}
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRlUGlja2VyL0J1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLElBQUksVUFBVSxFQUF1QyxNQUFNLHVCQUF1QixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLE1BQU0sRUFBRSxTQUFTO0NBQ2xCLENBQUMsQ0FBQztBQUlILE1BQU0sVUFBVSxNQUFNLENBQUMsS0FBa0I7SUFDdkMsT0FBTyxDQUNMLG9CQUFDLFVBQVUsb0JBQ0wsS0FBSyxJQUNULFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsTUFBTSxpQ0FBTSxXQUFXLEtBQUUsU0FBUyxJQUFHLENBQUMsSUFDakgsQ0FDSCxDQUFDO0FBQ0osQ0FBQyJ9
|
@@ -0,0 +1,6 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { type CalendarProps as AriaCalendarProps, type DateValue } from 'react-aria-components';
|
3
|
+
export declare type CalendarProps<T extends DateValue> = Omit<AriaCalendarProps<T>, 'visibleDuration'>;
|
4
|
+
export declare const Calendar: <T extends DateValue>(props: CalendarProps<T>) => React.JSX.Element;
|
5
|
+
export declare const CalendarHeader: () => React.JSX.Element;
|
6
|
+
export declare const CalendarGridHeader: () => React.JSX.Element;
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { Calendar as AriaCalendar, CalendarCell, CalendarGrid, CalendarGridBody, CalendarGridHeader as AriaCalendarGridHeader, CalendarHeaderCell, Heading, } from 'react-aria-components';
|
3
|
+
import { tv } from 'tailwind-variants';
|
4
|
+
import { Icon } from '../../../src/molecules/Icon/Icon';
|
5
|
+
import { focusRing } from '../../../src/atoms/utils';
|
6
|
+
import { tw } from '../../../src/utils/tailwind';
|
7
|
+
import chevronLeft from '../../../src/icons/chevronLeft';
|
8
|
+
import chevronRight from '../../../src/icons/chevronRight';
|
9
|
+
import { Button } from './Button';
|
10
|
+
const cellStyles = tv({
|
11
|
+
extend: focusRing,
|
12
|
+
base: 'w-8 h-8 typography-small cursor-default rounded flex items-center justify-center',
|
13
|
+
variants: {
|
14
|
+
isSelected: {
|
15
|
+
false: 'text-default hover:bg-default pressed:bg-intense',
|
16
|
+
true: 'bg-primary-default invalid:bg-danger-default text-white',
|
17
|
+
},
|
18
|
+
isUnavailable: {
|
19
|
+
true: 'text-inactive',
|
20
|
+
},
|
21
|
+
isDisabled: {
|
22
|
+
true: 'text-inactive',
|
23
|
+
},
|
24
|
+
},
|
25
|
+
});
|
26
|
+
export const Calendar = (props) => {
|
27
|
+
return (React.createElement(AriaCalendar, Object.assign({}, props),
|
28
|
+
React.createElement(CalendarHeader, null),
|
29
|
+
React.createElement(CalendarGrid, null,
|
30
|
+
React.createElement(CalendarGridHeader, null),
|
31
|
+
React.createElement(CalendarGridBody, null, (date) => React.createElement(CalendarCell, { date: date, className: cellStyles })))));
|
32
|
+
};
|
33
|
+
export const CalendarHeader = () => {
|
34
|
+
return (React.createElement("header", { className: "flex items-center gap-1 pb-5 w-full" },
|
35
|
+
React.createElement(Button, { slot: "previous", className: "p-3" },
|
36
|
+
React.createElement(Icon, { icon: chevronLeft })),
|
37
|
+
React.createElement(Heading, { className: tw('flex-1 typography-default-strong text-center') }),
|
38
|
+
React.createElement(Button, { slot: "next", className: "p-3" },
|
39
|
+
React.createElement(Icon, { icon: chevronRight }))));
|
40
|
+
};
|
41
|
+
export const CalendarGridHeader = () => {
|
42
|
+
return (React.createElement(AriaCalendarGridHeader, null, (day) => React.createElement(CalendarHeaderCell, { className: "text-xs text-inactive typography-caption" }, day)));
|
43
|
+
};
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0RhdGVQaWNrZXIvQ2FsZW5kYXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsUUFBUSxJQUFJLFlBQVksRUFDeEIsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsa0JBQWtCLElBQUksc0JBQXNCLEVBQzVDLGtCQUFrQixFQUdsQixPQUFPLEdBQ1IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEMsT0FBTyxXQUFXLE1BQU0sdUJBQXVCLENBQUM7QUFDaEQsT0FBTyxZQUFZLE1BQU0sd0JBQXdCLENBQUM7QUFFbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVsQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDcEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLGtGQUFrRjtJQUN4RixRQUFRLEVBQUU7UUFDUixVQUFVLEVBQUU7WUFDVixLQUFLLEVBQUUsa0RBQWtEO1lBQ3pELElBQUksRUFBRSx5REFBeUQ7U0FDaEU7UUFDRCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsZUFBZTtTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxlQUFlO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFJSCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsQ0FBc0IsS0FBdUIsRUFBRSxFQUFFO0lBQ3ZFLE9BQU8sQ0FDTCxvQkFBQyxZQUFZLG9CQUFLLEtBQUs7UUFDckIsb0JBQUMsY0FBYyxPQUFHO1FBQ2xCLG9CQUFDLFlBQVk7WUFDWCxvQkFBQyxrQkFBa0IsT0FBRztZQUN0QixvQkFBQyxnQkFBZ0IsUUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsb0JBQUMsWUFBWSxJQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFVBQVUsR0FBSSxDQUFvQixDQUN2RixDQUNGLENBQ2hCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBRyxFQUFFO0lBQ2pDLE9BQU8sQ0FDTCxnQ0FBUSxTQUFTLEVBQUMscUNBQXFDO1FBQ3JELG9CQUFDLE1BQU0sSUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxLQUFLO1lBQ3JDLG9CQUFDLElBQUksSUFBQyxJQUFJLEVBQUUsV0FBVyxHQUFJLENBQ3BCO1FBQ1Qsb0JBQUMsT0FBTyxJQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsOENBQThDLENBQUMsR0FBSTtRQUMxRSxvQkFBQyxNQUFNLElBQUMsSUFBSSxFQUFDLE1BQU0sRUFBQyxTQUFTLEVBQUMsS0FBSztZQUNqQyxvQkFBQyxJQUFJLElBQUMsSUFBSSxFQUFFLFlBQVksR0FBSSxDQUNyQixDQUNGLENBQ1YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLEdBQUcsRUFBRTtJQUNyQyxPQUFPLENBQ0wsb0JBQUMsc0JBQXNCLFFBQ3BCLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxvQkFBQyxrQkFBa0IsSUFBQyxTQUFTLEVBQUMsMENBQTBDLElBQUUsR0FBRyxDQUFzQixDQUN0RixDQUMxQixDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { type DatePickerProps as AriaDatePickerProps, type DateValue } from 'react-aria-components';
|
3
|
+
import { type LabelControlProps } from '../../../src/utils/form/Label/Label';
|
4
|
+
export declare type DatePickerBaseProps<T extends DateValue> = Omit<AriaDatePickerProps<T>, 'children' | 'className' | 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'isRequired' | 'pageBehavior' | 'slot' | 'style' | 'validate' | 'validationBehavior'> & {
|
5
|
+
disabled?: boolean;
|
6
|
+
valid?: boolean;
|
7
|
+
};
|
8
|
+
export declare const DatePickerBase: <T extends DateValue>({ disabled, valid, granularity, shouldCloseOnSelect, ...props }: DatePickerBaseProps<T>) => React.JSX.Element;
|
9
|
+
export declare const DateTimePickerBase: <T extends DateValue>({ disabled, valid, granularity, shouldCloseOnSelect, ...props }: DatePickerBaseProps<T>) => React.JSX.Element;
|
10
|
+
export declare type DatePickerProps<T extends DateValue> = DatePickerBaseProps<T> & Omit<LabelControlProps, 'length'>;
|
11
|
+
export declare const DatePicker: <T extends DateValue>(props: DatePickerProps<T>) => React.JSX.Element;
|
12
|
+
export declare const DateTimePicker: <T extends DateValue>(props: DatePickerProps<T>) => React.JSX.Element;
|
@@ -0,0 +1,63 @@
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
2
|
+
var t = {};
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
4
|
+
t[p] = s[p];
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
8
|
+
t[p[i]] = s[p[i]];
|
9
|
+
}
|
10
|
+
return t;
|
11
|
+
};
|
12
|
+
import React from 'react';
|
13
|
+
import { DatePicker as AriaDatePicker, DatePickerStateContext, } from 'react-aria-components';
|
14
|
+
import { useLabel } from '@react-aria/label';
|
15
|
+
import { useId } from '@react-aria/utils';
|
16
|
+
import omit from 'lodash/omit';
|
17
|
+
import { DateInput } from '../../../src/molecules/DateField/DateInput';
|
18
|
+
import { FieldGroup } from '../../../src/molecules/Field/Field';
|
19
|
+
import { Icon } from '../../../src/molecules/Icon/Icon';
|
20
|
+
import { Spacing } from '../../../src/molecules/Spacing/Spacing';
|
21
|
+
import { TimeField } from '../../../src/molecules/TimeField/TimeField';
|
22
|
+
import { getLabelControlProps, LabelControl } from '../../../src/utils/form/Label/Label';
|
23
|
+
import { tw } from '../../../src/utils/tailwind';
|
24
|
+
import calendarIcon from '../../../src/icons/calendar';
|
25
|
+
import { Button } from './Button';
|
26
|
+
import { Calendar } from './Calendar';
|
27
|
+
import { Dialog } from './Dialog';
|
28
|
+
import { Popover } from './Popover';
|
29
|
+
const createDatePickerBase = (variant) => (_a) => {
|
30
|
+
var { disabled, valid, granularity, shouldCloseOnSelect } = _a, props = __rest(_a, ["disabled", "valid", "granularity", "shouldCloseOnSelect"]);
|
31
|
+
const hasSomeValue = props.value || props.defaultValue || props.placeholderValue;
|
32
|
+
return (React.createElement(AriaDatePicker, Object.assign({}, props, { shouldCloseOnSelect: shouldCloseOnSelect !== null && shouldCloseOnSelect !== void 0 ? shouldCloseOnSelect : variant === 'date', isDisabled: disabled, isInvalid: valid === false,
|
33
|
+
// Set the granularity to minute if the variant is 'datetime' and there is no any value provided.
|
34
|
+
// This will display the time component in the picker by default in <DateTimePicker>.
|
35
|
+
granularity: granularity !== null && granularity !== void 0 ? granularity : (variant === 'datetime' && !hasSomeValue ? 'minute' : undefined) }),
|
36
|
+
React.createElement(FieldGroup, { className: tw('min-w-[210px] w-auto') },
|
37
|
+
React.createElement(DateInput, { className: tw('flex-1') }),
|
38
|
+
React.createElement(Button, null,
|
39
|
+
React.createElement(Icon, { icon: calendarIcon }))),
|
40
|
+
React.createElement(Popover, { offset: 1 },
|
41
|
+
React.createElement(Dialog, null,
|
42
|
+
React.createElement(Spacing, { gap: "6" },
|
43
|
+
React.createElement(Calendar, null),
|
44
|
+
variant === 'datetime' && React.createElement(PickerTimeField, { granularity: granularity }))))));
|
45
|
+
};
|
46
|
+
export const DatePickerBase = createDatePickerBase('date');
|
47
|
+
export const DateTimePickerBase = createDatePickerBase('datetime');
|
48
|
+
const PickerTimeField = ({ granularity }) => {
|
49
|
+
const state = React.useContext(DatePickerStateContext);
|
50
|
+
return (React.createElement(TimeField, { labelText: "Time", granularity: granularity !== 'day' ? granularity : undefined, value: state.timeValue, onChange: state.setTimeValue, reserveSpaceForError: false }));
|
51
|
+
};
|
52
|
+
const createDatePicker = (variant) => (props) => {
|
53
|
+
const { labelProps, fieldProps } = useLabel({ label: props.labelText });
|
54
|
+
const errorMessageId = useId();
|
55
|
+
const errorProps = props.valid === false ? { 'aria-invalid': true, 'aria-describedby': errorMessageId } : {};
|
56
|
+
const _a = getLabelControlProps(props), { 'data-testid': dataTestId } = _a, labelControlProps = __rest(_a, ['data-testid']);
|
57
|
+
const baseProps = omit(props, Object.keys(labelControlProps));
|
58
|
+
const allProps = Object.assign(Object.assign(Object.assign(Object.assign({}, baseProps), fieldProps), errorProps), { disabled: props.disabled, valid: props.valid });
|
59
|
+
return (React.createElement(LabelControl, Object.assign({}, labelProps, labelControlProps, { messageId: errorMessageId, className: "Aquarium-DatePicker" }), variant === 'date' ? React.createElement(DatePickerBase, Object.assign({}, allProps)) : React.createElement(DateTimePickerBase, Object.assign({}, allProps))));
|
60
|
+
};
|
61
|
+
export const DatePicker = createDatePicker('date');
|
62
|
+
export const DateTimePicker = createDatePicker('datetime');
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsVUFBVSxJQUFJLGNBQWMsRUFFNUIsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUEwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0JwQyxNQUFNLG9CQUFvQixHQUN4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
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import React from 'react';
|
2
|
+
import { type DateRangePickerProps as AriaDateRangePickerProps, type DateValue } from 'react-aria-components';
|
3
|
+
import { type LabelControlProps } from '../../../src/utils/form/Label/Label';
|
4
|
+
export declare type DateRangePickerBaseProps<T extends DateValue> = Omit<AriaDateRangePickerProps<T>, 'children' | 'className' | 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'isRequired' | 'pageBehavior' | 'slot' | 'style' | 'validate' | 'validationBehavior'> & {
|
5
|
+
disabled?: boolean;
|
6
|
+
valid?: boolean;
|
7
|
+
};
|
8
|
+
export declare const DateRangePickerBase: <T extends DateValue>({ disabled, valid, granularity, shouldCloseOnSelect, ...props }: DateRangePickerBaseProps<T>) => React.JSX.Element;
|
9
|
+
export declare const DateTimeRangePickerBase: <T extends DateValue>({ disabled, valid, granularity, shouldCloseOnSelect, ...props }: DateRangePickerBaseProps<T>) => React.JSX.Element;
|
10
|
+
export declare type DateRangePickerProps<T extends DateValue> = DateRangePickerBaseProps<T> & Omit<LabelControlProps, 'length'>;
|
11
|
+
export declare const DateRangePicker: <T extends DateValue>(props: DateRangePickerProps<T>) => React.JSX.Element;
|
12
|
+
export declare const DateTimeRangePicker: <T extends DateValue>(props: DateRangePickerProps<T>) => React.JSX.Element;
|