@openedx/paragon 23.0.0-alpha.3 → 23.0.0-alpha.5

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 (258) hide show
  1. package/bin/paragon-scripts.js +10 -0
  2. package/dist/Annotation/index.scss +16 -0
  3. package/dist/Card/CardDeck.js +0 -2
  4. package/dist/Card/CardDeck.js.map +1 -1
  5. package/dist/Card/index.scss +8 -6
  6. package/dist/Carousel/index.scss +24 -1
  7. package/dist/Chip/ChipIcon.d.ts +1 -1
  8. package/dist/CloseButton/index.scss +8 -0
  9. package/dist/ColorPicker/index.scss +1 -1
  10. package/dist/Container/index.d.ts +16 -0
  11. package/dist/Container/index.js +15 -13
  12. package/dist/Container/index.js.map +1 -1
  13. package/dist/DataTable/index.scss +12 -0
  14. package/dist/Dropdown/dropdown-bootstrap.scss +6 -0
  15. package/dist/Dropzone/index.scss +34 -0
  16. package/dist/Form/_FormText.scss +1 -1
  17. package/dist/Form/_bootstrap-custom-forms.scss +40 -0
  18. package/dist/Form/_index.scss +9 -0
  19. package/dist/Form/_mixins.scss +22 -0
  20. package/dist/IconButton/index.d.ts +1 -1
  21. package/dist/IconButton/index.js +1 -1
  22. package/dist/IconButton/index.js.map +1 -1
  23. package/dist/IconButton/index.scss +146 -0
  24. package/dist/Menu/SelectMenu.js +9 -4
  25. package/dist/Menu/SelectMenu.js.map +1 -1
  26. package/dist/Menu/index.scss +8 -0
  27. package/dist/Modal/ModalContext.d.ts +15 -0
  28. package/dist/Modal/ModalContext.js +7 -14
  29. package/dist/Modal/ModalContext.js.map +1 -1
  30. package/dist/Modal/ModalDialog.d.ts +110 -0
  31. package/dist/Modal/ModalDialog.js +30 -24
  32. package/dist/Modal/ModalDialog.js.map +1 -1
  33. package/dist/Modal/ModalDialogHeader.d.ts +10 -0
  34. package/dist/Modal/ModalDialogHeader.js +6 -7
  35. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  36. package/dist/Modal/ModalLayer.d.ts +53 -0
  37. package/dist/Modal/ModalLayer.js +5 -14
  38. package/dist/Modal/ModalLayer.js.map +1 -1
  39. package/dist/Modal/Portal.d.ts +11 -0
  40. package/dist/Modal/Portal.js +5 -6
  41. package/dist/Modal/Portal.js.map +1 -1
  42. package/dist/Modal/_ModalDialog.scss +22 -2
  43. package/dist/Nav/index.scss +8 -0
  44. package/dist/Overlay/index.d.ts +2 -2
  45. package/dist/PageBanner/index.scss +2 -2
  46. package/dist/Pagination/pagination-bootstrap.scss +9 -0
  47. package/dist/Popover/index.scss +1 -1
  48. package/dist/ProductTour/Checkpoint.scss +1 -1
  49. package/dist/ProgressBar/bootstrap-progress.scss +20 -5
  50. package/dist/ProgressBar/index.scss +3 -3
  51. package/dist/Stepper/index.scss +1 -1
  52. package/dist/Sticky/index.scss +12 -0
  53. package/dist/Toast/index.scss +13 -1
  54. package/dist/Tooltip/index.scss +16 -0
  55. package/dist/core.css +913 -470
  56. package/dist/core.css.map +1 -1
  57. package/dist/core.min.css +1 -1
  58. package/dist/hooks/useArrowKeyNavigation.js +2 -3
  59. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  60. package/dist/index.d.ts +19 -5
  61. package/dist/index.js +5 -5
  62. package/dist/light.css +2035 -1315
  63. package/dist/light.css.map +1 -1
  64. package/dist/light.min.css +1 -1
  65. package/icons/es5/Newsstand.js +15 -0
  66. package/icons/es5/index.js +1 -0
  67. package/icons/es5/index.ts +1 -0
  68. package/icons/jsx/Newsstand.jsx +17 -0
  69. package/icons/jsx/index.jsx +1 -0
  70. package/icons/svg/newsstand.svg +1 -0
  71. package/lib/build-tokens.js +67 -31
  72. package/package.json +8 -5
  73. package/src/Annotation/index.scss +16 -0
  74. package/src/Card/CardDeck.jsx +0 -3
  75. package/src/Card/README.md +0 -31
  76. package/src/Card/index.scss +8 -6
  77. package/src/Carousel/index.scss +24 -1
  78. package/src/CloseButton/index.scss +8 -0
  79. package/src/ColorPicker/index.scss +1 -1
  80. package/src/Container/{Container.test.jsx → Container.test.tsx} +14 -8
  81. package/src/Container/README.md +4 -0
  82. package/src/Container/index.tsx +64 -0
  83. package/src/DataTable/index.scss +12 -0
  84. package/src/DataTable/selection/tests/ControlledSelectHeader.test.jsx +7 -7
  85. package/src/Dropdown/dropdown-bootstrap.scss +6 -0
  86. package/src/Dropzone/index.scss +34 -0
  87. package/src/Form/_FormText.scss +1 -1
  88. package/src/Form/_bootstrap-custom-forms.scss +40 -0
  89. package/src/Form/_index.scss +9 -0
  90. package/src/Form/_mixins.scss +22 -0
  91. package/src/IconButton/index.scss +146 -0
  92. package/src/IconButton/index.tsx +1 -1
  93. package/src/Menu/SelectMenu.jsx +5 -0
  94. package/src/Menu/SelectMenu.test.jsx +6 -0
  95. package/src/Menu/index.scss +8 -0
  96. package/src/Menu/select-menu.md +8 -0
  97. package/src/Modal/{ModalContext.jsx → ModalContext.tsx} +19 -16
  98. package/src/Modal/{ModalDialog.jsx → ModalDialog.tsx} +57 -26
  99. package/src/Modal/{ModalDialogHeader.jsx → ModalDialogHeader.tsx} +17 -11
  100. package/src/Modal/{ModalLayer.jsx → ModalLayer.tsx} +17 -17
  101. package/src/Modal/{Portal.jsx → Portal.tsx} +10 -7
  102. package/src/Modal/_ModalDialog.scss +22 -2
  103. package/src/Modal/modal-dialog.mdx +95 -6
  104. package/src/Modal/tests/{ModalDialog.test.jsx → ModalDialog.test.tsx} +18 -10
  105. package/src/Modal/tests/{ModalLayer.test.jsx → ModalLayer.test.tsx} +5 -5
  106. package/src/Modal/tests/{Portal.test.jsx → Portal.test.tsx} +3 -3
  107. package/src/Nav/index.scss +8 -0
  108. package/src/PageBanner/index.scss +2 -2
  109. package/src/Pagination/pagination-bootstrap.scss +9 -0
  110. package/src/Popover/index.scss +1 -1
  111. package/src/ProductTour/Checkpoint.scss +1 -1
  112. package/src/ProgressBar/bootstrap-progress.scss +20 -5
  113. package/src/ProgressBar/index.scss +3 -3
  114. package/src/Stepper/index.scss +1 -1
  115. package/src/Sticky/index.scss +12 -0
  116. package/src/Toast/index.scss +13 -1
  117. package/src/Tooltip/index.scss +16 -0
  118. package/src/hooks/useArrowKeyNavigation.jsx +1 -2
  119. package/src/index.d.ts +19 -5
  120. package/src/index.js +5 -5
  121. package/styles/css/core/abstraction-variables.css +44 -0
  122. package/styles/css/core/custom-media-breakpoints.css +3 -4
  123. package/styles/css/core/index.css +2 -1
  124. package/styles/css/core/variables.css +494 -430
  125. package/styles/css/themes/light/abstraction-variables.css +304 -0
  126. package/styles/css/themes/light/index.css +1 -0
  127. package/styles/css/themes/light/utility-classes.css +2 -3
  128. package/styles/css/themes/light/variables.css +1753 -1334
  129. package/styles/scss/core/_typography.scss +16 -4
  130. package/styles/scss/core/_utilities.scss +7 -3
  131. package/styles/scss/core/_variables.scss +43 -30
  132. package/styles/scss/core/core.scss +1 -0
  133. package/tokens/src/core/alias/size.json +6 -5
  134. package/tokens/src/core/components/ActionRow.json +3 -2
  135. package/tokens/src/core/components/Alert.json +12 -10
  136. package/tokens/src/core/components/Annotation.json +9 -7
  137. package/tokens/src/core/components/Avatar.json +9 -9
  138. package/tokens/src/core/components/AvatarButton.json +4 -3
  139. package/tokens/src/core/components/Badge.json +12 -9
  140. package/tokens/src/core/components/Breadcrumb.json +7 -5
  141. package/tokens/src/core/components/Bubble.json +4 -3
  142. package/tokens/src/core/components/Button/core.json +35 -59
  143. package/tokens/src/core/components/Card.json +33 -44
  144. package/tokens/src/core/components/Carousel.json +39 -13
  145. package/tokens/src/core/components/Chip.json +13 -21
  146. package/tokens/src/core/components/ChipCarousel.json +4 -5
  147. package/tokens/src/core/components/CloseButton.json +2 -6
  148. package/tokens/src/core/components/Code.json +9 -8
  149. package/tokens/src/core/components/Collapsible.json +10 -13
  150. package/tokens/src/core/components/ColorPicker.json +3 -2
  151. package/tokens/src/core/components/Container.json +6 -5
  152. package/tokens/src/core/components/DataTable.json +17 -9
  153. package/tokens/src/core/components/Dropdown.json +24 -29
  154. package/tokens/src/core/components/Dropzone.json +5 -7
  155. package/tokens/src/core/components/Form/other.json +5 -4
  156. package/tokens/src/core/components/Form/size.json +72 -119
  157. package/tokens/src/core/components/Form/spacing.json +39 -83
  158. package/tokens/src/core/components/Form/transition.json +43 -7
  159. package/tokens/src/core/components/Form/typography.json +24 -88
  160. package/tokens/src/core/components/Icon.json +6 -5
  161. package/tokens/src/core/components/IconButton.json +4 -7
  162. package/tokens/src/core/components/Image.json +7 -6
  163. package/tokens/src/core/components/Menu.json +14 -12
  164. package/tokens/src/core/components/Modal.json +26 -21
  165. package/tokens/src/core/components/Nav.json +14 -16
  166. package/tokens/src/core/components/Navbar.json +15 -30
  167. package/tokens/src/core/components/Pagination.json +23 -24
  168. package/tokens/src/core/components/Popover.json +18 -14
  169. package/tokens/src/core/components/ProductTour.json +8 -14
  170. package/tokens/src/core/components/ProgressBar.json +29 -14
  171. package/tokens/src/core/components/SearchField.json +7 -9
  172. package/tokens/src/core/components/SelectableBox.json +4 -3
  173. package/tokens/src/core/components/Sheet.json +3 -2
  174. package/tokens/src/core/components/Spinner.json +9 -7
  175. package/tokens/src/core/components/Stack.json +2 -1
  176. package/tokens/src/core/components/Stepper.json +12 -14
  177. package/tokens/src/core/components/Sticky.json +2 -1
  178. package/tokens/src/core/components/Tab.json +8 -7
  179. package/tokens/src/core/components/Tabs.json +5 -5
  180. package/tokens/src/core/components/Toast.json +11 -8
  181. package/tokens/src/core/components/Tooltip.json +13 -11
  182. package/tokens/src/core/components/general/caret.json +5 -3
  183. package/tokens/src/core/components/general/headings.json +5 -4
  184. package/tokens/src/core/components/general/hr.json +3 -2
  185. package/tokens/src/core/components/general/input.json +19 -19
  186. package/tokens/src/core/components/general/link.json +13 -12
  187. package/tokens/src/core/components/general/list.json +9 -6
  188. package/tokens/src/core/components/general/text.json +6 -12
  189. package/tokens/src/core/global/breakpoints.json +25 -6
  190. package/tokens/src/core/global/elevation.json +55 -13
  191. package/tokens/src/core/global/other.json +5 -1
  192. package/tokens/src/core/global/spacing.json +70 -17
  193. package/tokens/src/core/global/transition.json +41 -4
  194. package/tokens/src/core/global/typography.json +248 -53
  195. package/tokens/src/core/utilities/color.json +35 -4
  196. package/tokens/src/themes/light/alias/color.json +276 -75
  197. package/tokens/src/themes/light/components/Alert.json +15 -26
  198. package/tokens/src/themes/light/components/Annotation.json +27 -13
  199. package/tokens/src/themes/light/components/Avatar.json +2 -1
  200. package/tokens/src/themes/light/components/Badge.json +57 -122
  201. package/tokens/src/themes/light/components/Breadcrumb.json +6 -5
  202. package/tokens/src/themes/light/components/Bubble.json +9 -8
  203. package/tokens/src/themes/light/components/Button/brand.json +171 -119
  204. package/tokens/src/themes/light/components/Button/core.json +8 -9
  205. package/tokens/src/themes/light/components/Button/danger.json +171 -112
  206. package/tokens/src/themes/light/components/Button/dark.json +188 -106
  207. package/tokens/src/themes/light/components/Button/info.json +186 -112
  208. package/tokens/src/themes/light/components/Button/light.json +186 -110
  209. package/tokens/src/themes/light/components/Button/primary.json +178 -116
  210. package/tokens/src/themes/light/components/Button/secondary.json +166 -132
  211. package/tokens/src/themes/light/components/Button/success.json +176 -117
  212. package/tokens/src/themes/light/components/Button/tertiary.json +34 -60
  213. package/tokens/src/themes/light/components/Button/warning.json +164 -128
  214. package/tokens/src/themes/light/components/Card.json +10 -21
  215. package/tokens/src/themes/light/components/Carousel.json +12 -11
  216. package/tokens/src/themes/light/components/Chip.json +14 -26
  217. package/tokens/src/themes/light/components/CloseButton.json +12 -2
  218. package/tokens/src/themes/light/components/Code.json +7 -9
  219. package/tokens/src/themes/light/components/DataTable.json +7 -11
  220. package/tokens/src/themes/light/components/Dropdown.json +17 -20
  221. package/tokens/src/themes/light/components/Dropzone.json +49 -11
  222. package/tokens/src/themes/light/components/Form/color.json +101 -155
  223. package/tokens/src/themes/light/components/Form/elevation.json +38 -42
  224. package/tokens/src/themes/light/components/Form/other.json +44 -41
  225. package/tokens/src/themes/light/components/IconButton.json +408 -256
  226. package/tokens/src/themes/light/components/Image.json +7 -4
  227. package/tokens/src/themes/light/components/Menu.json +12 -10
  228. package/tokens/src/themes/light/components/Modal.json +22 -12
  229. package/tokens/src/themes/light/components/Nav.json +82 -94
  230. package/tokens/src/themes/light/components/Navbar.json +32 -76
  231. package/tokens/src/themes/light/components/OverflowScroll.json +3 -1
  232. package/tokens/src/themes/light/components/PageBanner.json +11 -10
  233. package/tokens/src/themes/light/components/Pagination.json +19 -23
  234. package/tokens/src/themes/light/components/Popover.json +22 -27
  235. package/tokens/src/themes/light/components/ProductTour.json +9 -20
  236. package/tokens/src/themes/light/components/ProgressBar.json +12 -10
  237. package/tokens/src/themes/light/components/Scrollable.json +3 -3
  238. package/tokens/src/themes/light/components/SearchField.json +9 -9
  239. package/tokens/src/themes/light/components/Sheet.json +6 -7
  240. package/tokens/src/themes/light/components/Stepper.json +12 -17
  241. package/tokens/src/themes/light/components/Sticky.json +31 -6
  242. package/tokens/src/themes/light/components/Tab.json +47 -24
  243. package/tokens/src/themes/light/components/Toast.json +26 -14
  244. package/tokens/src/themes/light/components/Tooltip.json +25 -10
  245. package/tokens/src/themes/light/components/general/body.json +3 -2
  246. package/tokens/src/themes/light/components/general/headings.json +2 -1
  247. package/tokens/src/themes/light/components/general/hr.json +3 -6
  248. package/tokens/src/themes/light/components/general/input.json +11 -4
  249. package/tokens/src/themes/light/components/general/link.json +34 -43
  250. package/tokens/src/themes/light/components/general/list.json +15 -19
  251. package/tokens/src/themes/light/components/general/text.json +5 -6
  252. package/tokens/src/themes/light/global/color.json +1592 -867
  253. package/tokens/src/themes/light/global/elevation.json +481 -93
  254. package/tokens/style-dictionary.js +342 -144
  255. package/tokens/utils.js +176 -6
  256. package/src/Container/index.jsx +0 -49
  257. package/tokens/src/core/global/display.json +0 -22
  258. /package/src/Truncate/{Truncate.test.js → utils.test.js} +0 -0
