@opengovsg/oui 0.0.0-snapshot-20251201075851 → 0.0.0-snapshot-20251203091804
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/banner/banner.cjs +1 -1
- package/dist/cjs/button/button.cjs +1 -1
- package/dist/cjs/calendar/calendar-month-day-selector.cjs +2 -2
- package/dist/cjs/checkbox/checkbox.cjs +1 -1
- package/dist/cjs/combo-box/combo-box.cjs +2 -2
- package/dist/cjs/date-field/date-field.cjs +1 -1
- package/dist/cjs/date-picker/date-picker.cjs +5 -4
- package/dist/cjs/date-range-picker/date-range-picker.cjs +5 -5
- package/dist/cjs/file-dropzone/file-dropzone.cjs +2 -2
- package/dist/cjs/file-dropzone/file-info.cjs +1 -1
- package/dist/cjs/hooks/index.cjs +2 -0
- package/dist/cjs/hooks/use-draggable.cjs +88 -0
- package/dist/cjs/index.cjs +22 -7
- package/dist/cjs/menu/menu.cjs +1 -1
- package/dist/cjs/modal/i18n.cjs +19 -0
- package/dist/cjs/modal/index.cjs +19 -0
- package/dist/cjs/modal/modal-body.cjs +26 -0
- package/dist/cjs/modal/modal-content.cjs +54 -0
- package/dist/cjs/modal/modal-footer.cjs +27 -0
- package/dist/cjs/modal/modal-header.cjs +25 -0
- package/dist/cjs/modal/modal-variant-context.cjs +13 -0
- package/dist/cjs/modal/modal.cjs +66 -0
- package/dist/cjs/number-field/number-field.cjs +3 -3
- package/dist/cjs/range-calendar/range-calendar.cjs +1 -1
- package/dist/cjs/select/select.cjs +3 -3
- package/dist/cjs/tag-field/tag-field.cjs +3 -3
- package/dist/cjs/text-area-field/text-area-field.cjs +1 -1
- package/dist/cjs/text-field/text-field.cjs +1 -1
- package/dist/esm/banner/banner.js +1 -1
- package/dist/esm/button/button.js +1 -1
- package/dist/esm/calendar/calendar-month-day-selector.js +2 -2
- package/dist/esm/checkbox/checkbox.js +1 -1
- package/dist/esm/combo-box/combo-box.js +2 -2
- package/dist/esm/date-field/date-field.js +1 -1
- package/dist/esm/date-picker/date-picker.js +5 -4
- package/dist/esm/date-range-picker/date-range-picker.js +5 -5
- package/dist/esm/file-dropzone/file-dropzone.js +2 -2
- package/dist/esm/file-dropzone/file-info.js +1 -1
- package/dist/esm/hooks/index.js +1 -0
- package/dist/esm/hooks/use-draggable.js +86 -0
- package/dist/esm/index.js +9 -2
- package/dist/esm/menu/menu.js +1 -1
- package/dist/esm/modal/i18n.js +17 -0
- package/dist/esm/modal/index.js +7 -0
- package/dist/esm/modal/modal-body.js +24 -0
- package/dist/esm/modal/modal-content.js +52 -0
- package/dist/esm/modal/modal-footer.js +25 -0
- package/dist/esm/modal/modal-header.js +23 -0
- package/dist/esm/modal/modal-variant-context.js +10 -0
- package/dist/esm/modal/modal.js +64 -0
- package/dist/esm/number-field/number-field.js +3 -3
- package/dist/esm/range-calendar/range-calendar.js +1 -1
- package/dist/esm/select/select.js +3 -3
- package/dist/esm/tag-field/tag-field.js +3 -3
- package/dist/esm/text-area-field/text-area-field.js +1 -1
- package/dist/esm/text-field/text-field.js +1 -1
- package/dist/types/badge/use-badge.d.ts +12 -12
- package/dist/types/hooks/index.d.ts +4 -1
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/use-draggable.d.ts +24 -0
- package/dist/types/hooks/use-draggable.d.ts.map +1 -0
- package/dist/types/index.d.mts +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modal/i18n.d.ts +3 -0
- package/dist/types/modal/i18n.d.ts.map +1 -0
- package/dist/types/modal/index.d.ts +12 -0
- package/dist/types/modal/index.d.ts.map +1 -0
- package/dist/types/modal/modal-body.d.ts +5 -0
- package/dist/types/modal/modal-body.d.ts.map +1 -0
- package/dist/types/modal/modal-content.d.ts +10 -0
- package/dist/types/modal/modal-content.d.ts.map +1 -0
- package/dist/types/modal/modal-footer.d.ts +5 -0
- package/dist/types/modal/modal-footer.d.ts.map +1 -0
- package/dist/types/modal/modal-header.d.ts +5 -0
- package/dist/types/modal/modal-header.d.ts.map +1 -0
- package/dist/types/modal/modal-variant-context.d.ts +8 -0
- package/dist/types/modal/modal-variant-context.d.ts.map +1 -0
- package/dist/types/modal/modal.d.ts +8 -0
- package/dist/types/modal/modal.d.ts.map +1 -0
- package/dist/types/pagination/use-pagination.d.ts +36 -36
- package/package.json +5 -5
|
@@ -7,9 +7,9 @@ var react = require('react');
|
|
|
7
7
|
var reactAria = require('react-aria');
|
|
8
8
|
var reactStately = require('react-stately');
|
|
9
9
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
+
var button = require('../button/button.cjs');
|
|
10
11
|
var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
|
|
11
12
|
var info = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/info.cjs');
|
|
12
|
-
var button = require('../button/button.cjs');
|
|
13
13
|
var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
|
|
14
14
|
|
|
15
15
|
const i18nStrings = {
|
|
@@ -7,9 +7,9 @@ var react = require('react');
|
|
|
7
7
|
var utils = require('@react-aria/utils');
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
9
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
+
var ripple = require('../ripple/ripple.cjs');
|
|
10
11
|
var useRipple = require('../ripple/use-ripple.cjs');
|
|
11
12
|
var spinner = require('../spinner/spinner.cjs');
|
|
12
|
-
var ripple = require('../ripple/ripple.cjs');
|
|
13
13
|
|
|
14
14
|
const Button = react.forwardRef(
|
|
15
15
|
({
|
|
@@ -6,11 +6,11 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var date = require('@internationalized/date');
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
|
+
var select = require('../select/select.cjs');
|
|
10
|
+
var selectItem = require('../select/select-item.cjs');
|
|
9
11
|
var agnosticCalendarStateContext = require('./agnostic-calendar-state-context.cjs');
|
|
10
12
|
var calendarStyleContext = require('./calendar-style-context.cjs');
|
|
11
13
|
var useCalendarSelectors = require('./hooks/use-calendar-selectors.cjs');
|
|
12
|
-
var select = require('../select/select.cjs');
|
|
13
|
-
var selectItem = require('../select/select-item.cjs');
|
|
14
14
|
var useCalendarI18n = require('./hooks/use-calendar-i18n.cjs');
|
|
15
15
|
|
|
16
16
|
const CalendarMonthDaySelector = () => {
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var reactAriaComponents = require('react-aria-components');
|
|
7
7
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
8
|
+
var field = require('../field/field.cjs');
|
|
8
9
|
var utils = require('../system/utils.cjs');
|
|
9
10
|
var checkboxGroupStyleContext = require('./checkbox-group-style-context.cjs');
|
|
10
11
|
var minus = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/minus.cjs');
|
|
11
12
|
var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.cjs');
|
|
12
|
-
var field = require('../field/field.cjs');
|
|
13
13
|
|
|
14
14
|
const Checkbox = ({
|
|
15
15
|
classNames,
|
|
@@ -7,13 +7,13 @@ var react = require('react');
|
|
|
7
7
|
var reactAria = require('react-aria');
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
9
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
+
var field = require('../field/field.cjs');
|
|
11
|
+
var popover = require('../popover/popover.cjs');
|
|
10
12
|
var utils = require('../system/utils.cjs');
|
|
11
13
|
var comboBoxVariantContext = require('./combo-box-variant-context.cjs');
|
|
12
|
-
var field = require('../field/field.cjs');
|
|
13
14
|
var chevronUp = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs');
|
|
14
15
|
var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
|
|
15
16
|
var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
|
|
16
|
-
var popover = require('../popover/popover.cjs');
|
|
17
17
|
|
|
18
18
|
const calculateEstimatedRowHeight = (size) => {
|
|
19
19
|
switch (size) {
|
|
@@ -6,8 +6,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var reactAriaComponents = require('react-aria-components');
|
|
8
8
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
|
-
var utils = require('../system/utils.cjs');
|
|
10
9
|
var field = require('../field/field.cjs');
|
|
10
|
+
var utils = require('../system/utils.cjs');
|
|
11
11
|
|
|
12
12
|
function DateField(originalProps) {
|
|
13
13
|
const [
|
|
@@ -6,13 +6,14 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var reactAriaComponents = require('react-aria-components');
|
|
8
8
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
|
-
var
|
|
10
|
-
var dateField = require('../date-field/date-field.cjs');
|
|
11
|
-
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
9
|
+
var button = require('../button/button.cjs');
|
|
12
10
|
var calendar$1 = require('../calendar/calendar.cjs');
|
|
11
|
+
require('@internationalized/date');
|
|
12
|
+
var dateField = require('../date-field/date-field.cjs');
|
|
13
13
|
var field = require('../field/field.cjs');
|
|
14
|
-
var button = require('../button/button.cjs');
|
|
15
14
|
var popover = require('../popover/popover.cjs');
|
|
15
|
+
var utils = require('../system/utils.cjs');
|
|
16
|
+
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
16
17
|
|
|
17
18
|
function DatePicker(originalProps) {
|
|
18
19
|
const [
|
|
@@ -7,13 +7,13 @@ var react = require('react');
|
|
|
7
7
|
var date = require('@internationalized/date');
|
|
8
8
|
var reactAriaComponents = require('react-aria-components');
|
|
9
9
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
-
var utils = require('../system/utils.cjs');
|
|
11
|
-
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
12
|
-
var rangeCalendar = require('../range-calendar/range-calendar.cjs');
|
|
13
|
-
var field = require('../field/field.cjs');
|
|
14
|
-
var dateField = require('../date-field/date-field.cjs');
|
|
15
10
|
var button = require('../button/button.cjs');
|
|
11
|
+
var dateField = require('../date-field/date-field.cjs');
|
|
12
|
+
var field = require('../field/field.cjs');
|
|
16
13
|
var popover = require('../popover/popover.cjs');
|
|
14
|
+
var rangeCalendar = require('../range-calendar/range-calendar.cjs');
|
|
15
|
+
var utils = require('../system/utils.cjs');
|
|
16
|
+
var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
|
|
17
17
|
|
|
18
18
|
function DateRangePicker(originalProps) {
|
|
19
19
|
const [
|
|
@@ -9,13 +9,13 @@ var reactAria = require('react-aria');
|
|
|
9
9
|
var reactAriaComponents = require('react-aria-components');
|
|
10
10
|
var reactDropzone = require('react-dropzone');
|
|
11
11
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
12
|
+
var field = require('../field/field.cjs');
|
|
13
|
+
var useControllableState = require('../hooks/use-controllable-state.cjs');
|
|
12
14
|
var utils = require('../system/utils.cjs');
|
|
13
15
|
var contexts = require('./contexts.cjs');
|
|
14
16
|
var fileInfo = require('./file-info.cjs');
|
|
15
17
|
var utils$1 = require('./utils.cjs');
|
|
16
|
-
var useControllableState = require('../hooks/use-controllable-state.cjs');
|
|
17
18
|
var upload = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/upload.cjs');
|
|
18
|
-
var field = require('../field/field.cjs');
|
|
19
19
|
|
|
20
20
|
const FileDropzone = (originalProps) => {
|
|
21
21
|
const [props, variantProps] = utils.mapPropsVariants(
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
8
|
+
var button = require('../button/button.cjs');
|
|
8
9
|
var contexts = require('./contexts.cjs');
|
|
9
10
|
var utils = require('./utils.cjs');
|
|
10
11
|
var trash2 = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/trash-2.cjs');
|
|
11
|
-
var button = require('../button/button.cjs');
|
|
12
12
|
|
|
13
13
|
const FileInfo = ({ file, imagePreview, classNames }) => {
|
|
14
14
|
const {
|
package/dist/cjs/hooks/index.cjs
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var useControllableState = require('./use-controllable-state.cjs');
|
|
5
|
+
var useDraggable = require('./use-draggable.cjs');
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
|
|
8
9
|
exports.useControllableState = useControllableState.useControllableState;
|
|
10
|
+
exports.useDraggable = useDraggable.useDraggable;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var interactions = require('@react-aria/interactions');
|
|
7
|
+
|
|
8
|
+
function useDraggable(props) {
|
|
9
|
+
const { targetRef, isDisabled = false, canOverflow = false } = props;
|
|
10
|
+
const boundary = react.useRef({ minLeft: 0, minTop: 0, maxLeft: 0, maxTop: 0 });
|
|
11
|
+
const isDragging = react.useRef(false);
|
|
12
|
+
let transform = { offsetX: 0, offsetY: 0 };
|
|
13
|
+
const onMoveStart = react.useCallback(() => {
|
|
14
|
+
isDragging.current = true;
|
|
15
|
+
const { offsetX, offsetY } = transform;
|
|
16
|
+
const targetRect = targetRef?.current?.getBoundingClientRect();
|
|
17
|
+
const targetLeft = targetRect?.left ?? 0;
|
|
18
|
+
const targetTop = targetRect?.top ?? 0;
|
|
19
|
+
const targetWidth = targetRect?.width ?? 0;
|
|
20
|
+
const targetHeight = targetRect?.height ?? 0;
|
|
21
|
+
const clientWidth = document.documentElement.clientWidth;
|
|
22
|
+
const clientHeight = document.documentElement.clientHeight;
|
|
23
|
+
const minLeft = -targetLeft + offsetX;
|
|
24
|
+
const minTop = -targetTop + offsetY;
|
|
25
|
+
const maxLeft = clientWidth - targetLeft - targetWidth + offsetX;
|
|
26
|
+
const maxTop = clientHeight - targetTop - targetHeight + offsetY;
|
|
27
|
+
boundary.current = {
|
|
28
|
+
minLeft,
|
|
29
|
+
minTop,
|
|
30
|
+
maxLeft,
|
|
31
|
+
maxTop
|
|
32
|
+
};
|
|
33
|
+
}, [transform, targetRef?.current]);
|
|
34
|
+
const onMove = react.useCallback(
|
|
35
|
+
(e) => {
|
|
36
|
+
if (isDisabled) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const { offsetX, offsetY } = transform;
|
|
40
|
+
const { minLeft, minTop, maxLeft, maxTop } = boundary.current;
|
|
41
|
+
let moveX = offsetX + e.deltaX;
|
|
42
|
+
let moveY = offsetY + e.deltaY;
|
|
43
|
+
if (!canOverflow) {
|
|
44
|
+
moveX = Math.min(Math.max(moveX, minLeft), maxLeft);
|
|
45
|
+
moveY = Math.min(Math.max(moveY, minTop), maxTop);
|
|
46
|
+
}
|
|
47
|
+
transform = {
|
|
48
|
+
offsetX: moveX,
|
|
49
|
+
offsetY: moveY
|
|
50
|
+
};
|
|
51
|
+
if (targetRef?.current) {
|
|
52
|
+
targetRef.current.style.transform = `translate(${moveX}px, ${moveY}px)`;
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
[isDisabled, transform, boundary.current, canOverflow, targetRef?.current]
|
|
56
|
+
);
|
|
57
|
+
const onMoveEnd = react.useCallback(() => {
|
|
58
|
+
isDragging.current = false;
|
|
59
|
+
}, []);
|
|
60
|
+
const { moveProps } = interactions.useMove({
|
|
61
|
+
onMoveStart,
|
|
62
|
+
onMove,
|
|
63
|
+
onMoveEnd
|
|
64
|
+
});
|
|
65
|
+
const preventDefault = react.useCallback((e) => {
|
|
66
|
+
if (isDragging.current) {
|
|
67
|
+
e.preventDefault();
|
|
68
|
+
}
|
|
69
|
+
}, []);
|
|
70
|
+
react.useEffect(() => {
|
|
71
|
+
if (!isDisabled) {
|
|
72
|
+
document.body.addEventListener("touchmove", preventDefault, {
|
|
73
|
+
passive: false
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return () => {
|
|
77
|
+
document.body.removeEventListener("touchmove", preventDefault);
|
|
78
|
+
};
|
|
79
|
+
}, [isDisabled, preventDefault]);
|
|
80
|
+
return {
|
|
81
|
+
moveProps: {
|
|
82
|
+
...moveProps,
|
|
83
|
+
style: { cursor: !isDisabled ? "move" : void 0 }
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
exports.useDraggable = useDraggable;
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var useControllableState = require('./hooks/use-controllable-state.cjs');
|
|
5
|
+
var useDraggable = require('./hooks/use-draggable.cjs');
|
|
5
6
|
var button = require('./button/button.cjs');
|
|
6
7
|
var govtBanner = require('./govt-banner/govt-banner.cjs');
|
|
7
8
|
var ripple = require('./ripple/ripple.cjs');
|
|
@@ -26,10 +27,10 @@ var select = require('./select/select.cjs');
|
|
|
26
27
|
var selectItem = require('./select/select-item.cjs');
|
|
27
28
|
var selectVariantContext = require('./select/select-variant-context.cjs');
|
|
28
29
|
var badge = require('./badge/badge.cjs');
|
|
29
|
-
var date = require('@internationalized/date');
|
|
30
30
|
var calendar = require('./calendar/calendar.cjs');
|
|
31
31
|
var calendarStyleContext = require('./calendar/calendar-style-context.cjs');
|
|
32
32
|
var utils = require('./calendar/utils.cjs');
|
|
33
|
+
var date = require('@internationalized/date');
|
|
33
34
|
var rangeCalendar = require('./range-calendar/range-calendar.cjs');
|
|
34
35
|
var menu = require('./menu/menu.cjs');
|
|
35
36
|
var popover = require('./popover/popover.cjs');
|
|
@@ -39,19 +40,26 @@ var datePicker = require('./date-picker/date-picker.cjs');
|
|
|
39
40
|
var dateRangePicker = require('./date-range-picker/date-range-picker.cjs');
|
|
40
41
|
var checkbox = require('./checkbox/checkbox.cjs');
|
|
41
42
|
var checkboxGroupStyleContext = require('./checkbox/checkbox-group-style-context.cjs');
|
|
42
|
-
var usePagination = require('./pagination/hooks/use-pagination.cjs');
|
|
43
43
|
var pagination = require('./pagination/pagination.cjs');
|
|
44
44
|
var paginationCursor = require('./pagination/pagination-cursor.cjs');
|
|
45
45
|
var paginationItem = require('./pagination/pagination-item.cjs');
|
|
46
|
+
var usePagination = require('./pagination/hooks/use-pagination.cjs');
|
|
46
47
|
var usePagination$1 = require('./pagination/use-pagination.cjs');
|
|
47
48
|
var fileDropzone = require('./file-dropzone/file-dropzone.cjs');
|
|
48
49
|
var fileInfo = require('./file-dropzone/file-info.cjs');
|
|
49
50
|
var utils$1 = require('./file-dropzone/utils.cjs');
|
|
50
51
|
var numberField = require('./number-field/number-field.cjs');
|
|
52
|
+
var modal = require('./modal/modal.cjs');
|
|
53
|
+
var modalContent = require('./modal/modal-content.cjs');
|
|
54
|
+
var modalFooter = require('./modal/modal-footer.cjs');
|
|
55
|
+
var modalBody = require('./modal/modal-body.cjs');
|
|
56
|
+
var modalHeader = require('./modal/modal-header.cjs');
|
|
57
|
+
var modalVariantContext = require('./modal/modal-variant-context.cjs');
|
|
51
58
|
|
|
52
59
|
|
|
53
60
|
|
|
54
61
|
exports.useControllableState = useControllableState.useControllableState;
|
|
62
|
+
exports.useDraggable = useDraggable.useDraggable;
|
|
55
63
|
exports.Button = button.Button;
|
|
56
64
|
exports.GovtBanner = govtBanner.GovtBanner;
|
|
57
65
|
exports.Ripple = ripple.Ripple;
|
|
@@ -83,10 +91,6 @@ exports.SelectItem = selectItem.SelectItem;
|
|
|
83
91
|
exports.SelectVariantContext = selectVariantContext.SelectVariantContext;
|
|
84
92
|
exports.useSelectVariantContext = selectVariantContext.useSelectVariantContext;
|
|
85
93
|
exports.Badge = badge.Badge;
|
|
86
|
-
Object.defineProperty(exports, "CalendarDate", {
|
|
87
|
-
enumerable: true,
|
|
88
|
-
get: function () { return date.CalendarDate; }
|
|
89
|
-
});
|
|
90
94
|
exports.Calendar = calendar.Calendar;
|
|
91
95
|
exports.CalendarStateWrapper = calendar.CalendarStateWrapper;
|
|
92
96
|
exports.CalendarStyleContext = calendarStyleContext.CalendarStyleContext;
|
|
@@ -95,6 +99,10 @@ exports.getEraFormat = utils.getEraFormat;
|
|
|
95
99
|
exports.useGenerateLocalizedMonths = utils.useGenerateLocalizedMonths;
|
|
96
100
|
exports.useGenerateLocalizedYears = utils.useGenerateLocalizedYears;
|
|
97
101
|
exports.useLocalizedMonthYear = utils.useLocalizedMonthYear;
|
|
102
|
+
Object.defineProperty(exports, "CalendarDate", {
|
|
103
|
+
enumerable: true,
|
|
104
|
+
get: function () { return date.CalendarDate; }
|
|
105
|
+
});
|
|
98
106
|
exports.RangeCalendar = rangeCalendar.RangeCalendar;
|
|
99
107
|
exports.RangeCalendarCell = rangeCalendar.RangeCalendarCell;
|
|
100
108
|
exports.RangeCalendarStateWrapper = rangeCalendar.RangeCalendarStateWrapper;
|
|
@@ -121,10 +129,10 @@ exports.Checkbox = checkbox.Checkbox;
|
|
|
121
129
|
exports.CheckboxGroup = checkbox.CheckboxGroup;
|
|
122
130
|
exports.CheckboxGroupStyleContext = checkboxGroupStyleContext.CheckboxGroupStyleContext;
|
|
123
131
|
exports.useCheckboxGroupStyleContext = checkboxGroupStyleContext.useCheckboxGroupStyleContext;
|
|
124
|
-
exports.PaginationItemType = usePagination.PaginationItemType;
|
|
125
132
|
exports.Pagination = pagination.Pagination;
|
|
126
133
|
exports.PaginationCursor = paginationCursor.PaginationCursor;
|
|
127
134
|
exports.PaginationItem = paginationItem.PaginationItem;
|
|
135
|
+
exports.PaginationItemType = usePagination.PaginationItemType;
|
|
128
136
|
exports.CURSOR_TRANSITION_TIMEOUT = usePagination$1.CURSOR_TRANSITION_TIMEOUT;
|
|
129
137
|
exports.usePagination = usePagination$1.usePagination;
|
|
130
138
|
exports.FileDropzone = fileDropzone.FileDropzone;
|
|
@@ -132,3 +140,10 @@ exports.FileInfo = fileInfo.FileInfo;
|
|
|
132
140
|
exports.formatBytes = utils$1.formatBytes;
|
|
133
141
|
exports.formatErrorMessage = utils$1.formatErrorMessage;
|
|
134
142
|
exports.NumberField = numberField.NumberField;
|
|
143
|
+
exports.Modal = modal.Modal;
|
|
144
|
+
exports.ModalContent = modalContent.ModalContent;
|
|
145
|
+
exports.ModalFooter = modalFooter.ModalFooter;
|
|
146
|
+
exports.ModalBody = modalBody.ModalBody;
|
|
147
|
+
exports.ModalHeader = modalHeader.ModalHeader;
|
|
148
|
+
exports.ModalVariantContext = modalVariantContext.ModalVariantContext;
|
|
149
|
+
exports.useModalVariantContext = modalVariantContext.useModalVariantContext;
|
package/dist/cjs/menu/menu.cjs
CHANGED
|
@@ -6,11 +6,11 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
var react = require('react');
|
|
7
7
|
var reactAriaComponents = require('react-aria-components');
|
|
8
8
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
|
+
var popover = require('../popover/popover.cjs');
|
|
9
10
|
var utils = require('../system/utils.cjs');
|
|
10
11
|
var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.cjs');
|
|
11
12
|
var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
|
|
12
13
|
var context = require('../system/react-utils/context.cjs');
|
|
13
|
-
var popover = require('../popover/popover.cjs');
|
|
14
14
|
|
|
15
15
|
const [MenuVariantContext, useMenuVariantContext] = context.createContext({
|
|
16
16
|
name: "MenuVariantContext",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
dismiss: "Dismiss"
|
|
7
|
+
},
|
|
8
|
+
"zh-SG": {
|
|
9
|
+
dismiss: "\u53D6\u6D88"
|
|
10
|
+
},
|
|
11
|
+
"ms-SG": {
|
|
12
|
+
dismiss: "Tutup"
|
|
13
|
+
},
|
|
14
|
+
"ta-SG": {
|
|
15
|
+
dismiss: "\u0BAE\u0BC2\u0B9F\u0BC1"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.i18nStrings = i18nStrings;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
var modal = require('./modal.cjs');
|
|
5
|
+
var modalContent = require('./modal-content.cjs');
|
|
6
|
+
var modalFooter = require('./modal-footer.cjs');
|
|
7
|
+
var modalBody = require('./modal-body.cjs');
|
|
8
|
+
var modalHeader = require('./modal-header.cjs');
|
|
9
|
+
var modalVariantContext = require('./modal-variant-context.cjs');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
exports.Modal = modal.Modal;
|
|
14
|
+
exports.ModalContent = modalContent.ModalContent;
|
|
15
|
+
exports.ModalFooter = modalFooter.ModalFooter;
|
|
16
|
+
exports.ModalBody = modalBody.ModalBody;
|
|
17
|
+
exports.ModalHeader = modalHeader.ModalHeader;
|
|
18
|
+
exports.ModalVariantContext = modalVariantContext.ModalVariantContext;
|
|
19
|
+
exports.useModalVariantContext = modalVariantContext.useModalVariantContext;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
8
|
+
var utils = require('../system/utils.cjs');
|
|
9
|
+
var modalVariantContext = require('./modal-variant-context.cjs');
|
|
10
|
+
|
|
11
|
+
const ModalBody = utils.forwardRef(function ModalBody2({ as, ...props }, ref) {
|
|
12
|
+
const { slots, classNames } = react.useContext(modalVariantContext.ModalVariantContext);
|
|
13
|
+
const Component = as || "div";
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
|
+
Component,
|
|
16
|
+
{
|
|
17
|
+
ref,
|
|
18
|
+
className: slots.body({
|
|
19
|
+
className: ouiTheme.cn(classNames?.body, props.className)
|
|
20
|
+
}),
|
|
21
|
+
...props
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
exports.ModalBody = ModalBody;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var reactAria = require('react-aria');
|
|
8
|
+
var reactAriaComponents = require('react-aria-components');
|
|
9
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
|
+
var button = require('../button/button.cjs');
|
|
11
|
+
var i18n = require('./i18n.cjs');
|
|
12
|
+
var modalVariantContext = require('./modal-variant-context.cjs');
|
|
13
|
+
var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
|
|
14
|
+
|
|
15
|
+
function ModalContent({
|
|
16
|
+
closeButtonContent: closeButtonContentProp,
|
|
17
|
+
hideCloseButton,
|
|
18
|
+
closeButtonProps,
|
|
19
|
+
...props
|
|
20
|
+
}) {
|
|
21
|
+
const { slots, classNames, buttonSize } = react.useContext(modalVariantContext.ModalVariantContext);
|
|
22
|
+
const formatMessage = reactAria.useMessageFormatter(i18n.i18nStrings);
|
|
23
|
+
const closeButtonContent = react.isValidElement(closeButtonContentProp) ? closeButtonContentProp : /* @__PURE__ */ jsxRuntime.jsx(x.default, {});
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
reactAriaComponents.Dialog,
|
|
26
|
+
{
|
|
27
|
+
...props,
|
|
28
|
+
className: slots.dialog({
|
|
29
|
+
className: props.className ?? classNames?.dialog
|
|
30
|
+
}),
|
|
31
|
+
children: ({ close }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
32
|
+
!hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
button.Button,
|
|
34
|
+
{
|
|
35
|
+
slot: "close",
|
|
36
|
+
isIconOnly: true,
|
|
37
|
+
"aria-label": formatMessage("dismiss"),
|
|
38
|
+
size: buttonSize,
|
|
39
|
+
variant: "clear",
|
|
40
|
+
color: "neutral",
|
|
41
|
+
...closeButtonProps,
|
|
42
|
+
className: slots.closeButton({
|
|
43
|
+
className: ouiTheme.cn(classNames?.closeButton, props.className)
|
|
44
|
+
}),
|
|
45
|
+
children: closeButtonContent
|
|
46
|
+
}
|
|
47
|
+
),
|
|
48
|
+
typeof props.children === "function" ? props.children(close) : props.children
|
|
49
|
+
] })
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
exports.ModalContent = ModalContent;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var ouiTheme = require('@opengovsg/oui-theme');
|
|
8
|
+
var utils = require('../system/utils.cjs');
|
|
9
|
+
var modalVariantContext = require('./modal-variant-context.cjs');
|
|
10
|
+
|
|
11
|
+
const ModalFooter = utils.forwardRef(function ModalFooter2({ as, ...props }, ref) {
|
|
12
|
+
const { slots, classNames } = react.useContext(modalVariantContext.ModalVariantContext);
|
|
13
|
+
const Component = as || "footer";
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
15
|
+
Component,
|
|
16
|
+
{
|
|
17
|
+
ref,
|
|
18
|
+
className: slots.footer({
|
|
19
|
+
className: ouiTheme.cn(classNames?.footer, props.className)
|
|
20
|
+
}),
|
|
21
|
+
...props
|
|
22
|
+
}
|
|
23
|
+
);
|
|
24
|
+
});
|
|
25
|
+
ModalFooter.displayName = "ModalFooter";
|
|
26
|
+
|
|
27
|
+
exports.ModalFooter = ModalFooter;
|
|
@@ -0,0 +1,25 @@
|
|
|
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 modalVariantContext = require('./modal-variant-context.cjs');
|
|
10
|
+
|
|
11
|
+
function ModalHeader(props) {
|
|
12
|
+
const { slots, classNames } = react.useContext(modalVariantContext.ModalVariantContext);
|
|
13
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
14
|
+
reactAriaComponents.Heading,
|
|
15
|
+
{
|
|
16
|
+
slot: "title",
|
|
17
|
+
...props,
|
|
18
|
+
className: slots.header({
|
|
19
|
+
className: ouiTheme.cn(classNames?.header, props.className)
|
|
20
|
+
})
|
|
21
|
+
}
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
exports.ModalHeader = ModalHeader;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
var context = require('../system/react-utils/context.cjs');
|
|
6
|
+
|
|
7
|
+
const [ModalVariantContext, useModalVariantContext] = context.createContext({
|
|
8
|
+
name: "ModalVariantContext",
|
|
9
|
+
strict: true
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
exports.ModalVariantContext = ModalVariantContext;
|
|
13
|
+
exports.useModalVariantContext = useModalVariantContext;
|
|
@@ -0,0 +1,66 @@
|
|
|
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 utils = require('../system/utils.cjs');
|
|
10
|
+
var modalVariantContext = require('./modal-variant-context.cjs');
|
|
11
|
+
|
|
12
|
+
const Modal = react.forwardRef(function Modal2(originalProps, ref) {
|
|
13
|
+
const [{ classNames, ...props }, variantProps] = utils.mapPropsVariants(
|
|
14
|
+
originalProps,
|
|
15
|
+
ouiTheme.modalStyles.variantKeys
|
|
16
|
+
);
|
|
17
|
+
const { isDismissable = true } = props;
|
|
18
|
+
const slots = ouiTheme.modalStyles(variantProps);
|
|
19
|
+
const buttonSize = react.useMemo(() => {
|
|
20
|
+
switch (variantProps.size) {
|
|
21
|
+
case "mobile":
|
|
22
|
+
return "md";
|
|
23
|
+
default: {
|
|
24
|
+
return "lg";
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}, [variantProps.size]);
|
|
28
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
29
|
+
reactAriaComponents.Provider,
|
|
30
|
+
{
|
|
31
|
+
values: [
|
|
32
|
+
[
|
|
33
|
+
modalVariantContext.ModalVariantContext,
|
|
34
|
+
{ ...variantProps, classNames, buttonSize, slots }
|
|
35
|
+
]
|
|
36
|
+
],
|
|
37
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
38
|
+
reactAriaComponents.ModalOverlay,
|
|
39
|
+
{
|
|
40
|
+
...props,
|
|
41
|
+
isDismissable,
|
|
42
|
+
className: ouiTheme.composeRenderProps(
|
|
43
|
+
classNames?.overlay,
|
|
44
|
+
(className, renderProps) => slots.overlay({ className, ...renderProps })
|
|
45
|
+
),
|
|
46
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
+
reactAriaComponents.Modal,
|
|
48
|
+
{
|
|
49
|
+
...props,
|
|
50
|
+
ref,
|
|
51
|
+
isDismissable,
|
|
52
|
+
"data-placement": variantProps.placement,
|
|
53
|
+
className: ouiTheme.composeRenderProps(
|
|
54
|
+
props.className ?? classNames?.base,
|
|
55
|
+
(className, renderProps) => slots.base({ className, ...renderProps })
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
}
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
});
|
|
64
|
+
Modal.displayName = "Modal";
|
|
65
|
+
|
|
66
|
+
exports.Modal = Modal;
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var reactAriaComponents = require('react-aria-components');
|
|
7
7
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
8
|
+
var button = require('../button/button.cjs');
|
|
9
|
+
var field = require('../field/field.cjs');
|
|
10
|
+
var input = require('../input/input.cjs');
|
|
8
11
|
var utils = require('../system/utils.cjs');
|
|
9
12
|
var minus = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/minus.cjs');
|
|
10
13
|
var plus = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/plus.cjs');
|
|
11
|
-
var field = require('../field/field.cjs');
|
|
12
|
-
var input = require('../input/input.cjs');
|
|
13
|
-
var button = require('../button/button.cjs');
|
|
14
14
|
|
|
15
15
|
function NumberField(originalProps) {
|
|
16
16
|
const [
|
|
@@ -8,12 +8,12 @@ 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');
|
|
11
12
|
var agnosticCalendarStateContext = require('../calendar/agnostic-calendar-state-context.cjs');
|
|
12
13
|
var calendarBottomContent = require('../calendar/calendar-bottom-content.cjs');
|
|
13
14
|
var calendarGridHeader = require('../calendar/calendar-grid-header.cjs');
|
|
14
15
|
var calendarHeader = require('../calendar/calendar-header.cjs');
|
|
15
16
|
var utils = require('../system/utils.cjs');
|
|
16
|
-
var calendarStyleContext = require('../calendar/calendar-style-context.cjs');
|
|
17
17
|
|
|
18
18
|
const RangeCalendar = utils.forwardRefGeneric(function RangeCalendar2(originalProps, ref) {
|
|
19
19
|
const [props, variantProps] = utils.mapPropsVariants(
|