@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,189 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var $670gB$react = require('react');
7
+ var reactAriaComponents = require('react-aria-components');
8
+ var ouiTheme = require('@opengovsg/oui-theme');
9
+ var children = require('../system/react-utils/children.cjs');
10
+ var utils = require('../system/utils.cjs');
11
+ var context = require('../system/react-utils/context.cjs');
12
+ var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
13
+
14
+ const [AccordionStyleContext, useAccordionStyleContext] = context.createContext({
15
+ name: "AccordionStyleContext",
16
+ strict: true
17
+ });
18
+ const AccordionItem = utils.forwardRef(
19
+ ({ classNames, className, children, ...props }, ref) => {
20
+ const { slots } = $670gB$react.useContext(AccordionStyleContext);
21
+ return /* @__PURE__ */ jsxRuntime.jsx(
22
+ reactAriaComponents.Disclosure,
23
+ {
24
+ ...props,
25
+ ref,
26
+ className: reactAriaComponents.composeRenderProps(
27
+ className,
28
+ (className2, renderProps) => slots.item({
29
+ ...renderProps,
30
+ className: ouiTheme.cn(classNames?.item, className2)
31
+ })
32
+ ),
33
+ children
34
+ }
35
+ );
36
+ }
37
+ );
38
+ AccordionItem.displayName = "AccordionItem";
39
+ function AccordionHeader({
40
+ children: children$1,
41
+ classNames,
42
+ indicator,
43
+ startContent,
44
+ endContent,
45
+ hideIndicator = false
46
+ }) {
47
+ const { slots, classNames: contextClassNames } = $670gB$react.useContext(
48
+ AccordionStyleContext
49
+ );
50
+ const { isExpanded } = $670gB$react.useContext(reactAriaComponents.DisclosureStateContext);
51
+ return /* @__PURE__ */ jsxRuntime.jsx(
52
+ reactAriaComponents.Heading,
53
+ {
54
+ className: slots.heading({
55
+ className: ouiTheme.cn(contextClassNames?.heading, classNames?.heading)
56
+ }),
57
+ children: /* @__PURE__ */ jsxRuntime.jsx(
58
+ reactAriaComponents.Button,
59
+ {
60
+ slot: "trigger",
61
+ className: slots.trigger({
62
+ className: ouiTheme.cn(contextClassNames?.trigger, classNames?.trigger)
63
+ }),
64
+ children: (buttonRenderProps) => {
65
+ const headerRenderProps = { ...buttonRenderProps, isExpanded };
66
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
67
+ startContent && /* @__PURE__ */ jsxRuntime.jsx(
68
+ "div",
69
+ {
70
+ className: slots.startContentWrapper({
71
+ className: ouiTheme.cn(
72
+ contextClassNames?.startContentWrapper,
73
+ classNames?.startContentWrapper
74
+ )
75
+ }),
76
+ children: children.renderChildren(headerRenderProps, startContent)
77
+ }
78
+ ),
79
+ /* @__PURE__ */ jsxRuntime.jsx(
80
+ "span",
81
+ {
82
+ className: slots.title({
83
+ className: ouiTheme.cn(contextClassNames?.title, classNames?.title)
84
+ }),
85
+ children: children.renderChildren(headerRenderProps, children$1)
86
+ }
87
+ ),
88
+ !hideIndicator && /* @__PURE__ */ jsxRuntime.jsx(
89
+ "span",
90
+ {
91
+ "aria-hidden": true,
92
+ className: slots.indicator({
93
+ isExpanded,
94
+ className: ouiTheme.cn(
95
+ contextClassNames?.indicator,
96
+ classNames?.indicator
97
+ )
98
+ }),
99
+ children: children.renderChildren(
100
+ headerRenderProps,
101
+ indicator ?? /* @__PURE__ */ jsxRuntime.jsx(chevronDown.default, {})
102
+ )
103
+ }
104
+ ),
105
+ endContent && /* @__PURE__ */ jsxRuntime.jsx(
106
+ "div",
107
+ {
108
+ className: slots.endContentWrapper({
109
+ className: ouiTheme.cn(
110
+ contextClassNames?.endContentWrapper,
111
+ classNames?.endContentWrapper
112
+ )
113
+ }),
114
+ children: children.renderChildren(headerRenderProps, endContent)
115
+ }
116
+ )
117
+ ] });
118
+ }
119
+ }
120
+ )
121
+ }
122
+ );
123
+ }
124
+ function AccordionContent({
125
+ children,
126
+ classNames,
127
+ ...props
128
+ }) {
129
+ const { slots, classNames: contextClassNames } = $670gB$react.useContext(
130
+ AccordionStyleContext
131
+ );
132
+ return /* @__PURE__ */ jsxRuntime.jsx(
133
+ reactAriaComponents.DisclosurePanel,
134
+ {
135
+ ...props,
136
+ className: ouiTheme.composeTailwindRenderProps(
137
+ props.className,
138
+ slots.panel({
139
+ className: ouiTheme.cn(contextClassNames?.panel, classNames?.panel)
140
+ })
141
+ ),
142
+ children: /* @__PURE__ */ jsxRuntime.jsx(
143
+ "div",
144
+ {
145
+ className: slots.content({
146
+ className: ouiTheme.cn(contextClassNames?.content, classNames?.content)
147
+ }),
148
+ children
149
+ }
150
+ )
151
+ }
152
+ );
153
+ }
154
+ const Accordion = utils.forwardRef(
155
+ (originalProps, ref) => {
156
+ const [
157
+ { classNames, className, ...props },
158
+ { size = "md", ...variantProps }
159
+ ] = utils.mapPropsVariants(originalProps, ouiTheme.accordionStyles.variantKeys);
160
+ const slots = ouiTheme.accordionStyles({ size, ...variantProps });
161
+ return /* @__PURE__ */ jsxRuntime.jsx(
162
+ AccordionStyleContext.Provider,
163
+ {
164
+ value: {
165
+ slots,
166
+ classNames
167
+ },
168
+ children: /* @__PURE__ */ jsxRuntime.jsx(
169
+ reactAriaComponents.DisclosureGroup,
170
+ {
171
+ className: slots.base({
172
+ className: ouiTheme.cn(classNames?.base, className)
173
+ }),
174
+ ...props,
175
+ ref
176
+ }
177
+ )
178
+ }
179
+ );
180
+ }
181
+ );
182
+ Accordion.displayName = "Accordion";
183
+
184
+ exports.Accordion = Accordion;
185
+ exports.AccordionContent = AccordionContent;
186
+ exports.AccordionHeader = AccordionHeader;
187
+ exports.AccordionItem = AccordionItem;
188
+ exports.AccordionStyleContext = AccordionStyleContext;
189
+ exports.useAccordionStyleContext = useAccordionStyleContext;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var accordion = require('./accordion.cjs');
5
+
6
+
7
+
8
+ exports.Accordion = accordion.Accordion;
9
+ exports.AccordionContent = accordion.AccordionContent;
10
+ exports.AccordionHeader = accordion.AccordionHeader;
11
+ exports.AccordionItem = accordion.AccordionItem;
12
+ exports.AccordionStyleContext = accordion.AccordionStyleContext;
13
+ exports.useAccordionStyleContext = accordion.useAccordionStyleContext;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var context = require('../system/react-utils/context.cjs');
5
+
6
+ const [AvatarContext, useAvatarContext] = context.createContext({
7
+ name: "AvatarContext",
8
+ strict: true
9
+ });
10
+
11
+ exports.AvatarContext = AvatarContext;
12
+ exports.useAvatarContext = useAvatarContext;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var $670gB$react = require('react');
5
+ var ouiTheme = require('@opengovsg/oui-theme');
6
+ var children = require('../system/react-utils/children.cjs');
7
+ var context = require('../system/react-utils/context.cjs');
8
+ var refs = require('../system/react-utils/refs.cjs');
9
+
10
+ const [AvatarGroupProvider, useAvatarGroupContext] = context.createContext({
11
+ name: "AvatarGroupContext",
12
+ strict: false
13
+ });
14
+ function useAvatarGroup(props = {}) {
15
+ const {
16
+ as,
17
+ ref,
18
+ max = 5,
19
+ total,
20
+ size,
21
+ color,
22
+ prominence,
23
+ radius,
24
+ children: children$1,
25
+ renderCount,
26
+ className,
27
+ classNames,
28
+ countProps,
29
+ ...otherProps
30
+ } = props;
31
+ const domRef = refs.useDomRef(ref);
32
+ const Component = as || "div";
33
+ const context = $670gB$react.useMemo(
34
+ () => ({
35
+ size,
36
+ color,
37
+ radius,
38
+ prominence
39
+ }),
40
+ [size, color, radius, prominence]
41
+ );
42
+ const slots = $670gB$react.useMemo(
43
+ () => ouiTheme.avatarGroupStyles({ className: className ?? classNames?.base }),
44
+ [className, classNames?.base]
45
+ );
46
+ const validChildren = children.getValidChildren(children$1);
47
+ const childrenWithinMax = max ? validChildren.slice(0, max) : validChildren;
48
+ const remainingCount = total ? total : max != null ? validChildren.length - max : -1;
49
+ const clones = childrenWithinMax.map((child, index) => {
50
+ return $670gB$react.cloneElement(child, {
51
+ // @ts-expect-error: CSS variable is not recognized as a valid style property
52
+ style: {
53
+ "--avatar-zindex": childrenWithinMax.length - index
54
+ }
55
+ });
56
+ });
57
+ const getAvatarGroupProps = () => {
58
+ return {
59
+ ref: domRef,
60
+ className: slots.base({
61
+ class: ouiTheme.cn(classNames?.base, className)
62
+ }),
63
+ role: "group",
64
+ ...otherProps
65
+ };
66
+ };
67
+ const getAvatarGroupCountProps = () => {
68
+ return {
69
+ className: slots.counter({
70
+ class: classNames?.counter
71
+ }),
72
+ ...countProps
73
+ };
74
+ };
75
+ return {
76
+ Component,
77
+ context,
78
+ remainingCount,
79
+ clones,
80
+ renderCount,
81
+ getAvatarGroupProps,
82
+ getAvatarGroupCountProps
83
+ };
84
+ }
85
+
86
+ exports.AvatarGroupProvider = AvatarGroupProvider;
87
+ exports.useAvatarGroup = useAvatarGroup;
88
+ exports.useAvatarGroupContext = useAvatarGroupContext;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var jsxRuntime = require('react/jsx-runtime');
5
+ var $670gB$react = require('react');
6
+ var utils = require('../system/utils.cjs');
7
+ var avatar = require('./avatar.cjs');
8
+ var avatarGroupContext = require('./avatar-group-context.cjs');
9
+
10
+ const AvatarGroup = utils.forwardRef((props, ref) => {
11
+ const {
12
+ Component,
13
+ clones,
14
+ context,
15
+ remainingCount,
16
+ getAvatarGroupCountProps,
17
+ getAvatarGroupProps,
18
+ renderCount
19
+ } = avatarGroupContext.useAvatarGroup({
20
+ ...props,
21
+ ref
22
+ });
23
+ const renderedCount = $670gB$react.useMemo(() => {
24
+ if (remainingCount <= 0) return null;
25
+ if (renderCount) {
26
+ return renderCount(remainingCount);
27
+ }
28
+ const countAvatarVariantProps = {
29
+ prominence: "subtle",
30
+ color: "primary"
31
+ };
32
+ if (context.prominence === "subtle") {
33
+ countAvatarVariantProps.color = "white";
34
+ }
35
+ return /* @__PURE__ */ jsxRuntime.jsx(
36
+ avatar.AvatarRoot,
37
+ {
38
+ ...countAvatarVariantProps,
39
+ ...getAvatarGroupCountProps(),
40
+ name: `+${remainingCount}`,
41
+ children: /* @__PURE__ */ jsxRuntime.jsxs(avatar.AvatarFallback, { children: [
42
+ "+",
43
+ remainingCount
44
+ ] })
45
+ }
46
+ );
47
+ }, [
48
+ context.prominence,
49
+ getAvatarGroupCountProps,
50
+ remainingCount,
51
+ renderCount
52
+ ]);
53
+ return /* @__PURE__ */ jsxRuntime.jsx(Component, { ...getAvatarGroupProps(), children: /* @__PURE__ */ jsxRuntime.jsxs(avatarGroupContext.AvatarGroupProvider, { value: context, children: [
54
+ clones,
55
+ renderedCount
56
+ ] }) });
57
+ });
58
+ AvatarGroup.displayName = "AvatarGroup";
59
+
60
+ exports.AvatarGroup = AvatarGroup;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var $670gB$react = require('react');
7
+ var utils$2 = require('@react-aria/utils');
8
+ var ouiTheme = require('@opengovsg/oui-theme');
9
+ var utils = require('../system/utils.cjs');
10
+ var avatarContext = require('./avatar-context.cjs');
11
+ var avatarGroupContext = require('./avatar-group-context.cjs');
12
+ var useImgLoadingStatus = require('./hooks/use-img-loading-status.cjs');
13
+ var utils$1 = require('./utils.cjs');
14
+ var refs = require('../system/react-utils/refs.cjs');
15
+ var user = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/user.cjs');
16
+
17
+ const AvatarRoot = utils.forwardRef(
18
+ (originalProps, ref) => {
19
+ const groupContext = avatarGroupContext.useAvatarGroupContext();
20
+ const [
21
+ {
22
+ name,
23
+ getInitials = utils$1.getInitialsFromText,
24
+ classNames,
25
+ className,
26
+ children,
27
+ as,
28
+ ...props
29
+ },
30
+ {
31
+ color = groupContext?.color,
32
+ prominence = groupContext?.prominence,
33
+ size = groupContext?.size,
34
+ radius = groupContext?.radius,
35
+ ...variantProps
36
+ }
37
+ ] = utils.mapPropsVariants(originalProps, ouiTheme.avatarStyles.variantKeys);
38
+ const isInGroup = !!groupContext;
39
+ const domRef = refs.useDomRef(ref);
40
+ const slots = ouiTheme.avatarStyles({
41
+ color,
42
+ prominence,
43
+ size,
44
+ radius,
45
+ isInGroup,
46
+ ...variantProps
47
+ });
48
+ const [imageLoadingStatus, setImageLoadingStatus] = $670gB$react.useState("idle");
49
+ const Component = as || "span";
50
+ return /* @__PURE__ */ jsxRuntime.jsx(
51
+ avatarContext.AvatarContext,
52
+ {
53
+ value: {
54
+ imageLoadingStatus,
55
+ setImageLoadingStatus,
56
+ slots,
57
+ classNames,
58
+ getInitials,
59
+ name
60
+ },
61
+ children: /* @__PURE__ */ jsxRuntime.jsx(
62
+ Component,
63
+ {
64
+ ref: domRef,
65
+ ...props,
66
+ className: slots.base({ className: className ?? classNames?.base }),
67
+ children
68
+ }
69
+ )
70
+ }
71
+ );
72
+ }
73
+ );
74
+ const AvatarImage = utils.forwardRef(
75
+ ({ src, as, ...props }, ref) => {
76
+ const domRef = refs.useDomRef(ref);
77
+ const {
78
+ setImageLoadingStatus,
79
+ imageLoadingStatus,
80
+ slots,
81
+ name,
82
+ classNames
83
+ } = avatarContext.useAvatarContext();
84
+ const currentImageStatus = useImgLoadingStatus.useImageLoadingStatus(src, props);
85
+ const Component = as || "img";
86
+ utils$2.useLayoutEffect(() => {
87
+ setImageLoadingStatus(currentImageStatus);
88
+ }, [currentImageStatus, setImageLoadingStatus]);
89
+ return /* @__PURE__ */ jsxRuntime.jsx(
90
+ Component,
91
+ {
92
+ ref: domRef,
93
+ alt: name,
94
+ "data-loaded": ouiTheme.dataAttr(imageLoadingStatus === "loaded"),
95
+ ...props,
96
+ src,
97
+ className: slots.image({ className: classNames?.image })
98
+ }
99
+ );
100
+ }
101
+ );
102
+ const AvatarFallback = utils.forwardRef(
103
+ ({ children, as, ...props }, ref) => {
104
+ const domRef = refs.useDomRef(ref);
105
+ const { slots, classNames, imageLoadingStatus, name, getInitials } = avatarContext.useAvatarContext();
106
+ const childrenToRender = $670gB$react.useMemo(() => {
107
+ if (children) return children;
108
+ if (name) {
109
+ return getInitials(name);
110
+ }
111
+ return /* @__PURE__ */ jsxRuntime.jsx(user.default, { className: slots.icon({ className: classNames?.icon }) });
112
+ }, [children, classNames?.icon, getInitials, name, slots]);
113
+ const Component = as || "div";
114
+ if (imageLoadingStatus === "loaded") {
115
+ return null;
116
+ }
117
+ return /* @__PURE__ */ jsxRuntime.jsx(
118
+ Component,
119
+ {
120
+ title: name,
121
+ className: slots.fallback({ className: classNames?.fallback }),
122
+ ref: domRef,
123
+ ...props,
124
+ children: childrenToRender
125
+ }
126
+ );
127
+ }
128
+ );
129
+
130
+ exports.AvatarFallback = AvatarFallback;
131
+ exports.AvatarImage = AvatarImage;
132
+ exports.AvatarRoot = AvatarRoot;
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var $670gB$react = require('react');
5
+
6
+ function useIsHydrated() {
7
+ return $670gB$react.useSyncExternalStore(
8
+ subscribe,
9
+ () => true,
10
+ () => false
11
+ );
12
+ }
13
+ function subscribe() {
14
+ return () => {
15
+ };
16
+ }
17
+ function resolveLoadingStatus(image, src) {
18
+ if (!image) {
19
+ return "idle";
20
+ }
21
+ if (!src) {
22
+ return "error";
23
+ }
24
+ if (image.src !== src) {
25
+ image.src = src;
26
+ }
27
+ return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
28
+ }
29
+ function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
30
+ const isHydrated = useIsHydrated();
31
+ const imageRef = $670gB$react.useRef(null);
32
+ const image = (() => {
33
+ if (!isHydrated) return null;
34
+ if (!imageRef.current) {
35
+ imageRef.current = new window.Image();
36
+ }
37
+ return imageRef.current;
38
+ })();
39
+ const [loadingStatus, setLoadingStatus] = $670gB$react.useState(
40
+ () => resolveLoadingStatus(image, src)
41
+ );
42
+ $670gB$react.useLayoutEffect(() => {
43
+ setLoadingStatus(resolveLoadingStatus(image, src));
44
+ }, [image, src]);
45
+ $670gB$react.useLayoutEffect(() => {
46
+ const updateStatus = (status) => () => {
47
+ setLoadingStatus(status);
48
+ };
49
+ if (!image) return;
50
+ const handleLoad = updateStatus("loaded");
51
+ const handleError = updateStatus("error");
52
+ image.addEventListener("load", handleLoad);
53
+ image.addEventListener("error", handleError);
54
+ if (referrerPolicy) {
55
+ image.referrerPolicy = referrerPolicy;
56
+ }
57
+ if (typeof crossOrigin === "string") {
58
+ image.crossOrigin = crossOrigin;
59
+ }
60
+ return () => {
61
+ image.removeEventListener("load", handleLoad);
62
+ image.removeEventListener("error", handleError);
63
+ };
64
+ }, [image, crossOrigin, referrerPolicy]);
65
+ return loadingStatus;
66
+ }
67
+
68
+ exports.useImageLoadingStatus = useImageLoadingStatus;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var avatar = require('./avatar.cjs');
5
+ var avatarContext = require('./avatar-context.cjs');
6
+ var avatarGroup = require('./avatar-group.cjs');
7
+ var avatarGroupContext = require('./avatar-group-context.cjs');
8
+
9
+ const Avatar = Object.assign(avatar.AvatarRoot, {
10
+ Root: avatar.AvatarRoot,
11
+ Image: avatar.AvatarImage,
12
+ Fallback: avatar.AvatarFallback
13
+ });
14
+
15
+ exports.AvatarFallback = avatar.AvatarFallback;
16
+ exports.AvatarImage = avatar.AvatarImage;
17
+ exports.AvatarRoot = avatar.AvatarRoot;
18
+ exports.AvatarContext = avatarContext.AvatarContext;
19
+ exports.useAvatarContext = avatarContext.useAvatarContext;
20
+ exports.AvatarGroup = avatarGroup.AvatarGroup;
21
+ exports.AvatarGroupProvider = avatarGroupContext.AvatarGroupProvider;
22
+ exports.useAvatarGroup = avatarGroupContext.useAvatarGroup;
23
+ exports.Avatar = Avatar;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ const getInitialsFromText = (text, limit = 2) => {
5
+ const initials = text?.trim().split(/[\s\-_.]+/).filter(Boolean).map((word) => word.charAt(0).toUpperCase()).join("") || "";
6
+ return initials.slice(0, limit);
7
+ };
8
+
9
+ exports.getInitialsFromText = getInitialsFromText;
@@ -3,11 +3,11 @@
3
3
  'use strict';
