@opengovsg/oui 0.0.0-snapshot-20251203091804 → 0.0.0-snapshot-20251216073051

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 (206) hide show
  1. package/dist/cjs/badge/badge.cjs +5 -5
  2. package/dist/cjs/badge/use-badge.cjs +6 -6
  3. package/dist/cjs/banner/banner.cjs +6 -6
  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 +4 -4
  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/checkbox/checkbox.cjs +3 -3
  12. package/dist/cjs/combo-box/combo-box-fuzzy.cjs +6 -6
  13. package/dist/cjs/combo-box/combo-box-item.cjs +2 -2
  14. package/dist/cjs/combo-box/combo-box.cjs +8 -8
  15. package/dist/cjs/date-field/date-field.cjs +4 -4
  16. package/dist/cjs/date-picker/date-picker.cjs +6 -7
  17. package/dist/cjs/date-range-picker/date-range-picker.cjs +8 -8
  18. package/dist/cjs/field/field.cjs +3 -3
  19. package/dist/cjs/file-dropzone/file-dropzone.cjs +13 -13
  20. package/dist/cjs/file-dropzone/file-info.cjs +5 -5
  21. package/dist/cjs/govt-banner/govt-banner.cjs +7 -7
  22. package/dist/cjs/hooks/use-callback-ref.cjs +4 -4
  23. package/dist/cjs/hooks/use-controllable-state.cjs +2 -2
  24. package/dist/cjs/hooks/use-draggable.cjs +8 -8
  25. package/dist/cjs/hooks/use-scroll-position.cjs +53 -0
  26. package/dist/cjs/index.cjs +33 -7
  27. package/dist/cjs/input/input.cjs +2 -2
  28. package/dist/cjs/menu/menu.cjs +9 -9
  29. package/dist/cjs/modal/modal-body.cjs +2 -2
  30. package/dist/cjs/modal/modal-content.cjs +5 -5
  31. package/dist/cjs/modal/modal-footer.cjs +2 -2
  32. package/dist/cjs/modal/modal-header.cjs +2 -2
  33. package/dist/cjs/modal/modal.cjs +3 -3
  34. package/dist/cjs/navbar/index.cjs +25 -0
  35. package/dist/cjs/navbar/navbar-brand.cjs +28 -0
  36. package/dist/cjs/navbar/navbar-content.cjs +33 -0
  37. package/dist/cjs/navbar/navbar-context.cjs +14 -0
  38. package/dist/cjs/navbar/navbar-item.cjs +29 -0
  39. package/dist/cjs/navbar/navbar-menu/i18n.cjs +23 -0
  40. package/dist/cjs/navbar/navbar-menu/item.cjs +44 -0
  41. package/dist/cjs/navbar/navbar-menu/menu.cjs +62 -0
  42. package/dist/cjs/navbar/navbar-menu/toggle.cjs +95 -0
  43. package/dist/cjs/navbar/navbar.cjs +50 -0
  44. package/dist/cjs/navbar/use-navbar.cjs +126 -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/Overlay.cjs +55 -0
  46. 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
  47. 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
  48. 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
  49. package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/Icon.cjs +4 -4
  50. package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +3 -3
  51. package/dist/cjs/number-field/number-field.cjs +4 -4
  52. package/dist/cjs/pagination/hooks/use-pagination.cjs +7 -7
  53. package/dist/cjs/pagination/pagination.cjs +9 -9
  54. package/dist/cjs/pagination/use-pagination-item.cjs +3 -3
  55. package/dist/cjs/pagination/use-pagination.cjs +8 -8
  56. package/dist/cjs/range-calendar/range-calendar.cjs +7 -7
  57. package/dist/cjs/ripple/use-ripple.cjs +4 -4
  58. package/dist/cjs/select/select.cjs +6 -6
  59. package/dist/cjs/spinner/use-spinner.cjs +3 -3
  60. package/dist/cjs/system/react-utils/children.cjs +26 -0
  61. package/dist/cjs/system/react-utils/context.cjs +3 -3
  62. package/dist/cjs/system/react-utils/refs.cjs +3 -3
  63. package/dist/cjs/system/utils.cjs +2 -50
  64. package/dist/cjs/tabs/tabs.cjs +2 -2
  65. package/dist/cjs/tag-field/tag-field-item.cjs +2 -2
  66. package/dist/cjs/tag-field/tag-field-list.cjs +4 -4
  67. package/dist/cjs/tag-field/tag-field-root.cjs +14 -14
  68. package/dist/cjs/tag-field/tag-field-state-context.cjs +2 -2
  69. package/dist/cjs/tag-field/tag-field-tag-list.cjs +4 -4
  70. package/dist/cjs/tag-field/tag-field-trigger.cjs +2 -2
  71. package/dist/cjs/tag-field/tag-field.cjs +6 -6
  72. package/dist/cjs/tag-field/use-tag-field-state.cjs +6 -6
  73. package/dist/cjs/tag-field/use-tag-field.cjs +4 -4
  74. package/dist/cjs/text-area/text-area.cjs +2 -2
  75. package/dist/cjs/text-area-field/text-area-field.cjs +1 -1
  76. package/dist/cjs/text-field/text-field.cjs +1 -1
  77. package/dist/cjs/toast/index.cjs +13 -0
  78. package/dist/cjs/toast/toast.cjs +91 -0
  79. package/dist/cjs/toggle/toggle.cjs +3 -3
  80. package/dist/esm/badge/badge.js +1 -1
  81. package/dist/esm/banner/banner.js +3 -3
  82. package/dist/esm/button/button.js +1 -1
  83. package/dist/esm/calendar/calendar-header.js +2 -2
  84. package/dist/esm/calendar/calendar-month-day-selector.js +2 -2
  85. package/dist/esm/checkbox/checkbox.js +3 -3
  86. package/dist/esm/combo-box/combo-box.js +5 -5
  87. package/dist/esm/date-field/date-field.js +1 -1
  88. package/dist/esm/date-picker/date-picker.js +4 -5
  89. package/dist/esm/date-range-picker/date-range-picker.js +5 -5
  90. package/dist/esm/field/field.js +1 -1
  91. package/dist/esm/file-dropzone/file-dropzone.js +3 -3
  92. package/dist/esm/file-dropzone/file-info.js +2 -2
  93. package/dist/esm/govt-banner/govt-banner.js +4 -4
  94. package/dist/esm/hooks/use-scroll-position.js +51 -0
  95. package/dist/esm/index.js +13 -2
  96. package/dist/esm/menu/menu.js +3 -3
  97. package/dist/esm/modal/modal-content.js +2 -2
  98. package/dist/esm/navbar/index.js +10 -0
  99. package/dist/esm/navbar/navbar-brand.js +26 -0
  100. package/dist/esm/navbar/navbar-content.js +31 -0
  101. package/dist/esm/navbar/navbar-context.js +11 -0
  102. package/dist/esm/navbar/navbar-item.js +27 -0
  103. package/dist/esm/navbar/navbar-menu/i18n.js +21 -0
  104. package/dist/esm/navbar/navbar-menu/item.js +42 -0
  105. package/dist/esm/navbar/navbar-menu/menu.js +60 -0
  106. package/dist/esm/navbar/navbar-menu/toggle.js +93 -0
  107. package/dist/esm/navbar/navbar.js +48 -0
  108. package/dist/esm/navbar/use-navbar.js +124 -0
  109. 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
  110. 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
  111. 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
  112. 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
  113. package/dist/esm/number-field/number-field.js +4 -4
  114. package/dist/esm/pagination/pagination.js +3 -3
  115. package/dist/esm/pagination/use-pagination-item.js +1 -1
  116. package/dist/esm/range-calendar/range-calendar.js +1 -1
  117. package/dist/esm/select/select.js +4 -4
  118. package/dist/esm/system/react-utils/children.js +23 -0
  119. package/dist/esm/system/utils.js +2 -49
  120. package/dist/esm/tag-field/tag-field-tag-list.js +1 -1
  121. package/dist/esm/tag-field/tag-field.js +4 -4
  122. package/dist/esm/text-area-field/text-area-field.js +1 -1
  123. package/dist/esm/text-field/text-field.js +1 -1
  124. package/dist/esm/toast/index.js +3 -0
  125. package/dist/esm/toast/toast.js +86 -0
  126. package/dist/types/hooks/use-scroll-position.d.ts +29 -0
  127. package/dist/types/hooks/use-scroll-position.d.ts.map +1 -0
  128. package/dist/types/index.d.mts +2 -0
  129. package/dist/types/index.d.ts +2 -0
  130. package/dist/types/index.d.ts.map +1 -1
  131. package/dist/types/navbar/index.d.ts +17 -0
  132. package/dist/types/navbar/index.d.ts.map +1 -0
  133. package/dist/types/navbar/navbar-brand.d.ts +6 -0
  134. package/dist/types/navbar/navbar-brand.d.ts.map +1 -0
  135. package/dist/types/navbar/navbar-content.d.ts +14 -0
  136. package/dist/types/navbar/navbar-content.d.ts.map +1 -0
  137. package/dist/types/navbar/navbar-context.d.ts +182 -0
  138. package/dist/types/navbar/navbar-context.d.ts.map +1 -0
  139. package/dist/types/navbar/navbar-item.d.ts +11 -0
  140. package/dist/types/navbar/navbar-item.d.ts.map +1 -0
  141. package/dist/types/navbar/navbar-menu/i18n.d.ts +3 -0
  142. package/dist/types/navbar/navbar-menu/i18n.d.ts.map +1 -0
  143. package/dist/types/navbar/navbar-menu/item.d.ts +16 -0
  144. package/dist/types/navbar/navbar-menu/item.d.ts.map +1 -0
  145. package/dist/types/navbar/navbar-menu/menu.d.ts +11 -0
  146. package/dist/types/navbar/navbar-menu/menu.d.ts.map +1 -0
  147. package/dist/types/navbar/navbar-menu/toggle.d.ts +12 -0
  148. package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -0
  149. package/dist/types/navbar/navbar.d.ts +6 -0
  150. package/dist/types/navbar/navbar.d.ts.map +1 -0
  151. package/dist/types/navbar/use-navbar.d.ts +163 -0
  152. package/dist/types/navbar/use-navbar.d.ts.map +1 -0
  153. package/dist/types/spinner/use-spinner.d.ts +8 -8
  154. package/dist/types/system/react-utils/children.d.ts +10 -0
  155. package/dist/types/system/react-utils/children.d.ts.map +1 -0
  156. package/dist/types/system/react-utils/index.d.ts +5 -3
  157. package/dist/types/system/react-utils/index.d.ts.map +1 -1
  158. package/dist/types/system/utils.d.ts +1 -833
  159. package/dist/types/system/utils.d.ts.map +1 -1
  160. package/dist/types/toast/index.d.ts +3 -0
  161. package/dist/types/toast/index.d.ts.map +1 -0
  162. package/dist/types/toast/toast.d.ts +9 -0
  163. package/dist/types/toast/toast.d.ts.map +1 -0
  164. package/package.json +8 -7
  165. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +0 -0
  166. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/calendar.cjs +0 -0
  167. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/check.cjs +0 -0
  168. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +0 -0
  169. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs +0 -0
  170. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +0 -0
  171. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +0 -0
  172. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +0 -0
  173. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs +0 -0
  174. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/ellipsis.cjs +0 -0
  175. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/external-link.cjs +0 -0
  176. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/info.cjs +0 -0
  177. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/landmark.cjs +0 -0
  178. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/lock.cjs +0 -0
  179. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/minus.cjs +0 -0
  180. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/plus.cjs +0 -0
  181. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/trash-2.cjs +0 -0
  182. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/upload.cjs +0 -0
  183. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/x.cjs +0 -0
  184. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +0 -0
  185. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/Icon.js +0 -0
  186. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -0
  187. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -0
  188. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/calendar.js +0 -0
  189. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/check.js +0 -0
  190. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -0
  191. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-left.js +0 -0
  192. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -0
  193. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -0
  194. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/chevrons-right.js +0 -0
  195. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/circle-alert.js +0 -0
  196. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/ellipsis.js +0 -0
  197. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/external-link.js +0 -0
  198. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/info.js +0 -0
  199. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/landmark.js +0 -0
  200. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/lock.js +0 -0
  201. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/minus.js +0 -0
  202. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/plus.js +0 -0
  203. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -0
  204. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/upload.js +0 -0
  205. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/icons/x.js +0 -0
  206. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.3}/node_modules/lucide-react/dist/esm/shared/src/utils.js +0 -0
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- import { forwardRef as forwardRef$1, useMemo } from 'react';
2
+ import { forwardRef as forwardRef$1 } from 'react';
3
3
 
