@opengovsg/oui 0.0.24 → 0.0.26

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 (138) hide show
  1. package/dist/cjs/badge/badge.cjs +1 -1
  2. package/dist/cjs/banner/banner.cjs +3 -3
  3. package/dist/cjs/button/button.cjs +2 -2
  4. package/dist/cjs/calendar/calendar-header.cjs +2 -2
  5. package/dist/cjs/checkbox/checkbox.cjs +3 -3
  6. package/dist/cjs/combo-box/combo-box.cjs +5 -5
  7. package/dist/cjs/date-field/date-field.cjs +1 -1
  8. package/dist/cjs/date-picker/date-picker.cjs +3 -3
  9. package/dist/cjs/date-range-picker/date-range-picker.cjs +4 -4
  10. package/dist/cjs/field/field.cjs +1 -1
  11. package/dist/cjs/file-dropzone/file-dropzone.cjs +3 -3
  12. package/dist/cjs/file-dropzone/file-info.cjs +1 -1
  13. package/dist/cjs/govt-banner/govt-banner.cjs +4 -4
  14. package/dist/cjs/hooks/index.cjs +2 -0
  15. package/dist/cjs/hooks/use-draggable.cjs +88 -0
  16. package/dist/cjs/index.cjs +66 -51
  17. package/dist/cjs/menu/menu.cjs +3 -3
  18. package/dist/cjs/modal/i18n.cjs +19 -0
  19. package/dist/cjs/modal/index.cjs +19 -0
  20. package/dist/cjs/modal/modal-body.cjs +26 -0
  21. package/dist/cjs/modal/modal-content.cjs +54 -0
  22. package/dist/cjs/modal/modal-footer.cjs +27 -0
  23. package/dist/cjs/modal/modal-header.cjs +25 -0
  24. package/dist/cjs/modal/modal-variant-context.cjs +13 -0
  25. package/dist/cjs/modal/modal.cjs +66 -0
  26. package/dist/cjs/number-field/number-field.cjs +3 -3
  27. package/dist/cjs/pagination/pagination.cjs +3 -3
  28. package/dist/cjs/select/select.cjs +3 -3
  29. package/dist/cjs/system/utils.cjs +0 -48
  30. package/dist/cjs/tag-field/tag-field-tag-list.cjs +1 -1
  31. package/dist/cjs/tag-field/tag-field.cjs +4 -4
  32. package/dist/cjs/text-area-field/text-area-field.cjs +1 -1
  33. package/dist/cjs/text-field/text-field.cjs +1 -1
  34. package/dist/esm/badge/badge.js +1 -1
  35. package/dist/esm/banner/banner.js +3 -3
  36. package/dist/esm/button/button.js +2 -2
  37. package/dist/esm/calendar/calendar-header.js +2 -2
  38. package/dist/esm/checkbox/checkbox.js +3 -3
  39. package/dist/esm/combo-box/combo-box.js +5 -5
  40. package/dist/esm/date-field/date-field.js +1 -1
  41. package/dist/esm/date-picker/date-picker.js +3 -3
  42. package/dist/esm/date-range-picker/date-range-picker.js +4 -4
  43. package/dist/esm/field/field.js +1 -1
  44. package/dist/esm/file-dropzone/file-dropzone.js +3 -3
  45. package/dist/esm/file-dropzone/file-info.js +1 -1
  46. package/dist/esm/govt-banner/govt-banner.js +4 -4
  47. package/dist/esm/hooks/index.js +1 -0
  48. package/dist/esm/hooks/use-draggable.js +86 -0
  49. package/dist/esm/index.js +25 -18
  50. package/dist/esm/menu/menu.js +3 -3
  51. package/dist/esm/modal/i18n.js +17 -0
  52. package/dist/esm/modal/index.js +7 -0
  53. package/dist/esm/modal/modal-body.js +24 -0
  54. package/dist/esm/modal/modal-content.js +52 -0
  55. package/dist/esm/modal/modal-footer.js +25 -0
  56. package/dist/esm/modal/modal-header.js +23 -0
  57. package/dist/esm/modal/modal-variant-context.js +10 -0
  58. package/dist/esm/modal/modal.js +64 -0
  59. package/dist/esm/number-field/number-field.js +3 -3
  60. package/dist/esm/pagination/pagination.js +3 -3
  61. package/dist/esm/select/select.js +3 -3
  62. package/dist/esm/system/utils.js +2 -49
  63. package/dist/esm/tag-field/tag-field-tag-list.js +1 -1
  64. package/dist/esm/tag-field/tag-field.js +4 -4
  65. package/dist/esm/text-area-field/text-area-field.js +1 -1
  66. package/dist/esm/text-field/text-field.js +1 -1
  67. package/dist/types/badge/use-badge.d.ts +12 -12
  68. package/dist/types/hooks/index.d.ts +4 -1
  69. package/dist/types/hooks/index.d.ts.map +1 -1
  70. package/dist/types/hooks/use-draggable.d.ts +24 -0
  71. package/dist/types/hooks/use-draggable.d.ts.map +1 -0
  72. package/dist/types/index.d.mts +1 -0
  73. package/dist/types/index.d.ts +1 -0
  74. package/dist/types/index.d.ts.map +1 -1
  75. package/dist/types/modal/i18n.d.ts +3 -0
  76. package/dist/types/modal/i18n.d.ts.map +1 -0
  77. package/dist/types/modal/index.d.ts +12 -0
  78. package/dist/types/modal/index.d.ts.map +1 -0
  79. package/dist/types/modal/modal-body.d.ts +5 -0
  80. package/dist/types/modal/modal-body.d.ts.map +1 -0
  81. package/dist/types/modal/modal-content.d.ts +10 -0
  82. package/dist/types/modal/modal-content.d.ts.map +1 -0
  83. package/dist/types/modal/modal-footer.d.ts +5 -0
  84. package/dist/types/modal/modal-footer.d.ts.map +1 -0
  85. package/dist/types/modal/modal-header.d.ts +5 -0
  86. package/dist/types/modal/modal-header.d.ts.map +1 -0
  87. package/dist/types/modal/modal-variant-context.d.ts +8 -0
  88. package/dist/types/modal/modal-variant-context.d.ts.map +1 -0
  89. package/dist/types/modal/modal.d.ts +8 -0
  90. package/dist/types/modal/modal.d.ts.map +1 -0
  91. package/dist/types/pagination/use-pagination.d.ts +36 -36
  92. package/dist/types/system/utils.d.ts +1 -833
  93. package/dist/types/system/utils.d.ts.map +1 -1
  94. package/package.json +9 -9
  95. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/Icon.cjs +0 -0
  96. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/createLucideIcon.cjs +0 -0
  97. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/defaultAttributes.cjs +0 -0
  98. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/calendar.cjs +0 -0
  99. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/check.cjs +0 -0
  100. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs +0 -0
  101. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs +0 -0
  102. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs +0 -0
  103. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs +0 -0
  104. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevrons-right.cjs +0 -0
  105. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs +0 -0
  106. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/ellipsis.cjs +0 -0
  107. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/external-link.cjs +0 -0
  108. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/info.cjs +0 -0
  109. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/landmark.cjs +0 -0
  110. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/lock.cjs +0 -0
  111. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/minus.cjs +0 -0
  112. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/plus.cjs +0 -0
  113. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/trash-2.cjs +0 -0
  114. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/upload.cjs +0 -0
  115. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/x.cjs +0 -0
  116. /package/dist/cjs/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/shared/src/utils.cjs +0 -0
  117. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/Icon.js +0 -0
  118. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/createLucideIcon.js +0 -0
  119. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/defaultAttributes.js +0 -0
  120. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/calendar.js +0 -0
  121. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/check.js +0 -0
  122. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-down.js +0 -0
  123. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-left.js +0 -0
  124. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-right.js +0 -0
  125. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevron-up.js +0 -0
  126. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/chevrons-right.js +0 -0
  127. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/circle-alert.js +0 -0
  128. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/ellipsis.js +0 -0
  129. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/external-link.js +0 -0
  130. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/info.js +0 -0
  131. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/landmark.js +0 -0
  132. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/lock.js +0 -0
  133. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/minus.js +0 -0
  134. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/plus.js +0 -0
  135. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/trash-2.js +0 -0
  136. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/upload.js +0 -0
  137. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/icons/x.js +0 -0
  138. /package/dist/esm/node_modules/.pnpm/{lucide-react@0.475.0_react@19.0.0 → lucide-react@0.475.0_react@19.2.1}/node_modules/lucide-react/dist/esm/shared/src/utils.js +0 -0