4
4
 
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
- var react = require('react');
6
+ var $670gB$react = require('react');
7
7
  var useBadge = require('./use-badge.cjs');
8
- var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
8
+ var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.3/node_modules/lucide-react/dist/esm/icons/x.cjs');
9
9
 
10
- const Badge = react.forwardRef((props, ref) => {
10
+ const Badge = $670gB$react.forwardRef((props, ref) => {
11
11
  const {
12
12
  Component,
13
13
  children,
@@ -19,13 +19,13 @@ const Badge = react.forwardRef((props, ref) => {
19
19
  endContent,
20
20
  isCloseable
21
21
  } = useBadge.useBadge({ ...props, ref });
22
- const start = react.useMemo(() => {
22
+ const start = $670gB$react.useMemo(() => {
23
23
  if (props.variant === "dot" && !startContent) {
24
24
  return /* @__PURE__ */ jsxRuntime.jsx("span", { className: slots.dot({ className: classNames?.dot }) });
25
25
  }
26
26
  return startContent;
27
27
  }, [props.variant, startContent, slots, classNames?.dot]);
28
- const end = react.useMemo(() => {
28
+ const end = $670gB$react.useMemo(() => {
29
29
  if (isCloseable) {
30
30
  return /* @__PURE__ */ jsxRuntime.jsx("span", { ...getCloseButtonProps(), children: endContent ?? /* @__PURE__ */ jsxRuntime.jsx(x.default, { className: "size-full" }) });
31
31
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  'use strict';
3
3
 
4
- var react = require('react');
4
+ var $670gB$react = require('react');
5
5
  var utils$1 = require('@react-aria/utils');
6
6
  var reactAria = require('react-aria');
7
7
  var useDeepCompare = require('use-deep-compare');
@@ -40,7 +40,7 @@ function useBadge(originalProps) {
40
40
  ...props
41
41
  } = _props;
42
42
  const domRef = refs.useDomRef(ref);
43
- const Component = react.useMemo(() => as || "div", [as]);
43
+ const Component = $670gB$react.useMemo(() => as || "div", [as]);
44
44
  const baseClassName = ouiTheme.cn(classNames?.base, className);
45
45
  const formatMessage = reactAria.useMessageFormatter(i18nStrings);
46
46
  const isCloseable = variantProps.isCloseable || !!onClose;
@@ -59,14 +59,14 @@ function useBadge(originalProps) {
59
59
  isDisabled: !!variantProps?.isDisabled,
60
60
  onPress: onClose
61
61
  });
62
- const getContentClone = react.useCallback(
63
- (content) => react.isValidElement(content) ? react.cloneElement(content, {
62
+ const getContentClone = $670gB$react.useCallback(
63
+ (content) => $670gB$react.isValidElement(content) ? $670gB$react.cloneElement(content, {
64
64
  // @ts-expect-error types are not full
65
65
  className: content.props?.className
66
66
  }) : null,
67
67
  []
68
68
  );
69
- const getChipProps = react.useCallback(() => {
69
+ const getChipProps = $670gB$react.useCallback(() => {
70
70
  return {
71
71
  ref: domRef,
72
72
  className: slots.base({ className: baseClassName }),
@@ -74,7 +74,7 @@ function useBadge(originalProps) {
74
74
  ...props
75
75
  };
76
76
  }, [baseClassName, domRef, props, slots, variantProps?.isDisabled]);
77
- const getCloseButtonProps = react.useCallback(() => {
77
+ const getCloseButtonProps = $670gB$react.useCallback(() => {
78
78
  return {
79
79
  role: "button",
80
80
  tabIndex: 0,