@opengovsg/oui 0.0.27 → 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 (129) 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 +3 -3
  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 +2 -2
  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 +3 -3
  14. package/dist/cjs/date-field/date-field.cjs +3 -3
  15. package/dist/cjs/date-picker/date-picker.cjs +2 -2
  16. package/dist/cjs/date-range-picker/date-range-picker.cjs +3 -3
  17. package/dist/cjs/field/field.cjs +2 -2
  18. package/dist/cjs/file-dropzone/file-dropzone.cjs +10 -10
  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 +30 -11
  25. package/dist/cjs/input/input.cjs +2 -2
  26. package/dist/cjs/menu/menu.cjs +7 -7
  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/number-field/number-field.cjs +1 -1
  50. package/dist/cjs/pagination/hooks/use-pagination.cjs +7 -7
  51. package/dist/cjs/pagination/pagination.cjs +6 -6
  52. package/dist/cjs/pagination/use-pagination-item.cjs +3 -3
  53. package/dist/cjs/pagination/use-pagination.cjs +8 -8
  54. package/dist/cjs/range-calendar/range-calendar.cjs +6 -6
  55. package/dist/cjs/ripple/use-ripple.cjs +4 -4
  56. package/dist/cjs/select/select.cjs +2 -2
  57. package/dist/cjs/spinner/use-spinner.cjs +3 -3
  58. package/dist/cjs/system/react-utils/children.cjs +26 -0
  59. package/dist/cjs/system/react-utils/context.cjs +3 -3
  60. package/dist/cjs/system/react-utils/refs.cjs +3 -3
  61. package/dist/cjs/system/utils.cjs +2 -2
  62. package/dist/cjs/tabs/tabs.cjs +2 -2
  63. package/dist/cjs/tag-field/tag-field-item.cjs +2 -2
  64. package/dist/cjs/tag-field/tag-field-list.cjs +4 -4
  65. package/dist/cjs/tag-field/tag-field-root.cjs +14 -14
  66. package/dist/cjs/tag-field/tag-field-state-context.cjs +2 -2
  67. package/dist/cjs/tag-field/tag-field-tag-list.cjs +3 -3
  68. package/dist/cjs/tag-field/tag-field-trigger.cjs +2 -2
  69. package/dist/cjs/tag-field/tag-field.cjs +3 -3
  70. package/dist/cjs/tag-field/use-tag-field-state.cjs +6 -6
  71. package/dist/cjs/tag-field/use-tag-field.cjs +4 -4
  72. package/dist/cjs/text-area/text-area.cjs +2 -2
  73. package/dist/cjs/toast/toast.cjs +1 -0
  74. package/dist/cjs/toggle/toggle.cjs +3 -3
  75. package/dist/esm/index.js +14 -5
  76. package/dist/esm/menu/menu.js +1 -1
  77. package/dist/esm/navbar/index.js +10 -0
  78. package/dist/esm/navbar/navbar-brand.js +26 -0
  79. package/dist/esm/navbar/navbar-content.js +31 -0
  80. package/dist/esm/navbar/navbar-context.js +11 -0
  81. package/dist/esm/navbar/navbar-item.js +27 -0
  82. package/dist/esm/navbar/navbar-menu/i18n.js +21 -0
  83. package/dist/esm/navbar/navbar-menu/item.js +42 -0
  84. package/dist/esm/navbar/navbar-menu/menu.js +60 -0
  85. package/dist/esm/navbar/navbar-menu/toggle.js +92 -0
  86. package/dist/esm/navbar/navbar.js +24 -0
  87. package/dist/esm/navbar/use-navbar.js +114 -0
  88. 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
  89. 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
  90. 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
  91. 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
  92. package/dist/esm/number-field/number-field.js +1 -1
  93. package/dist/esm/pagination/use-pagination-item.js +1 -1
  94. package/dist/esm/system/react-utils/children.js +23 -0
  95. package/dist/esm/tag-field/tag-field.js +1 -1
  96. package/dist/esm/toast/toast.js +1 -0
  97. package/dist/types/index.d.mts +1 -0
  98. package/dist/types/index.d.ts +1 -0
  99. package/dist/types/index.d.ts.map +1 -1
  100. package/dist/types/navbar/index.d.ts +17 -0
  101. package/dist/types/navbar/index.d.ts.map +1 -0
  102. package/dist/types/navbar/navbar-brand.d.ts +6 -0
  103. package/dist/types/navbar/navbar-brand.d.ts.map +1 -0
  104. package/dist/types/navbar/navbar-content.d.ts +14 -0
  105. package/dist/types/navbar/navbar-content.d.ts.map +1 -0
  106. package/dist/types/navbar/navbar-context.d.ts +174 -0
  107. package/dist/types/navbar/navbar-context.d.ts.map +1 -0
  108. package/dist/types/navbar/navbar-item.d.ts +11 -0
  109. package/dist/types/navbar/navbar-item.d.ts.map +1 -0
  110. package/dist/types/navbar/navbar-menu/i18n.d.ts +3 -0
  111. package/dist/types/navbar/navbar-menu/i18n.d.ts.map +1 -0
  112. package/dist/types/navbar/navbar-menu/item.d.ts +16 -0
  113. package/dist/types/navbar/navbar-menu/item.d.ts.map +1 -0
  114. package/dist/types/navbar/navbar-menu/menu.d.ts +11 -0
  115. package/dist/types/navbar/navbar-menu/menu.d.ts.map +1 -0
  116. package/dist/types/navbar/navbar-menu/toggle.d.ts +12 -0
  117. package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -0
  118. package/dist/types/navbar/navbar.d.ts +6 -0
  119. package/dist/types/navbar/navbar.d.ts.map +1 -0
  120. package/dist/types/navbar/use-navbar.d.ts +131 -0
  121. package/dist/types/navbar/use-navbar.d.ts.map +1 -0
  122. package/dist/types/system/react-utils/children.d.ts +10 -0
  123. package/dist/types/system/react-utils/children.d.ts.map +1 -0
  124. package/dist/types/system/react-utils/index.d.ts +5 -3
  125. package/dist/types/system/react-utils/index.d.ts.map +1 -1
  126. package/dist/types/toast/index.d.ts +2 -1
  127. package/dist/types/toast/index.d.ts.map +1 -1
  128. package/dist/types/toast/toast.d.ts.map +1 -1
  129. package/package.json +3 -3