@@ -5,7 +5,7 @@
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var 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.1/node_modules/lucide-react/dist/esm/icons/x.cjs');
9
9
 
10
10
  const Badge = react.forwardRef((props, ref) => {
11
11
  const {
@@ -7,10 +7,10 @@ var react = require('react');
7
7
  var reactAria = require('react-aria');
8
8
  var reactStately = require('react-stately');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
11
- var info = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/info.cjs');
10
+ var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
11
+ var info = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/info.cjs');
12
12
  var button = require('../button/button.cjs');
13
- var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
13
+ var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/x.cjs');
14
14
 
15
15
  const i18nStrings = {
16
16
  "en-SG": {
@@ -7,9 +7,9 @@ var react = require('react');
7
7
  var utils = require('@react-aria/utils');
8
8
  var reactAriaComponents = require('react-aria-components');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var ripple = require('../ripple/ripple.cjs');
11
- var useRipple = require('../ripple/use-ripple.cjs');
12
10
  var spinner = require('../spinner/spinner.cjs');
11
+ var useRipple = require('../ripple/use-ripple.cjs');
12
+ var ripple = require('../ripple/ripple.cjs');
13
13
 
14
14
  const Button = react.forwardRef(
15
15
  ({
@@ -10,8 +10,8 @@ var agnosticCalendarStateContext = require('./agnostic-calendar-state-context.cj
10
10
  var calendarMonthDaySelector = require('./calendar-month-day-selector.cjs');
11
11
  var calendarStyleContext = require('./calendar-style-context.cjs');
12
12
  var utils = require('./utils.cjs');
13
- var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
14
- var chevronLeft = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs');
13
+ var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
14
+ var chevronLeft = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-left.cjs');
15
15
 
16
16
  function CalendarHeader({ offsetMonths = 0 }) {
17
17
  const { direction } = reactAriaComponents.useLocale();
@@ -5,11 +5,11 @@
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var reactAriaComponents = require('react-aria-components');
7
7
  var ouiTheme = require('@opengovsg/oui-theme');
8
- var field = require('../field/field.cjs');
9
8
  var utils = require('../system/utils.cjs');
10
9
  var checkboxGroupStyleContext = require('./checkbox-group-style-context.cjs');
11
- var minus = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/minus.cjs');
12
- var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.cjs');
10
+ var minus = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/minus.cjs');
11
+ var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/check.cjs');
12
+ var field = require('../field/field.cjs');
13
13
 
14
14
  const Checkbox = ({
15
15
  classNames,
@@ -7,13 +7,13 @@ var react = require('react');
7
7
  var reactAria = require('react-aria');
8
8
  var reactAriaComponents = require('react-aria-components');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var field = require('../field/field.cjs');
11
- var popover = require('../popover/popover.cjs');
12
10
  var utils = require('../system/utils.cjs');
13
11
  var comboBoxVariantContext = require('./combo-box-variant-context.cjs');
14
- var chevronUp = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs');
15
- var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
16
- var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/x.cjs');
12
+ var field = require('../field/field.cjs');
13
+ var chevronUp = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-up.cjs');
14
+ var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
15
+ var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/x.cjs');
16
+ var popover = require('../popover/popover.cjs');
17
17
 
18
18
  const calculateEstimatedRowHeight = (size) => {
19
19
  switch (size) {
@@ -6,8 +6,8 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
- var field = require('../field/field.cjs');
10
9
  var utils = require('../system/utils.cjs');
10
+ var field = require('../field/field.cjs');
11
11
 
12
12
  function DateField(originalProps) {
13
13
  const [
@@ -6,13 +6,13 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
- var field = require('../field/field.cjs');
10
- var popover = require('../popover/popover.cjs');
11
9
  var utils = require('../system/utils.cjs');
12
10
  var dateField = require('../date-field/date-field.cjs');
13
- var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
11
+ var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
14
12
  var calendar$1 = require('../calendar/calendar.cjs');
13
+ var field = require('../field/field.cjs');
15
14
  var button = require('../button/button.cjs');
15
+ var popover = require('../popover/popover.cjs');
16
16
 
17
17
  function DatePicker(originalProps) {
18
18
  const [
@@ -7,13 +7,13 @@ var react = require('react');
7
7
  var date = require('@internationalized/date');
8
8
  var reactAriaComponents = require('react-aria-components');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var field = require('../field/field.cjs');
11
- var popover = require('../popover/popover.cjs');
12
- var rangeCalendar = require('../range-calendar/range-calendar.cjs');
13
10
  var utils = require('../system/utils.cjs');
14
- var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
11
+ var calendar = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/calendar.cjs');
12
+ var rangeCalendar = require('../range-calendar/range-calendar.cjs');
13
+ var field = require('../field/field.cjs');
15
14
  var dateField = require('../date-field/date-field.cjs');
16
15
  var button = require('../button/button.cjs');
16
+ var popover = require('../popover/popover.cjs');
17
17
 
18
18
  function DateRangePicker(originalProps) {
19
19
  const [
@@ -6,7 +6,7 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
- var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
9
+ var circleAlert = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/circle-alert.cjs');
10
10
 
11
11
  function Label({ size, className, ...props }) {
12
12
  return /* @__PURE__ */ jsxRuntime.jsx(reactAriaComponents.Label, { ...props, className: ouiTheme.labelStyles({ className, size }) });
@@ -9,13 +9,13 @@ var reactAria = require('react-aria');
9
9
  var reactAriaComponents = require('react-aria-components');
10
10
  var reactDropzone = require('react-dropzone');
11
11
  var ouiTheme = require('@opengovsg/oui-theme');
12
- var field = require('../field/field.cjs');
13
- var useControllableState = require('../hooks/use-controllable-state.cjs');
14
12
  var utils = require('../system/utils.cjs');
15
13
  var contexts = require('./contexts.cjs');
16
14
  var fileInfo = require('./file-info.cjs');
17
15
  var utils$1 = require('./utils.cjs');
18
- var upload = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/upload.cjs');
16
+ var useControllableState = require('../hooks/use-controllable-state.cjs');
17
+ var upload = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/upload.cjs');
18
+ var field = require('../field/field.cjs');
19
19
 
20
20
  const FileDropzone = (originalProps) => {
21
21
  const [props, variantProps] = utils.mapPropsVariants(
@@ -7,7 +7,7 @@ var react = require('react');
7
7
  var ouiTheme = require('@opengovsg/oui-theme');
8
8
  var contexts = require('./contexts.cjs');
9
9
  var utils = require('./utils.cjs');
10
- var trash2 = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/trash-2.cjs');
10
+ var trash2 = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/trash-2.cjs');
11
11
  var button = require('../button/button.cjs');
12
12
 
13
13
  const FileInfo = ({ file, imagePreview, classNames }) => {
@@ -7,10 +7,10 @@ var react = require('react');
7
7
  var reactAria = require('react-aria');
8
8
  var reactStately = require('react-stately');
9
9
  var ouiTheme = require('@opengovsg/oui-theme');
10
- var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
11
- var landmark = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/landmark.cjs');
12
- var externalLink = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/external-link.cjs');
13
- var lock = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/lock.cjs');
10
+ var chevronDown = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-down.cjs');
11
+ var landmark = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/landmark.cjs');
12
+ var externalLink = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/external-link.cjs');
13
+ var lock = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/lock.cjs');
14
14
 
15
15
  function GovtBanner({
16
16
  environment,
@@ -2,7 +2,9 @@
2
2
  'use strict';
3
3
 
4
4
  var useControllableState = require('./use-controllable-state.cjs');
5
+ var useDraggable = require('./use-draggable.cjs');
5
6
 
6
7
 
7
8
 
8
9
  exports.useControllableState = useControllableState.useControllableState;
10
+ exports.useDraggable = useDraggable.useDraggable;
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var react = require('react');
6
+ var interactions = require('@react-aria/interactions');
7
+
8
+ function useDraggable(props) {
9
+ const { targetRef, isDisabled = false, canOverflow = false } = props;
10
+ const boundary = react.useRef({ minLeft: 0, minTop: 0, maxLeft: 0, maxTop: 0 });
11
+ const isDragging = react.useRef(false);
12
+ let transform = { offsetX: 0, offsetY: 0 };
13
+ const onMoveStart = react.useCallback(() => {
14
+ isDragging.current = true;
15
+ const { offsetX, offsetY } = transform;
16
+ const targetRect = targetRef?.current?.getBoundingClientRect();
17
+ const targetLeft = targetRect?.left ?? 0;
18
+ const targetTop = targetRect?.top ?? 0;
19
+ const targetWidth = targetRect?.width ?? 0;
20
+ const targetHeight = targetRect?.height ?? 0;
21
+ const clientWidth = document.documentElement.clientWidth;
22
+ const clientHeight = document.documentElement.clientHeight;
23
+ const minLeft = -targetLeft + offsetX;
24
+ const minTop = -targetTop + offsetY;
25
+ const maxLeft = clientWidth - targetLeft - targetWidth + offsetX;
26
+ const maxTop = clientHeight - targetTop - targetHeight + offsetY;
27
+ boundary.current = {
28
+ minLeft,
29
+ minTop,
30
+ maxLeft,
31
+ maxTop
32
+ };
33
+ }, [transform, targetRef?.current]);
34
+ const onMove = react.useCallback(
35
+ (e) => {
36
+ if (isDisabled) {
37
+ return;
38
+ }
39
+ const { offsetX, offsetY } = transform;
40
+ const { minLeft, minTop, maxLeft, maxTop } = boundary.current;
41
+ let moveX = offsetX + e.deltaX;
42
+ let moveY = offsetY + e.deltaY;
43
+ if (!canOverflow) {
44
+ moveX = Math.min(Math.max(moveX, minLeft), maxLeft);
45
+ moveY = Math.min(Math.max(moveY, minTop), maxTop);
46
+ }
47
+ transform = {
48
+ offsetX: moveX,
49
+ offsetY: moveY
50
+ };
51
+ if (targetRef?.current) {
52
+ targetRef.current.style.transform = `translate(${moveX}px, ${moveY}px)`;
53
+ }
54
+ },
55
+ [isDisabled, transform, boundary.current, canOverflow, targetRef?.current]
56
+ );
57
+ const onMoveEnd = react.useCallback(() => {
58
+ isDragging.current = false;
59
+ }, []);
60
+ const { moveProps } = interactions.useMove({
61
+ onMoveStart,
62
+ onMove,
63
+ onMoveEnd
64
+ });
65
+ const preventDefault = react.useCallback((e) => {
66
+ if (isDragging.current) {
67
+ e.preventDefault();
68
+ }
69
+ }, []);
70
+ react.useEffect(() => {
71
+ if (!isDisabled) {
72
+ document.body.addEventListener("touchmove", preventDefault, {
73
+ passive: false
74
+ });
75
+ }
76
+ return () => {
77
+ document.body.removeEventListener("touchmove", preventDefault);
78
+ };
79
+ }, [isDisabled, preventDefault]);
80
+ return {
81
+ moveProps: {
82
+ ...moveProps,
83
+ style: { cursor: !isDisabled ? "move" : void 0 }
84
+ }
85
+ };
86
+ }
87
+
88
+ exports.useDraggable = useDraggable;
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
  'use strict';
3
3
 
4
- var useControllableState = require('./hooks/use-controllable-state.cjs');
5
- var govtBanner = require('./govt-banner/govt-banner.cjs');
6
- var ripple = require('./ripple/ripple.cjs');
7
- var useRipple = require('./ripple/use-ripple.cjs');
8
4
  var spinner = require('./spinner/spinner.cjs');
9
5
  var useSpinner = require('./spinner/use-spinner.cjs');
10
6
  var toggle = require('./toggle/toggle.cjs');
11
7
  var skipNavLink = require('./skip-nav-link/skip-nav-link.cjs');
12
- var input = require('./input/input.cjs');
13
8
  var textField = require('./text-field/text-field.cjs');
14
- var field = require('./field/field.cjs');
15
9
  var textArea = require('./text-area/text-area.cjs');
16
10
  var textAreaField = require('./text-area-field/text-area-field.cjs');
17
11
  var tagField = require('./tag-field/tag-field.cjs');
@@ -19,20 +13,15 @@ var tagFieldItem = require('./tag-field/tag-field-item.cjs');
19
13
  var select = require('./select/select.cjs');
20
14
  var selectItem = require('./select/select-item.cjs');
21
15
  var selectVariantContext = require('./select/select-variant-context.cjs');
22
- var rangeCalendar = require('./range-calendar/range-calendar.cjs');
23
- var menu = require('./menu/menu.cjs');
24
- var popover = require('./popover/popover.cjs');
25
16
  var tabs = require('./tabs/tabs.cjs');
26
- var pagination = require('./pagination/pagination.cjs');
27
- var paginationCursor = require('./pagination/pagination-cursor.cjs');
28
- var paginationItem = require('./pagination/pagination-item.cjs');
29
- var usePagination = require('./pagination/hooks/use-pagination.cjs');
30
- var usePagination$1 = require('./pagination/use-pagination.cjs');
31
- var fileDropzone = require('./file-dropzone/file-dropzone.cjs');
32
- var fileInfo = require('./file-dropzone/file-info.cjs');
33
- var utils$1 = require('./file-dropzone/utils.cjs');
34
- var numberField = require('./number-field/number-field.cjs');
17
+ var useControllableState = require('./hooks/use-controllable-state.cjs');
18
+ var useDraggable = require('./hooks/use-draggable.cjs');
35
19
  var button = require('./button/button.cjs');
20
+ var govtBanner = require('./govt-banner/govt-banner.cjs');
21
+ var ripple = require('./ripple/ripple.cjs');
22
+ var useRipple = require('./ripple/use-ripple.cjs');
23
+ var input = require('./input/input.cjs');
24
+ var field = require('./field/field.cjs');
36
25
  var comboBox = require('./combo-box/combo-box.cjs');
37
26
  var comboBoxFuzzy = require('./combo-box/combo-box-fuzzy.cjs');
38
27
  var comboBoxItem = require('./combo-box/combo-box-item.cjs');
@@ -43,29 +32,37 @@ var date = require('@internationalized/date');
43
32
  var calendar = require('./calendar/calendar.cjs');
44
33
  var calendarStyleContext = require('./calendar/calendar-style-context.cjs');
45
34
  var utils = require('./calendar/utils.cjs');
35
+ var rangeCalendar = require('./range-calendar/range-calendar.cjs');
36
+ var menu = require('./menu/menu.cjs');
37
+ var popover = require('./popover/popover.cjs');
46
38
  var dateField = require('./date-field/date-field.cjs');
47
39
  var datePicker = require('./date-picker/date-picker.cjs');
48
40
  var dateRangePicker = require('./date-range-picker/date-range-picker.cjs');
49
41
  var checkbox = require('./checkbox/checkbox.cjs');
50
42
  var checkboxGroupStyleContext = require('./checkbox/checkbox-group-style-context.cjs');
43
+ var usePagination = require('./pagination/hooks/use-pagination.cjs');
44
+ var pagination = require('./pagination/pagination.cjs');
45
+ var paginationCursor = require('./pagination/pagination-cursor.cjs');
46
+ var paginationItem = require('./pagination/pagination-item.cjs');
47
+ var usePagination$1 = require('./pagination/use-pagination.cjs');
48
+ var fileDropzone = require('./file-dropzone/file-dropzone.cjs');
49
+ var fileInfo = require('./file-dropzone/file-info.cjs');
50
+ var utils$1 = require('./file-dropzone/utils.cjs');
51
+ var numberField = require('./number-field/number-field.cjs');
52
+ var modal = require('./modal/modal.cjs');
53
+ var modalContent = require('./modal/modal-content.cjs');
54
+ var modalFooter = require('./modal/modal-footer.cjs');
55
+ var modalBody = require('./modal/modal-body.cjs');
56
+ var modalHeader = require('./modal/modal-header.cjs');
57
+ var modalVariantContext = require('./modal/modal-variant-context.cjs');
51
58
 
52
59
 
53
60
 
54
- exports.useControllableState = useControllableState.useControllableState;
55
- exports.GovtBanner = govtBanner.GovtBanner;
56
- exports.Ripple = ripple.Ripple;
57
- exports.useRipple = useRipple.useRipple;
58
61
  exports.Spinner = spinner.Spinner;
59
62
  exports.useSpinner = useSpinner.useSpinner;
60
63
  exports.Toggle = toggle.Toggle;
61
64
  exports.SkipNavLink = skipNavLink.SkipNavLink;
62
- exports.Input = input.Input;
63
65
  exports.TextField = textField.TextField;
64
- exports.Description = field.Description;
65
- exports.FieldError = field.FieldError;
66
- exports.FieldErrorIcon = field.FieldErrorIcon;
67
- exports.FieldGroup = field.FieldGroup;
68
- exports.Label = field.Label;
69
66
  exports.TextArea = textArea.TextArea;
70
67
  exports.TextAreaField = textAreaField.TextAreaField;
71
68
  exports.TagField = tagField.TagField;
@@ -74,36 +71,24 @@ exports.Select = select.Select;
74
71
  exports.SelectItem = selectItem.SelectItem;
75
72
  exports.SelectVariantContext = selectVariantContext.SelectVariantContext;
76
73
  exports.useSelectVariantContext = selectVariantContext.useSelectVariantContext;
77
- exports.RangeCalendar = rangeCalendar.RangeCalendar;
78
- exports.RangeCalendarCell = rangeCalendar.RangeCalendarCell;
79
- exports.RangeCalendarStateWrapper = rangeCalendar.RangeCalendarStateWrapper;
80
- exports.Menu = menu.Menu;
81
- exports.MenuItem = menu.MenuItem;
82
- exports.MenuSection = menu.MenuSection;
83
- exports.MenuSeparator = menu.MenuSeparator;
84
- exports.MenuTrigger = menu.MenuTrigger;
85
- exports.MenuVariantContext = menu.MenuVariantContext;
86
- exports.SubmenuTrigger = menu.SubmenuTrigger;
87
- exports.useMenuVariantContext = menu.useMenuVariantContext;
88
- exports.Popover = popover.Popover;
89
74
  exports.Tab = tabs.Tab;
90
75
  exports.TabList = tabs.TabList;
91
76
  exports.TabPanel = tabs.TabPanel;
92
77
  exports.Tabs = tabs.Tabs;
93
78
  exports.TabsVariantContext = tabs.TabsVariantContext;
94
79
  exports.useTabsVariantContext = tabs.useTabsVariantContext;
95
- exports.Pagination = pagination.Pagination;
96
- exports.PaginationCursor = paginationCursor.PaginationCursor;
97
- exports.PaginationItem = paginationItem.PaginationItem;
98
- exports.PaginationItemType = usePagination.PaginationItemType;
99
- exports.CURSOR_TRANSITION_TIMEOUT = usePagination$1.CURSOR_TRANSITION_TIMEOUT;
100
- exports.usePagination = usePagination$1.usePagination;
101
- exports.FileDropzone = fileDropzone.FileDropzone;
102
- exports.FileInfo = fileInfo.FileInfo;
103
- exports.formatBytes = utils$1.formatBytes;
104
- exports.formatErrorMessage = utils$1.formatErrorMessage;
105
- exports.NumberField = numberField.NumberField;
80
+ exports.useControllableState = useControllableState.useControllableState;
81
+ exports.useDraggable = useDraggable.useDraggable;
106
82
  exports.Button = button.Button;
83
+ exports.GovtBanner = govtBanner.GovtBanner;
84
+ exports.Ripple = ripple.Ripple;
85
+ exports.useRipple = useRipple.useRipple;
86
+ exports.Input = input.Input;
87
+ exports.Description = field.Description;
88
+ exports.FieldError = field.FieldError;
89
+ exports.FieldErrorIcon = field.FieldErrorIcon;
90
+ exports.FieldGroup = field.FieldGroup;
91
+ exports.Label = field.Label;
107
92
  exports.ComboBox = comboBox.ComboBox;
108
93
  exports.ComboBoxEmptyState = comboBox.ComboBoxEmptyState;
109
94
  exports.ComboBoxFuzzy = comboBoxFuzzy.ComboBoxFuzzy;
@@ -124,6 +109,18 @@ exports.getEraFormat = utils.getEraFormat;
124
109
  exports.useGenerateLocalizedMonths = utils.useGenerateLocalizedMonths;
125
110
  exports.useGenerateLocalizedYears = utils.useGenerateLocalizedYears;
126
111
  exports.useLocalizedMonthYear = utils.useLocalizedMonthYear;
112
+ exports.RangeCalendar = rangeCalendar.RangeCalendar;
113
+ exports.RangeCalendarCell = rangeCalendar.RangeCalendarCell;
114
+ exports.RangeCalendarStateWrapper = rangeCalendar.RangeCalendarStateWrapper;
115
+ exports.Menu = menu.Menu;
116
+ exports.MenuItem = menu.MenuItem;
117
+ exports.MenuSection = menu.MenuSection;
118
+ exports.MenuSeparator = menu.MenuSeparator;
119
+ exports.MenuTrigger = menu.MenuTrigger;
120
+ exports.MenuVariantContext = menu.MenuVariantContext;
121
+ exports.SubmenuTrigger = menu.SubmenuTrigger;
122
+ exports.useMenuVariantContext = menu.useMenuVariantContext;
123
+ exports.Popover = popover.Popover;
127
124
  exports.DateField = dateField.DateField;
128
125
  exports.DateInput = dateField.DateInput;
129
126
  exports.DatePicker = datePicker.DatePicker;
@@ -132,3 +129,21 @@ exports.Checkbox = checkbox.Checkbox;
132
129
  exports.CheckboxGroup = checkbox.CheckboxGroup;
133
130
  exports.CheckboxGroupStyleContext = checkboxGroupStyleContext.CheckboxGroupStyleContext;
134
131
  exports.useCheckboxGroupStyleContext = checkboxGroupStyleContext.useCheckboxGroupStyleContext;
132
+ exports.PaginationItemType = usePagination.PaginationItemType;
133
+ exports.Pagination = pagination.Pagination;
134
+ exports.PaginationCursor = paginationCursor.PaginationCursor;
135
+ exports.PaginationItem = paginationItem.PaginationItem;
136
+ exports.CURSOR_TRANSITION_TIMEOUT = usePagination$1.CURSOR_TRANSITION_TIMEOUT;
137
+ exports.usePagination = usePagination$1.usePagination;
138
+ exports.FileDropzone = fileDropzone.FileDropzone;
139
+ exports.FileInfo = fileInfo.FileInfo;
140
+ exports.formatBytes = utils$1.formatBytes;
141
+ exports.formatErrorMessage = utils$1.formatErrorMessage;
142
+ exports.NumberField = numberField.NumberField;
143
+ exports.Modal = modal.Modal;
144
+ exports.ModalContent = modalContent.ModalContent;
145
+ exports.ModalFooter = modalFooter.ModalFooter;
146
+ exports.ModalBody = modalBody.ModalBody;
147
+ exports.ModalHeader = modalHeader.ModalHeader;
148
+ exports.ModalVariantContext = modalVariantContext.ModalVariantContext;
149
+ exports.useModalVariantContext = modalVariantContext.useModalVariantContext;
@@ -6,11 +6,11 @@ var jsxRuntime = require('react/jsx-runtime');
6
6
  var react = require('react');
7
7
  var reactAriaComponents = require('react-aria-components');
8
8
  var ouiTheme = require('@opengovsg/oui-theme');
9
- var popover = require('../popover/popover.cjs');
10
9
  var utils = require('../system/utils.cjs');
11
- var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/check.cjs');
12
- var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.0.0/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
10
+ var check = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/check.cjs');
11
+ var chevronRight = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/chevron-right.cjs');
13
12
  var context = require('../system/react-utils/context.cjs');
13
+ var popover = require('../popover/popover.cjs');
14
14
 
15
15
  const [MenuVariantContext, useMenuVariantContext] = context.createContext({
16
16
  name: "MenuVariantContext",
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ const i18nStrings = {
5
+ "en-SG": {
6
+ dismiss: "Dismiss"
7
+ },
8
+ "zh-SG": {
9
+ dismiss: "\u53D6\u6D88"
10
+ },
11
+ "ms-SG": {
12
+ dismiss: "Tutup"
13
+ },
14
+ "ta-SG": {
15
+ dismiss: "\u0BAE\u0BC2\u0B9F\u0BC1"
16
+ }
17
+ };
18
+
19
+ exports.i18nStrings = i18nStrings;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ 'use strict';
3
+
4
+ var modal = require('./modal.cjs');
5
+ var modalContent = require('./modal-content.cjs');
6
+ var modalFooter = require('./modal-footer.cjs');
7
+ var modalBody = require('./modal-body.cjs');
8
+ var modalHeader = require('./modal-header.cjs');
9
+ var modalVariantContext = require('./modal-variant-context.cjs');
10
+
11
+
12
+
13
+ exports.Modal = modal.Modal;
14
+ exports.ModalContent = modalContent.ModalContent;
15
+ exports.ModalFooter = modalFooter.ModalFooter;
16
+ exports.ModalBody = modalBody.ModalBody;
17
+ exports.ModalHeader = modalHeader.ModalHeader;
18
+ exports.ModalVariantContext = modalVariantContext.ModalVariantContext;
19
+ exports.useModalVariantContext = modalVariantContext.useModalVariantContext;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var ouiTheme = require('@opengovsg/oui-theme');
8
+ var utils = require('../system/utils.cjs');
9
+ var modalVariantContext = require('./modal-variant-context.cjs');
10
+
11
+ const ModalBody = utils.forwardRef(function ModalBody2({ as, ...props }, ref) {
12
+ const { slots, classNames } = react.useContext(modalVariantContext.ModalVariantContext);
13
+ const Component = as || "div";
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ Component,
16
+ {
17
+ ref,
18
+ className: slots.body({
19
+ className: ouiTheme.cn(classNames?.body, props.className)
20
+ }),
21
+ ...props
22
+ }
23
+ );
24
+ });
25
+
26
+ exports.ModalBody = ModalBody;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var reactAria = require('react-aria');
8
+ var reactAriaComponents = require('react-aria-components');
9
+ var ouiTheme = require('@opengovsg/oui-theme');
10
+ var i18n = require('./i18n.cjs');
11
+ var modalVariantContext = require('./modal-variant-context.cjs');
12
+ var x = require('../node_modules/.pnpm/lucide-react@0.475.0_react@19.2.1/node_modules/lucide-react/dist/esm/icons/x.cjs');
13
+ var button = require('../button/button.cjs');
14
+
15
+ function ModalContent({
16
+ closeButtonContent: closeButtonContentProp,
17
+ hideCloseButton,
18
+ closeButtonProps,
19
+ ...props
20
+ }) {
21
+ const { slots, classNames, buttonSize } = react.useContext(modalVariantContext.ModalVariantContext);
22
+ const formatMessage = reactAria.useMessageFormatter(i18n.i18nStrings);
23
+ const closeButtonContent = react.isValidElement(closeButtonContentProp) ? closeButtonContentProp : /* @__PURE__ */ jsxRuntime.jsx(x.default, {});
24
+ return /* @__PURE__ */ jsxRuntime.jsx(
25
+ reactAriaComponents.Dialog,
26
+ {
27
+ ...props,
28
+ className: slots.dialog({
29
+ className: props.className ?? classNames?.dialog
30
+ }),
31
+ children: ({ close }) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
32
+ !hideCloseButton && /* @__PURE__ */ jsxRuntime.jsx(
33
+ button.Button,
34
+ {
35
+ slot: "close",
36
+ isIconOnly: true,
37
+ "aria-label": formatMessage("dismiss"),
38
+ size: buttonSize,
39
+ variant: "clear",
40
+ color: "neutral",
41
+ ...closeButtonProps,
42
+ className: slots.closeButton({
43
+ className: ouiTheme.cn(classNames?.closeButton, props.className)
44
+ }),
45
+ children: closeButtonContent
46
+ }
47
+ ),
48
+ typeof props.children === "function" ? props.children(close) : props.children
49
+ ] })
50
+ }
51
+ );
52
+ }
53
+
54
+ exports.ModalContent = ModalContent;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ "use client";
3
+ 'use strict';
4
+
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+ var react = require('react');
7
+ var ouiTheme = require('@opengovsg/oui-theme');
8
+ var utils = require('../system/utils.cjs');
9
+ var modalVariantContext = require('./modal-variant-context.cjs');
10
+
11
+ const ModalFooter = utils.forwardRef(function ModalFooter2({ as, ...props }, ref) {
12
+ const { slots, classNames } = react.useContext(modalVariantContext.ModalVariantContext);
13
+ const Component = as || "footer";
14
+ return /* @__PURE__ */ jsxRuntime.jsx(
15
+ Component,
16
+ {
17
+ ref,
18
+ className: slots.footer({
19
+ className: ouiTheme.cn(classNames?.footer, props.className)
20
+ }),
21
+ ...props
22
+ }
23
+ );
24
+ });
25
+ ModalFooter.displayName = "ModalFooter";
26
+
27
+ exports.ModalFooter = ModalFooter;