@@ -1,3 +1,37 @@
1
+ :root {
2
+ --pgn-elevation-dropzone-hover:
3
+ var(--pgn-elevation-dropzone-hover-inset)
4
+ var(--pgn-elevation-dropzone-hover-offset-x)
5
+ var(--pgn-elevation-dropzone-hover-offset-y)
6
+ var(--pgn-elevation-dropzone-hover-blur)
7
+ var(--pgn-elevation-dropzone-hover-spread)
8
+ var(--pgn-elevation-dropzone-hover-color);
9
+
10
+ --pgn-elevation-dropzone-focus:
11
+ var(--pgn-elevation-dropzone-focus-inset)
12
+ var(--pgn-elevation-dropzone-focus-offset-x)
13
+ var(--pgn-elevation-dropzone-focus-offset-y)
14
+ var(--pgn-elevation-dropzone-focus-blur)
15
+ var(--pgn-elevation-dropzone-focus-spread)
16
+ var(--pgn-elevation-dropzone-focus-color);
17
+
18
+ --pgn-elevation-dropzone-error:
19
+ var(--pgn-elevation-dropzone-error-inset)
20
+ var(--pgn-elevation-dropzone-error-offset-x)
21
+ var(--pgn-elevation-dropzone-error-offset-y)
22
+ var(--pgn-elevation-dropzone-error-blur)
23
+ var(--pgn-elevation-dropzone-error-spread)
24
+ var(--pgn-elevation-dropzone-error-color);
25
+
26
+ --pgn-elevation-dropzone-active:
27
+ var(--pgn-elevation-dropzone-active-inset)
28
+ var(--pgn-elevation-dropzone-active-offset-x)
29
+ var(--pgn-elevation-dropzone-active-offset-y)
30
+ var(--pgn-elevation-dropzone-active-blur)
31
+ var(--pgn-elevation-dropzone-active-spread)
32
+ var(--pgn-elevation-dropzone-active-color);
33
+ }
34
+
1
35
  .pgn__dropzone {
2
36
  display: flex;
3
37
  justify-content: center;
@@ -1,5 +1,5 @@
1
1
  .pgn__form-text {
2
- font-size: var(--pgn-typography-font-size-small-base);
2
+ font-size: var(--pgn-typography-font-size-sm);
3
3
  display: flex;
4
4
  align-items: center;
5
5
 
@@ -1,3 +1,43 @@
1
+ :root {
2
+ --pgn-elevation-form-control-indicator-checked-focus:
3
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
4
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
5
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
6
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
7
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
8
+
9
+ --pgn-elevation-form-control-select-border-focus:
10
+ var(--pgn-elevation-form-control-select-border-focus-offset-x)
11
+ var(--pgn-elevation-form-control-select-border-focus-offset-y)
12
+ var(--pgn-elevation-form-control-select-border-focus-blur)
13
+ var(--pgn-elevation-form-control-select-border-focus-spread)
14
+ var(--pgn-elevation-form-control-select-border-focus-color);
15
+
16
+ --pgn-elevation-form-control-file-focus:
17
+ var(--pgn-elevation-form-control-file-focus-offset-x)
18
+ var(--pgn-elevation-form-control-file-focus-offset-y)
19
+ var(--pgn-elevation-form-control-file-focus-blur)
20
+ var(--pgn-elevation-form-control-file-focus-spread)
21
+ var(--pgn-elevation-form-control-file-focus-color);
22
+
23
+ --pgn-transition-form-control:
24
+ var(--pgn-transition-form-control-1-property)
25
+ var(--pgn-transition-form-control-1-duration)
26
+ var(--pgn-transition-form-control-1-timing-function)
27
+ var(--pgn-transition-form-control-1-delay)
28
+ var(--pgn-transition-form-control-1-behavior),
29
+ var(--pgn-transition-form-control-2-property)
30
+ var(--pgn-transition-form-control-2-duration)
31
+ var(--pgn-transition-form-control-2-timing-function)
32
+ var(--pgn-transition-form-control-2-delay)
33
+ var(--pgn-transition-form-control-2-behavior),
34
+ var(--pgn-transition-form-control-3-property)
35
+ var(--pgn-transition-form-control-3-duration)
36
+ var(--pgn-transition-form-control-3-timing-function)
37
+ var(--pgn-transition-form-control-3-delay)
38
+ var(--pgn-transition-form-control-3-behavior);
39
+ }
40
+
1
41
  // Embedded icons from Open Iconic.
2
42
  // Released under MIT and copyright 2014 Waybury.
3
43
  // https://useiconic.com/open
@@ -5,6 +5,15 @@
5
5
  @import "FormText";
6
6
  @import "FormControlSet";
7
7
 
8
+ :root {
9
+ --pgn-elevation-form-control-indicator-checked-focus:
10
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
11
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
12
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
13
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
14
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
15
+ }
16
+
8
17
  // A form input state used by the now deprecate Fieldset and asInput
9
18
  // we can remove this when they are deleted.
10
19
  .form-control.is-invalid.is-invalid-nodanger {
@@ -1,3 +1,25 @@
1
+ :root {
2
+ --pgn-elevation-form-input-focus:
3
+ var(--pgn-elevation-form-input-focus-offset-x)
4
+ var(--pgn-elevation-form-input-focus-offset-y)
5
+ var(--pgn-elevation-form-input-focus-blur)
6
+ var(--pgn-elevation-form-input-focus-spread)
7
+ var(--pgn-elevation-form-input-focus-color);
8
+
9
+ --pgn-spacing-form-control-select-feedback-icon-position:
10
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-y)
11
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-x)
12
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-x)
13
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-y);
14
+
15
+ --pgn-other-content-form-control-select-bg:
16
+ var(--pgn-other-content-form-control-select-bg-image)
17
+ var(--pgn-other-content-form-control-select-bg-position-x)
18
+ var(--pgn-other-content-form-control-select-bg-offset-y)
19
+ var(--pgn-other-content-form-control-select-bg-position-y)
20
+ / var(--pgn-other-content-form-control-select-bg-color); // stylelint-disable-line scss/operator-no-newline-before
21
+ }
22
+
1
23
  @mixin form-control-floating-label-initial(
2
24
  $padding-x,
3
25
  $padding-y,
@@ -1,5 +1,151 @@
1
1
  @import "mixins";
2
2
 
3
+ :root {
4
+ --pgn-elevation-icon-button-box-shadow-primary-base:
5
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-inset)
6
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-offset-x)
7
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-offset-y)
8
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-blur)
9
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-spread)
10
+ var(--pgn-elevation-icon-button-box-shadow-primary-base-color);
11
+
12
+ --pgn-elevation-icon-button-box-shadow-primary-inverse:
13
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-inset)
14
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-offset-x)
15
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-offset-y)
16
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-blur)
17
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-spread)
18
+ var(--pgn-elevation-icon-button-box-shadow-primary-inverse-color);
19
+
20
+ --pgn-elevation-icon-button-box-shadow-secondary-base:
21
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-inset)
22
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-offset-x)
23
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-offset-y)
24
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-blur)
25
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-spread)
26
+ var(--pgn-elevation-icon-button-box-shadow-secondary-base-color);
27
+
28
+ --pgn-elevation-icon-button-box-shadow-secondary-inverse:
29
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-inset)
30
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-offset-x)
31
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-offset-y)
32
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-blur)
33
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-spread)
34
+ var(--pgn-elevation-icon-button-box-shadow-secondary-inverse-color);
35
+
36
+ --pgn-elevation-icon-button-box-shadow-brand-base:
37
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-inset)
38
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-offset-x)
39
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-offset-y)
40
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-blur)
41
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-spread)
42
+ var(--pgn-elevation-icon-button-box-shadow-brand-base-color);
43
+
44
+ --pgn-elevation-icon-button-box-shadow-brand-inverse:
45
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-inset)
46
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-offset-x)
47
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-offset-y)
48
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-blur)
49
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-spread)
50
+ var(--pgn-elevation-icon-button-box-shadow-brand-inverse-color);
51
+
52
+ --pgn-elevation-icon-button-box-shadow-success-base:
53
+ var(--pgn-elevation-icon-button-box-shadow-success-base-inset)
54
+ var(--pgn-elevation-icon-button-box-shadow-success-base-offset-x)
55
+ var(--pgn-elevation-icon-button-box-shadow-success-base-offset-y)
56
+ var(--pgn-elevation-icon-button-box-shadow-success-base-blur)
57
+ var(--pgn-elevation-icon-button-box-shadow-success-base-spread)
58
+ var(--pgn-elevation-icon-button-box-shadow-success-base-color);
59
+
60
+ --pgn-elevation-icon-button-box-shadow-success-inverse:
61
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-inset)
62
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-offset-x)
63
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-offset-y)
64
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-blur)
65
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-spread)
66
+ var(--pgn-elevation-icon-button-box-shadow-success-inverse-color);
67
+
68
+ --pgn-elevation-icon-button-box-shadow-warning-base:
69
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-inset)
70
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-offset-x)
71
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-offset-y)
72
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-blur)
73
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-spread)
74
+ var(--pgn-elevation-icon-button-box-shadow-warning-base-color);
75
+
76
+ --pgn-elevation-icon-button-box-shadow-warning-inverse:
77
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-inset)
78
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-offset-x)
79
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-offset-y)
80
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-blur)
81
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-spread)
82
+ var(--pgn-elevation-icon-button-box-shadow-warning-inverse-color);
83
+
84
+ --pgn-elevation-icon-button-box-shadow-danger-base:
85
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-inset)
86
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-offset-x)
87
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-offset-y)
88
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-blur)
89
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-spread)
90
+ var(--pgn-elevation-icon-button-box-shadow-danger-base-color);
91
+
92
+ --pgn-elevation-icon-button-box-shadow-danger-inverse:
93
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-inset)
94
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-offset-x)
95
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-offset-y)
96
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-blur)
97
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-spread)
98
+ var(--pgn-elevation-icon-button-box-shadow-danger-inverse-color);
99
+
100
+ --pgn-elevation-icon-button-box-shadow-light-base:
101
+ var(--pgn-elevation-icon-button-box-shadow-light-base-inset)
102
+ var(--pgn-elevation-icon-button-box-shadow-light-base-offset-x)
103
+ var(--pgn-elevation-icon-button-box-shadow-light-base-offset-y)
104
+ var(--pgn-elevation-icon-button-box-shadow-light-base-blur)
105
+ var(--pgn-elevation-icon-button-box-shadow-light-base-spread)
106
+ var(--pgn-elevation-icon-button-box-shadow-light-base-color);
107
+
108
+ --pgn-elevation-icon-button-box-shadow-light-inverse:
109
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-inset)
110
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-offset-x)
111
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-offset-y)
112
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-blur)
113
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-spread)
114
+ var(--pgn-elevation-icon-button-box-shadow-light-inverse-color);
115
+
116
+ --pgn-elevation-icon-button-box-shadow-dark-base:
117
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-inset)
118
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-offset-x)
119
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-offset-y)
120
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-blur)
121
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-spread)
122
+ var(--pgn-elevation-icon-button-box-shadow-dark-base-color);
123
+
124
+ --pgn-elevation-icon-button-box-shadow-dark-inverse:
125
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse)
126
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-offset-x)
127
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-offset-y)
128
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-blur)
129
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-spread)
130
+ var(--pgn-elevation-icon-button-box-shadow-dark-inverse-color);
131
+
132
+ --pgn-elevation-icon-button-box-shadow-black-base:
133
+ var(--pgn-elevation-icon-button-box-shadow-black-base-inset)
134
+ var(--pgn-elevation-icon-button-box-shadow-black-base-offset-x)
135
+ var(--pgn-elevation-icon-button-box-shadow-black-base-offset-y)
136
+ var(--pgn-elevation-icon-button-box-shadow-black-base-blur)
137
+ var(--pgn-elevation-icon-button-box-shadow-black-base-spread)
138
+ var(--pgn-elevation-icon-button-box-shadow-black-base-color);
139
+
140
+ --pgn-elevation-icon-button-box-shadow-black-inverse:
141
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-inset)
142
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-offset-x)
143
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-offset-y)
144
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-blur)
145
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-spread)
146
+ var(--pgn-elevation-icon-button-box-shadow-black-inverse-color);
147
+ }
148
+
3
149
  .btn-icon {
4
150
  @include btn-icon-size(var(--pgn-size-icon-button-diameter-md));
5
151
 
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import { type Placement } from 'react-bootstrap/Overlay';
5
- import Icon from '../Icon';
6
5
  import { OverlayTrigger } from '../Overlay';
7
6
  import Tooltip from '../Tooltip';
7
+ import Icon from '../Icon';
8
8
 
9
9
  interface Props extends React.HTMLAttributes<HTMLButtonElement> {
10
10
  iconAs?: React.ComponentType<any>,
@@ -15,6 +15,7 @@ function SelectMenu({
15
15
  children,
16
16
  className,
17
17
  variant,
18
+ disabled,
18
19
  ...props
19
20
  }) {
20
21
  const [triggerTarget, setTriggerTarget] = useState(null);
@@ -89,6 +90,7 @@ function SelectMenu({
89
90
  variant={variant}
90
91
  iconAfter={ExpandMore}
91
92
  onClick={open}
93
+ disabled={disabled}
92
94
  >
93
95
  {selected !== undefined && children[selected] ? children[selected].props.children : defaultMessage}
94
96
  </Button>
@@ -131,12 +133,15 @@ SelectMenu.propTypes = {
131
133
  className: PropTypes.string,
132
134
  /** Specifies variant to use. */
133
135
  variant: PropTypes.string,
136
+ /** Specifies if the `SelectMenu` is disabled. */
137
+ disabled: PropTypes.bool,
134
138
  };
135
139
 
136
140
  SelectMenu.defaultProps = {
137
141
  defaultMessage: SELECT_MENU_DEFAULT_MESSAGE,
138
142
  className: undefined,
139
143
  variant: 'outline-primary',
144
+ disabled: false,
140
145
  };
141
146
 
142
147
  const SelectMenuWithDeprecatedProp = withDeprecatedProps(SelectMenu, 'SelectMenu', {
@@ -58,6 +58,12 @@ describe('correct rendering', () => {
58
58
  const button = screen.getByRole('button');
59
59
  expect(button).toHaveClass('btn-brand');
60
60
  });
61
+
62
+ it('renders as disabled', () => {
63
+ render(DefaultSelectMenu({ disabled: true }));
64
+ const button = screen.getByRole('button');
65
+ expect(button).toBeDisabled();
66
+ });
61
67
  });
62
68
 
63
69
  describe('mouse behavior & keyboard behavior', () => {
@@ -1,3 +1,11 @@
1
+ :root {
2
+ --pgn-elevation-menu-box-shadow:
3
+ var(--pgn-elevation-menu-box-shadow-offset-x)
4
+ var(--pgn-elevation-menu-box-shadow-offset-y)
5
+ var(--pgn-elevation-menu-box-shadow-blur)
6
+ var(--pgn-elevation-menu-box-shadow-color);
7
+ }
8
+
1
9
  .pgn__menu {
2
10
  border-radius: var(--pgn-size-menu-base-border-radius);
3
11
  box-shadow: var(--pgn-elevation-menu-box-shadow);
@@ -56,3 +56,11 @@ The ``Modal`` brings focus to the first menu element upon the click of the trigg
56
56
  <MenuItem>M. Hortens</MenuItem>
57
57
  </SelectMenu>
58
58
  ```
59
+
60
+ ## Disabled
61
+
62
+ ```jsx live
63
+ <SelectMenu disabled>
64
+ <MenuItem>A Menu Item</MenuItem>
65
+ </SelectMenu>
66
+ ```
@@ -1,14 +1,29 @@
1
1
  import React, { useMemo } from 'react';
2
- import PropTypes from 'prop-types';
3
2
 
4
- const ModalContext = React.createContext({
3
+ interface ContextData {
4
+ onClose: () => void;
5
+ isOpen: boolean;
6
+ isBlocking: boolean;
7
+ }
8
+
9
+ const ModalContext = React.createContext<ContextData>({
5
10
  onClose: () => {},
11
+ isOpen: false,
12
+ isBlocking: false,
6
13
  });
7
14
 
8
15
  function ModalContextProvider({
9
- onClose, isOpen, isBlocking, children,
16
+ onClose,
17
+ isOpen,
18
+ isBlocking = false,
19
+ children = null,
20
+ }: {
21
+ onClose: () => void;
22
+ isOpen: boolean;
23
+ isBlocking?: boolean;
24
+ children?: React.ReactNode;
10
25
  }) {
11
- const modalContextValue = useMemo(
26
+ const modalContextValue = useMemo<ContextData>(
12
27
  () => ({ onClose, isOpen, isBlocking }),
13
28
  [onClose, isOpen, isBlocking],
14
29
  );
@@ -20,17 +35,5 @@ function ModalContextProvider({
20
35
  );
21
36
  }
22
37
 
23
- ModalContextProvider.propTypes = {
24
- children: PropTypes.node,
25
- onClose: PropTypes.func.isRequired,
26
- isBlocking: PropTypes.bool,
27
- isOpen: PropTypes.bool.isRequired,
28
- };
29
-
30
- ModalContextProvider.defaultProps = {
31
- children: null,
32
- isBlocking: false,
33
- };
34
-
35
38
  export { ModalContextProvider };
36
39
  export default ModalContext;
@@ -3,11 +3,16 @@ import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import { useMediaQuery } from 'react-responsive';
5
5
  import ModalLayer from './ModalLayer';
6
+ // @ts-ignore for now - this needs to be converted to TypeScript
6
7
  import ModalCloseButton from './ModalCloseButton';
7
8
  import ModalDialogHeader from './ModalDialogHeader';
9
+ // @ts-ignore for now - this needs to be converted to TypeScript
8
10
  import ModalDialogTitle from './ModalDialogTitle';
11
+ // @ts-ignore for now - this needs to be converted to TypeScript
9
12
  import ModalDialogFooter from './ModalDialogFooter';
13
+ // @ts-ignore for now - this needs to be converted to TypeScript
10
14
  import ModalDialogBody from './ModalDialogBody';
15
+ // @ts-ignore for now - this needs to be converted to TypeScript
11
16
  import ModalDialogHero from './ModalDialogHero';
12
17
 
13
18
  import Icon from '../Icon';
@@ -16,22 +21,57 @@ import { Close } from '../../icons';
16
21
 
17
22
  export const MODAL_DIALOG_CLOSE_LABEL = 'Close';
18
23
 
24
+ interface Props {
25
+ /** Specifies the content of the dialog */
26
+ children: React.ReactNode;
27
+ /** The aria-label of the dialog */
28
+ title: string;
29
+ /** A callback to close the modal dialog, e.g. when Escape is pressed */
30
+ onClose: () => void;
31
+ /** Is the modal dialog open or closed? */
32
+ isOpen?: boolean;
33
+ /** The close 'x' icon button in the top right of the dialog box */
34
+ hasCloseButton?: boolean;
35
+ /** Size determines the maximum width of the dialog box */
36
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'fullscreen';
37
+ /** The visual style of the dialog box */
38
+ variant?: 'default' | 'warning' | 'danger' | 'success' | 'dark';
39
+ /** The label supplied to the close icon button if one is rendered */
40
+ closeLabel?: string;
41
+ /** Specifies class name to append to the base element */
42
+ className?: string;
43
+ /**
44
+ * Determines where a scrollbar should appear if a modal is too large for the
45
+ * viewport. When false, the ``ModalDialog``. Body receives a scrollbar, when true
46
+ * the browser window itself receives the scrollbar.
47
+ */
48
+ isFullscreenScroll?: boolean;
49
+ /** To show full screen view on mobile screens */
50
+ isFullscreenOnMobile?: boolean;
51
+ /** Prevent clicking on the backdrop or pressing Esc to close the modal */
52
+ isBlocking?: boolean;
53
+ /** Specifies the z-index of the modal */
54
+ zIndex?: number;
55
+ /** Specifies whether overflow is visible in the modal */
56
+ isOverflowVisible?: boolean;
57
+ }
58
+
19
59
  function ModalDialog({
20
60
  children,
21
61
  title,
22
- isOpen,
62
+ isOpen = false,
23
63
  onClose,
24
- size,
25
- variant,
26
- hasCloseButton,
27
- closeLabel,
28
- isFullscreenScroll,
64
+ size = 'md',
65
+ variant = 'default',
66
+ hasCloseButton = true,
67
+ closeLabel = MODAL_DIALOG_CLOSE_LABEL,
68
+ isFullscreenScroll = false,
29
69
  className,
30
- isFullscreenOnMobile,
31
- isBlocking,
70
+ isFullscreenOnMobile = false,
71
+ isBlocking = false,
32
72
  zIndex,
33
- isOverflowVisible,
34
- }) {
73
+ isOverflowVisible = true,
74
+ }: Props) {
35
75
  const isMobile = useMediaQuery({ query: '(max-width: 767.98px)' });
36
76
  const showFullScreen = (isFullscreenOnMobile && isMobile);
37
77
  return (
@@ -122,22 +162,13 @@ ModalDialog.propTypes = {
122
162
  * Specifies the z-index of the modal
123
163
  */
124
164
  zIndex: PropTypes.number,
125
- /** Specifies whether overflow is visible in the modal */
126
- isOverflowVisible: PropTypes.bool,
127
- };
128
-
129
- ModalDialog.defaultProps = {
130
- isOpen: false,
131
- hasCloseButton: true,
132
- size: 'md',
133
- variant: 'default',
134
- closeLabel: MODAL_DIALOG_CLOSE_LABEL,
135
- className: undefined,
136
- isFullscreenScroll: false,
137
- isFullscreenOnMobile: false,
138
- isBlocking: false,
139
- zIndex: undefined,
140
- isOverflowVisible: true,
165
+ /**
166
+ * Specifies whether overflow content inside the modal should be visible.
167
+ * - `true` - content that exceeds the modal boundaries will remain visible outside the modal's main viewport,
168
+ * rather than being clipped or hidden.
169
+ * - `false` - any overflow content will be clipped to fit within the modal's dimensions.
170
+ */
171
+ isOverflowVisible: PropTypes.bool.isRequired,
141
172
  };
142
173
 
143
174
  ModalDialog.Header = ModalDialogHeader;
@@ -1,21 +1,32 @@
1
+ /* eslint-disable react/require-default-props */
1
2
  import React from 'react';
2
3
  import PropTypes from 'prop-types';
3
4
  import classNames from 'classnames';
5
+ import type { ComponentWithAsProp } from '../utils/types/bootstrap';
4
6
 
5
- function ModalDialogHeader({
6
- as,
7
+ export interface Props {
8
+ as?: string;
9
+ children: React.ReactNode;
10
+ className?: string;
11
+ }
12
+
13
+ type HeaderType = ComponentWithAsProp<'div', Props>;
14
+
15
+ const ModalDialogHeader: HeaderType = React.forwardRef<HTMLDivElement, Props>(({
16
+ as = 'div',
7
17
  children,
8
18
  ...props
9
- }) {
10
- return React.createElement(
19
+ }, ref) => (
20
+ React.createElement(
11
21
  as,
12
22
  {
13
23
  ...props,
24
+ ref,
14
25
  className: classNames('pgn__modal-header', props.className),
15
26
  },
16
27
  children,
17
- );
18
- }
28
+ )
29
+ ));
19
30
 
20
31
  ModalDialogHeader.propTypes = {
21
32
  /** Specifies the base element */
@@ -26,9 +37,4 @@ ModalDialogHeader.propTypes = {
26
37
  className: PropTypes.string,
27
38
  };
28
39
 
29
- ModalDialogHeader.defaultProps = {
30
- as: 'div',
31
- className: undefined,
32
- };
33
-
34
40
  export default ModalDialogHeader;
@@ -6,7 +6,7 @@ import Portal from './Portal';
6
6
  import { ModalContextProvider } from './ModalContext';
7
7
 
8
8
  // istanbul ignore next
9
- function ModalBackdrop({ onClick }) {
9
+ function ModalBackdrop({ onClick }: { onClick?: () => void }) {
10
10
  return (
11
11
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions
12
12
  <div
@@ -22,12 +22,8 @@ ModalBackdrop.propTypes = {
22
22
  onClick: PropTypes.func,
23
23
  };
24
24
 
25
- ModalBackdrop.defaultProps = {
26
- onClick: undefined,
27
- };
28
-
29
25
  // istanbul ignore next
30
- function ModalContentContainer({ children }) {
26
+ function ModalContentContainer({ children = null }: { children?: React.ReactNode }) {
31
27
  return <div className="pgn__modal-content-container">{children}</div>;
32
28
  }
33
29
 
@@ -35,9 +31,18 @@ ModalContentContainer.propTypes = {
35
31
  children: PropTypes.node,
36
32
  };
37
33
 
38
- ModalContentContainer.defaultProps = {
39
- children: null,
40
- };
34
+ interface Props {
35
+ /** Specifies the contents of the modal */
36
+ children: React.ReactNode;
37
+ /** A callback function for when the modal is dismissed */
38
+ onClose: () => void;
39
+ /** Is the modal dialog open or closed */
40
+ isOpen: boolean;
41
+ /** Prevent clicking on the backdrop or pressing Esc to close the modal */
42
+ isBlocking?: boolean;
43
+ /** Specifies the z-index of the modal */
44
+ zIndex?: number;
45
+ }
41
46
 
42
47
  /**
43
48
  * The ModalLayer should be used for any component that wishes to engage the user
@@ -46,8 +51,8 @@ ModalContentContainer.defaultProps = {
46
51
  * component is that if a modal object is visible then it is "enabled"
47
52
  */
48
53
  function ModalLayer({
49
- children, onClose, isOpen, isBlocking, zIndex,
50
- }) {
54
+ children, onClose, isOpen, isBlocking = false, zIndex,
55
+ }: Props) {
51
56
  useEffect(() => {
52
57
  if (isOpen) {
53
58
  document.body.classList.add('pgn__hidden-scroll-padding-right');
@@ -63,7 +68,7 @@ function ModalLayer({
63
68
  return null;
64
69
  }
65
70
 
66
- const handleClose = isBlocking ? null : onClose;
71
+ const handleClose = isBlocking ? undefined : onClose;
67
72
 
68
73
  return (
69
74
  <ModalContextProvider onClose={onClose} isOpen={isOpen} isBlocking={isBlocking}>
@@ -102,10 +107,5 @@ ModalLayer.propTypes = {
102
107
  zIndex: PropTypes.number,
103
108
  };
104
109
 
105
- ModalLayer.defaultProps = {
106
- isBlocking: false,
107
- zIndex: undefined,
108
- };
109
-
110
110
  export { ModalBackdrop, ModalContentContainer };
111
111
  export default ModalLayer;