@@ -0,0 +1,174 @@
1
+ export declare const NavbarProvider: import("react").Context<{
2
+ Component: import("../system/types").As<any>;
3
+ slots: {
4
+ base: (slotProps?: ({
5
+ position?: "static" | "sticky" | undefined;
6
+ hasBorder?: boolean | undefined;
7
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
8
+ wrapper: (slotProps?: ({
9
+ position?: "static" | "sticky" | undefined;
10
+ hasBorder?: boolean | undefined;
11
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
12
+ toggle: (slotProps?: ({
13
+ position?: "static" | "sticky" | undefined;
14
+ hasBorder?: boolean | undefined;
15
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
16
+ toggleIcon: (slotProps?: ({
17
+ position?: "static" | "sticky" | undefined;
18
+ hasBorder?: boolean | undefined;
19
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
20
+ brand: (slotProps?: ({
21
+ position?: "static" | "sticky" | undefined;
22
+ hasBorder?: boolean | undefined;
23
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
24
+ content: (slotProps?: ({
25
+ position?: "static" | "sticky" | undefined;
26
+ hasBorder?: boolean | undefined;
27
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
28
+ item: (slotProps?: ({
29
+ position?: "static" | "sticky" | undefined;
30
+ hasBorder?: boolean | undefined;
31
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
32
+ menu: (slotProps?: ({
33
+ position?: "static" | "sticky" | undefined;
34
+ hasBorder?: boolean | undefined;
35
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
36
+ menuItem: (slotProps?: ({
37
+ position?: "static" | "sticky" | undefined;
38
+ hasBorder?: boolean | undefined;
39
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
40
+ } & {
41
+ base: (slotProps?: ({
42
+ position?: "static" | "sticky" | undefined;
43
+ hasBorder?: boolean | undefined;
44
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
45
+ wrapper: (slotProps?: ({
46
+ position?: "static" | "sticky" | undefined;
47
+ hasBorder?: boolean | undefined;
48
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
49
+ toggle: (slotProps?: ({
50
+ position?: "static" | "sticky" | undefined;
51
+ hasBorder?: boolean | undefined;
52
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
53
+ toggleIcon: (slotProps?: ({
54
+ position?: "static" | "sticky" | undefined;
55
+ hasBorder?: boolean | undefined;
56
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
57
+ brand: (slotProps?: ({
58
+ position?: "static" | "sticky" | undefined;
59
+ hasBorder?: boolean | undefined;
60
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
61
+ content: (slotProps?: ({
62
+ position?: "static" | "sticky" | undefined;
63
+ hasBorder?: boolean | undefined;
64
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
65
+ item: (slotProps?: ({
66
+ position?: "static" | "sticky" | undefined;
67
+ hasBorder?: boolean | undefined;
68
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
69
+ menu: (slotProps?: ({
70
+ position?: "static" | "sticky" | undefined;
71
+ hasBorder?: boolean | undefined;
72
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
73
+ menuItem: (slotProps?: ({
74
+ position?: "static" | "sticky" | undefined;
75
+ hasBorder?: boolean | undefined;
76
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
77
+ } & {};
78
+ domRef: import("react").RefObject<HTMLElement | null>;
79
+ height: string | number;
80
+ isMenuOpen: boolean;
81
+ classNames: import("@opengovsg/oui-theme").SlotsToClasses<"toggle" | "content" | "base" | "wrapper" | "item" | "brand" | "menu" | "menuItem" | "toggleIcon"> | undefined;
82
+ setIsMenuOpen: (value: boolean, ...args: any[]) => void;
83
+ menuRef: import("react").RefObject<HTMLButtonElement | null>;
84
+ getBaseProps: import("../system/types").PropGetter;
85
+ getWrapperProps: import("../system/types").PropGetter;
86
+ position: "static" | "sticky";
87
+ }>, useNavbarContext: () => {
88
+ Component: import("../system/types").As<any>;
89
+ slots: {
90
+ base: (slotProps?: ({
91
+ position?: "static" | "sticky" | undefined;
92
+ hasBorder?: boolean | undefined;
93
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
94
+ wrapper: (slotProps?: ({
95
+ position?: "static" | "sticky" | undefined;
96
+ hasBorder?: boolean | undefined;
97
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
98
+ toggle: (slotProps?: ({
99
+ position?: "static" | "sticky" | undefined;
100
+ hasBorder?: boolean | undefined;
101
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
102
+ toggleIcon: (slotProps?: ({
103
+ position?: "static" | "sticky" | undefined;
104
+ hasBorder?: boolean | undefined;
105
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
106
+ brand: (slotProps?: ({
107
+ position?: "static" | "sticky" | undefined;
108
+ hasBorder?: boolean | undefined;
109
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
110
+ content: (slotProps?: ({
111
+ position?: "static" | "sticky" | undefined;
112
+ hasBorder?: boolean | undefined;
113
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
114
+ item: (slotProps?: ({
115
+ position?: "static" | "sticky" | undefined;
116
+ hasBorder?: boolean | undefined;
117
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
118
+ menu: (slotProps?: ({
119
+ position?: "static" | "sticky" | undefined;
120
+ hasBorder?: boolean | undefined;
121
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
122
+ menuItem: (slotProps?: ({
123
+ position?: "static" | "sticky" | undefined;
124
+ hasBorder?: boolean | undefined;
125
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
126
+ } & {
127
+ base: (slotProps?: ({
128
+ position?: "static" | "sticky" | undefined;
129
+ hasBorder?: boolean | undefined;
130
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
131
+ wrapper: (slotProps?: ({
132
+ position?: "static" | "sticky" | undefined;
133
+ hasBorder?: boolean | undefined;
134
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
135
+ toggle: (slotProps?: ({
136
+ position?: "static" | "sticky" | undefined;
137
+ hasBorder?: boolean | undefined;
138
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
139
+ toggleIcon: (slotProps?: ({
140
+ position?: "static" | "sticky" | undefined;
141
+ hasBorder?: boolean | undefined;
142
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
143
+ brand: (slotProps?: ({
144
+ position?: "static" | "sticky" | undefined;
145
+ hasBorder?: boolean | undefined;
146
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
147
+ content: (slotProps?: ({
148
+ position?: "static" | "sticky" | undefined;
149
+ hasBorder?: boolean | undefined;
150
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
151
+ item: (slotProps?: ({
152
+ position?: "static" | "sticky" | undefined;
153
+ hasBorder?: boolean | undefined;
154
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
155
+ menu: (slotProps?: ({
156
+ position?: "static" | "sticky" | undefined;
157
+ hasBorder?: boolean | undefined;
158
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
159
+ menuItem: (slotProps?: ({
160
+ position?: "static" | "sticky" | undefined;
161
+ hasBorder?: boolean | undefined;
162
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
163
+ } & {};
164
+ domRef: import("react").RefObject<HTMLElement | null>;
165
+ height: string | number;
166
+ isMenuOpen: boolean;
167
+ classNames: import("@opengovsg/oui-theme").SlotsToClasses<"toggle" | "content" | "base" | "wrapper" | "item" | "brand" | "menu" | "menuItem" | "toggleIcon"> | undefined;
168
+ setIsMenuOpen: (value: boolean, ...args: any[]) => void;
169
+ menuRef: import("react").RefObject<HTMLButtonElement | null>;
170
+ getBaseProps: import("../system/types").PropGetter;
171
+ getWrapperProps: import("../system/types").PropGetter;
172
+ position: "static" | "sticky";
173
+ };
174
+ //# sourceMappingURL=navbar-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar-context.d.ts","sourceRoot":"","sources":["../../../src/navbar/navbar-context.ts"],"names":[],"mappings":"AAKA,eAAO,MAAO,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM1C,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { HtmlUiProps } from "../system/types";
2
+ export interface NavbarItemProps extends HtmlUiProps<"li"> {
3
+ children?: React.ReactNode;
4
+ /**
5
+ * Whether the item is active or not.
6
+ * @default false
7
+ */
8
+ isActive?: boolean;
9
+ }
10
+ export declare const NavbarItem: import("../system/utils").InternalForwardRefRenderFunction<"div", NavbarItemProps, never>;
11
+ //# sourceMappingURL=navbar-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar-item.d.ts","sourceRoot":"","sources":["../../../src/navbar/navbar-item.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAKlD,MAAM,WAAW,eAAgB,SAAQ,WAAW,CAAC,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,eAAO,MAAM,UAAU,2FAkBrB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { LocalizedStrings } from "react-aria";
2
+ export declare const i18nStrings: LocalizedStrings;
3
+ //# sourceMappingURL=i18n.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../../../src/navbar/navbar-menu/i18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAElD,eAAO,MAAM,WAAW,EAAE,gBAiBzB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { ClassNameOrFunction } from "@opengovsg/oui-theme";
2
+ import type { HtmlUiProps } from "../../system/types";
3
+ export interface NavbarMenuItemRenderProps {
4
+ isActive: boolean;
5
+ }
6
+ export interface NavbarMenuItemProps extends Omit<HtmlUiProps<"li">, "className"> {
7
+ /**
8
+ * Whether the item is active or not.
9
+ * @default false
10
+ */
11
+ isActive?: boolean;
12
+ children?: React.ReactNode;
13
+ className?: ClassNameOrFunction<NavbarMenuItemRenderProps>;
14
+ }
15
+ export declare const NavbarMenuItem: import("../../system/utils").InternalForwardRefRenderFunction<"li", NavbarMenuItemProps, never>;
16
+ //# sourceMappingURL=item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"item.d.ts","sourceRoot":"","sources":["../../../../src/navbar/navbar-menu/item.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAG/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKrD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,mBACf,SAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;IAC5C;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,mBAAmB,CAAC,yBAAyB,CAAC,CAAA;CAC3D;AAED,eAAO,MAAM,cAAc,iGAgC1B,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { HtmlUiProps } from "../../system/types";
2
+ export interface NavbarMenuProps extends HtmlUiProps<"ul"> {
3
+ children?: React.ReactNode;
4
+ /**
5
+ * The container element in which the navbar menu overlay portal will be placed.
6
+ * @default below the navbar element
7
+ */
8
+ portalContainer?: Element;
9
+ }
10
+ export declare const NavbarMenu: import("../../system/utils").InternalForwardRefRenderFunction<"ul", NavbarMenuProps, never>;
11
+ //# sourceMappingURL=menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../../../src/navbar/navbar-menu/menu.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKrD,MAAM,WAAW,eAAgB,SAAQ,WAAW,CAAC,IAAI,CAAC;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,UAAU,6FAqDtB,CAAA"}
@@ -0,0 +1,12 @@
1
+ import type { ReactNode } from "react";
2
+ import type { ToggleButtonProps } from "react-aria-components";
3
+ import type { ButtonVariantProps, SlotsToClasses } from "@opengovsg/oui-theme";
4
+ export interface NavbarMenuToggleProps extends ToggleButtonProps, Pick<ButtonVariantProps, "size" | "radius" | "isIconOnly"> {
5
+ /**
6
+ * The icon to display.
7
+ */
8
+ icon?: ReactNode | ((isOpen: boolean) => ReactNode) | null;
9
+ classNames?: SlotsToClasses<"toggle" | "toggleIcon">;
10
+ }
11
+ export declare const NavbarMenuToggle: ({ icon, className, onChange, classNames, size, radius, isIconOnly, ...props }: NavbarMenuToggleProps) => import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../../../src/navbar/navbar-menu/toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAK9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAM9E,MAAM,WAAW,qBACf,SAAQ,iBAAiB,EACvB,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,CAAC;IAC5D;;OAEG;IACH,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,GAAG,IAAI,CAAA;IAC1D,UAAU,CAAC,EAAE,cAAc,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,gBAAgB,kFAS1B,qBAAqB,4CAiFvB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { UseNavbarProps } from "./use-navbar";
2
+ export interface NavbarProps extends UseNavbarProps {
3
+ children?: React.ReactNode | React.ReactNode[];
4
+ }
5
+ export declare const Navbar: import("../system/utils").InternalForwardRefRenderFunction<"div", NavbarProps, never>;
6
+ //# sourceMappingURL=navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar.d.ts","sourceRoot":"","sources":["../../../src/navbar/navbar.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAOlD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAC/C;AAED,eAAO,MAAM,MAAM,uFAuBjB,CAAA"}
@@ -0,0 +1,131 @@
1
+ import type { NavbarSlots, NavbarVariantProps, SlotsToClasses } from "@opengovsg/oui-theme";
2
+ import type { ReactRef } from "../system/react-utils";
3
+ import type { HtmlUiProps, PropGetter } from "../system/types";
4
+ interface Props extends HtmlUiProps<"nav"> {
5
+ /**
6
+ * Ref to the DOM node.
7
+ */
8
+ ref?: ReactRef<HTMLElement | null>;
9
+ /**
10
+ * The height of the navbar.
11
+ * @default "4rem" (64px)
12
+ */
13
+ height?: number | string;
14
+ /**
15
+ * Whether the menu is open.
16
+ * @default false
17
+ */
18
+ isMenuOpen?: boolean;
19
+ /**
20
+ * Whether the menu should be open by default.
21
+ * @default false
22
+ */
23
+ isMenuDefaultOpen?: boolean;
24
+ /**
25
+ * Whether the navbar should block scroll when the menu is open or not.
26
+ * @default true
27
+ */
28
+ shouldBlockScroll?: boolean;
29
+ /**
30
+ * The event handler for the menu open state.
31
+ * @param isOpen boolean
32
+ * @returns void
33
+ */
34
+ onMenuOpenChange?: (isOpen: boolean) => void;
35
+ /**
36
+ * Classname or List of classes to change the classNames of the element.
37
+ * if `className` is passed, it will be added to the base slot.
38
+ */
39
+ classNames?: SlotsToClasses<NavbarSlots>;
40
+ }
41
+ export type UseNavbarProps = Props & NavbarVariantProps;
42
+ export declare function useNavbar(originalProps: UseNavbarProps): {
43
+ Component: import("../system/types").As<any>;
44
+ slots: {
45
+ base: (slotProps?: ({
46
+ position?: "static" | "sticky" | undefined;
47
+ hasBorder?: boolean | undefined;
48
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
49
+ wrapper: (slotProps?: ({
50
+ position?: "static" | "sticky" | undefined;
51
+ hasBorder?: boolean | undefined;
52
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
53
+ toggle: (slotProps?: ({
54
+ position?: "static" | "sticky" | undefined;
55
+ hasBorder?: boolean | undefined;
56
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
57
+ toggleIcon: (slotProps?: ({
58
+ position?: "static" | "sticky" | undefined;
59
+ hasBorder?: boolean | undefined;
60
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
61
+ brand: (slotProps?: ({
62
+ position?: "static" | "sticky" | undefined;
63
+ hasBorder?: boolean | undefined;
64
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
65
+ content: (slotProps?: ({
66
+ position?: "static" | "sticky" | undefined;
67
+ hasBorder?: boolean | undefined;
68
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
69
+ item: (slotProps?: ({
70
+ position?: "static" | "sticky" | undefined;
71
+ hasBorder?: boolean | undefined;
72
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
73
+ menu: (slotProps?: ({
74
+ position?: "static" | "sticky" | undefined;
75
+ hasBorder?: boolean | undefined;
76
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
77
+ menuItem: (slotProps?: ({
78
+ position?: "static" | "sticky" | undefined;
79
+ hasBorder?: boolean | undefined;
80
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
81
+ } & {
82
+ base: (slotProps?: ({
83
+ position?: "static" | "sticky" | undefined;
84
+ hasBorder?: boolean | undefined;
85
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
86
+ wrapper: (slotProps?: ({
87
+ position?: "static" | "sticky" | undefined;
88
+ hasBorder?: boolean | undefined;
89
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
90
+ toggle: (slotProps?: ({
91
+ position?: "static" | "sticky" | undefined;
92
+ hasBorder?: boolean | undefined;
93
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
94
+ toggleIcon: (slotProps?: ({
95
+ position?: "static" | "sticky" | undefined;
96
+ hasBorder?: boolean | undefined;
97
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
98
+ brand: (slotProps?: ({
99
+ position?: "static" | "sticky" | undefined;
100
+ hasBorder?: boolean | undefined;
101
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
102
+ content: (slotProps?: ({
103
+ position?: "static" | "sticky" | undefined;
104
+ hasBorder?: boolean | undefined;
105
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
106
+ item: (slotProps?: ({
107
+ position?: "static" | "sticky" | undefined;
108
+ hasBorder?: boolean | undefined;
109
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
110
+ menu: (slotProps?: ({
111
+ position?: "static" | "sticky" | undefined;
112
+ hasBorder?: boolean | undefined;
113
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
114
+ menuItem: (slotProps?: ({
115
+ position?: "static" | "sticky" | undefined;
116
+ hasBorder?: boolean | undefined;
117
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
118
+ } & {};
119
+ domRef: import("react").RefObject<HTMLElement | null>;
120
+ height: string | number;
121
+ isMenuOpen: boolean;
122
+ classNames: SlotsToClasses<"toggle" | "content" | "base" | "wrapper" | "item" | "brand" | "menu" | "menuItem" | "toggleIcon"> | undefined;
123
+ setIsMenuOpen: (value: boolean, ...args: any[]) => void;
124
+ menuRef: import("react").RefObject<HTMLButtonElement | null>;
125
+ getBaseProps: PropGetter;
126
+ getWrapperProps: PropGetter;
127
+ position: "static" | "sticky";
128
+ };
129
+ export type UseNavbarReturn = ReturnType<typeof useNavbar>;
130
+ export {};
131
+ //# sourceMappingURL=use-navbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-navbar.d.ts","sourceRoot":"","sources":["../../../src/navbar/use-navbar.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,cAAc,EACf,MAAM,sBAAsB,CAAA;AAG7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI9D,UAAU,KAAM,SAAQ,WAAW,CAAC,KAAK,CAAC;IACxC;;OAEG;IACH,GAAG,CAAC,EAAE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAClC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;CACzC;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,kBAAkB,CAAA;AAEvD,wBAAgB,SAAS,CAAC,aAAa,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwHtD;AAED,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ /**
3
+ * Gets only the valid children of a component,
4
+ * and ignores any nullish or falsy child.
5
+ *
6
+ * @param children the children
7
+ */
8
+ export declare function getValidChildren(children: React.ReactNode): React.ReactElement[];
9
+ export declare const pickChildren: <T = ReactNode>(children: T | undefined, targetChild: React.ElementType) => [T | undefined, T[] | undefined];
10
+ //# sourceMappingURL=children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"children.d.ts","sourceRoot":"","sources":["../../../../src/system/react-utils/children.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,GAGnD,KAAK,CAAC,YAAY,EAAE,CAC1B;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,wBAClB,CAAC,GAAG,SAAS,eACV,KAAK,CAAC,WAAW,KAC7B,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,GAAG,SAAS,CAiBjC,CAAA"}
@@ -1,4 +1,6 @@
1
- export * from "./context";
2
- export * from "./refs";
3
- export * from "./filter-dom-props";
1
+ export { createContext } from "./context";
2
+ export { useDomRef } from "./refs";
3
+ export { filterDOMProps } from "./filter-dom-props";
4
+ export type { CreateContextOptions, CreateContextReturn } from "./context";
5
+ export type { ReactRef } from "./refs";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/system/react-utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/system/react-utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAEnD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAA;AAC1E,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA"}
@@ -1,2 +1,3 @@
1
- export * from "./toast";
1
+ export { Toaster, toast } from "./toast";
2
+ export type { ToasterProps } from "./toast";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toast/index.tsx"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/toast/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/toast/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAI9D,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKlD,MAAM,WAAW,YACf,SAAQ,gBAAgB,EACtB,YAAY,CAAC,OAAO,WAAW,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACxC;AAED,wBAAgB,OAAO,CAAC,aAAa,EAAE,YAAY,2CA0ElD;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/toast/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAI9D,OAAO,KAAK,EACV,cAAc,EACd,UAAU,EACV,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAKlD,MAAM,WAAW,YACf,SAAQ,gBAAgB,EACtB,YAAY,CAAC,OAAO,WAAW,CAAC;IAClC,UAAU,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACxC;AAED,wBAAgB,OAAO,CAAC,aAAa,EAAE,YAAY,2CA2ElD;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengovsg/oui",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "sideEffects": false,
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "type": "module",
@@ -50,7 +50,7 @@
50
50
  "storybook": "10.1.2",
51
51
  "tsx": "^4.21.0",
52
52
  "typescript": "5.7.3",
53
- "@opengovsg/oui-theme": "0.0.27",
53
+ "@opengovsg/oui-theme": "0.0.29",
54
54
  "@oui/chromatic": "0.0.0",
55
55
  "@oui/eslint-config": "0.0.0",
56
56
  "@oui/prettier-config": "0.0.0",
@@ -88,7 +88,7 @@
88
88
  "motion": ">=11.12.0 || >=12.0.0-alpha.1",
89
89
  "react": ">= 18",
90
90
  "react-aria-components": "^1.13.0",
91
- "@opengovsg/oui-theme": "0.0.27"
91
+ "@opengovsg/oui-theme": "0.0.29"
92
92
  },
93
93
  "scripts": {
94
94
  "build": "tsx ../../tooling/build-scripts/main.ts --dts --clean",