4
4
  function forwardRef(component) {
5
5
  return forwardRef$1(component);
@@ -26,53 +26,6 @@ const mapPropsVariants = (props, variantKeys, removeVariantProps = true) => {
26
26
  }
27
27
  return [props, picked];
28
28
  };
29
- function useRenderProps(props) {
30
- const {
31
- className,
32
- style,
33
- children,
34
- defaultClassName = void 0,
35
- defaultChildren = void 0,
36
- defaultStyle,
37
- values
38
- } = props;
39
- return useMemo(() => {
40
- let computedClassName;
41
- let computedStyle;
42
- let computedChildren;
43
- if (typeof className === "function") {
44
- computedClassName = className({ ...values, defaultClassName });
45
- } else {
46
- computedClassName = className;
47
- }
48
- if (typeof style === "function") {
49
- computedStyle = style({ ...values, defaultStyle: defaultStyle || {} });
50
- } else {
51
- computedStyle = style;
52
- }
53
- if (typeof children === "function") {
54
- computedChildren = children({ ...values, defaultChildren });
55
- } else if (children == null) {
56
- computedChildren = defaultChildren;
57
- } else {
58
- computedChildren = children;
59
- }
60
- return {
61
- className: computedClassName ?? defaultClassName,
62
- style: computedStyle || defaultStyle ? { ...defaultStyle, ...computedStyle } : void 0,
63
- children: computedChildren ?? defaultChildren,
64
- "data-rac": ""
65
- };
66
- }, [
67
- className,
68
- style,
69
- children,
70
- defaultClassName,
71
- defaultChildren,
72
- defaultStyle,
73
- values
74
- ]);
75
- }
76
29
  function removeDataAttributes(props) {
77
30
  const prefix = /^(data-.*)$/;
78
31
  const filteredProps = {};
@@ -94,4 +47,4 @@ function pickAriaAttributes(props) {
94
47
  return filteredProps;
95
48
  }
96
49
 
97
- export { forwardRef, forwardRefGeneric, mapPropsVariants, pickAriaAttributes, removeDataAttributes, useRenderProps };
50
+ export { forwardRef, forwardRefGeneric, mapPropsVariants, pickAriaAttributes, removeDataAttributes };
@@ -2,7 +2,7 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useContext, useCallback } from 'react';
4
4
  import { TagFieldStateContext } from './tag-field-state-context.js';
