@opengovsg/oui 0.0.44 → 0.0.46

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 (100) hide show
  1. package/dist/cjs/field/field.cjs +15 -12
  2. package/dist/cjs/index.cjs +40 -0
  3. package/dist/cjs/phone-number-field/constants.cjs +500 -0
  4. package/dist/cjs/phone-number-field/context.cjs +11 -0
  5. package/dist/cjs/phone-number-field/i18n.cjs +1043 -0
  6. package/dist/cjs/phone-number-field/index.cjs +32 -0
  7. package/dist/cjs/phone-number-field/phone-number-field.cjs +299 -0
  8. package/dist/cjs/phone-number-field/types.cjs +3 -0
  9. package/dist/cjs/select/i18n.cjs +23 -0
  10. package/dist/cjs/select/select.cjs +45 -45
  11. package/dist/cjs/sidebar/context.cjs +24 -0
  12. package/dist/cjs/sidebar/i18n.cjs +23 -0
  13. package/dist/cjs/sidebar/index.cjs +17 -0
  14. package/dist/cjs/sidebar/sidebar-header.cjs +40 -0
  15. package/dist/cjs/sidebar/sidebar-item.cjs +61 -0
  16. package/dist/cjs/sidebar/sidebar-list.cjs +213 -0
  17. package/dist/cjs/sidebar/sidebar-root.cjs +63 -0
  18. package/dist/cjs/sidebar/sidebar.cjs +31 -0
  19. package/dist/cjs/sidebar/types.cjs +3 -0
  20. package/dist/cjs/sidebar/utils.cjs +12 -0
  21. package/dist/cjs/system/l10n.cjs +18 -0
  22. package/dist/cjs/system/react-utils/sizing.cjs +21 -0
  23. package/dist/cjs/tooltip/index.cjs +9 -0
  24. package/dist/cjs/tooltip/tooltip.cjs +54 -0
  25. package/dist/esm/field/field.js +18 -15
  26. package/dist/esm/index.js +8 -0
  27. package/dist/esm/phone-number-field/constants.js +497 -0
  28. package/dist/esm/phone-number-field/context.js +8 -0
  29. package/dist/esm/phone-number-field/i18n.js +1041 -0
  30. package/dist/esm/phone-number-field/index.js +3 -0
  31. package/dist/esm/phone-number-field/phone-number-field.js +294 -0
  32. package/dist/esm/phone-number-field/types.js +1 -0
  33. package/dist/esm/select/i18n.js +21 -0
  34. package/dist/esm/select/select.js +45 -45
  35. package/dist/esm/sidebar/context.js +17 -0
  36. package/dist/esm/sidebar/i18n.js +21 -0
  37. package/dist/esm/sidebar/index.js +6 -0
  38. package/dist/esm/sidebar/sidebar-header.js +38 -0
  39. package/dist/esm/sidebar/sidebar-item.js +59 -0
  40. package/dist/esm/sidebar/sidebar-list.js +211 -0
  41. package/dist/esm/sidebar/sidebar-root.js +61 -0
  42. package/dist/esm/sidebar/sidebar.js +28 -0
  43. package/dist/esm/sidebar/types.js +1 -0
  44. package/dist/esm/sidebar/utils.js +9 -0
  45. package/dist/esm/system/l10n.js +16 -0
  46. package/dist/esm/system/react-utils/sizing.js +19 -0
  47. package/dist/esm/tooltip/index.js +2 -0
  48. package/dist/esm/tooltip/tooltip.js +51 -0
  49. package/dist/types/field/field.d.ts +1 -1
  50. package/dist/types/field/field.d.ts.map +1 -1
  51. package/dist/types/index.d.mts +3 -0
  52. package/dist/types/index.d.ts +3 -0
  53. package/dist/types/index.d.ts.map +1 -1
  54. package/dist/types/phone-number-field/constants.d.ts +495 -0
  55. package/dist/types/phone-number-field/constants.d.ts.map +1 -0
  56. package/dist/types/phone-number-field/context.d.ts +15 -0
  57. package/dist/types/phone-number-field/context.d.ts.map +1 -0
  58. package/dist/types/phone-number-field/i18n.d.ts +1039 -0
  59. package/dist/types/phone-number-field/i18n.d.ts.map +1 -0
  60. package/dist/types/phone-number-field/index.d.ts +9 -0
  61. package/dist/types/phone-number-field/index.d.ts.map +1 -0
  62. package/dist/types/phone-number-field/phone-number-field.d.ts +42 -0
  63. package/dist/types/phone-number-field/phone-number-field.d.ts.map +1 -0
  64. package/dist/types/phone-number-field/types.d.ts +21 -0
  65. package/dist/types/phone-number-field/types.d.ts.map +1 -0
  66. package/dist/types/select/i18n.d.ts +19 -0
  67. package/dist/types/select/i18n.d.ts.map +1 -0
  68. package/dist/types/select/select.d.ts +11 -1
  69. package/dist/types/select/select.d.ts.map +1 -1
  70. package/dist/types/sidebar/context.d.ts +22 -0
  71. package/dist/types/sidebar/context.d.ts.map +1 -0
  72. package/dist/types/sidebar/i18n.d.ts +19 -0
  73. package/dist/types/sidebar/i18n.d.ts.map +1 -0
  74. package/dist/types/sidebar/index.d.ts +7 -0
  75. package/dist/types/sidebar/index.d.ts.map +1 -0
  76. package/dist/types/sidebar/sidebar-header.d.ts +6 -0
  77. package/dist/types/sidebar/sidebar-header.d.ts.map +1 -0
  78. package/dist/types/sidebar/sidebar-item.d.ts +3 -0
  79. package/dist/types/sidebar/sidebar-item.d.ts.map +1 -0
  80. package/dist/types/sidebar/sidebar-list.d.ts +3 -0
  81. package/dist/types/sidebar/sidebar-list.d.ts.map +1 -0
  82. package/dist/types/sidebar/sidebar-root.d.ts +17 -0
  83. package/dist/types/sidebar/sidebar-root.d.ts.map +1 -0
  84. package/dist/types/sidebar/sidebar.d.ts +8 -0
  85. package/dist/types/sidebar/sidebar.d.ts.map +1 -0
  86. package/dist/types/sidebar/types.d.ts +48 -0
  87. package/dist/types/sidebar/types.d.ts.map +1 -0
  88. package/dist/types/sidebar/utils.d.ts +4 -0
  89. package/dist/types/sidebar/utils.d.ts.map +1 -0
  90. package/dist/types/system/l10n.d.ts +10 -0
  91. package/dist/types/system/l10n.d.ts.map +1 -0
  92. package/dist/types/system/react-utils/children.d.ts +1 -2
  93. package/dist/types/system/react-utils/children.d.ts.map +1 -1
  94. package/dist/types/system/react-utils/sizing.d.ts +8 -0
  95. package/dist/types/system/react-utils/sizing.d.ts.map +1 -0
  96. package/dist/types/tooltip/index.d.ts +2 -0
  97. package/dist/types/tooltip/index.d.ts.map +1 -0
  98. package/dist/types/tooltip/tooltip.d.ts +16 -0
  99. package/dist/types/tooltip/tooltip.d.ts.map +1 -0
  100. package/package.json +7 -5
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var $670gB$react = require('react');
7
+ var reactAria = require('react-aria');
8
+ var reactAriaComponents = require('react-aria-components');
9
+ var reactStately = require('react-stately');
10
+ var ouiTheme = require('@opengovsg/oui-theme');
11
+ var button = require('../button/button.cjs');
12
+ var utils = require('../system/utils.cjs');
13
+ var context = require('./context.cjs');
14
+ var i18n = require('./i18n.cjs');
15
+ 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
+ const SidebarListSection = ({
18
+ onlyCaretToggle,
19
+ isExpanded,
20
+ isSelected,
21
+ children,
22
+ linkProps
23
+ }) => {
24
+ const { slots, classNames } = context.useSidebarStyleContext();
25
+ const { isNested } = context.useSidebarNestContext() ?? {};
26
+ const stringFormatter = reactAria.useLocalizedStringFormatter(i18n.i18nStrings);
27
+ if (onlyCaretToggle) {
28
+ return /* @__PURE__ */ jsxRuntime.jsxs(
29
+ "div",
30
+ {
31
+ "data-expanded": ouiTheme.dataAttr(isExpanded),
32
+ "data-selected": ouiTheme.dataAttr(isSelected),
33
+ className: slots.item({
34
+ className: classNames?.item,
35
+ isExpanded,
36
+ isNested
37
+ }),
38
+ children: [
39
+ /* @__PURE__ */ jsxRuntime.jsx(
40
+ reactAriaComponents.Link,
41
+ {
42
+ className: slots.label({
43
+ className: classNames?.label,
44
+ isNested,
45
+ isExpanded
46
+ }),
47
+ ...linkProps,
48
+ children
49
+ }
50
+ ),
51
+ /* @__PURE__ */ jsxRuntime.jsx(
52
+ button.Button,
53
+ {
54
+ variant: "clear",
55
+ color: "none",
56
+ slot: "trigger",
57
+ "aria-label": stringFormatter.format(
58
+ isExpanded ? "Collapse sidebar section" : "Expand sidebar section"
59
+ ),
60
+ className: slots.chevronContainer({
61
+ className: classNames?.chevronContainer
62
+ }),
63
+ children: ({ isDisabled }) => /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
64
+ chevronDown.default,
65
+ {
66
+ "aria-hidden": true,
67
+ className: slots.chevron({ isExpanded, isDisabled })
68
+ }
69
+ ) })
70
+ }
71
+ )
72
+ ]
73
+ }
74
+ );
75
+ }
76
+ return /* @__PURE__ */ jsxRuntime.jsx(
77
+ reactAriaComponents.Button,
78
+ {
79
+ "data-expanded": ouiTheme.dataAttr(isExpanded),
80
+ "data-selected": ouiTheme.dataAttr(isSelected),
81
+ slot: "trigger",
82
+ className: slots.item({
83
+ className: classNames?.item,
84
+ isExpanded,
85
+ isNested
86
+ }),
87
+ children: ({ isDisabled }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
88
+ /* @__PURE__ */ jsxRuntime.jsx(
89
+ "span",
90
+ {
91
+ className: slots.label({
92
+ className: classNames?.label,
93
+ isNested,
94
+ isExpanded
95
+ }),
96
+ children
97
+ }
98
+ ),
99
+ /* @__PURE__ */ jsxRuntime.jsx(
100
+ "span",
101
+ {
102
+ className: slots.chevronContainer({
103
+ className: classNames?.chevronContainer
104
+ }),
105
+ children: /* @__PURE__ */ jsxRuntime.jsx(
106
+ chevronDown.default,
107
+ {
108
+ "aria-hidden": true,
109
+ className: slots.chevron({ isExpanded, isDisabled })
110
+ }
111
+ )
112
+ }
113
+ )
114
+ ] })
115
+ }
116
+ );
117
+ };
118
+ const SidebarList = utils.forwardRef(
119
+ ({
120
+ label,
121
+ children,
122
+ startContent,
123
+ endContent,
124
+ isSelected,
125
+ defaultIsExpanded,
126
+ isExpanded: isExpandedProp,
127
+ onExpand: onExpandProp,
128
+ onlyCaretToggle = false,
129
+ ...props
130
+ }, ref) => {
131
+ const { slots, classNames } = context.useSidebarStyleContext();
132
+ const { isCollapsed } = context.useSidebarCollapseContext() ?? {};
133
+ const { isExpanded, setExpanded } = reactStately.useDisclosureState({
134
+ defaultExpanded: defaultIsExpanded,
135
+ isExpanded: isExpandedProp,
136
+ onExpandedChange: onExpandProp
137
+ });
138
+ const dataSelected = $670gB$react.useMemo(() => {
139
+ if (typeof isSelected === "function") {
140
+ return isSelected();
141
+ }
142
+ return isSelected;
143
+ }, [isSelected]);
144
+ if (isCollapsed) {
145
+ return children;
146
+ }
147
+ return /* @__PURE__ */ jsxRuntime.jsx(
148
+ "li",
149
+ {
150
+ "data-selected": ouiTheme.dataAttr(dataSelected),
151
+ className: slots.list({
152
+ className: classNames?.list
153
+ }),
154
+ ref,
155
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
156
+ reactAriaComponents.Disclosure,
157
+ {
158
+ className: slots.section({
159
+ className: classNames?.section,
160
+ isExpanded
161
+ }),
162
+ isExpanded,
163
+ onExpandedChange: setExpanded,
164
+ children: [
165
+ /* @__PURE__ */ jsxRuntime.jsxs(
166
+ SidebarListSection,
167
+ {
168
+ onlyCaretToggle,
169
+ isSelected,
170
+ isExpanded,
171
+ linkProps: props,
172
+ children: [
173
+ startContent,
174
+ label,
175
+ endContent
176
+ ]
177
+ }
178
+ ),
179
+ /* @__PURE__ */ jsxRuntime.jsx(
180
+ reactAriaComponents.DisclosurePanel,
181
+ {
182
+ className: slots.nestedPanel({
183
+ className: classNames?.nestedPanel
184
+ }),
185
+ children: /* @__PURE__ */ jsxRuntime.jsx(
186
+ reactAriaComponents.Provider,
187
+ {
188
+ values: [[context.SidebarNestContext, { isNested: true, isExpanded }]],
189
+ children: /* @__PURE__ */ jsxRuntime.jsx(
190
+ "ul",
191
+ {
192
+ className: slots.ul({
193
+ className: classNames?.ul,
194
+ isNested: true,
195
+ isExpanded
196
+ }),
197
+ children
198
+ }
199
+ )
200
+ }
201
+ )
202
+ }
203
+ )
204
+ ]
205
+ }
206
+ )
207
+ }
208
+ );
209
+ }
210
+ );
211
+ SidebarList.displayName = "SidebarList";
212
+
213
+ exports.SidebarList = SidebarList;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var utils$1 = require('@react-stately/utils');
7
+ var reactAriaComponents = require('react-aria-components');
8
+ var ouiTheme = require('@opengovsg/oui-theme');
9
+ var utils = require('../system/utils.cjs');
10
+ var context = require('./context.cjs');
11
+
12
+ const SidebarRoot = ({
13
+ className,
14
+ classNames,
15
+ defaultCollapsed,
16
+ onCollapsedChange,
17
+ tooltipProps,
18
+ tooltipTriggerProps,
19
+ ...originalProps
20
+ }) => {
21
+ const [props, variantProps] = utils.mapPropsVariants(
22
+ originalProps,
23
+ ouiTheme.sidebarStyles.variantKeys
24
+ );
25
+ const [isCollapsed, setCollapsed] = utils$1.useControlledState(
26
+ variantProps.isCollapsed,
27
+ defaultCollapsed ?? false,
28
+ onCollapsedChange
29
+ );
30
+ const slots = ouiTheme.sidebarStyles({ ...variantProps, isCollapsed });
31
+ return /* @__PURE__ */ jsxRuntime.jsx(
32
+ reactAriaComponents.Provider,
33
+ {
34
+ values: [
35
+ [context.SidebarStyleContext, { slots, classNames }],
36
+ [
37
+ context.SidebarCollapseContext,
38
+ { isCollapsed, setCollapsed, tooltipProps, tooltipTriggerProps }
39
+ ]
40
+ ],
41
+ children: /* @__PURE__ */ jsxRuntime.jsx(
42
+ "nav",
43
+ {
44
+ "data-collapsed": ouiTheme.dataAttr(isCollapsed),
45
+ className: slots.base({
46
+ className: className ?? classNames?.base
47
+ }),
48
+ children: /* @__PURE__ */ jsxRuntime.jsx(
49
+ "ul",
50
+ {
51
+ className: slots.ul({
52
+ className: classNames?.ul
53
+ }),
54
+ ...props
55
+ }
56
+ )
57
+ }
58
+ )
59
+ }
60
+ );
61
+ };
62
+
63
+ exports.SidebarRoot = SidebarRoot;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var $670gB$react = require('react');
7
+ var sidebarHeader = require('./sidebar-header.cjs');
8
+ var sidebarItem = require('./sidebar-item.cjs');
9
+ var sidebarList = require('./sidebar-list.cjs');
10
+ var sidebarRoot = require('./sidebar-root.cjs');
11
+ var utils = require('./utils.cjs');
12
+
13
+ const generateSidebarItems = (items) => {
14
+ return items.map((item, index) => {
15
+ if (utils.isNestableItem(item)) {
16
+ const { label, subItems, ...rest } = item;
17
+ return /* @__PURE__ */ jsxRuntime.jsx(sidebarList.SidebarList, { label, ...rest, children: generateSidebarItems(subItems) }, index);
18
+ }
19
+ if (utils.isHeaderItem(item)) {
20
+ return /* @__PURE__ */ jsxRuntime.jsx(sidebarHeader.SidebarHeader, { ...item }, index);
21
+ }
22
+ return /* @__PURE__ */ jsxRuntime.jsx(sidebarItem.SidebarItem, { ...item }, index);
23
+ });
24
+ };
25
+ const Sidebar = ({ items, ...props }) => {
26
+ const sidebarItems = $670gB$react.useMemo(() => generateSidebarItems(items), [items]);
27
+ return /* @__PURE__ */ jsxRuntime.jsx(sidebarRoot.SidebarRoot, { ...props, children: sidebarItems });
28
+ };
29
+
30
+ exports.Sidebar = Sidebar;
31
+ exports.generateSidebarItems = generateSidebarItems;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ 'use strict';
3
+
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ const isNestableItem = (item) => {
5
+ return "subItems" in item;
6
+ };
7
+ const isHeaderItem = (item) => {
8
+ return "type" in item && item.type === "header";
9
+ };
10
+
11
+ exports.isHeaderItem = isHeaderItem;
12
+ exports.isNestableItem = isNestableItem;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var $670gB$react = require('react');
5
+ var string = require('@internationalized/string');
6
+ var i18n = require('@react-aria/i18n');
7
+ var reactAriaComponents = require('react-aria-components');
8
+
9
+ function useLocalizedStringFormatter(strings, packageName) {
10
+ const { locale } = reactAriaComponents.useLocale();
11
+ const dictionary = i18n.useLocalizedStringDictionary(strings, packageName);
12
+ return $670gB$react.useMemo(
13
+ () => new string.LocalizedStringFormatter(locale, dictionary),
14
+ [locale, dictionary]
15
+ );
16
+ }
17
+
18
+ exports.useLocalizedStringFormatter = useLocalizedStringFormatter;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var $670gB$react = require('react');
5
+ var utils = require('@react-aria/utils');
6
+
7
+ function useElementWidth(ref) {
8
+ const [elementWidth, setElementWidth] = $670gB$react.useState(null);
9
+ const onResize = $670gB$react.useCallback(() => {
10
+ if (ref && ref.current && ref.current instanceof HTMLElement) {
11
+ setElementWidth(`${ref.current.offsetWidth}px`);
12
+ }
13
+ }, [ref]);
14
+ utils.useResizeObserver({
15
+ ref,
16
+ onResize
17
+ });
18
+ return elementWidth;
19
+ }
20
+
21
+ exports.useElementWidth = useElementWidth;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var tooltip = require('./tooltip.cjs');
5
+
6
+
7
+
8
+ exports.Tooltip = tooltip.Tooltip;
9
+ exports.TooltipTrigger = tooltip.TooltipTrigger;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var reactAriaComponents = require('react-aria-components');
7
+ var ouiTheme = require('@opengovsg/oui-theme');
8
+ var utils = require('../system/utils.cjs');
9
+
10
+ function Tooltip(originalProps) {
11
+ const [{ children, showArrow = true, classNames, ...props }, variantProps] = utils.mapPropsVariants(originalProps, ouiTheme.tooltipStyles.variantKeys);
12
+ const styles = ouiTheme.tooltipStyles(variantProps);
13
+ return /* @__PURE__ */ jsxRuntime.jsx(
14
+ reactAriaComponents.Tooltip,
15
+ {
16
+ isEntering: variantProps.isEntering,
17
+ isExiting: variantProps.isExiting,
18
+ offset: 10,
19
+ ...props,
20
+ className: ouiTheme.composeRenderProps(
21
+ props.className ?? classNames?.base,
22
+ (className, renderProps) => styles.base({
23
+ ...renderProps,
24
+ className
25
+ })
26
+ ),
27
+ children: (renderProps) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
28
+ showArrow && /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.OverlayArrow, { children: /* @__PURE__ */ jsxRuntime.jsx(
29
+ "svg",
30
+ {
31
+ width: 8,
32
+ height: 8,
33
+ viewBox: "0 0 8 8",
34
+ className: ouiTheme.composeRenderProps(
35
+ classNames?.arrow,
36
+ (className, renderProps2) => styles.arrow({
37
+ className,
38
+ ...renderProps2
39
+ })
40
+ )(renderProps),
41
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M0 0 L4 4 L8 0" })
42
+ }
43
+ ) }),
44
+ children
45
+ ] })
46
+ }
47
+ );
48
+ }
49
+ function TooltipTrigger(props) {
50
+ return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.TooltipTrigger, { delay: 300, ...props });
51
+ }
52
+
53
+ exports.Tooltip = Tooltip;
54
+ exports.TooltipTrigger = TooltipTrigger;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  "use client";
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
- import { useMemo } from 'react';
5
- import { Label as Label$1, Text, FieldError as FieldError$1, Group } from 'react-aria-components';
6
- import { labelStyles, descriptionStyles, fieldErrorStyles, composeRenderProps, fieldGroupStyles } from '@opengovsg/oui-theme';
4
+ import { forwardRef, useMemo } from 'react';
5
+ import { Group, Label as Label$1, Text, FieldError as FieldError$1 } from 'react-aria-components';
6
+ import { composeRenderProps, fieldGroupStyles, labelStyles, descriptionStyles, fieldErrorStyles } from '@opengovsg/oui-theme';
7
7
  import CircleAlert from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/circle-alert.js';
