@spothero/ui 15.10.8 → 16.0.0-beta.0

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 (317) hide show
  1. package/.eslintignore +2 -1
  2. package/dex.config.js +1 -1
  3. package/jest.config.json +1 -2
  4. package/package.json +8 -24
  5. package/styles/{v2/components → components}/Accordion/Accordion.stories.js +2 -2
  6. package/styles/{v2/components → components}/Accordion/styles/button.js +1 -1
  7. package/styles/{v2/components → components}/Alert/Alert.jsx +2 -2
  8. package/styles/{v2/components → components}/AutoSuggestSelect/AutoSuggestSelect.jsx +7 -0
  9. package/styles/{v2/components → components}/Button/stories/button.js +1 -1
  10. package/styles/{v2/components → components}/Button/stories/overview.js +1 -1
  11. package/styles/{v2/components → components}/FormControl/FormControl.jsx +2 -0
  12. package/styles/{v2/components → components}/Grid/Grid.stories.js +1 -1
  13. package/styles/{v2/components → components}/Heading/Heading.styles.js +1 -1
  14. package/styles/{v2/components → components}/Image/Image.jsx +23 -2
  15. package/styles/{v2/components → components}/Link/Link.stories.js +2 -2
  16. package/styles/{v2/components → components}/List/List.stories.js +2 -2
  17. package/styles/{v2/components → components}/Modal/Modal.jsx +0 -1
  18. package/styles/{v2/components → components}/Modal/Modal.stories.js +4 -4
  19. package/styles/{v2/components → components}/Popover/Popover.stories.js +1 -1
  20. package/styles/{v2/components → components}/Popover/styles/index.js +1 -1
  21. package/styles/{v2/components/Popover/styles/popper.js → components/Popover/styles/popover-content.js} +8 -5
  22. package/styles/components/Popover/styles/popper.js +5 -0
  23. package/styles/{v2/components → components}/Skeleton/index.js +1 -1
  24. package/styles/{v2/components → components}/Spinner/Spinner.stories.js +1 -1
  25. package/styles/{v2/components → components}/Table/Table.styles.js +1 -1
  26. package/styles/{v2/components → components}/Tabs/Tabs.jsx +2 -3
  27. package/styles/{v2/components → components}/Tabs/combineSizeWithVariant.js +5 -3
  28. package/styles/{v2/components → components}/Text/Text.styles.js +1 -1
  29. package/styles/{v2/components → components}/Text/combineAsWithVariant.js +1 -1
  30. package/styles/{v2/components → components}/ThemeProvider/ThemeProvider.jsx +2 -2
  31. package/styles/{v2/components → components}/ThemeProvider/ThemeProvider.stories.js +2 -2
  32. package/v2/index.js +1 -1
  33. package/v2/index.js.map +1 -1
  34. package/backlog/Alert/Alert.js +0 -37
  35. package/backlog/AutoSuggestInput/AutoSuggestInput.js +0 -474
  36. package/backlog/AutoSuggestInput/AutoSuggestItem.js +0 -99
  37. package/backlog/AutoSuggestInput/AutoSuggestList.js +0 -126
  38. package/backlog/Badge/Badge.js +0 -28
  39. package/backlog/Chart/Chart.js +0 -211
  40. package/backlog/Checkbox/Checkbox.js +0 -167
  41. package/backlog/DateTime/DatePicker.js +0 -279
  42. package/backlog/DateTime/DatePickerCalendar.js +0 -199
  43. package/backlog/DateTime/DatePickerCalendarNavigation.js +0 -102
  44. package/backlog/DateTime/DatePickerCalendarWithRange.js +0 -241
  45. package/backlog/DateTime/DateTimePicker.js +0 -216
  46. package/backlog/DateTime/DateTimeRangePicker.js +0 -530
  47. package/backlog/DateTime/TimePicker.js +0 -180
  48. package/backlog/DateTime/date-time-assertions.js +0 -66
  49. package/backlog/DateTime/index.js +0 -55
  50. package/backlog/ErrorBoundary/ErrorBoundary.js +0 -125
  51. package/backlog/Flyout/Flyout.js +0 -198
  52. package/backlog/Form/Form.js +0 -193
  53. package/backlog/Form/FormElementError.js +0 -24
  54. package/backlog/Form/FormGroup.js +0 -30
  55. package/backlog/Form/FormGroupError.js +0 -28
  56. package/backlog/Form/index.js +0 -39
  57. package/backlog/GooglePlacesSearchInput/GooglePlacesSearchInput.js +0 -253
  58. package/backlog/GooglePlacesSearchInput/PoweredByGoogle.js +0 -38
  59. package/backlog/GooglePlacesSearchInput/index.js +0 -23
  60. package/backlog/HorizontalRule/HorizontalRule.js +0 -30
  61. package/backlog/Label/Label.js +0 -31
  62. package/backlog/Notification/Notification.js +0 -178
  63. package/backlog/Notification/NotificationContainer.js +0 -131
  64. package/backlog/Notification/NotificationPropTypes.js +0 -37
  65. package/backlog/Notification/index.js +0 -23
  66. package/backlog/PasswordControl/PasswordControl.js +0 -201
  67. package/backlog/Portal/Portal.js +0 -110
  68. package/backlog/PulseLoader/PulseLoader.js +0 -62
  69. package/backlog/Radio/Radio.js +0 -135
  70. package/backlog/Radio/RadioGroup.js +0 -123
  71. package/backlog/Radio/index.js +0 -23
  72. package/backlog/RenderInBody/RenderInBody.js +0 -103
  73. package/backlog/Select/Select.js +0 -275
  74. package/backlog/Select/SelectItemPropTypes.js +0 -32
  75. package/backlog/Select/index.js +0 -23
  76. package/backlog/SelectControlled/SelectControlled.js +0 -270
  77. package/backlog/SelectControlled/index.js +0 -15
  78. package/backlog/Sprite/Sprite.js +0 -24
  79. package/backlog/Tabs/Tab.js +0 -94
  80. package/backlog/Tabs/TabContent.js +0 -56
  81. package/backlog/Tabs/TabNavigation.js +0 -108
  82. package/backlog/Tabs/TabPanel.js +0 -29
  83. package/backlog/Tabs/Tabs.js +0 -126
  84. package/backlog/Tabs/index.js +0 -47
  85. package/backlog/TextArea/TextArea.js +0 -155
  86. package/backlog/TextInput/TextInput.js +0 -230
  87. package/backlog/TextInput/TextInputPropTypes.js +0 -114
  88. package/backlog/TextInput/index.js +0 -23
  89. package/backlog/Tooltip/Tooltip.js +0 -249
  90. package/backlog/index.js +0 -393
  91. package/backlog/v1/components/Button/Button.js +0 -64
  92. package/backlog/v1/components/Button/button-props.js +0 -48
  93. package/backlog/v1/components/Image/Image.js +0 -193
  94. package/backlog/v1/components/Loader/Loader.js +0 -51
  95. package/backlog/v1/components/Modal/Modal.js +0 -325
  96. package/backlog/v1/components/Modal/ModalContent.js +0 -154
  97. package/backlog/v1/components/Modal/ModalFooter.js +0 -89
  98. package/backlog/v1/components/Modal/index.js +0 -31
  99. package/backlog/v1/components/Panel/Panel.js +0 -209
  100. package/backlog/v1/components/Table/Table.js +0 -336
  101. package/backlog/v1/components/Table/TableCell.js +0 -28
  102. package/backlog/v1/components/Table/TableCellPropTypes.js +0 -22
  103. package/backlog/v1/components/Table/TableControls.js +0 -56
  104. package/backlog/v1/components/Table/TableFooter.js +0 -63
  105. package/backlog/v1/components/Table/TableHeading.js +0 -126
  106. package/backlog/v1/components/Table/TableHeadingPropTypes.js +0 -35
  107. package/backlog/v1/components/Table/TableSortSelector.js +0 -125
  108. package/backlog/v1/components/Table/TableSortType.js +0 -11
  109. package/backlog/v1/components/Table/index.js +0 -47
  110. package/backlog/v1/components/TextButton/TextButton.js +0 -74
  111. package/backlog/v1/components/index.js +0 -75
  112. package/backlog/v1/utils/deprecate.js +0 -61
  113. package/styles/Alert/_Alert.scss +0 -51
  114. package/styles/AutoSuggestInput/_AutoSuggestInput.scss +0 -116
  115. package/styles/Badge/_Badge.scss +0 -33
  116. package/styles/Chart/_Chart.scss +0 -105
  117. package/styles/Chart/_chartist-settings.scss +0 -131
  118. package/styles/Chart/_chartist.scss +0 -295
  119. package/styles/Checkbox/_Checkbox.scss +0 -173
  120. package/styles/DateTime/_DatePicker.scss +0 -61
  121. package/styles/DateTime/_DatePickerCalendar.scss +0 -159
  122. package/styles/DateTime/_DateTime.scss +0 -4
  123. package/styles/DateTime/_DateTimePicker.scss +0 -46
  124. package/styles/DateTime/_TimePicker.scss +0 -30
  125. package/styles/ErrorBoundary/_ErrorBoundary.scss +0 -18
  126. package/styles/Flyout/_Flyout.scss +0 -73
  127. package/styles/Form/_Form.scss +0 -53
  128. package/styles/GooglePlacesSearchInput/_GooglePlacesSearchInput.scss +0 -3
  129. package/styles/GooglePlacesSearchInput/_PoweredByGoogle.scss +0 -21
  130. package/styles/HorizontalRule/_HorizontalRule.scss +0 -48
  131. package/styles/Label/_Label.scss +0 -6
  132. package/styles/Notification/_Notification.scss +0 -113
  133. package/styles/PasswordControl/_PasswordControl.scss +0 -86
  134. package/styles/PulseLoader/_PulseLoader.scss +0 -60
  135. package/styles/Radio/_Radio.scss +0 -93
  136. package/styles/Select/_Select.scss +0 -94
  137. package/styles/Tabs/_Tabs.scss +0 -57
  138. package/styles/TextArea/_TextArea.scss +0 -26
  139. package/styles/TextInput/_TextInput.scss +0 -43
  140. package/styles/Tooltip/_Tooltip.scss +0 -108
  141. package/styles/_index.scss +0 -34
  142. package/styles/common/sass/_control-sizing.scss +0 -5
  143. package/styles/common/sass/_disable-scrolling.scss +0 -7
  144. package/styles/common/sass/_forms.scss +0 -72
  145. package/styles/index.js +0 -50
  146. package/styles/v1/components/Button/Button.jsx +0 -48
  147. package/styles/v1/components/Button/Button.spec.js +0 -76
  148. package/styles/v1/components/Button/_Button.scss +0 -178
  149. package/styles/v1/components/Button/button-props.js +0 -30
  150. package/styles/v1/components/Button/stories/button.js +0 -20
  151. package/styles/v1/components/Button/stories/index.stories.js +0 -92
  152. package/styles/v1/components/Button/stories/overview.js +0 -87
  153. package/styles/v1/components/Button/stories/types.js +0 -31
  154. package/styles/v1/components/Image/Image.jsx +0 -175
  155. package/styles/v1/components/Image/Image.spec.js +0 -113
  156. package/styles/v1/components/Image/_Image.scss +0 -24
  157. package/styles/v1/components/Image/stories/Cloudinary.stories.js +0 -39
  158. package/styles/v1/components/Image/stories/Display.stories.js +0 -92
  159. package/styles/v1/components/Loader/Loader.jsx +0 -54
  160. package/styles/v1/components/Loader/Loader.spec.js +0 -67
  161. package/styles/v1/components/Loader/_Loader.scss +0 -18
  162. package/styles/v1/components/Loader/stories/Display.stories.js +0 -55
  163. package/styles/v1/components/Modal/Modal.jsx +0 -315
  164. package/styles/v1/components/Modal/Modal.spec.js +0 -293
  165. package/styles/v1/components/Modal/ModalContent.jsx +0 -126
  166. package/styles/v1/components/Modal/ModalFooter.jsx +0 -53
  167. package/styles/v1/components/Modal/_Modal.scss +0 -262
  168. package/styles/v1/components/Modal/index.js +0 -3
  169. package/styles/v1/components/Modal/stories/Content.stories.js +0 -314
  170. package/styles/v1/components/Modal/stories/Display.stories.js +0 -208
  171. package/styles/v1/components/Modal/stories/Methods.stories.js +0 -44
  172. package/styles/v1/components/Modal/stories/Width.stories.js +0 -82
  173. package/styles/v1/components/Modal/stories/helpers/ReduxConsumer.jsx +0 -21
  174. package/styles/v1/components/Panel/Panel.jsx +0 -202
  175. package/styles/v1/components/Panel/Panel.spec.js +0 -196
  176. package/styles/v1/components/Panel/_Panel.scss +0 -55
  177. package/styles/v1/components/Panel/stories/Display.stories.js +0 -82
  178. package/styles/v1/components/Panel/stories/Methods.stories.js +0 -76
  179. package/styles/v1/components/Table/Table.jsx +0 -367
  180. package/styles/v1/components/Table/Table.spec.js +0 -526
  181. package/styles/v1/components/Table/TableCell.jsx +0 -17
  182. package/styles/v1/components/Table/TableCellPropTypes.js +0 -10
  183. package/styles/v1/components/Table/TableControls.jsx +0 -61
  184. package/styles/v1/components/Table/TableFooter.jsx +0 -72
  185. package/styles/v1/components/Table/TableHeading.jsx +0 -58
  186. package/styles/v1/components/Table/TableHeadingPropTypes.js +0 -20
  187. package/styles/v1/components/Table/TableSortSelector.jsx +0 -63
  188. package/styles/v1/components/Table/TableSortType.js +0 -4
  189. package/styles/v1/components/Table/_Table.scss +0 -263
  190. package/styles/v1/components/Table/index.js +0 -5
  191. package/styles/v1/components/Table/stories/Display.stories.js +0 -194
  192. package/styles/v1/components/Table/stories/Methods.stories.js +0 -141
  193. package/styles/v1/components/Table/stories/helpers/TableCellEmail.jsx +0 -25
  194. package/styles/v1/components/Table/stories/helpers/TableCustomRow.jsx +0 -35
  195. package/styles/v1/components/Table/stories/helpers/TableHeadingEmail.jsx +0 -20
  196. package/styles/v1/components/Table/stories/helpers/table-data.js +0 -26
  197. package/styles/v1/components/Table/stories/helpers/table-headers.js +0 -14
  198. package/styles/v1/components/TextButton/TextButton.jsx +0 -78
  199. package/styles/v1/components/TextButton/TextButton.spec.js +0 -95
  200. package/styles/v1/components/TextButton/_TextButton.scss +0 -114
  201. package/styles/v1/components/TextButton/stories/Display.stories.js +0 -46
  202. package/styles/v1/components/index.js +0 -7
  203. package/styles/v1/utils/deprecate.js +0 -45
  204. package/styles/v2/components/Popover/styles/popover-content.js +0 -8
  205. package/styles/v2/components/index.js +0 -70
  206. package/styles/v2/components/styles.js +0 -21
  207. package/styles/v2/theme/global.js +0 -118
  208. package/styles/v2/theme/index.js +0 -27
  209. package/styles/v2/utils/Spaces.js +0 -16
  210. package/v1/assets-manifest.json +0 -5
  211. package/v1/index.html +0 -1
  212. package/v1/index.js +0 -3
  213. package/v1/index.js.LICENSE.txt +0 -23
  214. package/v1/index.js.map +0 -1
  215. /package/styles/{v2/components → components}/Accordion/Accordion.jsx +0 -0
  216. /package/styles/{v2/components → components}/Accordion/index.js +0 -0
  217. /package/styles/{v2/components → components}/Accordion/styles/container.js +0 -0
  218. /package/styles/{v2/components → components}/Accordion/styles/index.js +0 -0
  219. /package/styles/{v2/components → components}/Accordion/styles/panel.js +0 -0
  220. /package/styles/{v2/components → components}/Alert/Alert.stories.js +0 -0
  221. /package/styles/{v2/components → components}/Alert/index.js +0 -0
  222. /package/styles/{v2/components → components}/Alert/styles/index.js +0 -0
  223. /package/styles/{v2/components → components}/AutoSuggestSelect/index.js +0 -0
  224. /package/styles/{v2/components → components}/Badge/Badge.jsx +0 -0
  225. /package/styles/{v2/components → components}/Badge/Badge.stories.js +0 -0
  226. /package/styles/{v2/components → components}/Badge/styles/index.js +0 -0
  227. /package/styles/{v2/components → components}/Button/Button.jsx +0 -0
  228. /package/styles/{v2/components → components}/Button/Button.spec.js +0 -0
  229. /package/styles/{v2/components → components}/Button/Button.styles.js +0 -0
  230. /package/styles/{v2/components → components}/Button/button-props.js +0 -0
  231. /package/styles/{v2/components → components}/Button/index.js +0 -0
  232. /package/styles/{v2/components → components}/Button/stories/index.stories.js +0 -0
  233. /package/styles/{v2/components → components}/Card/Card.jsx +0 -0
  234. /package/styles/{v2/components → components}/Card/Card.stories.js +0 -0
  235. /package/styles/{v2/components → components}/Checkbox/Checkbox.jsx +0 -0
  236. /package/styles/{v2/components → components}/Checkbox/Checkbox.stories.js +0 -0
  237. /package/styles/{v2/components → components}/Checkbox/index.js +0 -0
  238. /package/styles/{v2/components → components}/Checkbox/styles/index.js +0 -0
  239. /package/styles/{v2/components → components}/Container/Container.jsx +0 -0
  240. /package/styles/{v2/components → components}/Container/Container.stories.js +0 -0
  241. /package/styles/{v2/components → components}/Container/Container.styles.js +0 -0
  242. /package/styles/{v2/components → components}/Divider/Divider.jsx +0 -0
  243. /package/styles/{v2/components → components}/Divider/Divider.stories.js +0 -0
  244. /package/styles/{v2/components → components}/Divider/Divider.styles.js +0 -0
  245. /package/styles/{v2/components → components}/Grid/Grid.jsx +0 -0
  246. /package/styles/{v2/components → components}/Grid/Grid.styles.js +0 -0
  247. /package/styles/{v2/components → components}/Grid/GridItem.jsx +0 -0
  248. /package/styles/{v2/components → components}/Grid/GridItem.styles.js +0 -0
  249. /package/styles/{v2/components → components}/Grid/index.js +0 -0
  250. /package/styles/{v2/components → components}/Heading/Heading.jsx +0 -0
  251. /package/styles/{v2/components → components}/Heading/Heading.stories.js +0 -0
  252. /package/styles/{v2/components → components}/Icon/Icon.jsx +0 -0
  253. /package/styles/{v2/components → components}/Icon/Icon.stories.js +0 -0
  254. /package/styles/{v2/components → components}/Image/Image.spec.js +0 -0
  255. /package/styles/{v2/components → components}/Image/Image.stories.js +0 -0
  256. /package/styles/{v2/components → components}/Input/Input.jsx +0 -0
  257. /package/styles/{v2/components → components}/Input/Input.stories.js +0 -0
  258. /package/styles/{v2/components → components}/Input/index.js +0 -0
  259. /package/styles/{v2/components → components}/Input/styles/index.js +0 -0
  260. /package/styles/{v2/components → components}/Link/Link.jsx +0 -0
  261. /package/styles/{v2/components → components}/Link/Link.styles.js +0 -0
  262. /package/styles/{v2/components → components}/List/List.jsx +0 -0
  263. /package/styles/{v2/components → components}/List/index.js +0 -0
  264. /package/styles/{v2/components → components}/List/styles/index.js +0 -0
  265. /package/styles/{v2/components → components}/List/styles/item.styles.js +0 -0
  266. /package/styles/{v2/components → components}/Loader/Loader.jsx +0 -0
  267. /package/styles/{v2/components → components}/Loader/Loader.stories.js +0 -0
  268. /package/styles/{v2/components → components}/Modal/index.js +0 -0
  269. /package/styles/{v2/components → components}/Modal/styles/body.js +0 -0
  270. /package/styles/{v2/components → components}/Modal/styles/closeButton.js +0 -0
  271. /package/styles/{v2/components → components}/Modal/styles/dialog.js +0 -0
  272. /package/styles/{v2/components → components}/Modal/styles/dialogContainer.js +0 -0
  273. /package/styles/{v2/components → components}/Modal/styles/footer.js +0 -0
  274. /package/styles/{v2/components → components}/Modal/styles/header.js +0 -0
  275. /package/styles/{v2/components → components}/Modal/styles/index.js +0 -0
  276. /package/styles/{v2/components → components}/Modal/styles/overlay.js +0 -0
  277. /package/styles/{v2/components → components}/Popover/Popover.jsx +0 -0
  278. /package/styles/{v2/components → components}/Popover/PopoverArrow.jsx +0 -0
  279. /package/styles/{v2/components → components}/Popover/PopoverCloseButton.jsx +0 -0
  280. /package/styles/{v2/components → components}/Popover/PopoverContent.jsx +0 -0
  281. /package/styles/{v2/components → components}/Popover/index.js +0 -0
  282. /package/styles/{v2/components → components}/Popover/styles/popover-arrow.js +0 -0
  283. /package/styles/{v2/components → components}/Popover/styles/popover-body.js +0 -0
  284. /package/styles/{v2/components → components}/Popover/styles/popover-close-button.js +0 -0
  285. /package/styles/{v2/components → components}/Popover/styles/popover-header.js +0 -0
  286. /package/styles/{v2/components → components}/Radio/Radio.jsx +0 -0
  287. /package/styles/{v2/components → components}/Radio/Radio.stories.js +0 -0
  288. /package/styles/{v2/components → components}/Radio/RadioGroup.jsx +0 -0
  289. /package/styles/{v2/components → components}/Radio/index.js +0 -0
  290. /package/styles/{v2/components → components}/Radio/styles/index.js +0 -0
  291. /package/styles/{v2/components → components}/Select/Select.jsx +0 -0
  292. /package/styles/{v2/components → components}/Select/Select.stories.js +0 -0
  293. /package/styles/{v2/components → components}/Select/index.js +0 -0
  294. /package/styles/{v2/components → components}/Select/styles/index.js +0 -0
  295. /package/styles/{v2/components → components}/Skeleton/Skeleton.stories.jsx +0 -0
  296. /package/styles/{v2/components → components}/Skeleton/Skeleton.styles.js +0 -0
  297. /package/styles/{v2/components → components}/Spinner/Spinner.jsx +0 -0
  298. /package/styles/{v2/components → components}/Spinner/Spinner.styles.js +0 -0
  299. /package/styles/{v2/components → components}/Switch/Switch.jsx +0 -0
  300. /package/styles/{v2/components → components}/Switch/Switch.stories.js +0 -0
  301. /package/styles/{v2/components → components}/Switch/index.js +0 -0
  302. /package/styles/{v2/components → components}/Switch/styles/index.js +0 -0
  303. /package/styles/{v2/components → components}/Table/Table.jsx +0 -0
  304. /package/styles/{v2/components → components}/Table/Table.stories.js +0 -0
  305. /package/styles/{v2/components → components}/Table/index.js +0 -0
  306. /package/styles/{v2/components → components}/Tabs/Tabs.stories.js +0 -0
  307. /package/styles/{v2/components → components}/Tabs/index.js +0 -0
  308. /package/styles/{v2/components → components}/Tabs/styles/index.js +0 -0
  309. /package/styles/{v2/components → components}/Text/Text.jsx +0 -0
  310. /package/styles/{v2/components → components}/Text/Text.stories.js +0 -0
  311. /package/styles/{v2/components → components}/Text/options.js +0 -0
  312. /package/styles/{v2/theme → theme}/base/breakpoints.js +0 -0
  313. /package/styles/{v2/theme → theme}/base/colors.js +0 -0
  314. /package/styles/{v2/theme → theme}/base/index.js +0 -0
  315. /package/styles/{v2/theme → theme}/base/sizes.js +0 -0
  316. /package/styles/{v2/theme → theme}/base/typography.js +0 -0
  317. /package/styles/{v2/theme → theme}/base/zindices.js +0 -0
