@aivenio/aquarium 1.78.0 → 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.
Files changed (45) hide show
  1. package/dist/atoms.cjs +95 -3
  2. package/dist/atoms.mjs +95 -3
  3. package/dist/charts.cjs +1 -0
  4. package/dist/charts.mjs +1 -0
  5. package/dist/src/atoms/utils/index.d.ts +234 -0
  6. package/dist/src/atoms/utils/index.js +32 -0
  7. package/dist/src/molecules/Context/Context.d.ts +2 -1
  8. package/dist/src/molecules/Context/Context.js +6 -4
  9. package/dist/src/molecules/DateField/DateField.d.ts +10 -0
  10. package/dist/src/molecules/DateField/DateField.js +33 -0
  11. package/dist/src/molecules/DateField/DateInput.d.ts +3 -0
  12. package/dist/src/molecules/DateField/DateInput.js +22 -0
  13. package/dist/src/molecules/DatePicker/Button.d.ts +4 -0
  14. package/dist/src/molecules/DatePicker/Button.js +12 -0
  15. package/dist/src/molecules/DatePicker/Calendar.d.ts +6 -0
  16. package/dist/src/molecules/DatePicker/Calendar.js +44 -0
  17. package/dist/src/molecules/DatePicker/DatePicker.d.ts +12 -0
  18. package/dist/src/molecules/DatePicker/DatePicker.js +63 -0
  19. package/dist/src/molecules/DatePicker/DateRangePicker.d.ts +12 -0
  20. package/dist/src/molecules/DatePicker/DateRangePicker.js +68 -0
  21. package/dist/src/molecules/DatePicker/Dialog.d.ts +3 -0
  22. package/dist/src/molecules/DatePicker/Dialog.js +7 -0
  23. package/dist/src/molecules/DatePicker/Popover.d.ts +7 -0
  24. package/dist/src/molecules/DatePicker/Popover.js +27 -0
  25. package/dist/src/molecules/DatePicker/RangeCalendar.d.ts +4 -0
  26. package/dist/src/molecules/DatePicker/RangeCalendar.js +51 -0
  27. package/dist/src/molecules/Field/Field.d.ts +3 -0
  28. package/dist/src/molecules/Field/Field.js +7 -0
  29. package/dist/src/molecules/Popover/PopoverOverlay.d.ts +1 -1
  30. package/dist/src/molecules/TimeField/TimeField.d.ts +10 -0
  31. package/dist/src/molecules/TimeField/TimeField.js +33 -0
  32. package/dist/src/molecules/TimePicker/TimePicker.d.ts +6 -0
  33. package/dist/src/molecules/TimePicker/TimePicker.js +4 -0
  34. package/dist/src/molecules/index.d.ts +3 -0
  35. package/dist/src/molecules/index.js +4 -1
  36. package/dist/src/utils/tailwind.d.ts +1 -0
  37. package/dist/src/utils/tailwind.js +6 -1
  38. package/dist/styles.css +1933 -1489
  39. package/dist/system.cjs +1025 -505
  40. package/dist/system.mjs +1011 -474
  41. package/dist/tailwind.config.js +2 -1
  42. package/dist/tailwind.theme.json +93 -3
  43. package/dist/tsconfig.module.tsbuildinfo +1 -1
  44. package/dist/types/tailwindGenerated.d.ts +1 -1
  45. package/package.json +6 -4
