@opengovsg/oui 0.0.39 → 0.0.41
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/badge/i18n.cjs +19 -0
- package/dist/cjs/badge/use-badge.cjs +4 -17
- package/dist/cjs/banner/banner.cjs +3 -16
- package/dist/cjs/banner/i18n.cjs +19 -0
- package/dist/cjs/calendar/calendar-bottom-content.cjs +4 -3
- package/dist/cjs/calendar/calendar-month-day-selector.cjs +5 -4
- package/dist/cjs/calendar/hooks/index.cjs +0 -3
- package/dist/cjs/calendar/i18n.cjs +27 -0
- package/dist/cjs/combo-box/combo-box.cjs +5 -22
- package/dist/cjs/combo-box/i18n.cjs +23 -0
- package/dist/cjs/date-field/date-field.cjs +18 -10
- package/dist/cjs/date-picker/date-picker.cjs +1 -0
- package/dist/cjs/date-range-picker/date-range-picker.cjs +2 -0
- package/dist/cjs/index.cjs +4 -0
- package/dist/cjs/modal/i18n.cjs +4 -4
- package/dist/cjs/modal/modal-content.cjs +2 -2
- package/dist/cjs/navbar/navbar-menu/i18n.cjs +8 -8
- package/dist/cjs/navbar/navbar-menu/toggle.cjs +2 -2
- package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/search.cjs +22 -0
- package/dist/cjs/search-field/i18n.cjs +19 -0
- package/dist/cjs/search-field/index.cjs +8 -0
- package/dist/cjs/search-field/search-field.cjs +91 -0
- package/dist/cjs/time-field/index.cjs +8 -0
- package/dist/cjs/time-field/time-field.cjs +61 -0
- package/dist/esm/badge/i18n.js +17 -0
- package/dist/esm/badge/use-badge.js +5 -18
- package/dist/esm/banner/banner.js +4 -17
- package/dist/esm/banner/i18n.js +17 -0
- package/dist/esm/calendar/calendar-bottom-content.js +4 -3
- package/dist/esm/calendar/calendar-month-day-selector.js +5 -4
- package/dist/esm/calendar/hooks/index.js +0 -1
- package/dist/esm/calendar/i18n.js +25 -0
- package/dist/esm/combo-box/combo-box.js +6 -23
- package/dist/esm/combo-box/i18n.js +21 -0
- package/dist/esm/date-field/date-field.js +19 -11
- package/dist/esm/date-picker/date-picker.js +1 -0
- package/dist/esm/date-range-picker/date-range-picker.js +2 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/modal/i18n.js +4 -4
- package/dist/esm/modal/modal-content.js +3 -3
- package/dist/esm/navbar/navbar-menu/i18n.js +8 -8
- package/dist/esm/navbar/navbar-menu/toggle.js +3 -3
- package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/search.js +17 -0
- package/dist/esm/search-field/i18n.js +17 -0
- package/dist/esm/search-field/index.js +2 -0
- package/dist/esm/search-field/search-field.js +89 -0
- package/dist/esm/time-field/index.js +2 -0
- package/dist/esm/time-field/time-field.js +59 -0
- package/dist/types/badge/i18n.d.ts +15 -0
- package/dist/types/badge/i18n.d.ts.map +1 -0
- package/dist/types/badge/use-badge.d.ts.map +1 -1
- package/dist/types/banner/banner.d.ts.map +1 -1
- package/dist/types/banner/i18n.d.ts +15 -0
- package/dist/types/banner/i18n.d.ts.map +1 -0
- package/dist/types/calendar/calendar-bottom-content.d.ts.map +1 -1
- package/dist/types/calendar/calendar-month-day-selector.d.ts.map +1 -1
- package/dist/types/calendar/hooks/index.d.ts +0 -1
- package/dist/types/calendar/hooks/index.d.ts.map +1 -1
- package/dist/types/calendar/i18n.d.ts +23 -0
- package/dist/types/calendar/i18n.d.ts.map +1 -0
- package/dist/types/combo-box/combo-box.d.ts.map +1 -1
- package/dist/types/combo-box/i18n.d.ts +19 -0
- package/dist/types/combo-box/i18n.d.ts.map +1 -0
- package/dist/types/date-field/date-field.d.ts +4 -6
- package/dist/types/date-field/date-field.d.ts.map +1 -1
- package/dist/types/date-picker/date-picker.d.ts.map +1 -1
- package/dist/types/date-range-picker/date-range-picker.d.ts.map +1 -1
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/modal/i18n.d.ts +14 -2
- package/dist/types/modal/i18n.d.ts.map +1 -1
- package/dist/types/navbar/navbar-menu/i18n.d.ts +18 -2
- package/dist/types/navbar/navbar-menu/i18n.d.ts.map +1 -1
- package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -1
- package/dist/types/search-field/i18n.d.ts +15 -0
- package/dist/types/search-field/i18n.d.ts.map +1 -0
- package/dist/types/search-field/index.d.ts +2 -0
- package/dist/types/search-field/index.d.ts.map +1 -0
- package/dist/types/search-field/search-field.d.ts +15 -0
- package/dist/types/search-field/search-field.d.ts.map +1 -0
- package/dist/types/time-field/index.d.ts +2 -0
- package/dist/types/time-field/index.d.ts.map +1 -0
- package/dist/types/time-field/time-field.d.ts +12 -0
- package/dist/types/time-field/time-field.d.ts.map +1 -0
- package/package.json +3 -3
- package/dist/cjs/calendar/hooks/use-calendar-i18n.cjs +0 -33
- package/dist/esm/calendar/hooks/use-calendar-i18n.js +0 -30
- package/dist/types/calendar/hooks/use-calendar-i18n.d.ts +0 -4
- package/dist/types/calendar/hooks/use-calendar-i18n.d.ts.map +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
"Close badge": "Close badge"
|
|
7
|
+
},
|
|
8
|
+
"zh-SG": {
|
|
9
|
+
"Close badge": "\u5173\u95ED\u5FBD\u7AE0"
|
|
10
|
+
},
|
|
11
|
+
"ms-SG": {
|
|
12
|
+
"Close badge": "Tutup lencana"
|
|
13
|
+
},
|
|
14
|
+
"ta-SG": {
|
|
15
|
+
"Close badge": "\u0BAA\u0BC7\u0B9F\u0BCD\u0B9C\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.i18nStrings = i18nStrings;
|
|
@@ -7,22 +7,9 @@ var reactAria = require('react-aria');
|
|
|
7
7
|
var useDeepCompare = require('use-deep-compare');
|
|
8
8
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
9
9
|
var utils = require('../system/utils.cjs');
|
|
10
|
+
var i18n = require('./i18n.cjs');
|
|
10
11
|
var refs = require('../system/react-utils/refs.cjs');
|
|
11
12
|
|
|
12
|
-
const i18nStrings = {
|
|
13
|
-
"en-SG": {
|
|
14
|
-
close: "Close badge"
|
|
15
|
-
},
|
|
16
|
-
"zh-SG": {
|
|
17
|
-
close: "\u5173\u95ED\u5FBD\u7AE0"
|
|
18
|
-
},
|
|
19
|
-
"ms-SG": {
|
|
20
|
-
close: "Tutup lencana"
|
|
21
|
-
},
|
|
22
|
-
"ta-SG": {
|
|
23
|
-
close: "\u0BAA\u0BC7\u0B9F\u0BCD\u0B9C\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1"
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
13
|
function useBadge(originalProps) {
|
|
27
14
|
const [_props, variantProps] = utils.mapPropsVariants(
|
|
28
15
|
originalProps,
|
|
@@ -42,7 +29,7 @@ function useBadge(originalProps) {
|
|
|
42
29
|
const domRef = refs.useDomRef(ref);
|
|
43
30
|
const Component = $670gB$react.useMemo(() => as || "div", [as]);
|
|
44
31
|
const baseClassName = ouiTheme.cn(classNames?.base, className);
|
|
45
|
-
const
|
|
32
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
46
33
|
const isCloseable = variantProps.isCloseable || !!onClose;
|
|
47
34
|
const {
|
|
48
35
|
focusProps: closeFocusProps,
|
|
@@ -83,16 +70,16 @@ function useBadge(originalProps) {
|
|
|
83
70
|
className: classNames?.closeButton,
|
|
84
71
|
isFocusVisible: isCloseButtonFocusVisible
|
|
85
72
|
}),
|
|
86
|
-
"aria-label":
|
|
73
|
+
"aria-label": stringFormatter.format("Close badge"),
|
|
87
74
|
...utils$1.mergeProps(closePressProps, closeFocusProps)
|
|
88
75
|
};
|
|
89
76
|
}, [
|
|
90
77
|
classNames?.closeButton,
|
|
91
78
|
closeFocusProps,
|
|
92
79
|
closePressProps,
|
|
93
|
-
formatMessage,
|
|
94
80
|
isCloseButtonFocusVisible,
|
|
95
81
|
slots,
|
|
82
|
+
stringFormatter,
|
|
96
83
|
variantProps?.size
|
|
97
84
|
]);
|
|
98
85
|
return {
|
|
@@ -8,24 +8,11 @@ var reactAria = require('react-aria');
|
|
|
8
8
|
var reactStately = require('react-stately');
|
|
9
9
|
var ouiTheme = require('@opengovsg/oui-theme');
|
|
10
10
|
var button = require('../button/button.cjs');
|
|
11
|
+
var i18n = require('./i18n.cjs');
|
|
11
12
|
var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
|
|
12
13
|
var info = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/info.cjs');
|
|
13
14
|
var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.cjs');
|
|
14
15
|
|
|
15
|
-
const i18nStrings = {
|
|
16
|
-
"en-SG": {
|
|
17
|
-
dismiss: "Close banner"
|
|
18
|
-
},
|
|
19
|
-
"zh-SG": {
|
|
20
|
-
dismiss: "\u5173\u95ED\u6A2A\u5E45"
|
|
21
|
-
},
|
|
22
|
-
"ms-SG": {
|
|
23
|
-
dismiss: "Tutup sepanduk"
|
|
24
|
-
},
|
|
25
|
-
"ta-SG": {
|
|
26
|
-
dismiss: "\u0B89\u0B9F\u0BC8\u0B95\u0BB3\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
16
|
const Banner = ({
|
|
30
17
|
variant = "info",
|
|
31
18
|
size,
|
|
@@ -37,7 +24,7 @@ const Banner = ({
|
|
|
37
24
|
defaultExpanded = true,
|
|
38
25
|
...disclosureProps
|
|
39
26
|
}) => {
|
|
40
|
-
const
|
|
27
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
41
28
|
const styles = ouiTheme.bannerStyles({ variant, size });
|
|
42
29
|
const startContent = $670gB$react.useMemo(() => {
|
|
43
30
|
if (startContentProp) {
|
|
@@ -107,7 +94,7 @@ const Banner = ({
|
|
|
107
94
|
variant: "clear",
|
|
108
95
|
color: "neutral",
|
|
109
96
|
isIconOnly: true,
|
|
110
|
-
"aria-label":
|
|
97
|
+
"aria-label": stringFormatter.format("Close banner"),
|
|
111
98
|
className: styles.dismissButton({
|
|
112
99
|
className: classNames?.dismissButton
|
|
113
100
|
}),
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
"Close banner": "Close banner"
|
|
7
|
+
},
|
|
8
|
+
"zh-SG": {
|
|
9
|
+
"Close banner": "\u5173\u95ED\u6A2A\u5E45"
|
|
10
|
+
},
|
|
11
|
+
"ms-SG": {
|
|
12
|
+
"Close banner": "Tutup sepanduk"
|
|
13
|
+
},
|
|
14
|
+
"ta-SG": {
|
|
15
|
+
"Close banner": "\u0B89\u0B9F\u0BC8\u0B95\u0BB3\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1\u0B99\u0BCD\u0B95\u0BB3\u0BCD"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.i18nStrings = i18nStrings;
|
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var $670gB$react = require('react');
|
|
7
7
|
var date = require('@internationalized/date');
|
|
8
|
+
var reactAria = require('react-aria');
|
|
8
9
|
var button = require('../button/button.cjs');
|
|
9
10
|
var agnosticCalendarStateContext = require('./agnostic-calendar-state-context.cjs');
|
|
10
11
|
var calendarStyleContext = require('./calendar-style-context.cjs');
|
|
11
|
-
var
|
|
12
|
+
var i18n = require('./i18n.cjs');
|
|
12
13
|
|
|
13
14
|
const CalendarBottomContent = ({
|
|
14
15
|
bottomContent,
|
|
@@ -17,7 +18,7 @@ const CalendarBottomContent = ({
|
|
|
17
18
|
}) => {
|
|
18
19
|
const state = $670gB$react.useContext(agnosticCalendarStateContext.AgnosticCalendarStateContext);
|
|
19
20
|
const { slots, classNames, size } = calendarStyleContext.useCalendarStyleContext();
|
|
20
|
-
const
|
|
21
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
21
22
|
const handleTodayClick = $670gB$react.useCallback(() => {
|
|
22
23
|
const todayDate = date.today(date.getLocalTimeZone());
|
|
23
24
|
state.setFocusedDate(todayDate);
|
|
@@ -47,7 +48,7 @@ const CalendarBottomContent = ({
|
|
|
47
48
|
slot: null,
|
|
48
49
|
className: slots.todayButton({ className: classNames?.todayButton }),
|
|
49
50
|
onPress: handleTodayClick,
|
|
50
|
-
children:
|
|
51
|
+
children: stringFormatter.format("Today")
|
|
51
52
|
}
|
|
52
53
|
)
|
|
53
54
|
}
|
|
@@ -5,19 +5,20 @@
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var $670gB$react = require('react');
|
|
7
7
|
var date = require('@internationalized/date');
|
|
8
|
+
var reactAria = require('react-aria');
|
|
8
9
|
var reactAriaComponents = require('react-aria-components');
|
|
9
10
|
var select = require('../select/select.cjs');
|
|
10
11
|
var selectItem = require('../select/select-item.cjs');
|
|
11
12
|
var agnosticCalendarStateContext = require('./agnostic-calendar-state-context.cjs');
|
|
12
13
|
var calendarStyleContext = require('./calendar-style-context.cjs');
|
|
14
|
+
var i18n = require('./i18n.cjs');
|
|
13
15
|
var useCalendarSelectors = require('./hooks/use-calendar-selectors.cjs');
|
|
14
|
-
var useCalendarI18n = require('./hooks/use-calendar-i18n.cjs');
|
|
15
16
|
|
|
16
17
|
const CalendarMonthDaySelector = () => {
|
|
17
18
|
const { slots, size, classNames } = calendarStyleContext.useCalendarStyleContext();
|
|
18
19
|
const state = $670gB$react.useContext(agnosticCalendarStateContext.AgnosticCalendarStateContext);
|
|
19
20
|
const { months, years, datePartOrder } = useCalendarSelectors.useCalendarSelectors(state);
|
|
20
|
-
const
|
|
21
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
21
22
|
return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Group, { className: slots.selectors({ className: classNames?.selectors }), children: datePartOrder.map((part) => {
|
|
22
23
|
if (part === "month") {
|
|
23
24
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -38,7 +39,7 @@ const CalendarMonthDaySelector = () => {
|
|
|
38
39
|
popover: "min-w-[12ch]"
|
|
39
40
|
},
|
|
40
41
|
selectedKey: state.visibleRange.start.month,
|
|
41
|
-
"aria-label":
|
|
42
|
+
"aria-label": stringFormatter.format("Select month"),
|
|
42
43
|
onSelectionChange: (month) => {
|
|
43
44
|
state.setFocusedDate(
|
|
44
45
|
new date.CalendarDate(state.focusedDate.year, Number(month), 1)
|
|
@@ -67,7 +68,7 @@ const CalendarMonthDaySelector = () => {
|
|
|
67
68
|
popover: "min-w-[8ch]"
|
|
68
69
|
},
|
|
69
70
|
selectedKey: state.visibleRange.start.year,
|
|
70
|
-
"aria-label":
|
|
71
|
+
"aria-label": stringFormatter.format("Select year"),
|
|
71
72
|
onSelectionChange: (year) => {
|
|
72
73
|
state.setFocusedDate(
|
|
73
74
|
new date.CalendarDate(
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var useCalendarI18n = require('./use-calendar-i18n.cjs');
|
|
5
4
|
var useCalendarSelectors = require('./use-calendar-selectors.cjs');
|
|
6
5
|
|
|
7
6
|
|
|
8
7
|
|
|
9
|
-
exports.i18nStrings = useCalendarI18n.i18nStrings;
|
|
10
|
-
exports.useCalendarI18n = useCalendarI18n.useCalendarI18n;
|
|
11
8
|
exports.useCalendarSelectors = useCalendarSelectors.useCalendarSelectors;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
"Select month": "Select month",
|
|
7
|
+
"Select year": "Select year",
|
|
8
|
+
Today: "Today"
|
|
9
|
+
},
|
|
10
|
+
"zh-SG": {
|
|
11
|
+
"Select month": "\u9009\u62E9\u6708\u4EFD",
|
|
12
|
+
"Select year": "\u9009\u62E9\u5E74\u4EFD",
|
|
13
|
+
Today: "\u4ECA\u5929"
|
|
14
|
+
},
|
|
15
|
+
"ms-SG": {
|
|
16
|
+
"Select month": "Pilih bulan",
|
|
17
|
+
"Select year": "Pilih tahun",
|
|
18
|
+
Today: "Hari ini"
|
|
19
|
+
},
|
|
20
|
+
"ta-SG": {
|
|
21
|
+
"Select month": "\u0BAE\u0BBE\u0BA4\u0BA4\u0BCD\u0BA4\u0BC8 \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",
|
|
22
|
+
"Select year": "\u0B86\u0BA3\u0BCD\u0B9F\u0BC8 \u0BA4\u0BC7\u0BB0\u0BCD\u0BA8\u0BCD\u0BA4\u0BC6\u0B9F\u0BC1\u0B95\u0BCD\u0B95\u0BB5\u0BC1\u0BAE\u0BCD",
|
|
23
|
+
Today: "\u0B87\u0BA9\u0BCD\u0BB1\u0BC1"
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.i18nStrings = i18nStrings;
|
|
@@ -11,6 +11,7 @@ var field = require('../field/field.cjs');
|
|
|
11
11
|
var popover = require('../popover/popover.cjs');
|
|
12
12
|
var utils = require('../system/utils.cjs');
|
|
13
13
|
var comboBoxVariantContext = require('./combo-box-variant-context.cjs');
|
|
14
|
+
var i18n = require('./i18n.cjs');
|
|
14
15
|
var chevronUp = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs');
|
|
15
16
|
var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
|
|
16
17
|
var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.cjs');
|
|
@@ -25,42 +26,24 @@ const calculateEstimatedRowHeight = (size) => {
|
|
|
25
26
|
return 48;
|
|
26
27
|
}
|
|
27
28
|
};
|
|
28
|
-
const i18nStrings = {
|
|
29
|
-
"en-SG": {
|
|
30
|
-
clear: "Clear",
|
|
31
|
-
empty: "No matching results"
|
|
32
|
-
},
|
|
33
|
-
"zh-SG": {
|
|
34
|
-
clear: "\u6E05\u9664",
|
|
35
|
-
empty: "\u6CA1\u6709\u5339\u914D\u7684\u7ED3\u679C"
|
|
36
|
-
},
|
|
37
|
-
"ms-SG": {
|
|
38
|
-
clear: "Jelas",
|
|
39
|
-
empty: "Tiada hasil yang sepadan"
|
|
40
|
-
},
|
|
41
|
-
"ta-SG": {
|
|
42
|
-
clear: "\u0BA4\u0BC6\u0BB3\u0BBF\u0BB5\u0BC1",
|
|
43
|
-
empty: "\u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8"
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
29
|
function ComboBoxEmptyState({
|
|
47
30
|
size,
|
|
48
31
|
className
|
|
49
32
|
}) {
|
|
50
33
|
const styles = ouiTheme.listBoxItemStyles({ size });
|
|
51
|
-
const
|
|
34
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
52
35
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
53
36
|
"span",
|
|
54
37
|
{
|
|
55
38
|
className: styles.container({
|
|
56
39
|
className: ouiTheme.cn("cursor-default italic", className)
|
|
57
40
|
}),
|
|
58
|
-
children:
|
|
41
|
+
children: stringFormatter.format("No matching results")
|
|
59
42
|
}
|
|
60
43
|
);
|
|
61
44
|
}
|
|
62
45
|
function ComboBox(originalProps) {
|
|
63
|
-
const
|
|
46
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
64
47
|
const [_props, variantProps] = utils.mapPropsVariants(
|
|
65
48
|
originalProps,
|
|
66
49
|
ouiTheme.comboBoxStyles.variantKeys
|
|
@@ -173,7 +156,7 @@ function ComboBox(originalProps) {
|
|
|
173
156
|
slot: null,
|
|
174
157
|
onPress: onClear,
|
|
175
158
|
isDisabled: isComboBoxDisabled,
|
|
176
|
-
"aria-label":
|
|
159
|
+
"aria-label": stringFormatter.format("Clear"),
|
|
177
160
|
className: ouiTheme.composeRenderProps(
|
|
178
161
|
classNames?.clearButton,
|
|
179
162
|
(className, renderProps) => ouiTheme.comboBoxClearButtonStyles({
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
Clear: "Clear",
|
|
7
|
+
"No matching results": "No matching results"
|
|
8
|
+
},
|
|
9
|
+
"zh-SG": {
|
|
10
|
+
Clear: "\u6E05\u9664",
|
|
11
|
+
"No matching results": "\u6CA1\u6709\u5339\u914D\u7684\u7ED3\u679C"
|
|
12
|
+
},
|
|
13
|
+
"ms-SG": {
|
|
14
|
+
Clear: "Jelas",
|
|
15
|
+
"No matching results": "Tiada hasil yang sepadan"
|
|
16
|
+
},
|
|
17
|
+
"ta-SG": {
|
|
18
|
+
Clear: "\u0BA4\u0BC6\u0BB3\u0BBF\u0BB5\u0BC1",
|
|
19
|
+
"No matching results": "\u0BAA\u0BCA\u0BB0\u0BC1\u0BA8\u0BCD\u0BA4\u0BC1\u0BAE\u0BCD \u0BAE\u0BC1\u0B9F\u0BBF\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8"
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.i18nStrings = i18nStrings;
|
|
@@ -22,13 +22,9 @@ function DateField(originalProps) {
|
|
|
22
22
|
},
|
|
23
23
|
variantProps
|
|
24
24
|
] = $670gB$react.useMemo(
|
|
25
|
-
() => utils.mapPropsVariants(originalProps, ouiTheme.
|
|
25
|
+
() => utils.mapPropsVariants(originalProps, ouiTheme.dateInputStyles.variantKeys),
|
|
26
26
|
[originalProps]
|
|
27
27
|
);
|
|
28
|
-
const styles = ouiTheme.dateFieldStyles({
|
|
29
|
-
className: classNames?.input,
|
|
30
|
-
...variantProps
|
|
31
|
-
});
|
|
32
28
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
33
29
|
reactAriaComponents.DateField,
|
|
34
30
|
{
|
|
@@ -40,7 +36,14 @@ function DateField(originalProps) {
|
|
|
40
36
|
),
|
|
41
37
|
children: [
|
|
42
38
|
label && /* @__PURE__ */ jsxRuntime.jsx(field.Label, { size: variantProps.size, className: classNames?.label, children: label }),
|
|
43
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
40
|
+
DateInput,
|
|
41
|
+
{
|
|
42
|
+
...variantProps,
|
|
43
|
+
...inputProps,
|
|
44
|
+
className: classNames?.input ?? inputProps?.className
|
|
45
|
+
}
|
|
46
|
+
),
|
|
44
47
|
description && /* @__PURE__ */ jsxRuntime.jsx(
|
|
45
48
|
field.Description,
|
|
46
49
|
{
|
|
@@ -59,13 +62,18 @@ function DateInput(originalProps) {
|
|
|
59
62
|
() => utils.mapPropsVariants(originalProps, ouiTheme.dateInputStyles.variantKeys),
|
|
60
63
|
[originalProps]
|
|
61
64
|
);
|
|
62
|
-
const styles = ouiTheme.dateInputStyles(variantProps);
|
|
63
65
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
66
|
reactAriaComponents.DateInput,
|
|
65
67
|
{
|
|
66
|
-
className: ouiTheme.
|
|
68
|
+
className: ouiTheme.composeRenderProps(
|
|
67
69
|
className ?? classNames?.base,
|
|
68
|
-
|
|
70
|
+
(className2, renderProps) => {
|
|
71
|
+
return ouiTheme.dateInputStyles({
|
|
72
|
+
...variantProps,
|
|
73
|
+
...renderProps,
|
|
74
|
+
className: className2
|
|
75
|
+
});
|
|
76
|
+
}
|
|
69
77
|
),
|
|
70
78
|
...props,
|
|
71
79
|
children: (segment) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -74,7 +82,7 @@ function DateInput(originalProps) {
|
|
|
74
82
|
segment,
|
|
75
83
|
className: ouiTheme.composeRenderProps(
|
|
76
84
|
classNames?.segment,
|
|
77
|
-
(className2, renderProps) =>
|
|
85
|
+
(className2, renderProps) => ouiTheme.dateSegmentStyles({
|
|
78
86
|
isEditable: segment.isEditable,
|
|
79
87
|
...renderProps,
|
|
80
88
|
className: className2
|
|
@@ -65,6 +65,7 @@ function DateRangePicker(originalProps) {
|
|
|
65
65
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
66
66
|
dateField.DateInput,
|
|
67
67
|
{
|
|
68
|
+
variant: "unstyled",
|
|
68
69
|
slot: "start",
|
|
69
70
|
size: variantProps.size,
|
|
70
71
|
className: styles.startInput({ className: classNames?.startInput })
|
|
@@ -83,6 +84,7 @@ function DateRangePicker(originalProps) {
|
|
|
83
84
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
84
85
|
dateField.DateInput,
|
|
85
86
|
{
|
|
87
|
+
variant: "unstyled",
|
|
86
88
|
slot: "end",
|
|
87
89
|
size: variantProps.size,
|
|
88
90
|
className: styles.endInput({ className: classNames?.endInput })
|
package/dist/cjs/index.cjs
CHANGED
|
@@ -67,6 +67,8 @@ var useNavbar = require('./navbar/use-navbar.cjs');
|
|
|
67
67
|
var navbarContext = require('./navbar/navbar-context.cjs');
|
|
68
68
|
var index = require('./avatar/index.cjs');
|
|
69
69
|
var accordion = require('./accordion/accordion.cjs');
|
|
70
|
+
var timeField = require('./time-field/time-field.cjs');
|
|
71
|
+
var searchField = require('./search-field/search-field.cjs');
|
|
70
72
|
var sonner = require('sonner');
|
|
71
73
|
var avatarContext = require('./avatar/avatar-context.cjs');
|
|
72
74
|
var avatarGroup = require('./avatar/avatar-group.cjs');
|
|
@@ -182,6 +184,8 @@ exports.AccordionHeader = accordion.AccordionHeader;
|
|
|
182
184
|
exports.AccordionItem = accordion.AccordionItem;
|
|
183
185
|
exports.AccordionStyleContext = accordion.AccordionStyleContext;
|
|
184
186
|
exports.useAccordionStyleContext = accordion.useAccordionStyleContext;
|
|
187
|
+
exports.TimeField = timeField.TimeField;
|
|
188
|
+
exports.SearchField = searchField.SearchField;
|
|
185
189
|
Object.defineProperty(exports, "toast", {
|
|
186
190
|
enumerable: true,
|
|
187
191
|
get: function () { return sonner.toast; }
|
package/dist/cjs/modal/i18n.cjs
CHANGED
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
const i18nStrings = {
|
|
5
5
|
"en-SG": {
|
|
6
|
-
|
|
6
|
+
Dismiss: "Dismiss"
|
|
7
7
|
},
|
|
8
8
|
"zh-SG": {
|
|
9
|
-
|
|
9
|
+
Dismiss: "\u53D6\u6D88"
|
|
10
10
|
},
|
|
11
11
|
"ms-SG": {
|
|
12
|
-
|
|
12
|
+
Dismiss: "Tutup"
|
|
13
13
|
},
|
|
14
14
|
"ta-SG": {
|
|
15
|
-
|
|
15
|
+
Dismiss: "\u0BAE\u0BC2\u0B9F\u0BC1"
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
|
|
@@ -19,7 +19,7 @@ function ModalContent({
|
|
|
19
19
|
...props
|
|
20
20
|
}) {
|
|
21
21
|
const { slots, classNames, buttonSize } = $670gB$react.useContext(modalVariantContext.ModalVariantContext);
|
|
22
|
-
const
|
|
22
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
23
23
|
const closeButtonContent = $670gB$react.isValidElement(closeButtonContentProp) ? closeButtonContentProp : /* @__PURE__ */ jsxRuntime.jsx(x.default, {});
|
|
24
24
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
25
|
reactAriaComponents.Dialog,
|
|
@@ -34,7 +34,7 @@ function ModalContent({
|
|
|
34
34
|
{
|
|
35
35
|
slot: "close",
|
|
36
36
|
isIconOnly: true,
|
|
37
|
-
"aria-label":
|
|
37
|
+
"aria-label": stringFormatter.format("Dismiss"),
|
|
38
38
|
size: buttonSize,
|
|
39
39
|
variant: "clear",
|
|
40
40
|
color: "neutral",
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
|
|
4
4
|
const i18nStrings = {
|
|
5
5
|
"en-SG": {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
"Open navigation menu": "Open navigation menu",
|
|
7
|
+
"Close navigation menu": "Close navigation menu"
|
|
8
8
|
},
|
|
9
9
|
"zh-SG": {
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
"Open navigation menu": "\u6253\u5F00\u5BFC\u822A\u83DC\u5355",
|
|
11
|
+
"Close navigation menu": "\u5173\u95ED\u5BFC\u822A\u83DC\u5355"
|
|
12
12
|
},
|
|
13
13
|
"ms-SG": {
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
"Open navigation menu": "Buka menu navigasi",
|
|
15
|
+
"Close navigation menu": "Tutup menu navigasi"
|
|
16
16
|
},
|
|
17
17
|
"ta-SG": {
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
"Open navigation menu": "\u0BA8\u0BC7\u0BB5\u0BBF\u0B95\u0BC7\u0BB7\u0BA9\u0BCD \u0BAE\u0BC6\u0BA9\u0BC1\u0BB5\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB1",
|
|
19
|
+
"Close navigation menu": "\u0BA8\u0BC7\u0BB5\u0BBF\u0B95\u0BC7\u0BB7\u0BA9\u0BCD \u0BAE\u0BC6\u0BA9\u0BC1\u0BB5\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1"
|
|
20
20
|
}
|
|
21
21
|
};
|
|
22
22
|
|
|
@@ -35,7 +35,7 @@ const NavbarMenuToggle = ({
|
|
|
35
35
|
}
|
|
36
36
|
window.scrollTo({ top: menuTopOffset, behavior: "instant" });
|
|
37
37
|
};
|
|
38
|
-
const
|
|
38
|
+
const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
|
|
39
39
|
const toggleStyles = $670gB$react.useMemo(() => {
|
|
40
40
|
return ouiTheme.buttonStyles({
|
|
41
41
|
variant: "unstyled",
|
|
@@ -80,7 +80,7 @@ const NavbarMenuToggle = ({
|
|
|
80
80
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
81
81
|
reactAriaComponents.ToggleButton,
|
|
82
82
|
{
|
|
83
|
-
"aria-label": isMenuOpen ?
|
|
83
|
+
"aria-label": isMenuOpen ? stringFormatter.format("Close navigation menu") : stringFormatter.format("Open navigation menu"),
|
|
84
84
|
ref: menuRef,
|
|
85
85
|
"data-open": ouiTheme.dataAttr(isMenuOpen),
|
|
86
86
|
className: toggleStyles,
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
["circle", { cx: "11", cy: "11", r: "8", key: "4ej97u" }],
|
|
17
|
+
["path", { d: "m21 21-4.3-4.3", key: "1qie3q" }]
|
|
18
|
+
];
|
|
19
|
+
const Search = createLucideIcon.default("Search", __iconNode);
|
|
20
|
+
|
|
21
|
+
exports.__iconNode = __iconNode;
|
|
22
|
+
exports.default = Search;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
const i18nStrings = {
|
|
5
|
+
"en-SG": {
|
|
6
|
+
Search: "Search"
|
|
7
|
+
},
|
|
8
|
+
"zh-SG": {
|
|
9
|
+
Search: "\u641C\u7D22"
|
|
10
|
+
},
|
|
11
|
+
"ms-SG": {
|
|
12
|
+
Search: "Cari"
|
|
13
|
+
},
|
|
14
|
+
"ta-SG": {
|
|
15
|
+
Search: "\u0BA4\u0BC7\u0B9F\u0BC1"
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
exports.i18nStrings = i18nStrings;
|