@@ -1,126 +0,0 @@
1
- import isFunction from 'lodash/isFunction';
2
- import isString from 'lodash/isString';
3
- import isUndefined from 'lodash/isUndefined';
4
- import React, {Component} from 'react';
5
- import PropTypes from 'prop-types';
6
- import classNames from 'classnames';
7
- import {document, window} from 'ssr-window';
8
- import DOMUtils from '@spothero/utils/dom';
9
-
10
- export default class ModalContent extends Component {
11
- static propTypes = {
12
- /** Additional class(es) to add to the component. */
13
- className: PropTypes.string,
14
- /** The elements to display as children. */
15
- children: PropTypes.node,
16
- /** Removes the padding of the content and makes it flush with the edges. */
17
- noPadding: PropTypes.bool,
18
- /** Sets a maximum height on the content. */
19
- maxHeight: PropTypes.oneOfType([
20
- PropTypes.number,
21
- PropTypes.oneOf(['auto']),
22
- ]),
23
- /** Sets content area height. */
24
- contentAreaHeight: PropTypes.oneOfType([
25
- PropTypes.number,
26
- PropTypes.func,
27
- ]),
28
- /** HTML markup to set as the content. Useful for rendering server side HTML responses inside of the component. */
29
- html: PropTypes.string,
30
- /** On all but the smallest breakpoints, the padding to add around the containing modal wrapper if the content height were to exceed 100% window height, effectively showing more of the shim. */
31
- verticalModalPadding: PropTypes.number,
32
- };
33
- static defaultProps = {
34
- maxHeight: 'auto',
35
- verticalModalPadding: 32,
36
- };
37
-
38
- constructor(props) {
39
- super(props);
40
-
41
- const {children, html} = props;
42
-
43
- if (children && html) {
44
- // eslint-disable-next-line no-console
45
- console.error(
46
- 'Passing children or html props is exclusive. You may only use one at a time.'
47
- );
48
- }
49
- }
50
-
51
- componentDidMount() {
52
- window.addEventListener('resize', this._onWindowResize);
53
-
54
- this._resizeTimeout = window.setTimeout(() => {
55
- this._onWindowResize();
56
- }, 0);
57
- }
58
-
59
- componentWillUnmount() {
60
- window.clearTimeout(this._resizeTimeout);
61
- window.removeEventListener('resize', this._onWindowResize);
62
- }
63
-
64
- _onWindowResize = evt => {
65
- const {maxHeight, contentAreaHeight, verticalModalPadding} = this.props;
66
- const windowWidth = window.innerWidth || document.body.clientWidth;
67
- let calculatedMax = maxHeight;
68
-
69
- if (isString(calculatedMax) && calculatedMax === 'auto') {
70
- const modalWrapperEl = DOMUtils.parent(
71
- this._container,
72
- '.Modal-wrapper'
73
- );
74
- const titleEl = modalWrapperEl.querySelector('.Modal-title');
75
- const finalContentAreaHeight = isUndefined(contentAreaHeight)
76
- ? DOMUtils.height(modalWrapperEl, true, false) -
77
- DOMUtils.height(titleEl)
78
- : isFunction(contentAreaHeight)
79
- ? contentAreaHeight()
80
- : contentAreaHeight;
81
-
82
- calculatedMax =
83
- windowWidth < 768
84
- ? finalContentAreaHeight
85
- : finalContentAreaHeight - verticalModalPadding - 24; // 24 is margin-bottom
86
- }
87
-
88
- this._container.style.maxHeight = `${calculatedMax}px`;
89
- };
90
-
91
- render() {
92
- const {
93
- className,
94
- noPadding,
95
- contentAreaHeight,
96
- children,
97
- html,
98
- } = this.props;
99
- const content = html ? (
100
- <div dangerouslySetInnerHTML={{__html: html}} />
101
- ) : (
102
- children
103
- );
104
- const classes = classNames(
105
- 'Modal-content',
106
- {'Modal-content-flush': noPadding},
107
- {'Modal-content-with-height': !isUndefined(contentAreaHeight)},
108
- className
109
- );
110
-
111
- if (html && children) {
112
- return null;
113
- }
114
-
115
- return (
116
- <div
117
- ref={node => {
118
- this._container = node;
119
- }}
120
- className={classes}
121
- >
122
- <div className="Modal-content-wrapper">{content}</div>
123
- </div>
124
- );
125
- }
126
- }
@@ -1,53 +0,0 @@
1
- import React, {Component} from 'react';
2
- import PropTypes from 'prop-types';
3
- import classNames from 'classnames';
4
-
5
- export default class ModalFooter extends Component {
6
- static propTypes = {
7
- /** Additional class(es) to add to the component. */
8
- className: PropTypes.string,
9
- /** The elements to display as children. */
10
- children: PropTypes.node,
11
- /** Removes the padding of the content and makes it flush with the edges. */
12
- noPadding: PropTypes.bool,
13
- /** HTML markup to set as the content. Useful for rendering server side HTML responses inside of the component. */
14
- html: PropTypes.string,
15
- };
16
-
17
- constructor(props) {
18
- super(props);
19
-
20
- const {children, html} = props;
21
-
22
- if (children && html) {
23
- throw new Error(
24
- 'Passing children or html props is exclusive. You may only use one at a time.'
25
- );
26
- }
27
- }
28
-
29
- render() {
30
- const {className, noPadding, children, html} = this.props;
31
- const content = html ? (
32
- <div dangerouslySetInnerHTML={{__html: html}} />
33
- ) : (
34
- children
35
- );
36
- const classes = classNames(
37
- 'Modal-footer',
38
- {'Modal-footer-flush': noPadding},
39
- className
40
- );
41
-
42
- return (
43
- <div
44
- ref={node => {
45
- this._container = node;
46
- }}
47
- className={classes}
48
- >
49
- {content}
50
- </div>
51
- );
52
- }
53
- }
@@ -1,262 +0,0 @@
1
- html {
2
- &.Modal-open {
3
- @extend %disable-scrolling;
4
- }
5
- }
6
-
7
- .Modal {
8
- position: absolute;
9
- top: 0;
10
- left: 0;
11
- z-index: $z-index-modal;
12
- opacity: 0;
13
-
14
- &.Modal-inline {
15
- height: 100%;
16
- width: 100%;
17
- }
18
-
19
- &.Modal-no-shim {
20
- opacity: 1;
21
- }
22
- }
23
-
24
- .Modal-animated {
25
- transition: opacity $animation;
26
- }
27
-
28
- .Modal-showing {
29
- opacity: 1;
30
-
31
- .Modal-container {
32
- opacity: 1;
33
- }
34
- }
35
-
36
- .Modal-shim {
37
- position: fixed;
38
- left: 0;
39
- top: 0;
40
- bottom: 0;
41
- right: 0;
42
- margin: auto;
43
- height: 100%;
44
- width: 100%;
45
- background-color: rgba($color-fuel, 0.9);
46
-
47
- .Modal-inline & {
48
- position: absolute;
49
- }
50
- }
51
-
52
- .Modal-wrapper {
53
- position: fixed;
54
- top: 0;
55
- left: 0;
56
- width: 100%;
57
- height: 100%;
58
- text-align: center;
59
- padding: 16px;
60
-
61
- &::before {
62
- content: "";
63
- display: inline-block;
64
- height: 100%;
65
- vertical-align: middle;
66
- letter-spacing: -0.25em;
67
- }
68
-
69
- .Modal-inline & {
70
- position: absolute;
71
- }
72
-
73
- .Modal-no-shim & {
74
- pointer-events: none;
75
- }
76
-
77
- @include breakpoint($breakpoint-md) {
78
- padding: 0;
79
- }
80
- }
81
-
82
- .Modal-wrapper-full {
83
- padding: 0;
84
-
85
- @include breakpoint($breakpoint-sm) {
86
- padding: 16px;
87
- }
88
- }
89
-
90
- .Modal-container {
91
- position: relative;
92
- display: inline-block;
93
- width: 100%;
94
- vertical-align: middle;
95
- background-color: $color-white;
96
- text-align: left;
97
- opacity: 0;
98
- border-radius: 4px;
99
-
100
- @include breakpoint($breakpoint-md) {
101
- height: auto;
102
- max-width: calc(100% - 32px);
103
- }
104
-
105
- .Modal-wrapper-full & {
106
- border-radius: initial;
107
- height: 100%;
108
-
109
- @include breakpoint($breakpoint-sm) {
110
- height: auto;
111
- }
112
- }
113
- }
114
-
115
- .Modal-container-animated {
116
- transition: opacity $animation;
117
- }
118
-
119
- .Modal-container-showing {
120
- opacity: 1;
121
- pointer-events: auto;
122
-
123
- .Modal-no-shim & {
124
- box-shadow: 2px 4px 8px 0 rgba($color-fuel, 0.1);
125
- }
126
- }
127
-
128
- .Modal-container-extra-slim {
129
- @include breakpoint($breakpoint-md) {
130
- width: 300px;
131
- }
132
- }
133
-
134
- .Modal-container-slim {
135
- @include breakpoint($breakpoint-md) {
136
- width: 400px;
137
- }
138
- }
139
-
140
- .Modal-container-normal {
141
- @include breakpoint($breakpoint-md) {
142
- width: 550px;
143
- }
144
- }
145
-
146
- .Modal-container-wide {
147
- @include breakpoint($breakpoint-md) {
148
- width: 700px;
149
- }
150
- }
151
-
152
- .Modal-container-extra-wide {
153
- @include breakpoint($breakpoint-md) {
154
- width: 900px;
155
- }
156
- }
157
-
158
- .Modal-container-custom {
159
- @include breakpoint(max-width $breakpoint-md) {
160
- width: 100% !important; // stylelint-disable-line declaration-no-important
161
- }
162
- }
163
-
164
- .Modal-title {
165
- position: relative;
166
- padding: 12px 35px 0;
167
-
168
- h1 {
169
- font-size: 18px;
170
- margin: 0;
171
- font-weight: $font-weight-semi-bold;
172
- text-align: center;
173
- }
174
-
175
- @include breakpoint($breakpoint-md) {
176
- padding: 30px 35px 0;
177
-
178
- h1 {
179
- font-size: 24px;
180
- }
181
- }
182
- }
183
-
184
- .Modal-ctas {
185
- position: absolute;
186
- top: 12px;
187
- left: 0;
188
- width: 100%;
189
- z-index: $z-index-fore;
190
-
191
- .Button {
192
- padding: 0;
193
- }
194
-
195
- .Icon {
196
- width: 14px;
197
- fill: $color-fuel;
198
- }
199
-
200
- @include breakpoint($breakpoint-md) {
201
- top: 14px;
202
-
203
- .Icon {
204
- width: 16px;
205
- }
206
- }
207
- }
208
-
209
- .Modal-close {
210
- position: absolute;
211
- top: 0;
212
- right: 14px;
213
- }
214
-
215
- .Modal-back {
216
- position: absolute;
217
- top: 0;
218
- left: 12px;
219
- }
220
-
221
- .Modal-content {
222
- position: relative;
223
- overflow: auto;
224
- margin-bottom: 16px;
225
- padding: 12px 16px 0;
226
- transition: height $animation;
227
-
228
- @include breakpoint($breakpoint-md) {
229
- margin-bottom: 24px;
230
- padding: 30px 48px 0;
231
- }
232
- }
233
-
234
- .Modal-content-with-height {
235
- margin: 16px 0;
236
- padding: 0 16px;
237
- transition: height $animation;
238
-
239
- @include breakpoint($breakpoint-md) {
240
- margin: 24px 0;
241
- padding: 0 48px;
242
- }
243
- }
244
-
245
- .Modal-content-flush {
246
- padding: 0;
247
- }
248
-
249
- .Modal-footer {
250
- position: relative;
251
- margin-bottom: 16px;
252
- padding: 0 16px;
253
-
254
- @include breakpoint($breakpoint-md) {
255
- margin-bottom: 24px;
256
- padding: 0 48px;
257
- }
258
- }
259
-
260
- .Modal-footer-flush {
261
- padding: 0;
262
- }
@@ -1,3 +0,0 @@
1
- export Modal from './Modal';
2
- export ModalContent from './ModalContent';
3
- export ModalFooter from './ModalFooter';