@@ -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(ModalProvider, null,
14
- React.createElement(ToastProvider, null, children))));
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvQ29udGV4dC9Db250ZXh0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXJELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVUvQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBZ0IsRUFBZSxFQUFFO0lBQ2pFLE1BQU0sVUFBVSxHQUFHLGFBQWEsRUFBRSxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQW9CLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRTVHLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ25CLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFFakIsT0FBTyxDQUNMLG9CQUFDLG1CQUFtQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBRSxpQkFBaUIsRUFBRTtRQUN4RCxvQkFBQyxhQUFhO1lBQ1osb0JBQUMsYUFBYSxRQUFFLFFBQVEsQ0FBaUIsQ0FDM0IsQ0FDYSxDQUNoQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQWtCO0lBQzdCLGlCQUFpQixFQUFFLFVBQVUsQ0FBQyxTQUFTLENBQUM7Q0FDekMsQ0FBQztBQUNGLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLEtBQUssQ0FBQyxhQUFhLENBQWdCLE9BQU8sQ0FBQyxDQUFDIn0=
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,3 @@
1
+ import React from 'react';
2
+ import { type DateInputProps } from 'react-aria-components';
3
+ export declare function DateInput(props: Omit<DateInputProps, 'children'>): React.JSX.Element;
@@ -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,4 @@
1
+ import React from 'react';
2
+ import { type ButtonProps as AriaButtonProps } from 'react-aria-components';
3
+ export declare type ButtonProps = AriaButtonProps;
4
+ export declare function Button(props: ButtonProps): React.JSX.Element;
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0ZVBpY2tlci9EYXRlUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsVUFBVSxJQUFJLGNBQWMsRUFFNUIsc0JBQXNCLEdBRXZCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUEwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBb0JwQyxNQUFNLG9CQUFvQixHQUN4QixDQUFDLE9BQTRCLEVBQUUsRUFBRSxDQUNqQyxDQUFzQixFQUF1RixFQUFFLEVBQUU7UUFBM0YsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsT0FBb0MsRUFBL0IsS0FBSyxjQUE3RCwyREFBK0QsQ0FBRjtJQUNqRixNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDO0lBRWpGLE9BQU8sQ0FDTCxvQkFBQyxjQUFjLG9CQUNULEtBQUssSUFDVCxtQkFBbUIsRUFBRSxtQkFBbUIsYUFBbkIsbUJBQW1CLGNBQW5CLG1CQUFtQixHQUFJLE9BQU8sS0FBSyxNQUFNLEVBQzlELFVBQVUsRUFBRSxRQUFRLEVBQ3BCLFNBQVMsRUFBRSxLQUFLLEtBQUssS0FBSztRQUMxQixpR0FBaUc7UUFDakcscUZBQXFGO1FBQ3JGLFdBQVcsRUFBRSxXQUFXLGFBQVgsV0FBVyxjQUFYLFdBQVcsR0FBSSxDQUFDLE9BQU8sS0FBSyxVQUFVLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRTVGLG9CQUFDLFVBQVUsSUFBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDO1lBQy9DLG9CQUFDLFNBQVMsSUFBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFJO1lBQ3RDLG9CQUFDLE1BQU07Z0JBQ0wsb0JBQUMsSUFBSSxJQUFDLElBQUksRUFBRSxZQUFZLEdBQUksQ0FDckIsQ0FDRTtRQUNiLG9CQUFDLE9BQU8sSUFBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixvQkFBQyxNQUFNO2dCQUNMLG9CQUFDLE9BQU8sSUFBQyxHQUFHLEVBQUMsR0FBRztvQkFDZCxvQkFBQyxRQUFRLE9BQUc7b0JBQ1gsT0FBTyxLQUFLLFVBQVUsSUFBSSxvQkFBQyxlQUFlLElBQUMsV0FBVyxFQUFFLFdBQVcsR0FBSSxDQUNoRSxDQUNILENBQ0QsQ0FDSyxDQUNsQixDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUosTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBRTNELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBRW5FLE1BQU0sZUFBZSxHQUE0QyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtJQUNuRixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDdkQsT0FBTyxDQUNMLG9CQUFDLFNBQVMsSUFDUixTQUFTLEVBQUMsTUFBTSxFQUNoQixXQUFXLEVBQUUsV0FBVyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQzVELEtBQUssRUFBRSxLQUFLLENBQUMsU0FBUyxFQUN0QixRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFDNUIsb0JBQW9CLEVBQUUsS0FBSyxHQUMzQixDQUNILENBQUM7QUFDSixDQUFDLENBQUM7QUFJRixNQUFNLGdCQUFnQixHQUNwQixDQUFDLE9BQTRCLEVBQUUsRUFBRSxDQUNqQyxDQUFzQixLQUF5QixFQUFFLEVBQUU7SUFDakQsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDeEUsTUFBTSxjQUFjLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDL0IsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzdHLE1BQU0sS0FBc0Qsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQWpGLEVBQUUsYUFBYSxFQUFFLFVBQVUsT0FBc0QsRUFBakQsaUJBQWlCLGNBQWpELGVBQW1ELENBQThCLENBQUM7SUFDeEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUU5RCxNQUFNLFFBQVEsK0RBQVEsU0FBUyxHQUFLLFVBQVUsR0FBSyxVQUFVLEtBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLEdBQUUsQ0FBQztJQUU5RyxPQUFPLENBQ0wsb0JBQUMsWUFBWSxvQkFBSyxVQUFVLEVBQU0saUJBQWlCLElBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUMscUJBQXFCLEtBQzVHLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFDLGNBQWMsb0JBQUssUUFBUSxFQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFDLGtCQUFrQixvQkFBSyxRQUFRLEVBQUksQ0FDaEYsQ0FDaEIsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVKLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUVuRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMifQ==
@@ -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;
@@ -0,0 +1,68 @@
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 { DateRangePicker as AriaDateRangePicker, DateRangePickerStateContext, } 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 { Dialog } from './Dialog';
27
+ import { Popover } from './Popover';
28
+ import { RangeCalendar } from './RangeCalendar';
29
+ const createDateRangePickerBase = (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(AriaDateRangePicker, 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 <DateTimeRangePicker>.
35
+ granularity: granularity !== null && granularity !== void 0 ? granularity : (variant === 'datetime' && !hasSomeValue ? 'minute' : undefined), className: tw('group flex flex-col gap-1') }),
36
+ React.createElement(FieldGroup, { className: tw('min-w-[200px] w-auto') },
37
+ React.createElement(DateInput, { slot: "start", className: tw('px-2 py-1') }),
38
+ React.createElement("span", { "aria-hidden": true, className: tw('text-muted') }, "-"),
39
+ React.createElement(DateInput, { slot: "end", className: tw('flex-1 px-2 py-1') }),
40
+ React.createElement(Button, null,
41
+ React.createElement(Icon, { icon: calendarIcon }))),
42
+ React.createElement(Popover, null,
43
+ React.createElement(Dialog, null,
44
+ React.createElement(Spacing, { gap: "6" },
45
+ React.createElement(RangeCalendar, null),
46
+ variant === 'datetime' && (React.createElement(Spacing, { gap: "6", row: true },
47
+ React.createElement(PickerTimeField, { granularity: granularity, part: "start" }),
48
+ React.createElement(PickerTimeField, { granularity: granularity, part: "end" }))))))));
49
+ };
50
+ const PickerTimeField = ({ granularity, part }) => {
51
+ var _a;
52
+ const { timeRange, setTime } = React.useContext(DateRangePickerStateContext);
53
+ return (React.createElement(TimeField, { labelText: part === 'start' ? 'Start time' : 'End time', granularity: granularity !== 'day' ? granularity : undefined, value: (_a = timeRange === null || timeRange === void 0 ? void 0 : timeRange[part]) !== null && _a !== void 0 ? _a : null, onChange: (value) => setTime(part, value), reserveSpaceForError: false }));
54
+ };
55
+ export const DateRangePickerBase = createDateRangePickerBase('date');
56
+ export const DateTimeRangePickerBase = createDateRangePickerBase('datetime');
57
+ const createDateRangePicker = (variant) => (props) => {
58
+ const { labelProps, fieldProps } = useLabel({ label: props.labelText });
59
+ const errorMessageId = useId();
60
+ const errorProps = props.valid === false ? { 'aria-invalid': true, 'aria-describedby': errorMessageId } : {};
61
+ const _a = getLabelControlProps(props), { 'data-testid': dataTestId } = _a, labelControlProps = __rest(_a, ['data-testid']);
62
+ const baseProps = omit(props, Object.keys(labelControlProps));
63
+ const allProps = Object.assign(Object.assign(Object.assign(Object.assign({}, baseProps), fieldProps), errorProps), { disabled: props.disabled, valid: props.valid });
64
+ return (React.createElement(LabelControl, Object.assign({}, labelProps, labelControlProps, { messageId: errorMessageId, className: "Aquarium-DatePicker" }), variant === 'date' ? React.createElement(DateRangePickerBase, Object.assign({}, allProps)) : React.createElement(DateTimeRangePickerBase, Object.assign({}, allProps))));
65
+ };
66
+ export const DateRangePicker = createDateRangePicker('date');
67
+ export const DateTimeRangePicker = createDateRangePicker('datetime');
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0ZVJhbmdlUGlja2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRlUGlja2VyL0RhdGVSYW5nZVBpY2tlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUNMLGVBQWUsSUFBSSxtQkFBbUIsRUFFdEMsMkJBQTJCLEdBRTVCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUxQyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsWUFBWSxFQUEwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4QyxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFvQmhELE1B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
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type DialogProps } from 'react-aria-components';
3
+ export declare function Dialog(props: DialogProps): React.JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Dialog as AriaDialog } from 'react-aria-components';
3
+ import { classNames, tw } from '../../../src/utils/tailwind';
4
+ export function Dialog(props) {
5
+ return (React.createElement(AriaDialog, Object.assign({}, props, { className: classNames(props.className, tw('outline outline-0 p-5 [[data-placement]>&]:px-5 [[data-placement]>&]:py-6 max-h-[inherit] overflow-auto relative')) })));
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9EYXRlUGlja2VyL0RpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLElBQUksVUFBVSxFQUFvQixNQUFNLHVCQUF1QixDQUFDO0FBRS9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxLQUFrQjtJQUN2QyxPQUFPLENBQ0wsb0JBQUMsVUFBVSxvQkFDTCxLQUFLLElBQ1QsU0FBUyxFQUFFLFVBQVUsQ0FDbkIsS0FBSyxDQUFDLFNBQVMsRUFDZixFQUFFLENBQ0Esa0hBQWtILENBQ25ILENBQ0YsSUFDRCxDQUNILENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type PopoverProps as AriaPopoverProps } from 'react-aria-components';
3
+ export declare type PopoverProps = Omit<AriaPopoverProps, 'children'> & {
4
+ showArrow?: boolean;
5
+ children: React.ReactNode;
6
+ };
7
+ export declare const Popover: React.FC<PopoverProps>;
@@ -0,0 +1,27 @@
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 { OverlayArrow, Popover as AriaPopover, PopoverContext, useSlottedContext, } from 'react-aria-components';
14
+ import { tw } from '../../../src/utils/tailwind';
15
+ export const Popover = (_a) => {
16
+ var { children, showArrow, className } = _a, props = __rest(_a, ["children", "showArrow", "className"]);
17
+ const popoverContext = useSlottedContext(PopoverContext);
18
+ const isSubmenu = (popoverContext === null || popoverContext === void 0 ? void 0 : popoverContext.trigger) === 'SubmenuTrigger';
19
+ let offset = showArrow ? 12 : 8;
20
+ offset = isSubmenu ? offset - 6 : offset;
21
+ return (React.createElement(AriaPopover, Object.assign({ offset: offset }, props, { className: tw('rounded-sm shadow-16dp bg-popover-content mt-1 overflow-y-auto flex flex-col border border-default outline-none') }),
22
+ showArrow && (React.createElement(OverlayArrow, { className: "group" },
23
+ React.createElement("svg", { width: 12, height: 12, viewBox: "0 0 12 12", className: "block fill-white stroke-1 stroke-black group-placement-bottom:rotate-180 group-placement-left:-rotate-90 group-placement-right:rotate-90" },
24
+ React.createElement("path", { d: "M0 0 L6 6 L12 0" })))),
25
+ children));
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9wb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0ZVBpY2tlci9Qb3BvdmVyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsWUFBWSxFQUNaLE9BQU8sSUFBSSxXQUFXLEVBQ3RCLGNBQWMsRUFFZCxpQkFBaUIsR0FDbEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFPeEMsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUEyQixDQUFDLEVBQTRDLEVBQUUsRUFBRTtRQUFoRCxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxPQUFZLEVBQVAsS0FBSyxjQUExQyxzQ0FBNEMsQ0FBRjtJQUN4RixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN6RCxNQUFNLFNBQVMsR0FBRyxDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxPQUFPLE1BQUssZ0JBQWdCLENBQUM7SUFDL0QsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFFekMsT0FBTyxDQUNMLG9CQUFDLFdBQVcsa0JBQ1YsTUFBTSxFQUFFLE1BQU0sSUFDVixLQUFLLElBQ1QsU0FBUyxFQUFFLEVBQUUsQ0FDWCxpSEFBaUgsQ0FDbEg7UUFFQSxTQUFTLElBQUksQ0FDWixvQkFBQyxZQUFZLElBQUMsU0FBUyxFQUFDLE9BQU87WUFDN0IsNkJBQ0UsS0FBSyxFQUFFLEVBQUUsRUFDVCxNQUFNLEVBQUUsRUFBRSxFQUNWLE9BQU8sRUFBQyxXQUFXLEVBQ25CLFNBQVMsRUFBQywwSUFBMEk7Z0JBRXBKLDhCQUFNLENBQUMsRUFBQyxpQkFBaUIsR0FBRyxDQUN4QixDQUNPLENBQ2hCO1FBQ0EsUUFBUSxDQUNHLENBQ2YsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type DateValue, type RangeCalendarProps as AriaRangeCalendarProps } from 'react-aria-components';
3
+ export declare type RangeCalendarProps<T extends DateValue> = Omit<AriaRangeCalendarProps<T>, 'visibleDuration'>;
4
+ export declare function RangeCalendar<T extends DateValue>(props: RangeCalendarProps<T>): React.JSX.Element;
@@ -0,0 +1,51 @@
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 { CalendarCell, CalendarGrid, CalendarGridBody, RangeCalendar as AriaRangeCalendar, } from 'react-aria-components';
14
+ import { tv } from 'tailwind-variants';
15
+ import { focusRing } from '../../../src/atoms/utils';
16
+ import { tw } from '../../../src/utils/tailwind';
17
+ import { CalendarGridHeader, CalendarHeader } from './Calendar';
18
+ const cell = tv({
19
+ extend: focusRing,
20
+ base: 'w-full h-full flex items-center justify-center rounded text-default',
21
+ variants: {
22
+ selectionState: {
23
+ none: 'group-hover:bg-default group-pressed:bg-intense',
24
+ middle: [
25
+ 'text-white',
26
+ 'group-hover:bg-primary-default',
27
+ 'group-invalid:group-hover:bg-danger-default',
28
+ 'group-pressed:bg-primary-intense',
29
+ 'group-invalid:group-pressed:bg-danger-intense',
30
+ ],
31
+ cap: 'text-white bg-primary-default group-invalid:bg-danger-default',
32
+ },
33
+ isUnavailable: {
34
+ true: 'text-inactive',
35
+ },
36
+ isDisabled: {
37
+ true: 'text-inactive',
38
+ },
39
+ },
40
+ });
41
+ export function RangeCalendar(props) {
42
+ return (React.createElement(AriaRangeCalendar, Object.assign({}, props),
43
+ React.createElement(CalendarHeader, null),
44
+ React.createElement(CalendarGrid, { className: "[&_td]:px-0" },
45
+ React.createElement(CalendarGridHeader, null),
46
+ React.createElement(CalendarGridBody, null, (date) => (React.createElement(CalendarCell, { date: date, className: tw('group w-8 h-8 typography-small outline outline-0 cursor-default', 'outside-month:text-inactive selected:bg-primary-default', 'invalid:selected:bg-danger-default', 'selection-start:rounded-s selection-end:rounded-e') }, (_a) => {
47
+ var { formattedDate, isSelected, isSelectionStart, isSelectionEnd } = _a, rest = __rest(_a, ["formattedDate", "isSelected", "isSelectionStart", "isSelectionEnd"]);
48
+ return (React.createElement("span", { className: cell(Object.assign({ selectionState: isSelected && (isSelectionStart || isSelectionEnd) ? 'cap' : isSelected ? 'middle' : 'none' }, rest)) }, formattedDate));
49
+ }))))));
50
+ }
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmFuZ2VDYWxlbmRhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvRGF0ZVBpY2tlci9SYW5nZUNhbGVuZGFyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsWUFBWSxFQUNaLFlBQVksRUFDWixnQkFBZ0IsRUFFaEIsYUFBYSxJQUFJLGlCQUFpQixHQUVuQyxNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFNUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFJaEUsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQ2QsTUFBTSxFQUFFLFNBQVM7SUFDakIsSUFBSSxFQUFFLHFFQUFxRTtJQUMzRSxRQUFRLEVBQUU7UUFDUixjQUFjLEVBQUU7WUFDZCxJQUFJLEVBQUUsaURBQWlEO1lBQ3ZELE1BQU0sRUFBRTtnQkFDTixZQUFZO2dCQUNaLGdDQUFnQztnQkFDaEMsNkNBQTZDO2dCQUM3QyxrQ0FBa0M7Z0JBQ2xDLCtDQUErQzthQUNoRDtZQUNELEdBQUcsRUFBRSwrREFBK0Q7U0FDckU7UUFDRCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsZUFBZTtTQUN0QjtRQUNELFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxlQUFlO1NBQ3RCO0tBQ0Y7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsYUFBYSxDQUFzQixLQUE0QjtJQUM3RSxPQUFPLENBQ0wsb0JBQUMsaUJBQWlCLG9CQUFLLEtBQUs7UUFDMUIsb0JBQUMsY0FBYyxPQUFHO1FBQ2xCLG9CQUFDLFlBQVksSUFBQyxTQUFTLEVBQUMsYUFBYTtZQUNuQyxvQkFBQyxrQkFBa0IsT0FBRztZQUN0QixvQkFBQyxnQkFBZ0IsUUFDZCxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FDVCxvQkFBQyxZQUFZLElBQ1gsSUFBSSxFQUFFLElBQUksRUFDVixTQUFTLEVBQUUsRUFBRSxDQUNYLGlFQUFpRSxFQUNqRSx5REFBeUQsRUFDekQsb0NBQW9DLEVBQ3BDLG1EQUFtRCxDQUNwRCxJQUVBLENBQUMsRUFBd0UsRUFBRSxFQUFFO29CQUE1RSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxPQUFXLEVBQU4sSUFBSSxjQUF0RSxxRUFBd0UsQ0FBRjtnQkFBTyxPQUFBLENBQzdFLDhCQUNFLFNBQVMsRUFBRSxJQUFJLGlCQUNiLGNBQWMsRUFDWixVQUFVLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUMxRixJQUFJLEVBQ1AsSUFFRCxhQUFhLENBQ1QsQ0FDUixDQUFBO2FBQUEsQ0FDWSxDQUNoQixDQUNnQixDQUNOLENBQ0csQ0FDckIsQ0FBQztBQUNKLENBQUMifQ==
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import { type GroupProps as AriaGroupProps } from 'react-aria-components';
3
+ export declare const FieldGroup: (props: AriaGroupProps) => React.JSX.Element;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { Group } from 'react-aria-components';
3
+ import { fieldGroup } from '../../../src/atoms/utils';
4
+ export const FieldGroup = (props) => {
5
+ return React.createElement(Group, Object.assign({}, props, { className: (renderProps) => fieldGroup(renderProps) }));
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbW9sZWN1bGVzL0ZpZWxkL0ZpZWxkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLEtBQUssRUFBcUMsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBcUIsRUFBRSxFQUFFO0lBQ2xELE9BQU8sb0JBQUMsS0FBSyxvQkFBSyxLQUFLLElBQUUsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztBQUNuRixDQUFDLENBQUMifQ==
@@ -3,7 +3,7 @@ import { type AriaOverlayProps } from '@react-aria/overlays';
3
3
  import { type OverlayTriggerState } from '@react-stately/overlays';
4
4
  import { type PositionProps } from '@react-types/overlays';
5
5
  import { type PopoverPlacement } from './Popover';
6
- export declare const PopoverOverlay: React.ForwardRefExoticComponent<AriaOverlayProps & Pick<PositionProps, "offset" | "crossOffset" | "shouldFlip"> & {
6
+ export declare const PopoverOverlay: React.ForwardRefExoticComponent<AriaOverlayProps & Pick<PositionProps, "offset" | "shouldFlip" | "crossOffset"> & {
7
7
  id?: string | undefined;
8
8
  role?: React.AriaRole | undefined;
9
9
  triggerRef: React.RefObject<Element>;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { type TimeFieldProps as AriaTimeFieldProps, type TimeValue } from 'react-aria-components';
3
+ import { type LabelControlProps } from '../../../src/utils/form/Label/Label';
4
+ export declare type TimeFieldBaseProps<T extends TimeValue> = Omit<AriaTimeFieldProps<T>, 'children' | 'className' | 'isDisabled' | 'isInvalid' | 'isReadOnly' | 'isRequired' | 'isValid' | 'slot' | 'style' | 'validate' | 'validationBehavior'> & {
5
+ disabled?: boolean;
6
+ valid?: boolean;
7
+ };
8
+ export declare function TimeFieldBase<T extends TimeValue>({ disabled, valid, ...props }: TimeFieldBaseProps<T>): React.JSX.Element;
9
+ export declare type TimeFieldProps<T extends TimeValue> = Omit<LabelControlProps, 'length'> & TimeFieldBaseProps<T>;
10
+ export declare function TimeField<T extends TimeValue>(props: TimeFieldProps<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 { TimeField as AriaTimeField, } 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 { getLabelControlProps, LabelControl } from '../../../src/utils/form/Label/Label';
19
+ export function TimeFieldBase(_a) {
20
+ var { disabled, valid } = _a, props = __rest(_a, ["disabled", "valid"]);
21
+ return (React.createElement(AriaTimeField, Object.assign({}, props, { isInvalid: valid === false, isDisabled: disabled }),
22
+ React.createElement(DateInput, null)));
23
+ }
24
+ export function TimeField(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(TimeFieldBase, Object.assign({}, baseProps, fieldProps, errorProps, { disabled: props.disabled, valid: props.valid }))));
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZUZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21vbGVjdWxlcy9UaW1lRmllbGQvVGltZUZpZWxkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQ0wsU0FBUyxJQUFJLGFBQWEsR0FHM0IsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sSUFBSSxNQUFNLGFBQWEsQ0FBQztBQUUvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFlBQVksRUFBMEIsTUFBTSw0QkFBNEIsQ0FBQztBQW9CeEcsTUFBTSxVQUFVLGFBQWEsQ0FBc0IsRUFBb0Q7UUFBcEQsRUFBRSxRQUFRLEVBQUUsS0FBSyxPQUFtQyxFQUE5QixLQUFLLGNBQTNCLHFCQUE2QixDQUFGO0lBQzVFLE9BQU8sQ0FDTCxvQkFBQyxhQUFhLG9CQUFLLEtBQUssSUFBRSxTQUFTLEVBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxVQUFVLEVBQUUsUUFBUTtRQUN4RSxvQkFBQyxTQUFTLE9BQUcsQ0FDQyxDQUNqQixDQUFDO0FBQ0osQ0FBQztBQUlELE1BQU0sVUFBVSxTQUFTLENBQXNCLEtBQXdCO0lBQ3JFLE1BQU0sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxDQUFDO0lBQy9CLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM3RyxNQUFNLEtBQXNELG9CQUFvQixDQUFDLEtBQUssQ0FBQyxFQUFqRixFQUFFLGFBQWEsRUFBRSxVQUFVLE9BQXNELEVBQWpELGlCQUFpQixjQUFqRCxlQUFtRCxDQUE4QixDQUFDO0lBQ3hGLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFFOUQsT0FBTyxDQUNMLG9CQUFDLFlBQVksb0JBQUssVUFBVSxFQUFNLGlCQUFpQixJQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsU0FBUyxFQUFDLG9CQUFvQjtRQUM1RyxvQkFBQyxhQUFhLG9CQUFLLFNBQVMsRUFBTSxVQUFVLEVBQU0sVUFBVSxJQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQ2pHLENBQ2hCLENBQUM7QUFDSixDQUFDIn0=
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type TimeValue } from 'react-aria-components';
3
+ import { type TimeFieldProps } from '../../../src/molecules/TimeField/TimeField';
4
+ declare type TimePickerProps<T extends TimeValue> = TimeFieldProps<T>;
5
+ export declare const TimePicker: <T extends TimeValue>(props: TimePickerProps<T>) => React.JSX.Element;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { TimeField } from '../../../src/molecules/TimeField/TimeField';
3
+ export const TimePicker = (props) => React.createElement(TimeField, Object.assign({}, props));
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZVBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tb2xlY3VsZXMvVGltZVBpY2tlci9UaW1lUGlja2VyLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFHMUIsT0FBTyxFQUFFLFNBQVMsRUFBdUIsTUFBTSxtQ0FBbUMsQ0FBQztBQUluRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBc0IsS0FBeUIsRUFBRSxFQUFFLENBQUMsb0JBQUMsU0FBUyxvQkFBSyxLQUFLLEVBQUksQ0FBQyJ9
@@ -19,6 +19,8 @@ export * from './Context/Context';
19
19
  export * from './ControlLabel/ControlLabel';
20
20
  export * from './DataList/DataList';
21
21
  export * from './DataTable/DataTable';
22
+ export * from './DatePicker/DatePicker';
23
+ export * from './DatePicker/DateRangePicker';
22
24
  export * from './Dialog/Dialog';
23
25
  export * from './Divider/Divider';
24
26
  export * from './Drawer/Drawer';
@@ -66,6 +68,7 @@ export * from './Tailwindify/Tailwindify';
66
68
  export * from './Template/Template';
67
69
  export * from './Textarea/Textarea';
68
70
  export * from './Timeline/Timeline';
71
+ export * from './TimePicker/TimePicker';
69
72
  export * from './Toast/Toast';
70
73
  export * from './Tooltip/Tooltip';
71
74
  export * from './Typography/Typography';