8
8
 
9
9
  function Label({ size, className, ...props }) {
@@ -55,17 +55,20 @@ function FieldError({
55
55
  }
56
56
  );
57
57
  }
58
- function FieldGroup(props) {
59
- return /* @__PURE__ */ jsx(
60
- Group,
61
- {
62
- ...props,
63
- className: composeRenderProps(
64
- props.className,
65
- (className, renderProps) => fieldGroupStyles({ ...renderProps, className })
66
- )
67
- }
68
- );
69
- }
58
+ const FieldGroup = forwardRef(
59
+ (props, ref) => {
60
+ return /* @__PURE__ */ jsx(
61
+ Group,
62
+ {
63
+ ...props,
64
+ ref,
65
+ className: composeRenderProps(
66
+ props.className,
67
+ (className, renderProps) => fieldGroupStyles({ ...renderProps, className })
68
+ )
69
+ }
70
+ );
71
+ }
72
+ );
70
73
 
71
74
  export { Description, FieldError, FieldErrorIcon, FieldGroup, Label };
package/dist/esm/index.js CHANGED
@@ -69,6 +69,14 @@ export { TimeField } from './time-field/time-field.js';
69
69
  export { SearchField } from './search-field/search-field.js';
70
70
  export { Link } from './link/link.js';
71
71
  export { Breadcrumb, Breadcrumbs } from './breadcrumbs/breadcrumbs.js';
72
+ export { Sidebar, generateSidebarItems } from './sidebar/sidebar.js';
73
+ export { SidebarRoot } from './sidebar/sidebar-root.js';
74
+ export { SidebarItem } from './sidebar/sidebar-item.js';
75
+ export { SidebarList } from './sidebar/sidebar-list.js';
76
+ export { SidebarHeader } from './sidebar/sidebar-header.js';
77
+ export { Tooltip, TooltipTrigger } from './tooltip/tooltip.js';
78
+ export { CountrySelect, FlagComponent, PhoneInput, PhoneNumberField } from './phone-number-field/phone-number-field.js';
79
+ export { formatPhoneNumber, formatPhoneNumberIntl, isPossiblePhoneNumber, isValidPhoneNumber, parsePhoneNumber } from 'react-phone-number-input';
72
80
  export { toast } from 'sonner';
73
81
  export { AvatarContext, useAvatarContext } from './avatar/avatar-context.js';
74
82
  export { AvatarGroup } from './avatar/avatar-group.js';