@opengovsg/oui 0.0.28 → 0.0.29

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 (131) hide show
  1. package/dist/cjs/badge/badge.cjs +4 -4
  2. package/dist/cjs/badge/use-badge.cjs +6 -6
  3. package/dist/cjs/banner/banner.cjs +3 -3
  4. package/dist/cjs/button/button.cjs +4 -4
  5. package/dist/cjs/calendar/calendar-bottom-content.cjs +3 -3
  6. package/dist/cjs/calendar/calendar-header.cjs +2 -2
  7. package/dist/cjs/calendar/calendar-month-day-selector.cjs +4 -4
  8. package/dist/cjs/calendar/calendar.cjs +4 -4
  9. package/dist/cjs/calendar/hooks/use-calendar-selectors.cjs +4 -4
  10. package/dist/cjs/calendar/utils.cjs +3 -3
  11. package/dist/cjs/combo-box/combo-box-fuzzy.cjs +6 -6
  12. package/dist/cjs/combo-box/combo-box-item.cjs +2 -2
  13. package/dist/cjs/combo-box/combo-box.cjs +4 -4
  14. package/dist/cjs/date-field/date-field.cjs +3 -3
  15. package/dist/cjs/date-picker/date-picker.cjs +3 -3
  16. package/dist/cjs/date-range-picker/date-range-picker.cjs +5 -5
  17. package/dist/cjs/field/field.cjs +2 -2
  18. package/dist/cjs/file-dropzone/file-dropzone.cjs +11 -11
  19. package/dist/cjs/file-dropzone/file-info.cjs +3 -3
  20. package/dist/cjs/govt-banner/govt-banner.cjs +3 -3
  21. package/dist/cjs/hooks/use-callback-ref.cjs +4 -4
  22. package/dist/cjs/hooks/use-controllable-state.cjs +2 -2
  23. package/dist/cjs/hooks/use-draggable.cjs +8 -8
  24. package/dist/cjs/index.cjs +84 -65
  25. package/dist/cjs/input/input.cjs +2 -2
  26. package/dist/cjs/menu/menu.cjs +8 -8
  27. package/dist/cjs/modal/modal-body.cjs +2 -2
  28. package/dist/cjs/modal/modal-content.cjs +3 -3
  29. package/dist/cjs/modal/modal-footer.cjs +2 -2
  30. package/dist/cjs/modal/modal-header.cjs +2 -2
  31. package/dist/cjs/modal/modal.cjs +3 -3
  32. package/dist/cjs/navbar/index.cjs +25 -0
  33. package/dist/cjs/navbar/navbar-brand.cjs +28 -0
  34. package/dist/cjs/navbar/navbar-content.cjs +33 -0
  35. package/dist/cjs/navbar/navbar-context.cjs +14 -0
  36. package/dist/cjs/navbar/navbar-item.cjs +29 -0
  37. package/dist/cjs/navbar/navbar-menu/i18n.cjs +23 -0
  38. package/dist/cjs/navbar/navbar-menu/item.cjs +44 -0
  39. package/dist/cjs/navbar/navbar-menu/menu.cjs +62 -0
  40. package/dist/cjs/navbar/navbar-menu/toggle.cjs +94 -0
  41. package/dist/cjs/navbar/navbar.cjs +26 -0
  42. package/dist/cjs/navbar/use-navbar.cjs +116 -0
  43. package/dist/cjs/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/Overlay.cjs +55 -0
  44. package/dist/cjs/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/PortalProvider.cjs +23 -0
  45. package/dist/cjs/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/usePreventScroll.cjs +208 -0
  46. package/dist/cjs/node_modules/.pnpm/@react-aria_ssr@3.9.10_react@19.2.3/node_modules/@react-aria/ssr/dist/SSRProvider.cjs +104 -0
  47. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/Icon.cjs +4 -4
  48. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +3 -3
  49. package/dist/cjs/pagination/hooks/use-pagination.cjs +7 -7
  50. package/dist/cjs/pagination/pagination.cjs +6 -6
  51. package/dist/cjs/pagination/use-pagination-item.cjs +3 -3
  52. package/dist/cjs/pagination/use-pagination.cjs +8 -8
  53. package/dist/cjs/range-calendar/range-calendar.cjs +6 -6
  54. package/dist/cjs/ripple/use-ripple.cjs +4 -4
  55. package/dist/cjs/select/select.cjs +3 -3
  56. package/dist/cjs/spinner/use-spinner.cjs +3 -3
  57. package/dist/cjs/system/react-utils/children.cjs +26 -0
  58. package/dist/cjs/system/react-utils/context.cjs +3 -3
  59. package/dist/cjs/system/react-utils/refs.cjs +3 -3
  60. package/dist/cjs/system/utils.cjs +2 -2
  61. package/dist/cjs/tabs/tabs.cjs +2 -2
  62. package/dist/cjs/tag-field/tag-field-item.cjs +2 -2
  63. package/dist/cjs/tag-field/tag-field-list.cjs +4 -4
  64. package/dist/cjs/tag-field/tag-field-root.cjs +14 -14
  65. package/dist/cjs/tag-field/tag-field-state-context.cjs +2 -2
  66. package/dist/cjs/tag-field/tag-field-tag-list.cjs +3 -3
  67. package/dist/cjs/tag-field/tag-field-trigger.cjs +2 -2
  68. package/dist/cjs/tag-field/tag-field.cjs +3 -3
  69. package/dist/cjs/tag-field/use-tag-field-state.cjs +6 -6
  70. package/dist/cjs/tag-field/use-tag-field.cjs +4 -4
  71. package/dist/cjs/text-area/text-area.cjs +2 -2
  72. package/dist/cjs/toast/toast.cjs +1 -1
  73. package/dist/cjs/toggle/toggle.cjs +3 -3
  74. package/dist/esm/button/button.js +1 -1
  75. package/dist/esm/calendar/calendar-month-day-selector.js +2 -2
  76. package/dist/esm/combo-box/combo-box.js +1 -1
  77. package/dist/esm/date-picker/date-picker.js +1 -1
  78. package/dist/esm/date-range-picker/date-range-picker.js +2 -2
  79. package/dist/esm/file-dropzone/file-dropzone.js +1 -1
  80. package/dist/esm/index.js +33 -24
  81. package/dist/esm/menu/menu.js +2 -2
  82. package/dist/esm/navbar/index.js +10 -0
  83. package/dist/esm/navbar/navbar-brand.js +26 -0
  84. package/dist/esm/navbar/navbar-content.js +31 -0
  85. package/dist/esm/navbar/navbar-context.js +11 -0
  86. package/dist/esm/navbar/navbar-item.js +27 -0
  87. package/dist/esm/navbar/navbar-menu/i18n.js +21 -0
  88. package/dist/esm/navbar/navbar-menu/item.js +42 -0
  89. package/dist/esm/navbar/navbar-menu/menu.js +60 -0
  90. package/dist/esm/navbar/navbar-menu/toggle.js +92 -0
  91. package/dist/esm/navbar/navbar.js +24 -0
  92. package/dist/esm/navbar/use-navbar.js +114 -0
  93. package/dist/esm/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/Overlay.js +52 -0
  94. package/dist/esm/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/PortalProvider.js +20 -0
  95. package/dist/esm/node_modules/.pnpm/@react-aria_overlays@3.30.0_react-dom@19.2.3_react@19.2.3__react@19.2.3/node_modules/@react-aria/overlays/dist/usePreventScroll.js +206 -0
  96. package/dist/esm/node_modules/.pnpm/@react-aria_ssr@3.9.10_react@19.2.3/node_modules/@react-aria/ssr/dist/SSRProvider.js +102 -0
  97. package/dist/esm/pagination/use-pagination-item.js +1 -1
  98. package/dist/esm/select/select.js +1 -1
  99. package/dist/esm/system/react-utils/children.js +23 -0
  100. package/dist/esm/tag-field/tag-field.js +1 -1
  101. package/dist/esm/toast/toast.js +1 -1
  102. package/dist/types/index.d.mts +1 -0
  103. package/dist/types/index.d.ts +1 -0
  104. package/dist/types/index.d.ts.map +1 -1
  105. package/dist/types/navbar/index.d.ts +17 -0
  106. package/dist/types/navbar/index.d.ts.map +1 -0
  107. package/dist/types/navbar/navbar-brand.d.ts +6 -0
  108. package/dist/types/navbar/navbar-brand.d.ts.map +1 -0
  109. package/dist/types/navbar/navbar-content.d.ts +14 -0
  110. package/dist/types/navbar/navbar-content.d.ts.map +1 -0
  111. package/dist/types/navbar/navbar-context.d.ts +174 -0
  112. package/dist/types/navbar/navbar-context.d.ts.map +1 -0
  113. package/dist/types/navbar/navbar-item.d.ts +11 -0
  114. package/dist/types/navbar/navbar-item.d.ts.map +1 -0
  115. package/dist/types/navbar/navbar-menu/i18n.d.ts +3 -0
  116. package/dist/types/navbar/navbar-menu/i18n.d.ts.map +1 -0
  117. package/dist/types/navbar/navbar-menu/item.d.ts +16 -0
  118. package/dist/types/navbar/navbar-menu/item.d.ts.map +1 -0
  119. package/dist/types/navbar/navbar-menu/menu.d.ts +11 -0
  120. package/dist/types/navbar/navbar-menu/menu.d.ts.map +1 -0
  121. package/dist/types/navbar/navbar-menu/toggle.d.ts +12 -0
  122. package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -0
  123. package/dist/types/navbar/navbar.d.ts +6 -0
  124. package/dist/types/navbar/navbar.d.ts.map +1 -0
  125. package/dist/types/navbar/use-navbar.d.ts +131 -0
  126. package/dist/types/navbar/use-navbar.d.ts.map +1 -0
  127. package/dist/types/system/react-utils/children.d.ts +10 -0
  128. package/dist/types/system/react-utils/children.d.ts.map +1 -0
  129. package/dist/types/system/react-utils/index.d.ts +5 -3
  130. package/dist/types/system/react-utils/index.d.ts.map +1 -1
  131. package/package.json +4 -4
