@opengovsg/oui 0.0.0-snapshot-20251203100754 → 0.0.0-snapshot-20260126025301

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 (264) hide show
  1. package/dist/cjs/accordion/accordion.cjs +189 -0
  2. package/dist/cjs/accordion/index.cjs +13 -0
  3. package/dist/cjs/avatar/avatar-context.cjs +12 -0
  4. package/dist/cjs/avatar/avatar-group-context.cjs +88 -0
  5. package/dist/cjs/avatar/avatar-group.cjs +60 -0
  6. package/dist/cjs/avatar/avatar.cjs +132 -0
  7. package/dist/cjs/avatar/hooks/use-img-loading-status.cjs +68 -0
  8. package/dist/cjs/avatar/index.cjs +23 -0
  9. package/dist/cjs/avatar/utils.cjs +9 -0
  10. package/dist/cjs/badge/badge.cjs +5 -5
  11. package/dist/cjs/badge/use-badge.cjs +6 -6
  12. package/dist/cjs/banner/banner.cjs +6 -6
  13. package/dist/cjs/button/button.cjs +15 -12
  14. package/dist/cjs/calendar/calendar-bottom-content.cjs +3 -3
  15. package/dist/cjs/calendar/calendar-header.cjs +4 -4
  16. package/dist/cjs/calendar/calendar-month-day-selector.cjs +2 -2
  17. package/dist/cjs/calendar/calendar.cjs +4 -4
  18. package/dist/cjs/calendar/hooks/use-calendar-selectors.cjs +4 -4
  19. package/dist/cjs/calendar/utils.cjs +3 -3
  20. package/dist/cjs/checkbox/checkbox.cjs +4 -4
  21. package/dist/cjs/combo-box/combo-box-fuzzy.cjs +6 -6
  22. package/dist/cjs/combo-box/combo-box-item.cjs +2 -2
  23. package/dist/cjs/combo-box/combo-box.cjs +6 -6
  24. package/dist/cjs/date-field/date-field.cjs +3 -3
  25. package/dist/cjs/date-picker/date-picker.cjs +6 -5
  26. package/dist/cjs/date-range-picker/date-range-picker.cjs +5 -5
  27. package/dist/cjs/field/field.cjs +3 -3
  28. package/dist/cjs/file-dropzone/file-dropzone.cjs +22 -18
  29. package/dist/cjs/file-dropzone/file-info.cjs +7 -6
  30. package/dist/cjs/file-dropzone/utils.cjs +4 -4
  31. package/dist/cjs/govt-banner/govt-banner.cjs +7 -7
  32. package/dist/cjs/hooks/use-callback-ref.cjs +4 -4
  33. package/dist/cjs/hooks/use-controllable-state.cjs +2 -2
  34. package/dist/cjs/hooks/use-draggable.cjs +8 -8
  35. package/dist/cjs/hooks/use-scroll-position.cjs +53 -0
  36. package/dist/cjs/index.cjs +67 -20
  37. package/dist/cjs/input/input.cjs +2 -2
  38. package/dist/cjs/menu/menu.cjs +8 -8
  39. package/dist/cjs/modal/modal-body.cjs +2 -2
  40. package/dist/cjs/modal/modal-content.cjs +5 -5
  41. package/dist/cjs/modal/modal-footer.cjs +2 -2
  42. package/dist/cjs/modal/modal-header.cjs +2 -2
  43. package/dist/cjs/modal/modal.cjs +3 -3
  44. package/dist/cjs/navbar/index.cjs +25 -0
  45. package/dist/cjs/navbar/navbar-brand.cjs +28 -0
  46. package/dist/cjs/navbar/navbar-content.cjs +33 -0
  47. package/dist/cjs/navbar/navbar-context.cjs +14 -0
  48. package/dist/cjs/navbar/navbar-item.cjs +29 -0
  49. package/dist/cjs/navbar/navbar-menu/i18n.cjs +23 -0
  50. package/dist/cjs/navbar/navbar-menu/item.cjs +44 -0
  51. package/dist/cjs/navbar/navbar-menu/menu.cjs +62 -0
  52. package/dist/cjs/navbar/navbar-menu/toggle.cjs +95 -0
  53. package/dist/cjs/navbar/navbar.cjs +50 -0
  54. package/dist/cjs/navbar/use-navbar.cjs +126 -0
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. package/dist/cjs/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/user.cjs +22 -0
  62. package/dist/cjs/number-field/number-field.cjs +3 -3
  63. package/dist/cjs/pagination/hooks/use-pagination.cjs +7 -7
  64. package/dist/cjs/pagination/pagination.cjs +9 -9
  65. package/dist/cjs/pagination/use-pagination-item.cjs +3 -3
  66. package/dist/cjs/pagination/use-pagination.cjs +8 -8
  67. package/dist/cjs/range-calendar/range-calendar.cjs +7 -7
  68. package/dist/cjs/ripple/use-ripple.cjs +4 -4
  69. package/dist/cjs/select/select.cjs +90 -18
  70. package/dist/cjs/spinner/use-spinner.cjs +3 -3
  71. package/dist/cjs/system/react-utils/children.cjs +33 -0
  72. package/dist/cjs/system/react-utils/context.cjs +3 -3
  73. package/dist/cjs/system/react-utils/refs.cjs +3 -3
  74. package/dist/cjs/system/utils.cjs +2 -50
  75. package/dist/cjs/tabs/tabs.cjs +2 -2
  76. package/dist/cjs/tag-field/tag-field-item.cjs +2 -2
  77. package/dist/cjs/tag-field/tag-field-list.cjs +4 -4
  78. package/dist/cjs/tag-field/tag-field-root.cjs +14 -14
  79. package/dist/cjs/tag-field/tag-field-state-context.cjs +2 -2
  80. package/dist/cjs/tag-field/tag-field-tag-list.cjs +4 -4
  81. package/dist/cjs/tag-field/tag-field-trigger.cjs +2 -2
  82. package/dist/cjs/tag-field/tag-field.cjs +3 -3
  83. package/dist/cjs/tag-field/use-tag-field-state.cjs +6 -6
  84. package/dist/cjs/tag-field/use-tag-field.cjs +4 -4
  85. package/dist/cjs/text-area/text-area.cjs +2 -2
  86. package/dist/cjs/toast/index.cjs +13 -0
  87. package/dist/cjs/toast/toast.cjs +91 -0
  88. package/dist/cjs/toggle/toggle.cjs +3 -3
  89. package/dist/esm/accordion/accordion.js +182 -0
  90. package/dist/esm/accordion/index.js +2 -0
  91. package/dist/esm/avatar/avatar-context.js +9 -0
  92. package/dist/esm/avatar/avatar-group-context.js +84 -0
  93. package/dist/esm/avatar/avatar-group.js +58 -0
  94. package/dist/esm/avatar/avatar.js +128 -0
  95. package/dist/esm/avatar/hooks/use-img-loading-status.js +66 -0
  96. package/dist/esm/avatar/index.js +13 -0
  97. package/dist/esm/avatar/utils.js +7 -0
  98. package/dist/esm/badge/badge.js +1 -1
  99. package/dist/esm/banner/banner.js +3 -3
  100. package/dist/esm/button/button.js +12 -9
  101. package/dist/esm/calendar/calendar-header.js +2 -2
  102. package/dist/esm/checkbox/checkbox.js +4 -4
  103. package/dist/esm/combo-box/combo-box.js +3 -3
  104. package/dist/esm/date-picker/date-picker.js +4 -3
  105. package/dist/esm/date-range-picker/date-range-picker.js +2 -2
  106. package/dist/esm/field/field.js +1 -1
  107. package/dist/esm/file-dropzone/file-dropzone.js +12 -8
  108. package/dist/esm/file-dropzone/file-info.js +4 -3
  109. package/dist/esm/file-dropzone/utils.js +4 -4
  110. package/dist/esm/govt-banner/govt-banner.js +4 -4
  111. package/dist/esm/hooks/use-scroll-position.js +51 -0
  112. package/dist/esm/index.js +24 -7
  113. package/dist/esm/menu/menu.js +2 -2
  114. package/dist/esm/modal/modal-content.js +2 -2
  115. package/dist/esm/navbar/index.js +10 -0
  116. package/dist/esm/navbar/navbar-brand.js +26 -0
  117. package/dist/esm/navbar/navbar-content.js +31 -0
  118. package/dist/esm/navbar/navbar-context.js +11 -0
  119. package/dist/esm/navbar/navbar-item.js +27 -0
  120. package/dist/esm/navbar/navbar-menu/i18n.js +21 -0
  121. package/dist/esm/navbar/navbar-menu/item.js +42 -0
  122. package/dist/esm/navbar/navbar-menu/menu.js +60 -0
  123. package/dist/esm/navbar/navbar-menu/toggle.js +93 -0
  124. package/dist/esm/navbar/navbar.js +48 -0
  125. package/dist/esm/navbar/use-navbar.js +124 -0
  126. 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
  127. 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
  128. 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
  129. 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
  130. package/dist/esm/node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/user.js +17 -0
  131. package/dist/esm/number-field/number-field.js +3 -3
  132. package/dist/esm/pagination/pagination.js +3 -3
  133. package/dist/esm/pagination/use-pagination-item.js +1 -1
  134. package/dist/esm/range-calendar/range-calendar.js +1 -1
  135. package/dist/esm/select/select.js +91 -19
  136. package/dist/esm/system/react-utils/children.js +29 -0
  137. package/dist/esm/system/utils.js +2 -49
  138. package/dist/esm/tag-field/tag-field-tag-list.js +1 -1
  139. package/dist/esm/tag-field/tag-field.js +1 -1
  140. package/dist/esm/toast/index.js +3 -0
  141. package/dist/esm/toast/toast.js +86 -0
  142. package/dist/types/accordion/accordion.d.ts +50 -0
  143. package/dist/types/accordion/accordion.d.ts.map +1 -0
  144. package/dist/types/accordion/index.d.ts +2 -0
  145. package/dist/types/accordion/index.d.ts.map +1 -0
  146. package/dist/types/avatar/avatar-context.d.ts +12 -0
  147. package/dist/types/avatar/avatar-context.d.ts.map +1 -0
  148. package/dist/types/avatar/avatar-group-context.d.ts +70 -0
  149. package/dist/types/avatar/avatar-group-context.d.ts.map +1 -0
  150. package/dist/types/avatar/avatar-group.d.ts +5 -0
  151. package/dist/types/avatar/avatar-group.d.ts.map +1 -0
  152. package/dist/types/avatar/avatar.d.ts +18 -0
  153. package/dist/types/avatar/avatar.d.ts.map +1 -0
  154. package/dist/types/avatar/hooks/use-img-loading-status.d.ts +4 -0
  155. package/dist/types/avatar/hooks/use-img-loading-status.d.ts.map +1 -0
  156. package/dist/types/avatar/index.d.ts +15 -0
  157. package/dist/types/avatar/index.d.ts.map +1 -0
  158. package/dist/types/avatar/utils.d.ts +2 -0
  159. package/dist/types/avatar/utils.d.ts.map +1 -0
  160. package/dist/types/button/button.d.ts +12 -6
  161. package/dist/types/button/button.d.ts.map +1 -1
  162. package/dist/types/calendar/calendar.d.ts.map +1 -1
  163. package/dist/types/checkbox/checkbox-group-style-context.d.ts +1 -1
  164. package/dist/types/checkbox/checkbox-group-style-context.d.ts.map +1 -1
  165. package/dist/types/date-field/date-field.d.ts.map +1 -1
  166. package/dist/types/file-dropzone/file-dropzone.d.ts +8 -2
  167. package/dist/types/file-dropzone/file-dropzone.d.ts.map +1 -1
  168. package/dist/types/file-dropzone/file-info.d.ts.map +1 -1
  169. package/dist/types/file-dropzone/types.d.ts +1 -0
  170. package/dist/types/file-dropzone/types.d.ts.map +1 -1
  171. package/dist/types/file-dropzone/utils.d.ts +2 -1
  172. package/dist/types/file-dropzone/utils.d.ts.map +1 -1
  173. package/dist/types/hooks/use-scroll-position.d.ts +29 -0
  174. package/dist/types/hooks/use-scroll-position.d.ts.map +1 -0
  175. package/dist/types/index.d.mts +4 -0
  176. package/dist/types/index.d.ts +4 -0
  177. package/dist/types/index.d.ts.map +1 -1
  178. package/dist/types/menu/menu.d.ts.map +1 -1
  179. package/dist/types/navbar/index.d.ts +17 -0
  180. package/dist/types/navbar/index.d.ts.map +1 -0
  181. package/dist/types/navbar/navbar-brand.d.ts +6 -0
  182. package/dist/types/navbar/navbar-brand.d.ts.map +1 -0
  183. package/dist/types/navbar/navbar-content.d.ts +14 -0
  184. package/dist/types/navbar/navbar-content.d.ts.map +1 -0
  185. package/dist/types/navbar/navbar-context.d.ts +182 -0
  186. package/dist/types/navbar/navbar-context.d.ts.map +1 -0
  187. package/dist/types/navbar/navbar-item.d.ts +11 -0
  188. package/dist/types/navbar/navbar-item.d.ts.map +1 -0
  189. package/dist/types/navbar/navbar-menu/i18n.d.ts +3 -0
  190. package/dist/types/navbar/navbar-menu/i18n.d.ts.map +1 -0
  191. package/dist/types/navbar/navbar-menu/item.d.ts +16 -0
  192. package/dist/types/navbar/navbar-menu/item.d.ts.map +1 -0
  193. package/dist/types/navbar/navbar-menu/menu.d.ts +11 -0
  194. package/dist/types/navbar/navbar-menu/menu.d.ts.map +1 -0
  195. package/dist/types/navbar/navbar-menu/toggle.d.ts +12 -0
  196. package/dist/types/navbar/navbar-menu/toggle.d.ts.map +1 -0
  197. package/dist/types/navbar/navbar.d.ts +6 -0
  198. package/dist/types/navbar/navbar.d.ts.map +1 -0
  199. package/dist/types/navbar/use-navbar.d.ts +163 -0
  200. package/dist/types/navbar/use-navbar.d.ts.map +1 -0
  201. package/dist/types/range-calendar/range-calendar.d.ts.map +1 -1
  202. package/dist/types/select/select-item.d.ts +1 -2
  203. package/dist/types/select/select-item.d.ts.map +1 -1
  204. package/dist/types/select/select.d.ts +14 -0
  205. package/dist/types/select/select.d.ts.map +1 -1
  206. package/dist/types/spinner/use-spinner.d.ts +8 -8
  207. package/dist/types/system/react-utils/children.d.ts +13 -0
  208. package/dist/types/system/react-utils/children.d.ts.map +1 -0
  209. package/dist/types/system/react-utils/context.d.ts +4 -4
  210. package/dist/types/system/react-utils/context.d.ts.map +1 -1
  211. package/dist/types/system/react-utils/index.d.ts +5 -3
  212. package/dist/types/system/react-utils/index.d.ts.map +1 -1
  213. package/dist/types/system/utils.d.ts +1 -833
  214. package/dist/types/system/utils.d.ts.map +1 -1
  215. package/dist/types/tabs/tabs.d.ts.map +1 -1
  216. package/dist/types/tag-field/tag-field-item.d.ts.map +1 -1
  217. package/dist/types/tag-field/tag-field-list.d.ts.map +1 -1
  218. package/dist/types/toast/index.d.ts +3 -0
  219. package/dist/types/toast/index.d.ts.map +1 -0
  220. package/dist/types/toast/toast.d.ts +9 -0
  221. package/dist/types/toast/toast.d.ts.map +1 -0
  222. package/package.json +13 -12
  223. /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
  224. /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
  225. /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
  226. /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
  227. /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
  228. /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
  229. /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
  230. /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
  231. /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
  232. /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
  233. /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
  234. /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
  235. /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
  236. /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
  237. /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
  238. /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
  239. /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
  240. /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
  241. /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
  242. /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
  243. /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
  244. /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
  245. /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
  246. /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
  247. /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
  248. /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
  249. /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
  250. /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
  251. /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
  252. /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
  253. /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
  254. /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
  255. /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
  256. /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
  257. /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
  258. /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
  259. /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
  260. /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
  261. /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
  262. /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
  263. /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
  264. /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
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { dataAttr, cn } from '@opengovsg/oui-theme';
5
+ import { forwardRef } from '../system/utils.js';
6
+ import { useNavbarContext } from './navbar-context.js';
7
+ import { useDomRef } from '../system/react-utils/refs.js';
8
+
9
+ const NavbarItem = forwardRef((props, ref) => {
10
+ const { as, className, children, isActive, ...otherProps } = props;
11
+ const Component = as || "div";
12
+ const domRef = useDomRef(ref);
13
+ const { slots, classNames } = useNavbarContext();
14
+ return /* @__PURE__ */ jsx(
15
+ Component,
16
+ {
17
+ ref: domRef,
18
+ className: slots.item({ className: cn(classNames?.item, className) }),
19
+ "data-active": dataAttr(isActive),
20
+ ...otherProps,
21
+ children
22
+ }
23
+ );
24
+ });
25
+ NavbarItem.displayName = "NavbarItem";
26
+
27
+ export { NavbarItem };
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ const i18nStrings = {
3
+ "en-SG": {
4
+ openMenu: "Open navigation menu",
5
+ closeMenu: "Close navigation menu"
6
+ },
7
+ "zh-SG": {
8
+ openMenu: "\u6253\u5F00\u5BFC\u822A\u83DC\u5355",
9
+ closeMenu: "\u5173\u95ED\u5BFC\u822A\u83DC\u5355"
10
+ },
11
+ "ms-SG": {
12
+ openMenu: "Buka menu navigasi",
13
+ closeMenu: "Tutup menu navigasi"
14
+ },
15
+ "ta-SG": {
16
+ openMenu: "\u0BA8\u0BC7\u0BB5\u0BBF\u0B95\u0BC7\u0BB7\u0BA9\u0BCD \u0BAE\u0BC6\u0BA9\u0BC1\u0BB5\u0BC8\u0BA4\u0BCD \u0BA4\u0BBF\u0BB1",
17
+ closeMenu: "\u0BA8\u0BC7\u0BB5\u0BBF\u0B95\u0BC7\u0BB7\u0BA9\u0BCD \u0BAE\u0BC6\u0BA9\u0BC1\u0BB5\u0BC8 \u0BAE\u0BC2\u0B9F\u0BC1"
18
+ }
19
+ };
20
+
21
+ export { i18nStrings };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { useRenderProps, composeRenderProps } from 'react-aria-components';
5
+ import { navbarMenuItemStyles, cn, dataAttr } from '@opengovsg/oui-theme';
6
+ import { forwardRef } from '../../system/utils.js';
7
+ import { useNavbarContext } from '../navbar-context.js';
8
+ import { useDomRef } from '../../system/react-utils/refs.js';
9
+
10
+ const NavbarMenuItem = forwardRef(
11
+ (props, ref) => {
12
+ const { className, children, isActive, ...otherProps } = props;
13
+ const domRef = useDomRef(ref);
14
+ const { isMenuOpen, classNames } = useNavbarContext();
15
+ const renderProps = useRenderProps({
16
+ className: composeRenderProps(
17
+ className,
18
+ (className2, renderProps2) => navbarMenuItemStyles({
19
+ className: cn(classNames?.menuItem, className2),
20
+ ...renderProps2
21
+ })
22
+ ),
23
+ values: {
24
+ isActive: !!isActive
25
+ }
26
+ });
27
+ return /* @__PURE__ */ jsx(
28
+ "li",
29
+ {
30
+ ref: domRef,
31
+ className: renderProps.className,
32
+ "data-active": dataAttr(isActive),
33
+ "data-open": dataAttr(isMenuOpen),
34
+ ...otherProps,
35
+ children
36
+ }
37
+ );
38
+ }
39
+ );
40
+ NavbarMenuItem.displayName = "NavbarMenuItem";
41
+
42
+ export { NavbarMenuItem };
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { Overlay as $337b884510726a0d$export$c6fdb837b070b4ff } from '../../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';
5
+ import { chain } from 'react-aria';
6
+ import { dataAttr, cn } from '@opengovsg/oui-theme';
7
+ import { forwardRef } from '../../system/utils.js';
8
+ import { useNavbarContext } from '../navbar-context.js';
9
+ import { useDomRef } from '../../system/react-utils/refs.js';
10
+
11
+ const NavbarMenu = forwardRef(
12
+ ({ className, children, portalContainer, style, onKeyDown, ...props }, ref) => {
13
+ const domRef = useDomRef(ref);
14
+ const {
15
+ slots,
16
+ isMenuOpen,
17
+ menuTopOffsetPx,
18
+ classNames,
19
+ setIsMenuOpen,
20
+ domRef: parentRef,
21
+ menuRef
22
+ } = useNavbarContext();
23
+ const handleKeyDown = (e) => {
24
+ if (e.key === "Escape") {
25
+ e.stopPropagation();
26
+ setIsMenuOpen(false);
27
+ menuRef.current?.focus();
28
+ }
29
+ };
30
+ if (!isMenuOpen) return null;
31
+ return /* @__PURE__ */ jsx(
32
+ $337b884510726a0d$export$c6fdb837b070b4ff,
33
+ {
34
+ disableFocusManagement: true,
35
+ portalContainer: portalContainer ?? parentRef.current ?? void 0,
36
+ children: /* @__PURE__ */ jsx(
37
+ "ul",
38
+ {
39
+ ref: domRef,
40
+ className: slots.menu?.({
41
+ className: cn(classNames?.menu, className)
42
+ }),
43
+ "data-open": dataAttr(isMenuOpen),
44
+ style: {
45
+ ...style,
46
+ // @ts-expect-error due to not having any type declaration for CSS variables in React style prop
47
+ "--menu-offset": menuTopOffsetPx
48
+ },
49
+ onKeyDown: chain(handleKeyDown, onKeyDown),
50
+ ...props,
51
+ children
52
+ }
53
+ )
54
+ }
55
+ );
56
+ }
57
+ );
58
+ NavbarMenu.displayName = "NavbarMenu";
59
+
60
+ export { NavbarMenu };
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsx } from 'react/jsx-runtime';
4
+ import { useMemo } from 'react';
5
+ import { useMessageFormatter, chain } from 'react-aria';
6
+ import { ToggleButton } from 'react-aria-components';
7
+ import { buttonStyles, cn, dataAttr } from '@opengovsg/oui-theme';
8
+ import { useNavbarContext } from '../navbar-context.js';
9
+ import { i18nStrings } from './i18n.js';
10
+
11
+ const NavbarMenuToggle = ({
12
+ icon,
13
+ className,
14
+ onChange,
15
+ classNames,
16
+ size = "sm",
17
+ radius,
18
+ isIconOnly = true,
19
+ ...props
20
+ }) => {
21
+ const {
22
+ slots,
23
+ classNames: contextClassNames,
24
+ isMenuOpen,
25
+ setIsMenuOpen,
26
+ menuRef,
27
+ position,
28
+ menuTopOffset
29
+ } = useNavbarContext();
30
+ const shouldScrollToTop = (isMenuOpen2) => {
31
+ if (!isMenuOpen2 || position === "sticky" || typeof window === "undefined") {
32
+ return;
33
+ }
34
+ window.scrollTo({ top: menuTopOffset, behavior: "instant" });
35
+ };
36
+ const formatMessage = useMessageFormatter(i18nStrings);
37
+ const toggleStyles = useMemo(() => {
38
+ return buttonStyles({
39
+ variant: "unstyled",
40
+ size,
41
+ radius,
42
+ isIconOnly,
43
+ className: slots.toggle({
44
+ className: cn(
45
+ contextClassNames?.toggle,
46
+ className ?? classNames?.toggle
47
+ )
48
+ })
49
+ });
50
+ }, [
51
+ className,
52
+ classNames?.toggle,
53
+ contextClassNames?.toggle,
54
+ isIconOnly,
55
+ radius,
56
+ size,
57
+ slots
58
+ ]);
59
+ const child = useMemo(() => {
60
+ if (typeof icon === "function") {
61
+ return icon(isMenuOpen ?? false);
62
+ }
63
+ return icon || /* @__PURE__ */ jsx(
64
+ "span",
65
+ {
66
+ className: slots.toggleIcon({
67
+ class: cn(contextClassNames?.toggleIcon, classNames?.toggleIcon)
68
+ })
69
+ }
70
+ );
71
+ }, [
72
+ icon,
73
+ slots,
74
+ classNames?.toggleIcon,
75
+ contextClassNames?.toggleIcon,
76
+ isMenuOpen
77
+ ]);
78
+ return /* @__PURE__ */ jsx(
79
+ ToggleButton,
80
+ {
81
+ "aria-label": isMenuOpen ? formatMessage("closeMenu") : formatMessage("openMenu"),
82
+ ref: menuRef,
83
+ "data-open": dataAttr(isMenuOpen),
84
+ className: toggleStyles,
85
+ isSelected: isMenuOpen,
86
+ onChange: chain(onChange, shouldScrollToTop, setIsMenuOpen),
87
+ ...props,
88
+ children: child
89
+ }
90
+ );
91
+ };
92
+
93
+ export { NavbarMenuToggle };
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ "use client";
3
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
+ import { LazyMotion, domAnimation, m } from 'motion/react';
5
+ import { FocusScope, mergeProps } from 'react-aria';
6
+ import { pickChildren } from '../system/react-utils/children.js';
7
+ import { forwardRef } from '../system/utils.js';
8
+ import { NavbarProvider } from './navbar-context.js';
9
+ import { NavbarMenu } from './navbar-menu/menu.js';
10
+ import { useNavbar } from './use-navbar.js';
11
+
12
+ const showOnScrollUpVariants = {
13
+ visible: {
14
+ y: 0,
15
+ transition: {
16
+ ease: [0, 0, 0.2, 1]
17
+ }
18
+ },
19
+ hidden: {
20
+ y: "-100%",
21
+ transition: {
22
+ ease: [0, 0, 0.2, 1]
23
+ }
24
+ }
25
+ };
26
+ const Navbar = forwardRef((props, ref) => {
27
+ const { children, ...otherProps } = props;
28
+ const context = useNavbar({ ...otherProps, ref });
29
+ const Component = context.Component;
30
+ const [childrenWithoutMenu, menu] = pickChildren(children, NavbarMenu);
31
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
32
+ /* @__PURE__ */ jsx("header", { ...context.getWrapperProps(), children: childrenWithoutMenu }),
33
+ menu
34
+ ] });
35
+ return /* @__PURE__ */ jsx(NavbarProvider, { value: context, children: /* @__PURE__ */ jsx(FocusScope, { contain: context.isMenuOpen, children: context.shouldShowOnScrollUp ? /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx(
36
+ m.nav,
37
+ {
38
+ animate: context.isNavbarHidden ? "hidden" : "visible",
39
+ initial: "visible",
40
+ variants: showOnScrollUpVariants,
41
+ ...mergeProps(context.getBaseProps(), context.motionProps),
42
+ children: content
43
+ }
44
+ ) }) : /* @__PURE__ */ jsx(Component, { ...context.getBaseProps(), children: content }) }) });
45
+ });
46
+ Navbar.displayName = "Navbar";
47
+
48
+ export { Navbar };
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ "use client";
3
+ import { useRef, useCallback, useState, useEffect } from 'react';
4
+ import { usePreventScroll as $49c51c25361d4cd2$export$ee0f7cc6afcd1c18 } from '../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';
5
+ import { useResizeObserver, mergeProps } from '@react-aria/utils';
6
+ import { useControlledState } from '@react-stately/utils';
7
+ import { navbarStyles, cn, dataAttr } from '@opengovsg/oui-theme';
8
+ import { useScrollPosition } from '../hooks/use-scroll-position.js';
9
+ import { mapPropsVariants } from '../system/utils.js';
10
+ import { useDomRef } from '../system/react-utils/refs.js';
11
+
12
+ const NAVBAR_PRESENCE_BUFFER = 10;
13
+ function useNavbar(originalProps) {
14
+ const [
15
+ {
16
+ ref,
17
+ as,
18
+ parentRef,
19
+ height = "4rem",
20
+ shouldBlockScroll = true,
21
+ shouldShowOnScrollUp = false,
22
+ disableScrollHandler = false,
23
+ onScrollPositionChange,
24
+ isMenuOpen: isMenuOpenProp,
25
+ isMenuDefaultOpen,
26
+ onMenuOpenChange = () => {
27
+ },
28
+ className,
29
+ classNames,
30
+ motionProps,
31
+ ...otherProps
32
+ },
33
+ variantProps
34
+ ] = mapPropsVariants(originalProps, navbarStyles.variantKeys);
35
+ const Component = as || "nav";
36
+ const domRef = useDomRef(ref);
37
+ const menuRef = useRef(null);
38
+ const handleMenuOpenChange = useCallback(
39
+ (isOpen) => {
40
+ onMenuOpenChange(isOpen || false);
41
+ },
42
+ [onMenuOpenChange]
43
+ );
44
+ const [menuTopOffset, setMenuOffset] = useState(0);
45
+ const [isNavbarHidden, setIsNavbarHidden] = useState(false);
46
+ const [isMenuOpen, setIsMenuOpen] = useControlledState(
47
+ isMenuOpenProp,
48
+ isMenuDefaultOpen ?? false,
49
+ handleMenuOpenChange
50
+ );
51
+ $49c51c25361d4cd2$export$ee0f7cc6afcd1c18({
52
+ isDisabled: !(shouldBlockScroll && isMenuOpen)
53
+ });
54
+ useResizeObserver({
55
+ ref: domRef,
56
+ onResize: () => {
57
+ setMenuOffset(domRef.current?.getBoundingClientRect().top || 0);
58
+ }
59
+ });
60
+ const truePosition = variantProps.position ?? "sticky";
61
+ const positionVariantProp = shouldShowOnScrollUp ? "sticky" : truePosition;
62
+ const slots = navbarStyles({
63
+ ...variantProps,
64
+ position: positionVariantProp
65
+ });
66
+ const baseStyles = cn(classNames?.base, className);
67
+ const navHeight = useRef(0);
68
+ useEffect(() => {
69
+ navHeight.current = domRef.current?.offsetHeight || 0;
70
+ }, [domRef]);
71
+ useScrollPosition({
72
+ elementRef: parentRef,
73
+ isEnabled: shouldShowOnScrollUp || !disableScrollHandler,
74
+ callback: ({ prevPos, currPos }) => {
75
+ onScrollPositionChange?.(currPos.y);
76
+ if (shouldShowOnScrollUp) {
77
+ setIsNavbarHidden((prev) => {
78
+ const next = currPos.y > prevPos.y + NAVBAR_PRESENCE_BUFFER && currPos.y > navHeight.current;
79
+ return next !== prev ? next : prev;
80
+ });
81
+ }
82
+ }
83
+ });
84
+ const heightPx = typeof height === "number" ? `${height}px` : height;
85
+ const menuTopOffsetPx = `calc(${heightPx} + ${menuTopOffset}px)`;
86
+ const getBaseProps = (props = {}) => ({
87
+ ...mergeProps(otherProps, props),
88
+ "data-hidden": dataAttr(isNavbarHidden),
89
+ "data-menu-open": dataAttr(isMenuOpen),
90
+ ref: domRef,
91
+ className: slots.base({ class: cn(baseStyles, props?.className) }),
92
+ style: {
93
+ "--navbar-height": heightPx,
94
+ ...otherProps?.style,
95
+ ...props?.style
96
+ }
97
+ });
98
+ const getWrapperProps = (props = {}) => ({
99
+ ...props,
100
+ "data-menu-open": dataAttr(isMenuOpen),
101
+ className: slots.wrapper({
102
+ class: cn(classNames?.wrapper, props?.className)
103
+ })
104
+ });
105
+ return {
106
+ Component,
107
+ slots,
108
+ domRef,
109
+ menuTopOffset,
110
+ menuTopOffsetPx,
111
+ isNavbarHidden,
112
+ shouldShowOnScrollUp: shouldShowOnScrollUp && truePosition === "static",
113
+ isMenuOpen,
114
+ classNames,
115
+ setIsMenuOpen,
116
+ menuRef,
117
+ getBaseProps,
118
+ getWrapperProps,
119
+ position: positionVariantProp,
120
+ motionProps
121
+ };
122
+ }
123
+
124
+ export { useNavbar };
@@ -0,0 +1,52 @@
1
+ import { useUNSAFE_PortalContext as $96b38030c423d352$export$9fc1347d4195ccb3 } from './PortalProvider.js';
2
+ import { ClearPressResponder } from '@react-aria/interactions';
3
+ import { FocusScope } from '@react-aria/focus';
4
+ import $670gB$react, { useState, useMemo } from 'react';
5
+ import $4AOtR$reactdom from 'react-dom';
6
+ import { useIsSSR as $b5e257d569688ac6$export$535bd6ca7f90a273 } from '../../../../../@react-aria_ssr@3.9.10_react@19.2.3/node_modules/@react-aria/ssr/dist/SSRProvider.js';
7
+ import '@react-aria/utils';
8
+
9
+ /*
10
+ * Copyright 2022 Adobe. All rights reserved.
11
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
12
+ * you may not use this file except in compliance with the License. You may obtain a copy
13
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
14
+ *
15
+ * Unless required by applicable law or agreed to in writing, software distributed under
16
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
17
+ * OF ANY KIND, either express or implied. See the License for the specific language
18
+ * governing permissions and limitations under the License.
19
+ */
20
+
21
+
22
+
23
+
24
+
25
+
26
+ const $337b884510726a0d$export$a2200b96afd16271 = /*#__PURE__*/ ($670gB$react).createContext(null);
27
+ function $337b884510726a0d$export$c6fdb837b070b4ff(props) {
28
+ let isSSR = ($b5e257d569688ac6$export$535bd6ca7f90a273)();
29
+ let { portalContainer: portalContainer = isSSR ? null : document.body, isExiting: isExiting } = props;
30
+ let [contain, setContain] = (useState)(false);
31
+ let contextValue = (useMemo)(()=>({
32
+ contain: contain,
33
+ setContain: setContain
34
+ }), [
35
+ contain,
36
+ setContain
37
+ ]);
38
+ let { getContainer: getContainer } = ($96b38030c423d352$export$9fc1347d4195ccb3)();
39
+ if (!props.portalContainer && getContainer) portalContainer = getContainer();
40
+ if (!portalContainer) return null;
41
+ let contents = props.children;
42
+ if (!props.disableFocusManagement) contents = /*#__PURE__*/ ($670gB$react).createElement((FocusScope), {
43
+ restoreFocus: true,
44
+ contain: (props.shouldContainFocus || contain) && !isExiting
45
+ }, contents);
46
+ contents = /*#__PURE__*/ ($670gB$react).createElement($337b884510726a0d$export$a2200b96afd16271.Provider, {
47
+ value: contextValue
48
+ }, /*#__PURE__*/ ($670gB$react).createElement((ClearPressResponder), null, contents));
49
+ return /*#__PURE__*/ ($4AOtR$reactdom).createPortal(contents, portalContainer);
50
+ }
51
+
52
+ export { $337b884510726a0d$export$c6fdb837b070b4ff as Overlay, $337b884510726a0d$export$a2200b96afd16271 as OverlayContext };
@@ -0,0 +1,20 @@
1
+ import { useContext, createContext } from 'react';
2
+
3
+ /*
4
+ * Copyright 2024 Adobe. All rights reserved.
5
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License. You may obtain a copy
7
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under
10
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
11
+ * OF ANY KIND, either express or implied. See the License for the specific language
12
+ * governing permissions and limitations under the License.
13
+ */
14
+ const $96b38030c423d352$export$60d741e20e0aa309 = /*#__PURE__*/ (createContext)({});
15
+ function $96b38030c423d352$export$9fc1347d4195ccb3() {
16
+ var _useContext;
17
+ return (_useContext = (useContext)($96b38030c423d352$export$60d741e20e0aa309)) !== null && _useContext !== void 0 ? _useContext : {};
18
+ }
19
+
20
+ export { $96b38030c423d352$export$60d741e20e0aa309 as PortalContext, $96b38030c423d352$export$9fc1347d4195ccb3 as useUNSAFE_PortalContext };