5
- import X from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.js';
5
+ import X from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js';
6
6
 
7
7
  const TagFieldTagList = ({
8
8
  classNames,
@@ -4,15 +4,15 @@ import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { createElement } from 'react';
5
5
  import { composeRenderProps } from 'react-aria-components';
6
6
  import { tagFieldStyles } from '@opengovsg/oui-theme';
7
- import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
8
- import { Input } from '../input/input.js';
9
- import { Popover } from '../popover/popover.js';
10
7
  import { TagFieldItem } from './tag-field-item.js';
11
8
  import { TagFieldList } from './tag-field-list.js';
12
9
  import { TagFieldRoot } from './tag-field-root.js';
13
10
  import { TagFieldTagList } from './tag-field-tag-list.js';
14
11
  import { TagFieldTrigger } from './tag-field-trigger.js';
15
- import ChevronDown from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js';
12
+ import ChevronDown from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.js';
13
+ import { Label, FieldGroup, Description, FieldError } from '../field/field.js';
14
+ import { Input } from '../input/input.js';
15
+ import { Popover } from '../popover/popover.js';
16
16
 
17
17
  function TagField({
18
18
  classNames,
@@ -3,8 +3,8 @@
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { TextField } from 'react-aria-components';
5
5
  import { composeTailwindRenderProps } from '@opengovsg/oui-theme';
6
- import { Label, Description, FieldError } from '../field/field.js';
7
6
  import { TextArea } from '../text-area/text-area.js';
7
+ import { Label, Description, FieldError } from '../field/field.js';
8
8
 
9
9
  function TextAreaField({
10
10
  label,
@@ -3,8 +3,8 @@
3
3
  import { jsxs, jsx } from 'react/jsx-runtime';
4
4
  import { TextField as TextField$1 } from 'react-aria-components';
5
5
  import { composeTailwindRenderProps } from '@opengovsg/oui-theme';
6
- import { Label, Description, FieldError } from '../field/field.js';
7
6
  import { Input } from '../input/input.js';
7
+ import { Label, Description, FieldError } from '../field/field.js';
8
8
 
9
9
  function TextField({
10
10
  label,
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ export { Toaster } from './toast.js';
3
+ export { toast } from 'sonner';
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { Toaster as Toaster$1 } from 'sonner';
5
+ export { toast } from 'sonner';
6
+ import { toastStyles } from '@opengovsg/oui-theme';
7
+ import { mapPropsVariants } from '../system/utils.js';
8
+ import X from '../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.js';
9
+ import { Spinner } from '../spinner/spinner.js';
10
+
11
+ function Toaster(originalProps) {
12
+ const [{ toastOptions, closeButton = true, ...props }, variantProps] = mapPropsVariants(originalProps, toastStyles.variantKeys);
13
+ const styles = toastStyles(variantProps);
14
+ return /* @__PURE__ */ jsx(
15
+ Toaster$1,
16
+ {
17
+ className: styles.base({
18
+ className: props.className ?? props.classNames?.base
19
+ }),
20
+ position: "top-center",
21
+ icons: {
22
+ loading: /* @__PURE__ */ jsx(Spinner, { size: "xs" }),
23
+ close: /* @__PURE__ */ jsx(X, {})
24
+ },
25
+ mobileOffset: 8,
26
+ offset: {
27
+ top: 8
28
+ },
29
+ closeButton,
30
+ toastOptions: {
31
+ classNames: {
32
+ toast: styles.toast({
33
+ className: props.classNames?.toast
34
+ }),
35
+ title: styles.title({
36
+ className: props.classNames?.title
37
+ }),
38
+ description: styles.description({
39
+ className: props.classNames?.description
40
+ }),
41
+ loader: styles.loader({
42
+ className: props.classNames?.loader
43
+ }),
44
+ closeButton: styles.closeButton({
45
+ className: props.classNames?.closeButton
46
+ }),
47
+ success: styles.success({
48
+ className: props.classNames?.success
49
+ }),
50
+ error: styles.error({
51
+ className: props.classNames?.error
52
+ }),
53
+ info: styles.info({
54
+ className: props.classNames?.info
55
+ }),
56
+ warning: styles.warning({
57
+ className: props.classNames?.warning
58
+ }),
59
+ loading: styles.loading({
60
+ className: props.classNames?.loading
61
+ }),
62
+ default: styles.default({
63
+ className: props.classNames?.default
64
+ }),
65
+ content: styles.content({
66
+ className: props.classNames?.content
67
+ }),
68
+ icon: styles.icon({
69
+ className: props.classNames?.icon
70
+ }),
71
+ actionButton: styles.actionButton({
72
+ className: props.classNames?.actionButton
73
+ }),
74
+ cancelButton: styles.cancelButton({
75
+ className: props.classNames?.cancelButton
76
+ })
77
+ },
78
+ unstyled: true,
79
+ ...toastOptions
80
+ },
81
+ ...props
82
+ }
83
+ );
84
+ }
85
+
86
+ export { Toaster };
@@ -0,0 +1,29 @@
1
+ export type ScrollValue = {
2
+ x: number;
3
+ y: number;
4
+ };
5
+ export interface UseScrollPositionOptions {
6
+ /**
7
+ * The wait time in milliseconds before triggering the callback.
8
+ * @default 30
9
+ */
10
+ delay?: number;
11
+ /**
12
+ * Whether the scroll position should be tracked or not.
13
+ * @default true
14
+ */
15
+ isEnabled?: boolean;
16
+ /**
17
+ * The element to track the scroll position for.
18
+ */
19
+ elementRef?: React.RefObject<HTMLElement> | null;
20
+ /**
21
+ * The callback function to be called when the scroll position changes.
22
+ */
23
+ callback?: ({ prevPos, currPos, }: {
24
+ prevPos: ScrollValue;
25
+ currPos: ScrollValue;
26
+ }) => void;
27
+ }
28
+ export declare const useScrollPosition: (props: UseScrollPositionOptions) => ScrollValue;
29
+ //# sourceMappingURL=use-scroll-position.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-scroll-position.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-scroll-position.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAalD,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;IAChD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EACV,OAAO,EACP,OAAO,GACR,EAAE;QACD,OAAO,EAAE,WAAW,CAAA;QACpB,OAAO,EAAE,WAAW,CAAA;KACrB,KAAK,IAAI,CAAA;CACX;AAED,eAAO,MAAM,iBAAiB,UACrB,wBAAwB,KAC9B,WAiDF,CAAA"}
@@ -28,4 +28,6 @@ export * from "./pagination";
28
28
  export * from "./file-dropzone";
29
29
  export * from "./number-field";
30
30
  export * from "./modal";
31
+ export * from "./toast";
32
+ export * from "./navbar";
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -28,4 +28,6 @@ export * from "./pagination";
28
28
  export * from "./file-dropzone";
29
29
  export * from "./number-field";
30
30
  export * from "./modal";
31
+ export * from "./toast";
32
+ export * from "./navbar";
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,QAAQ,CAAA;AACtB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AACtB,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,17 @@
1
+ export { Navbar } from "./navbar";
2
+ export { NavbarBrand } from "./navbar-brand";
3
+ export { NavbarContent } from "./navbar-content";
4
+ export { NavbarMenu } from "./navbar-menu/menu";
5
+ export { NavbarMenuItem } from "./navbar-menu/item";
6
+ export { NavbarMenuToggle } from "./navbar-menu/toggle";
7
+ export { NavbarItem } from "./navbar-item";
8
+ export { useNavbar } from "./use-navbar";
9
+ export { NavbarProvider, useNavbarContext } from "./navbar-context";
10
+ export type { NavbarProps } from "./navbar";
11
+ export type { NavbarBrandProps } from "./navbar-brand";
12
+ export type { NavbarContentProps } from "./navbar-content";
13
+ export type { NavbarMenuProps } from "./navbar-menu/menu";
14
+ export type { NavbarMenuItemProps } from "./navbar-menu/item";
15
+ export type { NavbarMenuToggleProps } from "./navbar-menu/toggle";
16
+ export type { NavbarItemProps } from "./navbar-item";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/navbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnE,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjE,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { HtmlUiProps } from "../system/types";
2
+ export interface NavbarBrandProps extends HtmlUiProps<"div"> {
3
+ children?: React.ReactNode | React.ReactNode[];
4
+ }
5
+ export declare const NavbarBrand: import("../system/utils").InternalForwardRefRenderFunction<"div", NavbarBrandProps, never>;
6
+ //# sourceMappingURL=navbar-brand.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar-brand.d.ts","sourceRoot":"","sources":["../../../src/navbar/navbar-brand.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAKlD,MAAM,WAAW,gBAAiB,SAAQ,WAAW,CAAC,KAAK,CAAC;IAC1D,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;CAC/C;AAED,eAAO,MAAM,WAAW,4FAiBtB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { HtmlUiProps } from "../system/types";
2
+ export interface NavbarContentProps extends HtmlUiProps<"ul"> {
3
+ /**
4
+ * The content of the Navbar.Content. It is usually the `NavbarItem`,
5
+ */
6
+ children?: React.ReactNode | React.ReactNode[];
7
+ /**
8
+ * The justify of the content
9
+ * @default start
10
+ */
11
+ justify?: "start" | "end" | "center";
12
+ }
13
+ export declare const NavbarContent: import("../system/utils").InternalForwardRefRenderFunction<"div", NavbarContentProps, never>;
14
+ //# sourceMappingURL=navbar-content.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navbar-content.d.ts","sourceRoot":"","sources":["../../../src/navbar/navbar-content.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAKlD,MAAM,WAAW,kBAAmB,SAAQ,WAAW,CAAC,IAAI,CAAC;IAC3D;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,EAAE,CAAA;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAA;CACrC;AAED,eAAO,MAAM,aAAa,8FAsBzB,CAAA"}
@@ -0,0 +1,182 @@
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
+ menuTopOffset: number;
80
+ menuTopOffsetPx: string;
81
+ isNavbarHidden: boolean;
82
+ shouldShowOnScrollUp: boolean;
83
+ isMenuOpen: boolean;
84
+ classNames: import("@opengovsg/oui-theme").SlotsToClasses<"toggle" | "content" | "base" | "wrapper" | "item" | "brand" | "menu" | "menuItem" | "toggleIcon"> | undefined;
85
+ setIsMenuOpen: (value: boolean, ...args: any[]) => void;
86
+ menuRef: import("react").RefObject<HTMLButtonElement | null>;
87
+ getBaseProps: import("../system/types").PropGetter;
88
+ getWrapperProps: import("../system/types").PropGetter;
89
+ position: "static" | "sticky";
90
+ motionProps: Omit<import("motion/react").HTMLMotionProps<"nav">, "ref"> | undefined;
91
+ }>, useNavbarContext: () => {
92
+ Component: import("../system/types").As<any>;
93
+ slots: {
94
+ base: (slotProps?: ({
95
+ position?: "static" | "sticky" | undefined;
96
+ hasBorder?: boolean | undefined;
97
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
98
+ wrapper: (slotProps?: ({
99
+ position?: "static" | "sticky" | undefined;
100
+ hasBorder?: boolean | undefined;
101
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
102
+ toggle: (slotProps?: ({
103
+ position?: "static" | "sticky" | undefined;
104
+ hasBorder?: boolean | undefined;
105
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
106
+ toggleIcon: (slotProps?: ({
107
+ position?: "static" | "sticky" | undefined;
108
+ hasBorder?: boolean | undefined;
109
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
110
+ brand: (slotProps?: ({
111
+ position?: "static" | "sticky" | undefined;
112
+ hasBorder?: boolean | undefined;
113
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
114
+ content: (slotProps?: ({
115
+ position?: "static" | "sticky" | undefined;
116
+ hasBorder?: boolean | undefined;
117
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
118
+ item: (slotProps?: ({
119
+ position?: "static" | "sticky" | undefined;
120
+ hasBorder?: boolean | undefined;
121
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
122
+ menu: (slotProps?: ({
123
+ position?: "static" | "sticky" | undefined;
124
+ hasBorder?: boolean | undefined;
125
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
126
+ menuItem: (slotProps?: ({
127
+ position?: "static" | "sticky" | undefined;
128
+ hasBorder?: boolean | undefined;
129
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
130
+ } & {
131
+ base: (slotProps?: ({
132
+ position?: "static" | "sticky" | undefined;
133
+ hasBorder?: boolean | undefined;
134
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
135
+ wrapper: (slotProps?: ({
136
+ position?: "static" | "sticky" | undefined;
137
+ hasBorder?: boolean | undefined;
138
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
139
+ toggle: (slotProps?: ({
140
+ position?: "static" | "sticky" | undefined;
141
+ hasBorder?: boolean | undefined;
142
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
143
+ toggleIcon: (slotProps?: ({
144
+ position?: "static" | "sticky" | undefined;
145
+ hasBorder?: boolean | undefined;
146
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
147
+ brand: (slotProps?: ({
148
+ position?: "static" | "sticky" | undefined;
149
+ hasBorder?: boolean | undefined;
150
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
151
+ content: (slotProps?: ({
152
+ position?: "static" | "sticky" | undefined;
153
+ hasBorder?: boolean | undefined;
154
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
155
+ item: (slotProps?: ({
156
+ position?: "static" | "sticky" | undefined;
157
+ hasBorder?: boolean | undefined;
158
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
159
+ menu: (slotProps?: ({
160
+ position?: "static" | "sticky" | undefined;
161
+ hasBorder?: boolean | undefined;
162
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
163
+ menuItem: (slotProps?: ({
164
+ position?: "static" | "sticky" | undefined;
165
+ hasBorder?: boolean | undefined;
166
+ } & import("tailwind-variants").ClassProp<import("tailwind-merge").ClassNameValue>) | undefined) => string;
167
+ } & {};
168
+ domRef: import("react").RefObject<HTMLElement | null>;
169
+ menuTopOffset: number;
170
+ menuTopOffsetPx: string;
171
+ isNavbarHidden: boolean;
172
+ shouldShowOnScrollUp: boolean;
173
+ isMenuOpen: boolean;
174
+ classNames: import("@opengovsg/oui-theme").SlotsToClasses<"toggle" | "content" | "base" | "wrapper" | "item" | "brand" | "menu" | "menuItem" | "toggleIcon"> | undefined;
175
+ setIsMenuOpen: (value: boolean, ...args: any[]) => void;
176
+ menuRef: import("react").RefObject<HTMLButtonElement | null>;
177
+ getBaseProps: import("../system/types").PropGetter;
178
+ getWrapperProps: import("../system/types").PropGetter;
179
+ position: "static" | "sticky";
180
+ motionProps: Omit<import("motion/react").HTMLMotionProps<"nav">, "ref"> | undefined;
181
+ };
182
+ //# 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,6FAoDtB,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,4CAkFvB,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":"AAMA,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;AAiBD,eAAO,MAAM,MAAM,uFAoCjB,CAAA"}