@@ -0,0 +1,104 @@
1
+ 'use strict';
2
+
3
+ var $670gB$react = require('react');
4
+
5
+ /*
6
+ * Copyright 2020 Adobe. All rights reserved.
7
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
8
+ * you may not use this file except in compliance with the License. You may obtain a copy
9
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software distributed under
12
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
13
+ * OF ANY KIND, either express or implied. See the License for the specific language
14
+ * governing permissions and limitations under the License.
15
+ */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is
16
+ // guarded by a check that it only runs on the client side.
17
+ // eslint-disable-next-line rulesdir/useLayoutEffectRule
18
+
19
+ // Default context value to use in case there is no SSRProvider. This is fine for
20
+ // client-only apps. In order to support multiple copies of React Aria potentially
21
+ // being on the page at once, the prefix is set to a random number. SSRProvider
22
+ // will reset this to zero for consistency between server and client, so in the
23
+ // SSR case multiple copies of React Aria is not supported.
24
+ const $b5e257d569688ac6$var$defaultContext = {
25
+ prefix: String(Math.round(Math.random() * 10000000000)),
26
+ current: 0
27
+ };
28
+ const $b5e257d569688ac6$var$SSRContext = /*#__PURE__*/ ($670gB$react).createContext($b5e257d569688ac6$var$defaultContext);
29
+ const $b5e257d569688ac6$var$IsSSRContext = /*#__PURE__*/ ($670gB$react).createContext(false);
30
+ let $b5e257d569688ac6$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);
31
+ let $b5e257d569688ac6$var$componentIds = new WeakMap();
32
+ function $b5e257d569688ac6$var$useCounter(isDisabled = false) {
33
+ let ctx = ($670gB$react.useContext)($b5e257d569688ac6$var$SSRContext);
34
+ let ref = ($670gB$react.useRef)(null);
35
+ // eslint-disable-next-line rulesdir/pure-render
36
+ if (ref.current === null && !isDisabled) {
37
+ var _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner, _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
38
+ // In strict mode, React renders components twice, and the ref will be reset to null on the second render.
39
+ // This means our id counter will be incremented twice instead of once. This is a problem because on the
40
+ // server, components are only rendered once and so ids generated on the server won't match the client.
41
+ // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this
42
+ // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.
43
+ // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.
44
+ // To ensure that we only increment the global counter once, we store the starting id for this component in
45
+ // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.
46
+ // Since React runs the second render immediately after the first, this is safe.
47
+ // @ts-ignore
48
+ let currentOwner = (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = ($670gB$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED === void 0 ? void 0 : (_React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner = _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner) === null || _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner === void 0 ? void 0 : _React___SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED_ReactCurrentOwner.current;
49
+ if (currentOwner) {
50
+ let prevComponentValue = $b5e257d569688ac6$var$componentIds.get(currentOwner);
51
+ if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.
52
+ $b5e257d569688ac6$var$componentIds.set(currentOwner, {
53
+ id: ctx.current,
54
+ state: currentOwner.memoizedState
55
+ });
56
+ else if (currentOwner.memoizedState !== prevComponentValue.state) {
57
+ // On the second render, the memoizedState gets reset by React.
58
+ // Reset the counter, and remove from the weak map so we don't
59
+ // do this for subsequent useId calls.
60
+ ctx.current = prevComponentValue.id;
61
+ $b5e257d569688ac6$var$componentIds.delete(currentOwner);
62
+ }
63
+ }
64
+ // eslint-disable-next-line rulesdir/pure-render
65
+ ref.current = ++ctx.current;
66
+ }
67
+ // eslint-disable-next-line rulesdir/pure-render
68
+ return ref.current;
69
+ }
70
+ function $b5e257d569688ac6$var$useLegacySSRSafeId(defaultId) {
71
+ let ctx = ($670gB$react.useContext)($b5e257d569688ac6$var$SSRContext);
72
+ // If we are rendering in a non-DOM environment, and there's no SSRProvider,
73
+ // provide a warning to hint to the developer to add one.
74
+ if (ctx === $b5e257d569688ac6$var$defaultContext && !$b5e257d569688ac6$var$canUseDOM && process.env.NODE_ENV !== 'production') console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');
75
+ let counter = $b5e257d569688ac6$var$useCounter(!!defaultId);
76
+ let prefix = ctx === $b5e257d569688ac6$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;
77
+ return defaultId || `${prefix}-${counter}`;
78
+ }
79
+ function $b5e257d569688ac6$var$useModernSSRSafeId(defaultId) {
80
+ let id = ($670gB$react).useId();
81
+ let [didSSR] = ($670gB$react.useState)($b5e257d569688ac6$export$535bd6ca7f90a273());
82
+ let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$b5e257d569688ac6$var$defaultContext.prefix}`;
83
+ return defaultId || `${prefix}-${id}`;
84
+ }
85
+ typeof ($670gB$react)['useId'] === 'function' ? $b5e257d569688ac6$var$useModernSSRSafeId : $b5e257d569688ac6$var$useLegacySSRSafeId;
86
+ function $b5e257d569688ac6$var$getSnapshot() {
87
+ return false;
88
+ }
89
+ function $b5e257d569688ac6$var$getServerSnapshot() {
90
+ return true;
91
+ }
92
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
93
+ function $b5e257d569688ac6$var$subscribe(onStoreChange) {
94
+ // noop
95
+ return ()=>{};
96
+ }
97
+ function $b5e257d569688ac6$export$535bd6ca7f90a273() {
98
+ // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.
99
+ if (typeof ($670gB$react)['useSyncExternalStore'] === 'function') return ($670gB$react)['useSyncExternalStore']($b5e257d569688ac6$var$subscribe, $b5e257d569688ac6$var$getSnapshot, $b5e257d569688ac6$var$getServerSnapshot);
100
+ // eslint-disable-next-line react-hooks/rules-of-hooks
101
+ return ($670gB$react.useContext)($b5e257d569688ac6$var$IsSSRContext);
102
+ }
103
+
104
+ exports.useIsSSR = $b5e257d569688ac6$export$535bd6ca7f90a273;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var defaultAttributes = require('./defaultAttributes.cjs');
7
7
  var utils = require('./shared/src/utils.cjs');
8
8
 
@@ -14,7 +14,7 @@ var utils = require('./shared/src/utils.cjs');
14
14
  */
15
15
 
16
16
 
17
- const Icon = react.forwardRef(
17
+ const Icon = $670gB$react.forwardRef(
18
18
  ({
19
19
  color = "currentColor",
20
20
  size = 24,
@@ -25,7 +25,7 @@ const Icon = react.forwardRef(
25
25
  iconNode,
26
26
  ...rest
27
27
  }, ref) => {
28
- return react.createElement(
28
+ return $670gB$react.createElement(
29
29
  "svg",
30
30
  {
31
31
  ref,
@@ -38,7 +38,7 @@ const Icon = react.forwardRef(
38
38
  ...rest
39
39
  },
40
40
  [
41
- ...iconNode.map(([tag, attrs]) => react.createElement(tag, attrs)),
41
+ ...iconNode.map(([tag, attrs]) => $670gB$react.createElement(tag, attrs)),
42
42
  ...Array.isArray(children) ? children : [children]
43
43
  ]
44
44
  );
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var utils = require('./shared/src/utils.cjs');
7
7
  var Icon = require('./Icon.cjs');
8
8
 
@@ -15,8 +15,8 @@ var Icon = require('./Icon.cjs');
15
15
 
16
16
 
17
17
  const createLucideIcon = (iconName, iconNode) => {
18
- const Component = react.forwardRef(
19
- ({ className, ...props }, ref) => react.createElement(Icon.default, {
18
+ const Component = $670gB$react.forwardRef(
19
+ ({ className, ...props }, ref) => $670gB$react.createElement(Icon.default, {
20
20
  ref,
21
21
  iconNode,
22
22
  className: utils.mergeClasses(`lucide-${utils.toKebabCase(iconName)}`, className),
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  'use strict';
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var i18n = require('@react-aria/i18n');
7
7
 
8
8
  var PaginationItemType = /* @__PURE__ */ ((PaginationItemType2) => {
@@ -25,22 +25,22 @@ function usePagination(props) {
25
25
  showControls = false,
26
26
  onChange
27
27
  } = props;
28
- const [activePage, setActivePage] = react.useState(page || initialPage);
28
+ const [activePage, setActivePage] = $670gB$react.useState(page || initialPage);
29
29
  const { direction } = i18n.useLocale();
30
30
  const isRTL = direction === "rtl";
31
- const onChangeActivePage = react.useCallback(
31
+ const onChangeActivePage = $670gB$react.useCallback(
32
32
  (newPage) => {
33
33
  setActivePage(newPage);
34
34
  onChange?.(newPage);
35
35
  },
36
36
  [onChange]
37
37
  );
38
- react.useEffect(() => {
38
+ $670gB$react.useEffect(() => {
39
39
  if (page && page !== activePage) {
40
40
  setActivePage(page);
41
41
  }
42
42
  }, [activePage, page]);
43
- const setPage = react.useCallback(
43
+ const setPage = $670gB$react.useCallback(
44
44
  (pageNumber) => {
45
45
  if (pageNumber <= 0) {
46
46
  onChangeActivePage(1);
@@ -56,7 +56,7 @@ function usePagination(props) {
56
56
  const previous = () => setPage(activePage - 1);
57
57
  const first = () => setPage(1);
58
58
  const last = () => setPage(total);
59
- const formatRange = react.useCallback(
59
+ const formatRange = $670gB$react.useCallback(
60
60
  (range2) => {
61
61
  if (showControls) {
62
62
  return ["prev" /* PREV */, ...range2, "next" /* NEXT */];
@@ -66,7 +66,7 @@ function usePagination(props) {
66
66
  // eslint-disable-next-line react-hooks/exhaustive-deps
67
67
  [isRTL, showControls]
68
68
  );
69
- const paginationRange = react.useMemo(() => {
69
+ const paginationRange = $670gB$react.useMemo(() => {
70
70
  const totalPageNumbers = siblings * 2 + 3 + boundaries * 2;
71
71
  if (totalPageNumbers >= total) {
72
72
  return formatRange(range(1, total));
@@ -3,7 +3,7 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var i18n = require('@react-aria/i18n');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
9
  var utils = require('../system/utils.cjs');
@@ -40,7 +40,7 @@ const Pagination = utils.forwardRef((props, ref) => {
40
40
  } = usePagination.usePagination({ ...props, ref });
41
41
  const { direction } = i18n.useLocale();
42
42
  const isRTL = direction === "rtl";
43
- const renderChevronIcon = react.useCallback(
43
+ const renderChevronIcon = $670gB$react.useCallback(
44
44
  (key) => {
45
45
  if (key === usePagination$1.PaginationItemType.PREV && !isRTL || key === usePagination$1.PaginationItemType.NEXT && isRTL) {
46
46
  return /* @__PURE__ */ jsxRuntime.jsx(chevronLeft.default, {});
@@ -56,7 +56,7 @@ const Pagination = utils.forwardRef((props, ref) => {
56
56
  },
57
57
  [isRTL, slots, classNames?.chevronNext]
58
58
  );
59
- const renderPrevItem = react.useCallback(() => {
59
+ const renderPrevItem = $670gB$react.useCallback(() => {
60
60
  return /* @__PURE__ */ jsxRuntime.jsx(
61
61
  paginationItem.PaginationItem,
62
62
  {
@@ -82,7 +82,7 @@ const Pagination = utils.forwardRef((props, ref) => {
82
82
  onPrevious,
83
83
  renderChevronIcon
84
84
  ]);
85
- const renderNextItem = react.useCallback(() => {
85
+ const renderNextItem = $670gB$react.useCallback(() => {
86
86
  return /* @__PURE__ */ jsxRuntime.jsx(
87
87
  paginationItem.PaginationItem,
88
88
  {
@@ -109,7 +109,7 @@ const Pagination = utils.forwardRef((props, ref) => {
109
109
  onNext,
110
110
  renderChevronIcon
111
111
  ]);
112
- const renderItem = react.useCallback(
112
+ const renderItem = $670gB$react.useCallback(
113
113
  (value, index) => {
114
114
  const isBefore = index < range.indexOf(activePage);
115
115
  if (renderItemProp && typeof renderItemProp === "function") {
@@ -209,7 +209,7 @@ const Pagination = utils.forwardRef((props, ref) => {
209
209
  usePagination$1.PaginationItemType.DOTS + isBefore
210
210
  );
211
211
  }
212
- return /* @__PURE__ */ react.createElement(
212
+ return /* @__PURE__ */ $670gB$react.createElement(
213
213
  paginationItem.PaginationItem,
214
214
  {
215
215
  ...getItemProps({ value }),
@@ -2,13 +2,13 @@
2
2
  "use client";
3
3
  'use strict';
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var focus = require('@react-aria/focus');
7
7
  var interactions = require('@react-aria/interactions');
8
8
  var utils = require('@react-aria/utils');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var filterDomProps = require('../system/react-utils/filter-dom-props.cjs');
11
10
  var refs = require('../system/react-utils/refs.cjs');
11
+ var filterDomProps = require('../system/react-utils/filter-dom-props.cjs');
12
12
 
13
13
  function usePaginationItem(props) {
14
14
  const {
@@ -29,7 +29,7 @@ function usePaginationItem(props) {
29
29
  const shouldFilterDOMProps = typeof Component === "string";
30
30
  const domRef = refs.useDomRef(ref);
31
31
  const router = utils.useRouter();
32
- const ariaLabel = react.useMemo(
32
+ const ariaLabel = $670gB$react.useMemo(
33
33
  () => isActive ? `${getAriaLabel?.(value)} active` : getAriaLabel?.(value),
34
34
  [isActive, getAriaLabel, value]
35
35
  );
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  'use strict';
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var scrollIntoView = require('scroll-into-view-if-needed');
7
7
  var useDeepCompare = require('use-deep-compare');
8
8
  var usehooksTs = require('usehooks-ts');
@@ -37,9 +37,9 @@ function usePagination(originalProps) {
37
37
  } = props;
38
38
  const Component = as || "nav";
39
39
  const domRef = refs.useDomRef(ref);
40
- const cursorRef = react.useRef(null);
41
- const itemsRef = react.useRef(null);
42
- const cursorTimer = react.useRef(null);
40
+ const cursorRef = $670gB$react.useRef(null);
41
+ const itemsRef = $670gB$react.useRef(null);
42
+ const cursorTimer = $670gB$react.useRef(null);
43
43
  const disableAnimation = originalProps?.disableAnimation ?? false;
44
44
  const disableCursorAnimation = originalProps?.disableCursorAnimation ?? disableAnimation ?? false;
45
45
  function getItemsRefMap() {
@@ -56,7 +56,7 @@ function usePagination(originalProps) {
56
56
  map.delete(value);
57
57
  }
58
58
  }
59
- const scrollTo = react.useCallback(
59
+ const scrollTo = $670gB$react.useCallback(
60
60
  (value, skipAnimation) => {
61
61
  const map = getItemsRefMap();
62
62
  const node = map.get(value);
@@ -103,13 +103,13 @@ function usePagination(originalProps) {
103
103
  onChange
104
104
  });
105
105
  const [setRef, isVisible] = usehooksTs.useIntersectionObserver();
106
- react.useEffect(() => {
106
+ $670gB$react.useEffect(() => {
107
107
  if (domRef.current) {
108
108
  setRef(domRef.current);
109
109
  }
110
110
  }, [domRef, setRef]);
111
- const activePageRef = react.useRef(activePage);
112
- react.useEffect(() => {
111
+ const activePageRef = $670gB$react.useRef(activePage);
112
+ $670gB$react.useEffect(() => {
113
113
  if (activePage && !disableAnimation && isVisible) {
114
114
  scrollTo(activePage, activePage === activePageRef.current);
115
115
  }
@@ -3,7 +3,7 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var date = require('@internationalized/date');
8
8
  var reactAriaComponents = require('react-aria-components');
9
9
  var useDeepCompare = require('use-deep-compare');
@@ -36,7 +36,7 @@ const RangeCalendar = utils.forwardRefGeneric(function RangeCalendar2(originalPr
36
36
  () => ouiTheme.calendarStyles({ ...variantProps, isRange: true }),
37
37
  [variantProps]
38
38
  );
39
- const context = react.useMemo(
39
+ const context = $670gB$react.useMemo(
40
40
  () => ({
41
41
  slots,
42
42
  classNames,
@@ -46,7 +46,7 @@ const RangeCalendar = utils.forwardRefGeneric(function RangeCalendar2(originalPr
46
46
  [className, classNames, slots, variantProps.size]
47
47
  );
48
48
  const numberOfVisibleMonths = props.visibleDuration?.months ?? 1;
49
- const dateToHighlight = react.useMemo(() => {
49
+ const dateToHighlight = $670gB$react.useMemo(() => {
50
50
  if (props.defaultFocusedValue !== void 0) {
51
51
  return props.defaultFocusedValue;
52
52
  }
@@ -140,7 +140,7 @@ const RangeCalendar = utils.forwardRefGeneric(function RangeCalendar2(originalPr
140
140
  const RangeCalendarStateWrapper = ({
141
141
  children
142
142
  }) => {
143
- const state = react.useContext(reactAriaComponents.RangeCalendarStateContext);
143
+ const state = $670gB$react.useContext(reactAriaComponents.RangeCalendarStateContext);
144
144
  return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Provider, { values: [[agnosticCalendarStateContext.AgnosticCalendarStateContext, state]], children });
145
145
  };
146
146
  const RangeCalendarCell = ({
@@ -150,9 +150,9 @@ const RangeCalendarCell = ({
150
150
  firstDayOfWeek
151
151
  }) => {
152
152
  const { classNames, slots } = calendarStyleContext.useCalendarStyleContext();
153
- const state = react.useContext(agnosticCalendarStateContext.AgnosticCalendarStateContext);
153
+ const state = $670gB$react.useContext(agnosticCalendarStateContext.AgnosticCalendarStateContext);
154
154
  const { locale } = reactAriaComponents.useLocale();
155
- const dataAttributes = react.useMemo(() => {
155
+ const dataAttributes = $670gB$react.useMemo(() => {
156
156
  const isDateHighlighted = dateToHighlight ? date$1.compare(dateToHighlight) === 0 : false;
157
157
  const isSelected = state.isSelected(date$1);
158
158
  const isDisabled = state.isCellDisabled(date$1);
@@ -2,12 +2,12 @@
2
2
  "use client";
3
3
  'use strict';
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var nanoid = require('nanoid');
7
7
 
8
8
  const useRipple = () => {
9
- const [ripples, setRipples] = react.useState([]);
10
- const onPress = react.useCallback((event) => {
9
+ const [ripples, setRipples] = $670gB$react.useState([]);
10
+ const onPress = $670gB$react.useCallback((event) => {
11
11
  const trigger = event.target;
12
12
  const size = Math.max(trigger.clientWidth, trigger.clientHeight);
13
13
  setRipples((prevRipples) => [
@@ -20,7 +20,7 @@ const useRipple = () => {
20
20
  }
21
21
  ]);
22
22
  }, []);
23
- const onClear = react.useCallback((key) => {
23
+ const onClear = $670gB$react.useCallback((key) => {
24
24
  setRipples((prevState) => prevState.filter((ripple) => ripple.key !== key));
25
25
  }, []);
26
26
  return { ripples, onPress, onClear };
@@ -3,14 +3,14 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$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 selectVariantContext = require('./select-variant-context.cjs');
11
12
  var field = require('../field/field.cjs');
12
13
  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');
13
- var popover = require('../popover/popover.cjs');
14
14
  var button = require('../button/button.cjs');
15
15
 
16
16
  const calculateEstimatedRowHeight = (size) => {
@@ -36,7 +36,7 @@ function Select({
36
36
  );
37
37
  const { items, children, listLayoutOptions, ...props } = _props;
38
38
  const styles = ouiTheme.selectStyles(variantProps);
39
- const layoutOptions = react.useMemo(() => {
39
+ const layoutOptions = $670gB$react.useMemo(() => {
40
40
  return {
41
41
  estimatedRowHeight: calculateEstimatedRowHeight(
42
42
  variantProps.size ?? "md"
@@ -2,7 +2,7 @@
2
2
  "use client";
3
3
  'use strict';
4
4
 
5
- var react = require('react');
5
+ var $670gB$react = require('react');
6
6
  var useDeepCompare = require('use-deep-compare');
7
7
  var ouiTheme = require('@opengovsg/oui-theme');
8
8
  var utils = require('../system/utils.cjs');
@@ -18,10 +18,10 @@ const useSpinner = (originalProps) => {
18
18
  [variantProps]
19
19
  );
20
20
  const baseStyles = ouiTheme.cn(classNames?.base, className);
21
- const ariaLabel = react.useMemo(() => {
21
+ const ariaLabel = $670gB$react.useMemo(() => {
22
22
  return !otherProps["aria-label"] ? "Loading" : "";
23
23
  }, [otherProps["aria-label"]]);
24
- const getSpinnerProps = react.useCallback(
24
+ const getSpinnerProps = $670gB$react.useCallback(
25
25
  () => ({
26
26
  "aria-label": ariaLabel,
27
27
  role: "progressbar",
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var $670gB$react = require('react');
5
+
6
+ function getValidChildren(children) {
7
+ return $670gB$react.Children.toArray(children).filter(
8
+ (child) => $670gB$react.isValidElement(child)
9
+ );
10
+ }
11
+ const pickChildren = (children, targetChild) => {
12
+ const target = [];
13
+ const withoutTargetChildren = $670gB$react.Children.map(children, (item) => {
14
+ if (!$670gB$react.isValidElement(item)) return item;
15
+ if (item.type === targetChild) {
16
+ target.push(item);
17
+ return null;
18
+ }
19
+ return item;
20
+ })?.filter(Boolean);
21
+ const targetChildren = target.length >= 0 ? target : void 0;
22
+ return [withoutTargetChildren, targetChildren];
23
+ };
24
+
25
+ exports.getValidChildren = getValidChildren;
26
+ exports.pickChildren = pickChildren;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  'use strict';
3
3
 
4
- var react = require('react');
4
+ var $670gB$react = require('react');
5
5
 
6
6
  function createContext(options = {}) {
7
7
  const {
@@ -10,10 +10,10 @@ function createContext(options = {}) {
10
10
  name,
11
11
  defaultValue
12
12
  } = options;
13
- const Context = react.createContext(defaultValue);
13
+ const Context = $670gB$react.createContext(defaultValue);
14
14
  Context.displayName = name;
15
15
  function useContext() {
16
- const context = react.useContext(Context);
16
+ const context = $670gB$react.useContext(Context);
17
17
  if (!context && strict) {
18
18
  const error = new Error(errorMessage);
19
19
  error.name = "ContextError";
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  'use strict';
3
3
 
4
- var react = require('react');
4
+ var $670gB$react = require('react');
5
5
 
6
6
  function useDomRef(ref) {
7
- const domRef = react.useRef(null);
8
- react.useImperativeHandle(ref, () => domRef.current);
7
+ const domRef = $670gB$react.useRef(null);
8
+ $670gB$react.useImperativeHandle(ref, () => domRef.current);
9
9
  return domRef;
10
10
  }
11
11
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  'use strict';
3
3
 
4
- var react = require('react');
4
+ var $670gB$react = require('react');
5
5
 
6
6
  function forwardRef(component) {
7
- return react.forwardRef(component);
7
+ return $670gB$react.forwardRef(component);
8
8
  }
9
9
  function forwardRefGeneric(render) {
10
10
  return forwardRef(render);
@@ -3,7 +3,7 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
9
  var utils = require('../system/utils.cjs');
@@ -51,7 +51,7 @@ const TabList = utils.forwardRefGeneric(function TabList2(originalProps, ref) {
51
51
  }
52
52
  );
53
53
  });
54
- const Tab = react.forwardRef(function Tab2(originalProps, ref) {
54
+ const Tab = $670gB$react.forwardRef(function Tab2(originalProps, ref) {
55
55
  [originalProps, ref] = reactAriaComponents.useContextProps(
56
56
  originalProps,
57
57
  ref,
@@ -3,13 +3,13 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var ouiTheme = require('@opengovsg/oui-theme');
8
8
  var utils = require('../system/utils.cjs');
9
9
  var tagFieldStateContext = require('./tag-field-state-context.cjs');
10
10
 
11
11
  const TagFieldItemInner = ({ item, isHighlighted, classNames, ...itemProps }, ref) => {
12
- const { itemToText, size } = react.useContext(tagFieldStateContext.TagFieldStateContext);
12
+ const { itemToText, size } = $670gB$react.useContext(tagFieldStateContext.TagFieldStateContext);
13
13
  const styles = ouiTheme.listBoxItemStyles({ size });
14
14
  return /* @__PURE__ */ jsxRuntime.jsx(
15
15
  "li",
@@ -3,16 +3,16 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var utils = require('../system/utils.cjs');
9
9
  var tagFieldItem = require('./tag-field-item.cjs');
10
10
  var tagFieldStateContext = require('./tag-field-state-context.cjs');
11
11
 
12
- const TagFieldListContext = react.createContext(null);
12
+ const TagFieldListContext = $670gB$react.createContext(null);
13
13
  const TagFieldListInner = (props, ref) => {
14
14
  [props, ref] = reactAriaComponents.useContextProps(props, ref, TagFieldListContext);
15
- const { items, getItemProps, highlightedIndex } = react.useContext(tagFieldStateContext.TagFieldStateContext);
15
+ const { items, getItemProps, highlightedIndex } = $670gB$react.useContext(tagFieldStateContext.TagFieldStateContext);
16
16
  const { slot, rowVirtualizer, itemClassNames, ...rest } = props;
17
17
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { slot: slot ?? void 0, ref, ...rest, children: props.children !== void 0 && typeof props.children !== "function" ? props.children : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
18
18
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -46,7 +46,7 @@ const TagFieldListInner = (props, ref) => {
46
46
  if (typeof props.children === "function") {
47
47
  return props.children({ ...childProps, itemProps });
48
48
  }
49
- return /* @__PURE__ */ react.createElement(
49
+ return /* @__PURE__ */ $670gB$react.createElement(
50
50
  tagFieldItem.TagFieldItem,
51
51
  {
52
52
  ...childProps,