@opengovsg/oui 0.0.0-snapshot-20250511111650 → 0.0.0-snapshot-20250619075023
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/dist/cjs/button/button.cjs +3 -1
- package/dist/cjs/calendar/calendar.cjs +1 -1
- package/dist/cjs/date-field/date-field.cjs +81 -0
- package/dist/cjs/date-field/index.cjs +9 -0
- package/dist/cjs/date-picker/date-picker.cjs +85 -0
- package/dist/cjs/date-picker/index.cjs +8 -0
- package/dist/cjs/date-range-picker/date-range-picker.cjs +128 -0
- package/dist/cjs/date-range-picker/index.cjs +8 -0
- package/dist/cjs/index.cjs +33 -26
- package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs +24 -0
- package/dist/cjs/range-calendar/range-calendar.cjs +2 -2
- package/dist/esm/button/button.js +3 -1
- package/dist/esm/calendar/calendar.js +2 -2
- package/dist/esm/date-field/date-field.js +78 -0
- package/dist/esm/date-field/index.js +2 -0
- package/dist/esm/date-picker/date-picker.js +83 -0
- package/dist/esm/date-picker/index.js +2 -0
- package/dist/esm/date-range-picker/date-range-picker.js +126 -0
- package/dist/esm/date-range-picker/index.js +2 -0
- package/dist/esm/index.js +11 -8
- package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.js +19 -0
- package/dist/esm/range-calendar/range-calendar.js +4 -4
- package/dist/types/button/button.d.ts.map +1 -1
- package/dist/types/calendar/calendar.d.ts +2 -3
- package/dist/types/calendar/calendar.d.ts.map +1 -1
- package/dist/types/calendar/types.d.ts +2 -13
- package/dist/types/calendar/types.d.ts.map +1 -1
- package/dist/types/date-field/date-field.d.ts +19 -0
- package/dist/types/date-field/date-field.d.ts.map +1 -0
- package/dist/types/date-field/index.d.ts +2 -0
- package/dist/types/date-field/index.d.ts.map +1 -0
- package/dist/types/date-picker/date-picker.d.ts +20 -0
- package/dist/types/date-picker/date-picker.d.ts.map +1 -0
- package/dist/types/date-picker/index.d.ts +2 -0
- package/dist/types/date-picker/index.d.ts.map +1 -0
- package/dist/types/date-range-picker/date-range-picker.d.ts +19 -0
- package/dist/types/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/types/date-range-picker/index.d.ts +2 -0
- package/dist/types/date-range-picker/index.d.ts.map +1 -0
- package/dist/types/index.d.mts +3 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/menu/menu.d.ts +1 -1
- package/dist/types/menu/menu.d.ts.map +1 -1
- package/dist/types/range-calendar/range-calendar.d.ts +2 -13
- package/dist/types/range-calendar/range-calendar.d.ts.map +1 -1
- package/package.json +26 -26
|
@@ -29,6 +29,7 @@ const Button = react.forwardRef(
|
|
|
29
29
|
isPending,
|
|
30
30
|
spinner: spinnerProp,
|
|
31
31
|
isIconOnly,
|
|
32
|
+
isAttached,
|
|
32
33
|
...props
|
|
33
34
|
}, ref) => {
|
|
34
35
|
const {
|
|
@@ -62,7 +63,8 @@ const Button = react.forwardRef(
|
|
|
62
63
|
layout,
|
|
63
64
|
color,
|
|
64
65
|
radius,
|
|
65
|
-
isIconOnly
|
|
66
|
+
isIconOnly,
|
|
67
|
+
isAttached
|
|
66
68
|
})
|
|
67
69
|
),
|
|
68
70
|
isPending,
|
|
@@ -15,7 +15,7 @@ var calendarGridHeader = require('./calendar-grid-header.cjs');
|
|
|
15
15
|
var calendarHeader = require('./calendar-header.cjs');
|
|
16
16
|
var calendarStyleContext = require('./calendar-style-context.cjs');
|
|
17
17
|
|
|
18
|
-
const Calendar = utils.
|
|
18
|
+
const Calendar = utils.forwardRefGeneric(function Calendar2(originalProps, ref) {
|
|
19
19
|
const [props, variantProps] = utils.mapPropsVariants(
|
|
20
20
|
originalProps,
|
|
21
21
|
ouiTheme.calendarStyles.variantKeys
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var reactAriaComponents = require('react-aria-components');
|
|
8
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
|
+
var field = require('../field/field.cjs');
|
|
10
|
+
var utils = require('../system/utils.cjs');
|
|
11
|
+
|
|
12
|
+
function DateField(originalProps) {
|
|
13
|
+
const [
|
|
14
|
+
{ label, description, errorMessage, className, classNames, ...props },
|
|
15
|
+
variantProps
|
|
16
|
+
] = react.useMemo(
|
|
17
|
+
() => utils.mapPropsVariants(originalProps, ouiTheme.dateFieldStyles.variantKeys),
|
|
18
|
+
[originalProps]
|
|
19
|
+
);
|
|
20
|
+
const styles = ouiTheme.dateFieldStyles({
|
|
21
|
+
className: classNames?.input,
|
|
22
|
+
...variantProps
|
|
23
|
+
});
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
25
|
+
reactAriaComponents.DateField,
|
|
26
|
+
{
|
|
27
|
+
...props,
|
|
28
|
+
isDisabled: variantProps.isDisabled,
|
|
29
|
+
className: ouiTheme.composeTailwindRenderProps(
|
|
30
|
+
className ?? classNames?.base,
|
|
31
|
+
"flex flex-col gap-2"
|
|
32
|
+
),
|
|
33
|
+
children: [
|
|
34
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(field.Label, { size: variantProps.size, className: classNames?.label, children: label }),
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(DateInput, { size: variantProps.size, className: styles }),
|
|
36
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
+
field.Description,
|
|
38
|
+
{
|
|
39
|
+
size: variantProps.size,
|
|
40
|
+
className: classNames?.description,
|
|
41
|
+
children: description
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
/* @__PURE__ */ jsxRuntime.jsx(field.FieldError, { size: variantProps.size, className: classNames?.error, children: errorMessage })
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
function DateInput(originalProps) {
|
|
50
|
+
const [{ className, classNames, ...props }, variantProps] = react.useMemo(
|
|
51
|
+
() => utils.mapPropsVariants(originalProps, ouiTheme.dateInputStyles.variantKeys),
|
|
52
|
+
[originalProps]
|
|
53
|
+
);
|
|
54
|
+
const styles = ouiTheme.dateInputStyles(variantProps);
|
|
55
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
56
|
+
reactAriaComponents.DateInput,
|
|
57
|
+
{
|
|
58
|
+
className: ouiTheme.composeTailwindRenderProps(
|
|
59
|
+
className ?? classNames?.base,
|
|
60
|
+
styles.base()
|
|
61
|
+
),
|
|
62
|
+
...props,
|
|
63
|
+
children: (segment) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
+
reactAriaComponents.DateSegment,
|
|
65
|
+
{
|
|
66
|
+
segment,
|
|
67
|
+
className: ouiTheme.composeRenderProps(
|
|
68
|
+
classNames?.segment,
|
|
69
|
+
(className2, renderProps) => styles.segment({
|
|
70
|
+
...renderProps,
|
|
71
|
+
className: className2
|
|
72
|
+
})
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
)
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
exports.DateField = DateField;
|
|
81
|
+
exports.DateInput = DateInput;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var reactAriaComponents = require('react-aria-components');
|
|
8
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
|
+
var field = require('../field/field.cjs');
|
|
10
|
+
var popover = require('../popover/popover.cjs');
|
|
11
|
+
var utils = require('../system/utils.cjs');
|
|
12
|
+
var dateField = require('../date-field/date-field.cjs');
|
|
13
|
+
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
14
|
+
var calendar$1 = require('../calendar/calendar.cjs');
|
|
15
|
+
var button = require('../button/button.cjs');
|
|
16
|
+
|
|
17
|
+
function DatePicker(originalProps) {
|
|
18
|
+
const [
|
|
19
|
+
{
|
|
20
|
+
label,
|
|
21
|
+
description,
|
|
22
|
+
errorMessage,
|
|
23
|
+
classNames,
|
|
24
|
+
className,
|
|
25
|
+
calendarProps,
|
|
26
|
+
popoverProps,
|
|
27
|
+
calendarButtonProps,
|
|
28
|
+
...props
|
|
29
|
+
},
|
|
30
|
+
variantProps
|
|
31
|
+
] = react.useMemo(
|
|
32
|
+
() => utils.mapPropsVariants(originalProps, ouiTheme.datePickerStyles.variantKeys),
|
|
33
|
+
[originalProps]
|
|
34
|
+
);
|
|
35
|
+
const styles = ouiTheme.datePickerStyles(variantProps);
|
|
36
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
37
|
+
reactAriaComponents.DatePicker,
|
|
38
|
+
{
|
|
39
|
+
...props,
|
|
40
|
+
className: ouiTheme.composeTailwindRenderProps(
|
|
41
|
+
className ?? classNames?.base,
|
|
42
|
+
styles.base()
|
|
43
|
+
),
|
|
44
|
+
children: [
|
|
45
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(field.Label, { size: variantProps.size, children: label }),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsxs(field.FieldGroup, { className: styles.group({ className: classNames?.group }), children: [
|
|
47
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
48
|
+
dateField.DateInput,
|
|
49
|
+
{
|
|
50
|
+
size: variantProps.size,
|
|
51
|
+
className: styles.input({ className: classNames?.input })
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
55
|
+
button.Button,
|
|
56
|
+
{
|
|
57
|
+
isIconOnly: true,
|
|
58
|
+
isAttached: true,
|
|
59
|
+
variant: "clear",
|
|
60
|
+
color: "sub",
|
|
61
|
+
size: variantProps.size,
|
|
62
|
+
className: styles.calendarButton({
|
|
63
|
+
className: classNames?.calendarButton
|
|
64
|
+
}),
|
|
65
|
+
...calendarButtonProps,
|
|
66
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(calendar.default, { "aria-hidden": true })
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
] }),
|
|
70
|
+
/* @__PURE__ */ jsxRuntime.jsx(popover.Popover, { placement: "bottom end", ...popoverProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Dialog, { className: styles.dialog({ className: classNames?.dialog }), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
71
|
+
calendar$1.Calendar,
|
|
72
|
+
{
|
|
73
|
+
size: variantProps.size === "xs" ? "sm" : variantProps.size,
|
|
74
|
+
classNames: classNames?.calendar,
|
|
75
|
+
...calendarProps
|
|
76
|
+
}
|
|
77
|
+
) }) }),
|
|
78
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(field.Description, { size: variantProps.size, children: description }),
|
|
79
|
+
/* @__PURE__ */ jsxRuntime.jsx(field.FieldError, { size: variantProps.size, children: errorMessage })
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
exports.DatePicker = DatePicker;
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var date = require('@internationalized/date');
|
|
8
|
+
var reactAriaComponents = require('react-aria-components');
|
|
9
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
+
var field = require('../field/field.cjs');
|
|
11
|
+
var popover = require('../popover/popover.cjs');
|
|
12
|
+
var rangeCalendar = require('../range-calendar/range-calendar.cjs');
|
|
13
|
+
var utils = require('../system/utils.cjs');
|
|
14
|
+
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
15
|
+
var dateField = require('../date-field/date-field.cjs');
|
|
16
|
+
var button = require('../button/button.cjs');
|
|
17
|
+
|
|
18
|
+
function DateRangePicker(originalProps) {
|
|
19
|
+
const [
|
|
20
|
+
{
|
|
21
|
+
label,
|
|
22
|
+
description,
|
|
23
|
+
errorMessage,
|
|
24
|
+
classNames,
|
|
25
|
+
className,
|
|
26
|
+
calendarProps,
|
|
27
|
+
popoverProps,
|
|
28
|
+
calendarButtonProps,
|
|
29
|
+
minValue: minValueProp,
|
|
30
|
+
maxValue: maxValueProp,
|
|
31
|
+
...props
|
|
32
|
+
},
|
|
33
|
+
variantProps
|
|
34
|
+
] = react.useMemo(
|
|
35
|
+
() => utils.mapPropsVariants(originalProps, ouiTheme.dateRangePickerStyles.variantKeys),
|
|
36
|
+
[originalProps]
|
|
37
|
+
);
|
|
38
|
+
const styles = ouiTheme.dateRangePickerStyles(variantProps);
|
|
39
|
+
const { minValue, maxValue } = react.useMemo(() => {
|
|
40
|
+
return {
|
|
41
|
+
minValue: minValueProp ?? new date.CalendarDate(1900, 0, 1),
|
|
42
|
+
// Default to 1 Jan 1900
|
|
43
|
+
maxValue: maxValueProp ?? new date.CalendarDate(2100, 12, 31)
|
|
44
|
+
// Default to 31 Dec 2100
|
|
45
|
+
};
|
|
46
|
+
}, [maxValueProp, minValueProp]);
|
|
47
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
48
|
+
reactAriaComponents.DateRangePicker,
|
|
49
|
+
{
|
|
50
|
+
...props,
|
|
51
|
+
minValue,
|
|
52
|
+
maxValue,
|
|
53
|
+
className: ouiTheme.composeTailwindRenderProps(
|
|
54
|
+
className ?? classNames?.base,
|
|
55
|
+
styles.base()
|
|
56
|
+
),
|
|
57
|
+
children: [
|
|
58
|
+
label && /* @__PURE__ */ jsxRuntime.jsx(field.Label, { children: label }),
|
|
59
|
+
/* @__PURE__ */ jsxRuntime.jsxs(field.FieldGroup, { className: styles.group({ className: classNames?.group }), children: [
|
|
60
|
+
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
61
|
+
"div",
|
|
62
|
+
{
|
|
63
|
+
className: styles.dateWrapper({ className: classNames?.dateWrapper }),
|
|
64
|
+
children: [
|
|
65
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
66
|
+
dateField.DateInput,
|
|
67
|
+
{
|
|
68
|
+
slot: "start",
|
|
69
|
+
size: variantProps.size,
|
|
70
|
+
className: styles.startInput({ className: classNames?.startInput })
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
74
|
+
"span",
|
|
75
|
+
{
|
|
76
|
+
"aria-hidden": "true",
|
|
77
|
+
className: styles.connector({
|
|
78
|
+
className: classNames?.connector
|
|
79
|
+
}),
|
|
80
|
+
children: "\u2013"
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
+
dateField.DateInput,
|
|
85
|
+
{
|
|
86
|
+
slot: "end",
|
|
87
|
+
size: variantProps.size,
|
|
88
|
+
className: styles.endInput({ className: classNames?.endInput })
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
95
|
+
button.Button,
|
|
96
|
+
{
|
|
97
|
+
isIconOnly: true,
|
|
98
|
+
isAttached: true,
|
|
99
|
+
variant: "clear",
|
|
100
|
+
color: "sub",
|
|
101
|
+
size: variantProps.size,
|
|
102
|
+
className: styles.calendarButton({
|
|
103
|
+
className: classNames?.calendarButton
|
|
104
|
+
}),
|
|
105
|
+
...calendarButtonProps,
|
|
106
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(calendar.default, { "aria-hidden": true })
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
] }),
|
|
110
|
+
description && /* @__PURE__ */ jsxRuntime.jsx(field.Description, { size: variantProps.size, children: description }),
|
|
111
|
+
/* @__PURE__ */ jsxRuntime.jsx(field.FieldError, { size: variantProps.size, children: errorMessage }),
|
|
112
|
+
/* @__PURE__ */ jsxRuntime.jsx(popover.Popover, { placement: "bottom end", ...popoverProps, children: /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Dialog, { className: styles.dialog({ className: classNames?.dialog }), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
113
|
+
rangeCalendar.RangeCalendar,
|
|
114
|
+
{
|
|
115
|
+
visibleDuration: { months: 2 },
|
|
116
|
+
size: variantProps.size === "xs" ? "sm" : variantProps.size,
|
|
117
|
+
classNames: classNames?.calendar,
|
|
118
|
+
minValue,
|
|
119
|
+
maxValue,
|
|
120
|
+
...calendarProps
|
|
121
|
+
}
|
|
122
|
+
) }) })
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
exports.DateRangePicker = DateRangePicker;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -14,26 +14,29 @@ var textField = require('./text-field/text-field.cjs');
|
|
|
14
14
|
var field = require('./field/field.cjs');
|
|
15
15
|
var textArea = require('./text-area/text-area.cjs');
|
|
16
16
|
var textAreaField = require('./text-area-field/text-area-field.cjs');
|
|
17
|
-
var comboBox = require('./combo-box/combo-box.cjs');
|
|
18
|
-
var comboBoxFuzzy = require('./combo-box/combo-box-fuzzy.cjs');
|
|
19
|
-
var comboBoxItem = require('./combo-box/combo-box-item.cjs');
|
|
20
|
-
var comboBoxVariantContext = require('./combo-box/combo-box-variant-context.cjs');
|
|
21
17
|
var tagField = require('./tag-field/tag-field.cjs');
|
|
22
18
|
var tagFieldItem = require('./tag-field/tag-field-item.cjs');
|
|
23
19
|
var select = require('./select/select.cjs');
|
|
24
20
|
var selectItem = require('./select/select-item.cjs');
|
|
25
21
|
var selectVariantContext = require('./select/select-variant-context.cjs');
|
|
26
|
-
var calendar = require('./calendar/calendar.cjs');
|
|
27
|
-
var calendarStyleContext = require('./calendar/calendar-style-context.cjs');
|
|
28
|
-
var utils = require('./calendar/utils.cjs');
|
|
29
|
-
var date = require('@internationalized/date');
|
|
30
22
|
var rangeCalendar = require('./range-calendar/range-calendar.cjs');
|
|
31
23
|
var menu = require('./menu/menu.cjs');
|
|
32
24
|
var popover = require('./popover/popover.cjs');
|
|
33
25
|
var tabs = require('./tabs/tabs.cjs');
|
|
26
|
+
var datePicker = require('./date-picker/date-picker.cjs');
|
|
27
|
+
var dateRangePicker = require('./date-range-picker/date-range-picker.cjs');
|
|
34
28
|
var button = require('./button/button.cjs');
|
|
29
|
+
var comboBox = require('./combo-box/combo-box.cjs');
|
|
30
|
+
var comboBoxFuzzy = require('./combo-box/combo-box-fuzzy.cjs');
|
|
31
|
+
var comboBoxItem = require('./combo-box/combo-box-item.cjs');
|
|
32
|
+
var comboBoxVariantContext = require('./combo-box/combo-box-variant-context.cjs');
|
|
35
33
|
var banner = require('./banner/banner.cjs');
|
|
36
34
|
var badge = require('./badge/badge.cjs');
|
|
35
|
+
var date = require('@internationalized/date');
|
|
36
|
+
var calendar = require('./calendar/calendar.cjs');
|
|
37
|
+
var calendarStyleContext = require('./calendar/calendar-style-context.cjs');
|
|
38
|
+
var utils = require('./calendar/utils.cjs');
|
|
39
|
+
var dateField = require('./date-field/date-field.cjs');
|
|
37
40
|
|
|
38
41
|
|
|
39
42
|
|
|
@@ -53,30 +56,12 @@ exports.FieldGroup = field.FieldGroup;
|
|
|
53
56
|
exports.Label = field.Label;
|
|
54
57
|
exports.TextArea = textArea.TextArea;
|
|
55
58
|
exports.TextAreaField = textAreaField.TextAreaField;
|
|
56
|
-
exports.ComboBox = comboBox.ComboBox;
|
|
57
|
-
exports.ComboBoxEmptyState = comboBox.ComboBoxEmptyState;
|
|
58
|
-
exports.ComboBoxFuzzy = comboBoxFuzzy.ComboBoxFuzzy;
|
|
59
|
-
exports.ComboBoxItem = comboBoxItem.ComboBoxItem;
|
|
60
|
-
exports.ComboBoxVariantContext = comboBoxVariantContext.ComboBoxVariantContext;
|
|
61
|
-
exports.useComboBoxVariantContext = comboBoxVariantContext.useComboBoxVariantContext;
|
|
62
59
|
exports.TagField = tagField.TagField;
|
|
63
60
|
exports.TagFieldItem = tagFieldItem.TagFieldItem;
|
|
64
61
|
exports.Select = select.Select;
|
|
65
62
|
exports.SelectItem = selectItem.SelectItem;
|
|
66
63
|
exports.SelectVariantContext = selectVariantContext.SelectVariantContext;
|
|
67
64
|
exports.useSelectVariantContext = selectVariantContext.useSelectVariantContext;
|
|
68
|
-
exports.Calendar = calendar.Calendar;
|
|
69
|
-
exports.CalendarStateWrapper = calendar.CalendarStateWrapper;
|
|
70
|
-
exports.CalendarStyleContext = calendarStyleContext.CalendarStyleContext;
|
|
71
|
-
exports.useCalendarStyleContext = calendarStyleContext.useCalendarStyleContext;
|
|
72
|
-
exports.getEraFormat = utils.getEraFormat;
|
|
73
|
-
exports.useGenerateLocalizedMonths = utils.useGenerateLocalizedMonths;
|
|
74
|
-
exports.useGenerateLocalizedYears = utils.useGenerateLocalizedYears;
|
|
75
|
-
exports.useLocalizedMonthYear = utils.useLocalizedMonthYear;
|
|
76
|
-
Object.defineProperty(exports, "CalendarDate", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
get: function () { return date.CalendarDate; }
|
|
79
|
-
});
|
|
80
65
|
exports.RangeCalendar = rangeCalendar.RangeCalendar;
|
|
81
66
|
exports.RangeCalendarCell = rangeCalendar.RangeCalendarCell;
|
|
82
67
|
exports.RangeCalendarStateWrapper = rangeCalendar.RangeCalendarStateWrapper;
|
|
@@ -95,6 +80,28 @@ exports.TabPanel = tabs.TabPanel;
|
|
|
95
80
|
exports.Tabs = tabs.Tabs;
|
|
96
81
|
exports.TabsVariantContext = tabs.TabsVariantContext;
|
|
97
82
|
exports.useTabsVariantContext = tabs.useTabsVariantContext;
|
|
83
|
+
exports.DatePicker = datePicker.DatePicker;
|
|
84
|
+
exports.DateRangePicker = dateRangePicker.DateRangePicker;
|
|
98
85
|
exports.Button = button.Button;
|
|
86
|
+
exports.ComboBox = comboBox.ComboBox;
|
|
87
|
+
exports.ComboBoxEmptyState = comboBox.ComboBoxEmptyState;
|
|
88
|
+
exports.ComboBoxFuzzy = comboBoxFuzzy.ComboBoxFuzzy;
|
|
89
|
+
exports.ComboBoxItem = comboBoxItem.ComboBoxItem;
|
|
90
|
+
exports.ComboBoxVariantContext = comboBoxVariantContext.ComboBoxVariantContext;
|
|
91
|
+
exports.useComboBoxVariantContext = comboBoxVariantContext.useComboBoxVariantContext;
|
|
99
92
|
exports.Banner = banner.Banner;
|
|
100
93
|
exports.Badge = badge.Badge;
|
|
94
|
+
Object.defineProperty(exports, "CalendarDate", {
|
|
95
|
+
enumerable: true,
|
|
96
|
+
get: function () { return date.CalendarDate; }
|
|
97
|
+
});
|
|
98
|
+
exports.Calendar = calendar.Calendar;
|
|
99
|
+
exports.CalendarStateWrapper = calendar.CalendarStateWrapper;
|
|
100
|
+
exports.CalendarStyleContext = calendarStyleContext.CalendarStyleContext;
|
|
101
|
+
exports.useCalendarStyleContext = calendarStyleContext.useCalendarStyleContext;
|
|
102
|
+
exports.getEraFormat = utils.getEraFormat;
|
|
103
|
+
exports.useGenerateLocalizedMonths = utils.useGenerateLocalizedMonths;
|
|
104
|
+
exports.useGenerateLocalizedYears = utils.useGenerateLocalizedYears;
|
|
105
|
+
exports.useLocalizedMonthYear = utils.useLocalizedMonthYear;
|
|
106
|
+
exports.DateField = dateField.DateField;
|
|
107
|
+
exports.DateInput = dateField.DateInput;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var createLucideIcon = require('../createLucideIcon.cjs');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @license lucide-react v0.475.0 - ISC
|
|
9
|
+
*
|
|
10
|
+
* This source code is licensed under the ISC license.
|
|
11
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
const __iconNode = [
|
|
16
|
+
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
17
|
+
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
18
|
+
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
19
|
+
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
20
|
+
];
|
|
21
|
+
const Calendar = createLucideIcon.default("Calendar", __iconNode);
|
|
22
|
+
|
|
23
|
+
exports.__iconNode = __iconNode;
|
|
24
|
+
exports.default = Calendar;
|
|
@@ -8,14 +8,14 @@ var date = require('@internationalized/date');
|
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
9
|
var useDeepCompare = require('use-deep-compare');
|
|
10
10
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
11
|
-
var calendarStyleContext = require('../calendar/calendar-style-context.cjs');
|
|
12
11
|
var agnosticCalendarStateContext = require('../calendar/agnostic-calendar-state-context.cjs');
|
|
13
12
|
var calendarBottomContent = require('../calendar/calendar-bottom-content.cjs');
|
|
14
13
|
var calendarGridHeader = require('../calendar/calendar-grid-header.cjs');
|
|
15
14
|
var calendarHeader = require('../calendar/calendar-header.cjs');
|
|
16
15
|
var utils = require('../system/utils.cjs');
|
|
16
|
+
var calendarStyleContext = require('../calendar/calendar-style-context.cjs');
|
|
17
17
|
|
|
18
|
-
const RangeCalendar =
|
|
18
|
+
const RangeCalendar = utils.forwardRefGeneric(function RangeCalendar2(originalProps, ref) {
|
|
19
19
|
const [props, variantProps] = utils.mapPropsVariants(
|
|
20
20
|
originalProps,
|
|
21
21
|
ouiTheme.calendarStyles.variantKeys
|
|
@@ -27,6 +27,7 @@ const Button = forwardRef(
|
|
|
27
27
|
isPending,
|
|
28
28
|
spinner: spinnerProp,
|
|
29
29
|
isIconOnly,
|
|
30
|
+
isAttached,
|
|
30
31
|
...props
|
|
31
32
|
}, ref) => {
|
|
32
33
|
const {
|
|
@@ -60,7 +61,8 @@ const Button = forwardRef(
|
|
|
60
61
|
layout,
|
|
61
62
|
color,
|
|
62
63
|
radius,
|
|
63
|
-
isIconOnly
|
|
64
|
+
isIconOnly,
|
|
65
|
+
isAttached
|
|
64
66
|
})
|
|
65
67
|
),
|
|
66
68
|
isPending,
|
|
@@ -6,14 +6,14 @@ import { CalendarDate, today, getLocalTimeZone } from '@internationalized/date';
|
|
|
6
6
|
import { Calendar as Calendar$1, composeRenderProps, Provider, CalendarGrid, CalendarGridBody, CalendarCell, Text, CalendarStateContext } from 'react-aria-components';
|
|
7
7
|
import { useDeepCompareMemo } from 'use-deep-compare';
|
|
8
8
|
import { calendarStyles, dataAttr, cn } from '@opengovsg/oui-theme';
|
|
9
|
-
import {
|
|
9
|
+
import { forwardRefGeneric, mapPropsVariants } from '../system/utils.js';
|
|
10
10
|
import { AgnosticCalendarStateContext } from './agnostic-calendar-state-context.js';
|
|
11
11
|
import { CalendarBottomContent } from './calendar-bottom-content.js';
|
|
12
12
|
import { CalendarGridHeader } from './calendar-grid-header.js';
|
|
13
13
|
import { CalendarHeader } from './calendar-header.js';
|
|
14
14
|
import { CalendarStyleContext } from './calendar-style-context.js';
|
|
15
15
|
|
|
16
|
-
const Calendar =
|
|
16
|
+
const Calendar = forwardRefGeneric(function Calendar2(originalProps, ref) {
|
|
17
17
|
const [props, variantProps] = mapPropsVariants(
|
|
18
18
|
originalProps,
|
|
19
19
|
calendarStyles.variantKeys
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { useMemo } from 'react';
|
|
5
|
+
import { DateField as DateField$1, DateInput as DateInput$1, DateSegment } from 'react-aria-components';
|
|
6
|
+
import { dateFieldStyles, composeTailwindRenderProps, dateInputStyles, composeRenderProps } from '@opengovsg/oui-theme';
|
|
7
|
+
import { Label, Description, FieldError } from '../field/field.js';
|
|
8
|
+
import { mapPropsVariants } from '../system/utils.js';
|
|
9
|
+
|
|
10
|
+
function DateField(originalProps) {
|
|
11
|
+
const [
|
|
12
|
+
{ label, description, errorMessage, className, classNames, ...props },
|
|
13
|
+
variantProps
|
|
14
|
+
] = useMemo(
|
|
15
|
+
() => mapPropsVariants(originalProps, dateFieldStyles.variantKeys),
|
|
16
|
+
[originalProps]
|
|
17
|
+
);
|
|
18
|
+
const styles = dateFieldStyles({
|
|
19
|
+
className: classNames?.input,
|
|
20
|
+
...variantProps
|
|
21
|
+
});
|
|
22
|
+
return /* @__PURE__ */ jsxs(
|
|
23
|
+
DateField$1,
|
|
24
|
+
{
|
|
25
|
+
...props,
|
|
26
|
+
isDisabled: variantProps.isDisabled,
|
|
27
|
+
className: composeTailwindRenderProps(
|
|
28
|
+
className ?? classNames?.base,
|
|
29
|
+
"flex flex-col gap-2"
|
|
30
|
+
),
|
|
31
|
+
children: [
|
|
32
|
+
label && /* @__PURE__ */ jsx(Label, { size: variantProps.size, className: classNames?.label, children: label }),
|
|
33
|
+
/* @__PURE__ */ jsx(DateInput, { size: variantProps.size, className: styles }),
|
|
34
|
+
description && /* @__PURE__ */ jsx(
|
|
35
|
+
Description,
|
|
36
|
+
{
|
|
37
|
+
size: variantProps.size,
|
|
38
|
+
className: classNames?.description,
|
|
39
|
+
children: description
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ jsx(FieldError, { size: variantProps.size, className: classNames?.error, children: errorMessage })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
function DateInput(originalProps) {
|
|
48
|
+
const [{ className, classNames, ...props }, variantProps] = useMemo(
|
|
49
|
+
() => mapPropsVariants(originalProps, dateInputStyles.variantKeys),
|
|
50
|
+
[originalProps]
|
|
51
|
+
);
|
|
52
|
+
const styles = dateInputStyles(variantProps);
|
|
53
|
+
return /* @__PURE__ */ jsx(
|
|
54
|
+
DateInput$1,
|
|
55
|
+
{
|
|
56
|
+
className: composeTailwindRenderProps(
|
|
57
|
+
className ?? classNames?.base,
|
|
58
|
+
styles.base()
|
|
59
|
+
),
|
|
60
|
+
...props,
|
|
61
|
+
children: (segment) => /* @__PURE__ */ jsx(
|
|
62
|
+
DateSegment,
|
|
63
|
+
{
|
|
64
|
+
segment,
|
|
65
|
+
className: composeRenderProps(
|
|
66
|
+
classNames?.segment,
|
|
67
|
+
(className2, renderProps) => styles.segment({
|
|
68
|
+
...renderProps,
|
|
69
|
+
className: className2
|
|
70
|
+
})
|
|
71
|
+
)
|
|
72
|
+
}
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { DateField, DateInput };
|