@openedx/paragon 22.0.0-alpha.23 → 22.0.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 (1015) hide show
  1. package/README.md +16 -46
  2. package/bin/paragon-scripts.js +16 -123
  3. package/dist/ActionRow/_index.scss +4 -2
  4. package/dist/ActionRow/_variables.scss +2 -0
  5. package/dist/ActionRow/index.js +7 -8
  6. package/dist/ActionRow/index.js.map +1 -1
  7. package/dist/Alert/_variables.scss +24 -0
  8. package/dist/Alert/index.js +33 -25
  9. package/dist/Alert/index.js.map +1 -1
  10. package/dist/Alert/index.scss +32 -41
  11. package/dist/Annotation/_variables.scss +18 -0
  12. package/dist/Annotation/index.js +7 -9
  13. package/dist/Annotation/index.js.map +1 -1
  14. package/dist/Annotation/index.scss +103 -130
  15. package/dist/Avatar/_variables.scss +10 -0
  16. package/dist/Avatar/index.js +5 -7
  17. package/dist/Avatar/index.js.map +1 -1
  18. package/dist/Avatar/index.scss +20 -18
  19. package/dist/AvatarButton/_variables.scss +3 -0
  20. package/dist/AvatarButton/index.js +10 -12
  21. package/dist/AvatarButton/index.js.map +1 -1
  22. package/dist/AvatarButton/index.scss +5 -3
  23. package/dist/Badge/_variables.scss +16 -0
  24. package/dist/Badge/index.js +6 -4
  25. package/dist/Badge/index.js.map +1 -1
  26. package/dist/Badge/index.scss +2 -112
  27. package/dist/Breadcrumb/BreadcrumbLink.js +11 -14
  28. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  29. package/dist/Breadcrumb/_variables.scss +27 -0
  30. package/dist/Breadcrumb/index.js +29 -29
  31. package/dist/Breadcrumb/index.js.map +1 -1
  32. package/dist/Breadcrumb/index.scss +16 -14
  33. package/dist/Bubble/_variables.scss +8 -0
  34. package/dist/Bubble/index.js +11 -13
  35. package/dist/Bubble/index.js.map +1 -1
  36. package/dist/Bubble/index.scss +12 -25
  37. package/dist/Button/_variables.scss +52 -0
  38. package/dist/Button/deprecated/index.js +149 -0
  39. package/dist/Button/deprecated/index.js.map +1 -0
  40. package/dist/Button/index.js +14 -13
  41. package/dist/Button/index.js.map +1 -1
  42. package/dist/Button/index.scss +370 -855
  43. package/dist/Card/CardBody.js +4 -6
  44. package/dist/Card/CardBody.js.map +1 -1
  45. package/dist/Card/CardCarousel/CardCarousel.js +11 -13
  46. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  47. package/dist/Card/CardCarousel/CardCarouselControls.js +6 -7
  48. package/dist/Card/CardCarousel/CardCarouselControls.js.map +1 -1
  49. package/dist/Card/CardCarousel/CardCarouselHeader.js +9 -12
  50. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  51. package/dist/Card/CardCarousel/CardCarouselItems.js +6 -9
  52. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  53. package/dist/Card/CardCarousel/CardCarouselProvider.js +27 -28
  54. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  55. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +4 -6
  56. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  57. package/dist/Card/CardCarousel/CardCarouselTitle.js +4 -6
  58. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  59. package/dist/Card/CardContext.js +8 -10
  60. package/dist/Card/CardContext.js.map +1 -1
  61. package/dist/Card/CardDeck.js +19 -17
  62. package/dist/Card/CardDeck.js.map +1 -1
  63. package/dist/Card/CardDivider.js +3 -5
  64. package/dist/Card/CardDivider.js.map +1 -1
  65. package/dist/Card/CardFooter.js +15 -18
  66. package/dist/Card/CardFooter.js.map +1 -1
  67. package/dist/Card/CardGrid.js +13 -11
  68. package/dist/Card/CardGrid.js.map +1 -1
  69. package/dist/Card/CardHeader.js +17 -22
  70. package/dist/Card/CardHeader.js.map +1 -1
  71. package/dist/Card/CardImageCap.js +48 -33
  72. package/dist/Card/CardImageCap.js.map +1 -1
  73. package/dist/Card/CardSection.js +11 -14
  74. package/dist/Card/CardSection.js.map +1 -1
  75. package/dist/Card/CardStatus.js +11 -14
  76. package/dist/Card/CardStatus.js.map +1 -1
  77. package/dist/Card/_variables.scss +55 -0
  78. package/dist/Card/index.js +18 -20
  79. package/dist/Card/index.js.map +1 -1
  80. package/dist/Card/index.scss +79 -78
  81. package/dist/Carousel/_variables.scss +27 -0
  82. package/dist/Carousel/index.js +17 -11
  83. package/dist/Carousel/index.js.map +1 -1
  84. package/dist/Carousel/index.scss +2 -168
  85. package/dist/CheckBox/index.js +102 -0
  86. package/dist/CheckBox/index.js.map +1 -0
  87. package/dist/CheckBoxGroup/index.js +15 -0
  88. package/dist/CheckBoxGroup/index.js.map +1 -0
  89. package/dist/Chip/ChipIcon.js +47 -0
  90. package/dist/Chip/ChipIcon.js.map +1 -0
  91. package/dist/Chip/_variables.scss +28 -0
  92. package/dist/Chip/constants.js +5 -0
  93. package/dist/Chip/index.js +66 -40
  94. package/dist/Chip/index.js.map +1 -1
  95. package/dist/Chip/index.scss +102 -61
  96. package/dist/Chip/mixins.scss +42 -0
  97. package/dist/ChipCarousel/_variables.scss +3 -0
  98. package/dist/ChipCarousel/index.js +29 -30
  99. package/dist/ChipCarousel/index.js.map +1 -1
  100. package/dist/ChipCarousel/index.scss +4 -1
  101. package/dist/CloseButton/_variables.scss +6 -0
  102. package/dist/CloseButton/index.scss +2 -31
  103. package/dist/Code/_variables.scss +17 -0
  104. package/dist/Code/index.scss +2 -47
  105. package/dist/Collapsible/CollapsibleAdvanced.js +82 -62
  106. package/dist/Collapsible/CollapsibleAdvanced.js.map +1 -1
  107. package/dist/Collapsible/CollapsibleBody.js +13 -15
  108. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  109. package/dist/Collapsible/CollapsibleTrigger.js +18 -20
  110. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  111. package/dist/Collapsible/CollapsibleVisible.js +6 -9
  112. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  113. package/dist/Collapsible/_variables.scss +12 -0
  114. package/dist/Collapsible/index.js +17 -18
  115. package/dist/Collapsible/index.js.map +1 -1
  116. package/dist/Collapsible/index.scss +15 -15
  117. package/dist/ColorPicker/_variables.scss +2 -0
  118. package/dist/ColorPicker/index.js +86 -31
  119. package/dist/ColorPicker/index.js.map +1 -1
  120. package/dist/ColorPicker/index.scss +11 -9
  121. package/dist/Container/_variables.scss +5 -0
  122. package/dist/Container/index.js +14 -11
  123. package/dist/Container/index.js.map +1 -1
  124. package/dist/DataTable/ActionDisplay.js +8 -9
  125. package/dist/DataTable/ActionDisplay.js.map +1 -1
  126. package/dist/DataTable/BulkActions.js +23 -20
  127. package/dist/DataTable/BulkActions.js.map +1 -1
  128. package/dist/DataTable/CardView.js +46 -43
  129. package/dist/DataTable/CardView.js.map +1 -1
  130. package/dist/DataTable/CollapsibleButtonGroup.js +59 -41
  131. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  132. package/dist/DataTable/DataTableContext.js +1 -1
  133. package/dist/DataTable/DataTableContext.js.map +1 -1
  134. package/dist/DataTable/DataTableLayout.js +6 -9
  135. package/dist/DataTable/DataTableLayout.js.map +1 -1
  136. package/dist/DataTable/DataViewToggle.js +25 -20
  137. package/dist/DataTable/DataViewToggle.js.map +1 -1
  138. package/dist/DataTable/DropdownFilters.js +41 -28
  139. package/dist/DataTable/DropdownFilters.js.map +1 -1
  140. package/dist/DataTable/EmptyTable.js +6 -9
  141. package/dist/DataTable/EmptyTable.js.map +1 -1
  142. package/dist/DataTable/ExpandAll.js +2 -4
  143. package/dist/DataTable/ExpandAll.js.map +1 -1
  144. package/dist/DataTable/ExpandRow.js +2 -4
  145. package/dist/DataTable/ExpandRow.js.map +1 -1
  146. package/dist/DataTable/FilterStatus.js +18 -17
  147. package/dist/DataTable/FilterStatus.js.map +1 -1
  148. package/dist/DataTable/RowStatus.js +15 -18
  149. package/dist/DataTable/RowStatus.js.map +1 -1
  150. package/dist/DataTable/SidebarFilters.js +16 -13
  151. package/dist/DataTable/SidebarFilters.js.map +1 -1
  152. package/dist/DataTable/SmartStatus.js +14 -16
  153. package/dist/DataTable/SmartStatus.js.map +1 -1
  154. package/dist/DataTable/Table.js +17 -19
  155. package/dist/DataTable/Table.js.map +1 -1
  156. package/dist/DataTable/TableActions.js +11 -13
  157. package/dist/DataTable/TableActions.js.map +1 -1
  158. package/dist/DataTable/TableCell.js +6 -10
  159. package/dist/DataTable/TableCell.js.map +1 -1
  160. package/dist/DataTable/TableControlBar.js +7 -12
  161. package/dist/DataTable/TableControlBar.js.map +1 -1
  162. package/dist/DataTable/TableFilters.js +14 -12
  163. package/dist/DataTable/TableFilters.js.map +1 -1
  164. package/dist/DataTable/TableFooter.js +5 -8
  165. package/dist/DataTable/TableFooter.js.map +1 -1
  166. package/dist/DataTable/TableHeaderCell.js +11 -15
  167. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  168. package/dist/DataTable/TableHeaderRow.js +6 -4
  169. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  170. package/dist/DataTable/TablePagination.js +15 -9
  171. package/dist/DataTable/TablePagination.js.map +1 -1
  172. package/dist/DataTable/TablePaginationMinimal.js +14 -8
  173. package/dist/DataTable/TablePaginationMinimal.js.map +1 -1
  174. package/dist/DataTable/TableRow.js +15 -18
  175. package/dist/DataTable/TableRow.js.map +1 -1
  176. package/dist/DataTable/_variables.scss +11 -0
  177. package/dist/DataTable/filters/CheckboxFilter.js +23 -22
  178. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  179. package/dist/DataTable/filters/DropdownFilter.js +14 -19
  180. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  181. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +19 -20
  182. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  183. package/dist/DataTable/filters/TextFilter.js +15 -18
  184. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  185. package/dist/DataTable/hooks.js +29 -25
  186. package/dist/DataTable/hooks.js.map +1 -1
  187. package/dist/DataTable/index.js +121 -104
  188. package/dist/DataTable/index.js.map +1 -1
  189. package/dist/DataTable/index.scss +50 -48
  190. package/dist/DataTable/selection/BaseSelectionStatus.js +29 -30
  191. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  192. package/dist/DataTable/selection/ControlledSelect.js +13 -9
  193. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  194. package/dist/DataTable/selection/ControlledSelectHeader.js +19 -15
  195. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  196. package/dist/DataTable/selection/ControlledSelectionStatus.js +34 -24
  197. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  198. package/dist/DataTable/selection/SelectionStatus.js +23 -23
  199. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  200. package/dist/DataTable/utils/getVisibleColumns.js +36 -44
  201. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  202. package/dist/Dropdown/_variables.scss +33 -0
  203. package/dist/Dropdown/deprecated/DropdownButton.js +44 -0
  204. package/dist/Dropdown/deprecated/DropdownButton.js.map +1 -0
  205. package/dist/Dropdown/deprecated/DropdownItem.js +33 -0
  206. package/dist/Dropdown/deprecated/DropdownItem.js.map +1 -0
  207. package/dist/Dropdown/deprecated/DropdownMenu.js +46 -0
  208. package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -0
  209. package/dist/Dropdown/deprecated/index.js +242 -0
  210. package/dist/Dropdown/deprecated/index.js.map +1 -0
  211. package/dist/Dropdown/index.js +34 -29
  212. package/dist/Dropdown/index.js.map +1 -1
  213. package/dist/Dropdown/index.scss +12 -11
  214. package/dist/Dropzone/DefaultContent.js +13 -13
  215. package/dist/Dropzone/DefaultContent.js.map +1 -1
  216. package/dist/Dropzone/DragError.js +1 -3
  217. package/dist/Dropzone/DragError.js.map +1 -1
  218. package/dist/Dropzone/GenericError.js +7 -7
  219. package/dist/Dropzone/GenericError.js.map +1 -1
  220. package/dist/Dropzone/UploadProgress.js +6 -8
  221. package/dist/Dropzone/UploadProgress.js.map +1 -1
  222. package/dist/Dropzone/_variables.scss +9 -0
  223. package/dist/Dropzone/index.js +146 -88
  224. package/dist/Dropzone/index.js.map +1 -1
  225. package/dist/Dropzone/index.scss +14 -12
  226. package/dist/Fieldset/index.js +117 -0
  227. package/dist/Fieldset/index.js.map +1 -0
  228. package/dist/Fieldset/index.scss +12 -0
  229. package/dist/Form/FormAutosuggest.js +287 -152
  230. package/dist/Form/FormAutosuggest.js.map +1 -1
  231. package/dist/Form/FormAutosuggestOption.js +4 -6
  232. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  233. package/dist/Form/FormCheckbox.js +35 -42
  234. package/dist/Form/FormCheckbox.js.map +1 -1
  235. package/dist/Form/FormCheckboxSet.js +13 -16
  236. package/dist/Form/FormCheckboxSet.js.map +1 -1
  237. package/dist/Form/FormCheckboxSetContext.js +39 -34
  238. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  239. package/dist/Form/FormControl.js +41 -35
  240. package/dist/Form/FormControl.js.map +1 -1
  241. package/dist/Form/FormControlDecorator.js +3 -5
  242. package/dist/Form/FormControlDecorator.js.map +1 -1
  243. package/dist/Form/FormControlDecoratorGroup.js +8 -10
  244. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  245. package/dist/Form/FormControlFeedback.js +12 -15
  246. package/dist/Form/FormControlFeedback.js.map +1 -1
  247. package/dist/Form/FormControlFloatingLabel.js +3 -6
  248. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  249. package/dist/Form/FormControlSet.js +8 -9
  250. package/dist/Form/FormControlSet.js.map +1 -1
  251. package/dist/Form/FormGroup.js +11 -12
  252. package/dist/Form/FormGroup.js.map +1 -1
  253. package/dist/Form/FormGroupContext.js +64 -39
  254. package/dist/Form/FormGroupContext.js.map +1 -1
  255. package/dist/Form/FormLabel.js +15 -17
  256. package/dist/Form/FormLabel.js.map +1 -1
  257. package/dist/Form/FormRadio.js +19 -22
  258. package/dist/Form/FormRadio.js.map +1 -1
  259. package/dist/Form/FormRadioSet.js +13 -16
  260. package/dist/Form/FormRadioSet.js.map +1 -1
  261. package/dist/Form/FormRadioSetContext.js +39 -34
  262. package/dist/Form/FormRadioSetContext.js.map +1 -1
  263. package/dist/Form/FormSwitch.js +19 -20
  264. package/dist/Form/FormSwitch.js.map +1 -1
  265. package/dist/Form/FormText.js +20 -29
  266. package/dist/Form/FormText.js.map +1 -1
  267. package/dist/Form/_FormText.scss +8 -8
  268. package/dist/Form/_index.scss +146 -168
  269. package/dist/Form/_mixins.scss +3 -216
  270. package/dist/Form/_variables.scss +267 -0
  271. package/dist/Form/useCheckboxSetValues.js +46 -23
  272. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  273. package/dist/Hyperlink/index.js +32 -31
  274. package/dist/Hyperlink/index.js.map +1 -1
  275. package/dist/Hyperlink/index.scss +3 -3
  276. package/dist/Icon/_variables.scss +7 -0
  277. package/dist/Icon/index.js +38 -30
  278. package/dist/Icon/index.js.map +1 -1
  279. package/dist/Icon/index.scss +12 -10
  280. package/dist/IconButton/index.js +40 -36
  281. package/dist/IconButton/index.js.map +1 -1
  282. package/dist/IconButton/index.scss +74 -387
  283. package/dist/IconButtonToggle/index.js +16 -16
  284. package/dist/IconButtonToggle/index.js.map +1 -1
  285. package/dist/IconButtonToggle/index.scss +1 -1
  286. package/dist/Image/_variables.scss +13 -0
  287. package/dist/Image/index.scss +2 -53
  288. package/dist/Input/index.js +166 -0
  289. package/dist/Input/index.js.map +1 -0
  290. package/dist/InputSelect/index.js +105 -0
  291. package/dist/InputSelect/index.js.map +1 -0
  292. package/dist/InputText/index.js +45 -0
  293. package/dist/InputText/index.js.map +1 -0
  294. package/dist/Layout/index.js +33 -29
  295. package/dist/Layout/index.js.map +1 -1
  296. package/dist/ListBox/index.js +148 -0
  297. package/dist/ListBox/index.js.map +1 -0
  298. package/dist/ListBoxOption/index.js +94 -0
  299. package/dist/ListBoxOption/index.js.map +1 -0
  300. package/dist/MailtoLink/index.js +37 -34
  301. package/dist/MailtoLink/index.js.map +1 -1
  302. package/dist/Menu/MenuItem.js +13 -14
  303. package/dist/Menu/MenuItem.js.map +1 -1
  304. package/dist/Menu/SelectMenu.js +68 -44
  305. package/dist/Menu/SelectMenu.js.map +1 -1
  306. package/dist/Menu/_variables.scss +24 -0
  307. package/dist/Menu/index.js +10 -11
  308. package/dist/Menu/index.js.map +1 -1
  309. package/dist/Menu/index.scss +27 -25
  310. package/dist/Modal/AlertModal.js +5 -7
  311. package/dist/Modal/AlertModal.js.map +1 -1
  312. package/dist/Modal/FullscreenModal.js +6 -8
  313. package/dist/Modal/FullscreenModal.js.map +1 -1
  314. package/dist/Modal/MarketingModal.js +8 -10
  315. package/dist/Modal/MarketingModal.js.map +1 -1
  316. package/dist/Modal/ModalCloseButton.js +13 -15
  317. package/dist/Modal/ModalCloseButton.js.map +1 -1
  318. package/dist/Modal/ModalContext.js +13 -13
  319. package/dist/Modal/ModalContext.js.map +1 -1
  320. package/dist/Modal/ModalDialog.js +25 -23
  321. package/dist/Modal/ModalDialog.js.map +1 -1
  322. package/dist/Modal/ModalDialogBody.js +22 -11
  323. package/dist/Modal/ModalDialogBody.js.map +1 -1
  324. package/dist/Modal/ModalDialogFooter.js +6 -7
  325. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  326. package/dist/Modal/ModalDialogHeader.js +6 -7
  327. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  328. package/dist/Modal/ModalDialogHero.js +6 -7
  329. package/dist/Modal/ModalDialogHero.js.map +1 -1
  330. package/dist/Modal/ModalDialogHeroBackground.js +8 -9
  331. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  332. package/dist/Modal/ModalDialogHeroContent.js +6 -7
  333. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  334. package/dist/Modal/ModalDialogTitle.js +6 -7
  335. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  336. package/dist/Modal/ModalLayer.js +11 -17
  337. package/dist/Modal/ModalLayer.js.map +1 -1
  338. package/dist/Modal/ModalPopup.js +17 -17
  339. package/dist/Modal/ModalPopup.js.map +1 -1
  340. package/dist/Modal/PopperElement.js +25 -18
  341. package/dist/Modal/PopperElement.js.map +1 -1
  342. package/dist/Modal/Portal.js +40 -18
  343. package/dist/Modal/Portal.js.map +1 -1
  344. package/dist/Modal/StandardModal.js +6 -8
  345. package/dist/Modal/StandardModal.js.map +1 -1
  346. package/dist/Modal/_ModalDialog.scss +48 -50
  347. package/dist/Modal/_variables.scss +50 -0
  348. package/dist/Modal/index.js +293 -0
  349. package/dist/Modal/index.js.map +1 -0
  350. package/dist/Modal/index.scss +73 -6
  351. package/dist/Nav/_mixins.scss +4 -4
  352. package/dist/Nav/_variables.scss +58 -0
  353. package/dist/Nav/index.js +3 -2
  354. package/dist/Nav/index.js.map +1 -1
  355. package/dist/Nav/index.scss +66 -70
  356. package/dist/Navbar/_variables.scss +40 -0
  357. package/dist/Navbar/index.js +7 -6
  358. package/dist/Navbar/index.js.map +1 -1
  359. package/dist/Navbar/index.scss +2 -276
  360. package/dist/OverflowScroll/OverflowScroll.js +45 -37
  361. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  362. package/dist/OverflowScroll/OverflowScrollContext.js +1 -1
  363. package/dist/OverflowScroll/OverflowScrollContext.js.map +1 -1
  364. package/dist/OverflowScroll/OverflowScrollItems.js +2 -4
  365. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  366. package/dist/OverflowScroll/_variables.scss +5 -0
  367. package/dist/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  368. package/dist/OverflowScroll/index.scss +1 -0
  369. package/dist/Overlay/index.js +6 -5
  370. package/dist/Overlay/index.js.map +1 -1
  371. package/dist/PageBanner/index.js +11 -13
  372. package/dist/PageBanner/index.js.map +1 -1
  373. package/dist/PageBanner/index.scss +21 -17
  374. package/dist/Pagination/DefaultPagination.js +34 -0
  375. package/dist/Pagination/DefaultPagination.js.map +1 -0
  376. package/dist/Pagination/MinimalPagination.js +8 -0
  377. package/dist/Pagination/MinimalPagination.js.map +1 -0
  378. package/dist/Pagination/PaginationContext.js +200 -0
  379. package/dist/Pagination/PaginationContext.js.map +1 -0
  380. package/dist/Pagination/ReducedPagination.js +8 -0
  381. package/dist/Pagination/ReducedPagination.js.map +1 -0
  382. package/dist/Pagination/_variables.scss +19 -0
  383. package/dist/Pagination/constants.js +15 -1
  384. package/dist/Pagination/getPaginationRange.js +4 -0
  385. package/dist/Pagination/index.js +44 -358
  386. package/dist/Pagination/index.js.map +1 -1
  387. package/dist/Pagination/index.scss +120 -226
  388. package/dist/Pagination/subcomponents/Ellipsis.js +11 -0
  389. package/dist/Pagination/subcomponents/Ellipsis.js.map +1 -0
  390. package/dist/Pagination/subcomponents/NextPageButton.js +57 -0
  391. package/dist/Pagination/subcomponents/NextPageButton.js.map +1 -0
  392. package/dist/Pagination/subcomponents/PageButton.js +31 -0
  393. package/dist/Pagination/subcomponents/PageButton.js.map +1 -0
  394. package/dist/Pagination/subcomponents/PageOfCountButton.js +17 -0
  395. package/dist/Pagination/subcomponents/PageOfCountButton.js.map +1 -0
  396. package/dist/Pagination/subcomponents/PaginationDropdown.js +34 -0
  397. package/dist/Pagination/subcomponents/PaginationDropdown.js.map +1 -0
  398. package/dist/Pagination/subcomponents/PreviousPageButton.js +57 -0
  399. package/dist/Pagination/subcomponents/PreviousPageButton.js.map +1 -0
  400. package/dist/Pagination/subcomponents/ScreenReaderText.js +13 -0
  401. package/dist/Pagination/subcomponents/ScreenReaderText.js.map +1 -0
  402. package/dist/Pagination/subcomponents/index.js +7 -0
  403. package/dist/Popover/_variables.scss +36 -0
  404. package/dist/Popover/index.js +18 -21
  405. package/dist/Popover/index.js.map +1 -1
  406. package/dist/Popover/index.scss +10 -9
  407. package/dist/ProductTour/Checkpoint.js +39 -30
  408. package/dist/ProductTour/Checkpoint.js.map +1 -1
  409. package/dist/ProductTour/Checkpoint.scss +43 -71
  410. package/dist/ProductTour/CheckpointActionRow.js +18 -16
  411. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  412. package/dist/ProductTour/CheckpointBody.js +2 -4
  413. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  414. package/dist/ProductTour/CheckpointBreadcrumbs.js +16 -16
  415. package/dist/ProductTour/CheckpointBreadcrumbs.js.map +1 -1
  416. package/dist/ProductTour/CheckpointTitle.js +2 -4
  417. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  418. package/dist/ProductTour/_variables.scss +15 -0
  419. package/dist/ProductTour/index.js +66 -47
  420. package/dist/ProductTour/index.js.map +1 -1
  421. package/dist/ProductTour/messages.js +16 -0
  422. package/dist/ProgressBar/_variables.scss +23 -0
  423. package/dist/ProgressBar/index.js +37 -35
  424. package/dist/ProgressBar/index.js.map +1 -1
  425. package/dist/ProgressBar/index.scss +36 -28
  426. package/dist/RadioButtonGroup/index.js +188 -0
  427. package/dist/RadioButtonGroup/index.js.map +1 -0
  428. package/dist/Scrollable/index.js +30 -15
  429. package/dist/Scrollable/index.js.map +1 -1
  430. package/dist/Scrollable/index.scss +2 -2
  431. package/dist/SearchField/SearchFieldAdvanced.js +68 -58
  432. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  433. package/dist/SearchField/SearchFieldClearButton.js +19 -20
  434. package/dist/SearchField/SearchFieldClearButton.js.map +1 -1
  435. package/dist/SearchField/SearchFieldInput.js +10 -11
  436. package/dist/SearchField/SearchFieldInput.js.map +1 -1
  437. package/dist/SearchField/SearchFieldLabel.js +8 -11
  438. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  439. package/dist/SearchField/SearchFieldSubmitButton.js +23 -23
  440. package/dist/SearchField/SearchFieldSubmitButton.js.map +1 -1
  441. package/dist/SearchField/_variables.scss +14 -0
  442. package/dist/SearchField/index.js +26 -32
  443. package/dist/SearchField/index.js.map +1 -1
  444. package/dist/SearchField/index.scss +23 -31
  445. package/dist/SelectableBox/SelectableBoxSet.js +25 -26
  446. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  447. package/dist/SelectableBox/_variables.scss +5 -0
  448. package/dist/SelectableBox/index.js +42 -38
  449. package/dist/SelectableBox/index.js.map +1 -1
  450. package/dist/SelectableBox/index.scss +13 -11
  451. package/dist/Sheet/SheetContainer.js +38 -16
  452. package/dist/Sheet/SheetContainer.js.map +1 -1
  453. package/dist/Sheet/index.js +65 -43
  454. package/dist/Sheet/index.js.map +1 -1
  455. package/dist/Sheet/index.scss +10 -10
  456. package/dist/Spinner/_variables.scss +9 -0
  457. package/dist/Spinner/index.js +8 -9
  458. package/dist/Spinner/index.js.map +1 -1
  459. package/dist/Spinner/index.scss +2 -57
  460. package/dist/Stack/_variables.scss +1 -0
  461. package/dist/Stack/index.js +9 -11
  462. package/dist/Stack/index.js.map +1 -1
  463. package/dist/Stack/index.scss +3 -1
  464. package/dist/StatefulButton/index.js +15 -17
  465. package/dist/StatefulButton/index.js.map +1 -1
  466. package/dist/StatusAlert/index.js +168 -0
  467. package/dist/StatusAlert/index.js.map +1 -0
  468. package/dist/Stepper/Stepper.js +2 -4
  469. package/dist/Stepper/Stepper.js.map +1 -1
  470. package/dist/Stepper/StepperActionRow.js +7 -10
  471. package/dist/Stepper/StepperActionRow.js.map +1 -1
  472. package/dist/Stepper/StepperContext.js +64 -32
  473. package/dist/Stepper/StepperContext.js.map +1 -1
  474. package/dist/Stepper/StepperHeader.js +23 -30
  475. package/dist/Stepper/StepperHeader.js.map +1 -1
  476. package/dist/Stepper/StepperHeaderStep.js +14 -17
  477. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  478. package/dist/Stepper/StepperStep.js +23 -24
  479. package/dist/Stepper/StepperStep.js.map +1 -1
  480. package/dist/Stepper/_variables.scss +18 -0
  481. package/dist/Stepper/index.scss +20 -19
  482. package/dist/Sticky/_variables.scss +3 -0
  483. package/dist/Sticky/index.js +30 -22
  484. package/dist/Sticky/index.js.map +1 -1
  485. package/dist/Sticky/index.scss +6 -4
  486. package/dist/Table/_variables.scss +34 -0
  487. package/dist/Table/index.js +267 -0
  488. package/dist/Table/index.js.map +1 -0
  489. package/dist/Table/index.scss +12 -0
  490. package/dist/Tabs/_variables.scss +24 -0
  491. package/dist/Tabs/deprecated/Tabs.scss +3 -0
  492. package/dist/Tabs/deprecated/index.js +123 -0
  493. package/dist/Tabs/deprecated/index.js.map +1 -0
  494. package/dist/Tabs/index.js +74 -56
  495. package/dist/Tabs/index.js.map +1 -1
  496. package/dist/Tabs/index.scss +25 -26
  497. package/dist/TextArea/index.js +44 -0
  498. package/dist/TextArea/index.js.map +1 -0
  499. package/dist/Toast/ToastContainer.js +38 -16
  500. package/dist/Toast/ToastContainer.js.map +1 -1
  501. package/dist/Toast/ToastContainer.scss +11 -9
  502. package/dist/Toast/_variables.scss +19 -0
  503. package/dist/Toast/index.js +33 -18
  504. package/dist/Toast/index.js.map +1 -1
  505. package/dist/Toast/index.scss +10 -9
  506. package/dist/Tooltip/_variables.scss +21 -0
  507. package/dist/Tooltip/index.js +8 -9
  508. package/dist/Tooltip/index.js.map +1 -1
  509. package/dist/Tooltip/index.scss +10 -136
  510. package/dist/TransitionReplace/DemoTransitionReplace.js +12 -3
  511. package/dist/TransitionReplace/DemoTransitionReplace.js.map +1 -1
  512. package/dist/TransitionReplace/index.js +136 -100
  513. package/dist/TransitionReplace/index.js.map +1 -1
  514. package/dist/Truncate/index.js +30 -24
  515. package/dist/Truncate/index.js.map +1 -1
  516. package/dist/ValidationFormGroup/index.js +106 -0
  517. package/dist/ValidationFormGroup/index.js.map +1 -0
  518. package/dist/ValidationMessage/index.js +76 -51
  519. package/dist/ValidationMessage/index.js.map +1 -1
  520. package/dist/ValidationMessage/index.scss +1 -1
  521. package/dist/asInput/index.js +251 -202
  522. package/dist/asInput/index.js.map +1 -1
  523. package/dist/hooks/useArrowKeyNavigation.js +46 -43
  524. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  525. package/dist/hooks/useIndexOfLastVisibleChild.js +50 -41
  526. package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
  527. package/dist/hooks/useIsVisible.js +20 -13
  528. package/dist/hooks/useIsVisible.js.map +1 -1
  529. package/dist/hooks/useToggle.js +18 -11
  530. package/dist/hooks/useToggle.js.map +1 -1
  531. package/dist/hooks/useWindowSize.js +17 -6
  532. package/dist/hooks/useWindowSize.js.map +1 -1
  533. package/dist/i18n/messages/ar.json +2 -1
  534. package/dist/i18n/messages/ca.json +2 -1
  535. package/dist/i18n/messages/es_419.json +2 -1
  536. package/dist/i18n/messages/es_AR.json +2 -1
  537. package/dist/i18n/messages/es_ES.json +2 -1
  538. package/dist/i18n/messages/fr.json +2 -1
  539. package/dist/i18n/messages/he.json +2 -1
  540. package/dist/i18n/messages/id.json +2 -1
  541. package/dist/i18n/messages/it_IT.json +2 -1
  542. package/dist/i18n/messages/ko_KR.json +2 -1
  543. package/dist/i18n/messages/pl.json +2 -1
  544. package/dist/i18n/messages/pt_BR.json +2 -1
  545. package/dist/i18n/messages/pt_PT.json +2 -1
  546. package/dist/i18n/messages/ru.json +2 -1
  547. package/dist/i18n/messages/th.json +2 -1
  548. package/dist/i18n/messages/tr_TR.json +2 -1
  549. package/dist/i18n/messages/uk.json +2 -1
  550. package/dist/i18n/messages/zh_CN.json +2 -1
  551. package/dist/index.js +14 -0
  552. package/dist/index.scss +4 -0
  553. package/dist/paragon.css +45 -0
  554. package/dist/utils/breakpoints.js +1 -1
  555. package/dist/utils/propTypes/utils.js +17 -2
  556. package/dist/withDeprecatedProps.js +79 -58
  557. package/dist/withDeprecatedProps.js.map +1 -1
  558. package/icons/es5/RightSidebarFilled.js +15 -0
  559. package/icons/es5/RightSidebarOutlined.js +15 -0
  560. package/icons/es5/index.js +2 -0
  561. package/icons/jsx/RightSidebarFilled.jsx +19 -0
  562. package/icons/jsx/RightSidebarOutlined.jsx +19 -0
  563. package/icons/jsx/index.jsx +2 -0
  564. package/icons/svg/right_sidebar_filled.svg +3 -0
  565. package/icons/svg/right_sidebar_outlined.svg +3 -0
  566. package/lib/help.js +23 -36
  567. package/lib/migrate-to-openedx-scope.js +62 -0
  568. package/package.json +22 -35
  569. package/{styles/scss → scss}/core/_functions.scss +1 -1
  570. package/scss/core/_grid.scss +21 -0
  571. package/{styles/scss → scss}/core/_utilities.scss +11 -17
  572. package/scss/core/_variables.scss +875 -0
  573. package/scss/core/core.scss +21 -0
  574. package/{styles/scss → scss}/core/utilities-only.scss +0 -1
  575. package/src/ActionRow/_index.scss +4 -2
  576. package/src/ActionRow/_variables.scss +2 -0
  577. package/src/Alert/_variables.scss +24 -0
  578. package/src/Alert/index.scss +32 -41
  579. package/src/Annotation/_variables.scss +18 -0
  580. package/src/Annotation/index.scss +103 -130
  581. package/src/Avatar/_variables.scss +10 -0
  582. package/src/Avatar/index.scss +20 -18
  583. package/src/AvatarButton/_variables.scss +3 -0
  584. package/src/AvatarButton/index.scss +5 -3
  585. package/src/Badge/_variables.scss +16 -0
  586. package/src/Badge/index.scss +2 -112
  587. package/src/Breadcrumb/_variables.scss +27 -0
  588. package/src/Breadcrumb/index.scss +16 -14
  589. package/src/Bubble/_variables.scss +8 -0
  590. package/src/Bubble/index.scss +12 -25
  591. package/src/Button/README.md +178 -68
  592. package/src/Button/_variables.scss +52 -0
  593. package/src/Button/deprecated/Button.test.jsx +34 -0
  594. package/src/Button/deprecated/index.jsx +145 -0
  595. package/src/Button/index.jsx +7 -4
  596. package/src/Button/index.scss +370 -855
  597. package/src/Card/_variables.scss +55 -0
  598. package/src/Card/index.scss +79 -78
  599. package/src/Carousel/_variables.scss +27 -0
  600. package/src/Carousel/index.scss +2 -168
  601. package/src/CheckBox/CheckBox.test.jsx +65 -0
  602. package/src/CheckBox/README.md +93 -0
  603. package/src/CheckBox/index.jsx +80 -0
  604. package/src/CheckBoxGroup/CheckBoxGroup.test.jsx +33 -0
  605. package/src/CheckBoxGroup/README.md +35 -0
  606. package/src/CheckBoxGroup/index.jsx +19 -0
  607. package/src/Chip/Chip.test.jsx +82 -16
  608. package/src/Chip/ChipIcon.tsx +54 -0
  609. package/src/Chip/README.md +116 -11
  610. package/src/Chip/__snapshots__/Chip.test.jsx.snap +84 -90
  611. package/src/Chip/_variables.scss +28 -0
  612. package/src/Chip/constants.js +5 -0
  613. package/src/Chip/index.scss +102 -61
  614. package/src/Chip/index.tsx +79 -46
  615. package/src/Chip/mixins.scss +42 -0
  616. package/src/ChipCarousel/_variables.scss +3 -0
  617. package/src/ChipCarousel/index.scss +4 -1
  618. package/src/CloseButton/_variables.scss +6 -0
  619. package/src/CloseButton/index.scss +2 -31
  620. package/src/Code/_variables.scss +17 -0
  621. package/src/Code/index.scss +2 -47
  622. package/src/Collapsible/_variables.scss +12 -0
  623. package/src/Collapsible/index.scss +15 -15
  624. package/src/ColorPicker/ColorPicker.test.jsx +24 -2
  625. package/src/ColorPicker/_variables.scss +2 -0
  626. package/src/ColorPicker/index.jsx +56 -16
  627. package/src/ColorPicker/index.scss +11 -9
  628. package/src/Container/_variables.scss +5 -0
  629. package/src/Container/index.jsx +4 -0
  630. package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
  631. package/src/DataTable/README.md +3 -3
  632. package/src/DataTable/TablePagination.jsx +7 -2
  633. package/src/DataTable/TablePaginationMinimal.jsx +5 -0
  634. package/src/DataTable/_variables.scss +11 -0
  635. package/src/DataTable/filters/TextFilter.jsx +4 -5
  636. package/src/DataTable/index.jsx +2 -1
  637. package/src/DataTable/index.scss +50 -48
  638. package/src/DataTable/selection/BaseSelectionStatus.jsx +2 -2
  639. package/src/DataTable/tablefilters.mdx +3 -3
  640. package/src/DataTable/tests/DataTable.test.jsx +31 -0
  641. package/src/DataTable/tests/TablePagination.test.jsx +6 -6
  642. package/src/Dropdown/README.md +93 -0
  643. package/src/Dropdown/_variables.scss +33 -0
  644. package/src/Dropdown/deprecated/Dropdown.test.jsx +238 -0
  645. package/src/Dropdown/deprecated/DropdownButton.jsx +52 -0
  646. package/src/Dropdown/deprecated/DropdownItem.jsx +34 -0
  647. package/src/Dropdown/deprecated/DropdownMenu.jsx +50 -0
  648. package/src/Dropdown/deprecated/__snapshots__/Dropdown.test.jsx.snap +229 -0
  649. package/src/Dropdown/deprecated/index.jsx +222 -0
  650. package/src/Dropdown/index.jsx +6 -0
  651. package/src/Dropdown/index.scss +12 -11
  652. package/src/Dropzone/_variables.scss +9 -0
  653. package/src/Dropzone/index.jsx +2 -3
  654. package/src/Dropzone/index.scss +14 -12
  655. package/src/Fieldset/Fieldset.test.jsx +101 -0
  656. package/src/Fieldset/README.md +146 -0
  657. package/src/Fieldset/index.jsx +107 -0
  658. package/src/Fieldset/index.scss +12 -0
  659. package/src/Form/FormAutosuggest.jsx +334 -250
  660. package/src/Form/FormSwitch.jsx +3 -0
  661. package/src/Form/_FormText.scss +8 -8
  662. package/src/Form/_index.scss +146 -168
  663. package/src/Form/_mixins.scss +3 -216
  664. package/src/Form/_variables.scss +267 -0
  665. package/src/Form/form-autosuggest.mdx +136 -71
  666. package/src/Form/tests/FormAutosuggest.test.jsx +84 -16
  667. package/src/Hyperlink/index.jsx +7 -6
  668. package/src/Hyperlink/index.scss +3 -3
  669. package/src/Icon/README.md +3 -3
  670. package/src/Icon/_variables.scss +7 -0
  671. package/src/Icon/index.jsx +18 -11
  672. package/src/Icon/index.scss +12 -10
  673. package/src/IconButton/README.md +15 -1
  674. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +28 -5
  675. package/src/IconButton/index.jsx +15 -8
  676. package/src/IconButton/index.scss +74 -387
  677. package/src/IconButtonToggle/index.scss +1 -1
  678. package/src/Image/_variables.scss +13 -0
  679. package/src/Image/index.scss +2 -53
  680. package/src/Input/README.md +74 -0
  681. package/src/Input/__snapshots__/input.test.jsx.snap +53 -0
  682. package/src/Input/index.jsx +151 -0
  683. package/src/Input/input.test.jsx +85 -0
  684. package/src/InputSelect/README.md +136 -0
  685. package/src/InputSelect/index.jsx +92 -0
  686. package/src/InputText/InputText.test.jsx +74 -0
  687. package/src/InputText/README.md +293 -0
  688. package/src/InputText/index.jsx +49 -0
  689. package/src/Layout/index.jsx +1 -4
  690. package/src/ListBox/ListBox.test.jsx +161 -0
  691. package/src/ListBox/README.md +185 -0
  692. package/src/ListBox/index.jsx +115 -0
  693. package/src/ListBoxOption/ListBoxOption.test.jsx +154 -0
  694. package/src/ListBoxOption/index.jsx +78 -0
  695. package/src/Menu/MenuItem.jsx +2 -2
  696. package/src/Menu/_variables.scss +24 -0
  697. package/src/Menu/index.scss +27 -25
  698. package/src/Modal/ModalDialog.jsx +3 -0
  699. package/src/Modal/README.md +148 -0
  700. package/src/Modal/_ModalDialog.scss +48 -50
  701. package/src/Modal/_variables.scss +50 -0
  702. package/src/Modal/index.jsx +319 -0
  703. package/src/Modal/index.scss +73 -6
  704. package/src/Modal/tests/Modal.test.jsx +261 -0
  705. package/src/Nav/_mixins.scss +4 -4
  706. package/src/Nav/_variables.scss +58 -0
  707. package/src/Nav/index.scss +66 -70
  708. package/src/Navbar/_variables.scss +40 -0
  709. package/src/Navbar/index.scss +2 -276
  710. package/src/OverflowScroll/_variables.scss +5 -0
  711. package/src/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  712. package/src/OverflowScroll/index.scss +1 -0
  713. package/src/Overlay/README.md +1 -1
  714. package/src/Overlay/index.jsx +3 -2
  715. package/src/PageBanner/index.scss +21 -17
  716. package/src/Pagination/DefaultPagination.jsx +43 -0
  717. package/src/Pagination/MinimalPagination.jsx +11 -0
  718. package/src/Pagination/Pagination.test.jsx +201 -156
  719. package/src/Pagination/PaginationContext.jsx +191 -0
  720. package/src/Pagination/README.md +86 -22
  721. package/src/Pagination/ReducedPagination.jsx +12 -0
  722. package/src/Pagination/__snapshots__/Pagination.test.jsx.snap +301 -0
  723. package/src/Pagination/_variables.scss +19 -0
  724. package/src/Pagination/constants.js +15 -1
  725. package/src/Pagination/getPaginationRange.js +4 -0
  726. package/src/Pagination/index.jsx +48 -420
  727. package/src/Pagination/index.scss +120 -226
  728. package/src/Pagination/subcomponents/Ellipsis.jsx +13 -0
  729. package/src/Pagination/subcomponents/NextPageButton.jsx +64 -0
  730. package/src/Pagination/subcomponents/PageButton.jsx +33 -0
  731. package/src/Pagination/subcomponents/PageOfCountButton.jsx +25 -0
  732. package/src/Pagination/subcomponents/PaginationDropdown.jsx +37 -0
  733. package/src/Pagination/subcomponents/PreviousPageButton.jsx +64 -0
  734. package/src/Pagination/subcomponents/ScreenReaderText.jsx +17 -0
  735. package/src/Pagination/subcomponents/index.js +7 -0
  736. package/src/Popover/README.md +0 -1
  737. package/src/Popover/_variables.scss +36 -0
  738. package/src/Popover/index.jsx +11 -11
  739. package/src/Popover/index.scss +10 -9
  740. package/src/ProductTour/Checkpoint.jsx +9 -6
  741. package/src/ProductTour/Checkpoint.scss +43 -71
  742. package/src/ProductTour/_variables.scss +15 -0
  743. package/src/ProductTour/messages.js +16 -0
  744. package/src/ProgressBar/_variables.scss +23 -0
  745. package/src/ProgressBar/index.scss +36 -28
  746. package/src/RadioButtonGroup/README.md +50 -0
  747. package/src/RadioButtonGroup/RadioButtonGroup.test.jsx +127 -0
  748. package/src/RadioButtonGroup/index.jsx +185 -0
  749. package/src/Scrollable/index.scss +2 -2
  750. package/src/SearchField/SearchField.test.jsx +1 -1
  751. package/src/SearchField/SearchFieldAdvanced.jsx +14 -11
  752. package/src/SearchField/SearchFieldClearButton.jsx +13 -5
  753. package/src/SearchField/SearchFieldInput.jsx +2 -2
  754. package/src/SearchField/SearchFieldLabel.jsx +3 -3
  755. package/src/SearchField/SearchFieldSubmitButton.jsx +10 -8
  756. package/src/SearchField/__snapshots__/SearchField.test.jsx.snap +29 -33
  757. package/src/SearchField/_variables.scss +14 -0
  758. package/src/SearchField/index.jsx +4 -7
  759. package/src/SearchField/index.scss +23 -31
  760. package/src/SelectableBox/_variables.scss +5 -0
  761. package/src/SelectableBox/index.scss +13 -11
  762. package/src/SelectableBox/tests/SelectableBoxSet.test.jsx +1 -1
  763. package/src/Sheet/index.scss +10 -10
  764. package/src/Spinner/_variables.scss +9 -0
  765. package/src/Spinner/index.scss +2 -57
  766. package/src/Stack/_variables.scss +1 -0
  767. package/src/Stack/index.scss +3 -1
  768. package/src/StatusAlert/README.md +149 -0
  769. package/src/StatusAlert/StatusAlert.test.jsx +150 -0
  770. package/src/StatusAlert/index.jsx +144 -0
  771. package/src/Stepper/_variables.scss +18 -0
  772. package/src/Stepper/index.scss +20 -19
  773. package/src/Sticky/_variables.scss +3 -0
  774. package/src/Sticky/index.scss +6 -4
  775. package/src/Table/README.md +506 -0
  776. package/src/Table/Table.test.jsx +367 -0
  777. package/src/Table/_variables.scss +34 -0
  778. package/src/Table/index.jsx +264 -0
  779. package/src/Table/index.scss +12 -0
  780. package/src/Tabs/README.md +3 -1
  781. package/src/Tabs/_variables.scss +24 -0
  782. package/src/Tabs/deprecated/Tabs.scss +3 -0
  783. package/src/Tabs/deprecated/Tabs.test.jsx +50 -0
  784. package/src/Tabs/deprecated/index.jsx +117 -0
  785. package/src/Tabs/index.jsx +22 -13
  786. package/src/Tabs/index.scss +25 -26
  787. package/src/TextArea/README.md +63 -0
  788. package/src/TextArea/index.jsx +48 -0
  789. package/src/Toast/ToastContainer.scss +11 -9
  790. package/src/Toast/_variables.scss +19 -0
  791. package/src/Toast/index.scss +10 -9
  792. package/src/Tooltip/_variables.scss +21 -0
  793. package/src/Tooltip/index.scss +10 -136
  794. package/src/TransitionReplace/README.md +4 -4
  795. package/src/ValidationFormGroup/README.md +116 -0
  796. package/src/ValidationFormGroup/ValidationFormGroup.test.jsx +146 -0
  797. package/src/ValidationFormGroup/__snapshots__/ValidationFormGroup.test.jsx.snap +161 -0
  798. package/src/ValidationFormGroup/index.jsx +114 -0
  799. package/src/ValidationMessage/index.scss +1 -1
  800. package/src/hooks/tests/useIndexOfLastVisibleChild.test.jsx +3 -3
  801. package/src/hooks/useIndexOfLastVisibleChild.jsx +36 -38
  802. package/src/hooks/useIndexOfLastVisibleChild.mdx +3 -3
  803. package/src/i18n/messages/ar.json +2 -1
  804. package/src/i18n/messages/ca.json +2 -1
  805. package/src/i18n/messages/es_419.json +2 -1
  806. package/src/i18n/messages/es_AR.json +2 -1
  807. package/src/i18n/messages/es_ES.json +2 -1
  808. package/src/i18n/messages/fr.json +2 -1
  809. package/src/i18n/messages/he.json +2 -1
  810. package/src/i18n/messages/id.json +2 -1
  811. package/src/i18n/messages/it_IT.json +2 -1
  812. package/src/i18n/messages/ko_KR.json +2 -1
  813. package/src/i18n/messages/pl.json +2 -1
  814. package/src/i18n/messages/pt_BR.json +2 -1
  815. package/src/i18n/messages/pt_PT.json +2 -1
  816. package/src/i18n/messages/ru.json +2 -1
  817. package/src/i18n/messages/th.json +2 -1
  818. package/src/i18n/messages/tr_TR.json +2 -1
  819. package/src/i18n/messages/uk.json +2 -1
  820. package/src/i18n/messages/zh_CN.json +2 -1
  821. package/src/index.js +14 -0
  822. package/src/index.scss +4 -0
  823. package/src/utils/breakpoints.js +1 -1
  824. package/src/utils/propTypes/utils.js +17 -2
  825. package/dist/Annotation/_mixins.scss +0 -104
  826. package/dist/Button/_mixins.scss +0 -14
  827. package/dist/Button/button-group.scss +0 -126
  828. package/dist/Card/card-bootstrap.scss +0 -168
  829. package/dist/Dropdown/dropdown-bootstrap.scss +0 -181
  830. package/dist/Form/_bootstrap-custom-forms.scss +0 -551
  831. package/dist/Form/_bootstrap-forms.scss +0 -381
  832. package/dist/Form/_input-group.scss +0 -188
  833. package/dist/IconButton/_mixins.scss +0 -4
  834. package/dist/Pagination/pagination-bootstrap.scss +0 -83
  835. package/dist/Popover/popover-bootstrap.scss +0 -198
  836. package/dist/ProgressBar/_mixins.scss +0 -22
  837. package/dist/ProgressBar/bootstrap-progress.scss +0 -49
  838. package/dist/Toast/bootstrap-toast.scss +0 -46
  839. package/dist/core.css +0 -16776
  840. package/dist/core.css.map +0 -1
  841. package/dist/core.min.css +0 -2
  842. package/dist/light.css +0 -4090
  843. package/dist/light.css.map +0 -1
  844. package/dist/light.min.css +0 -2
  845. package/dist/theme-urls.json +0 -21
  846. package/lib/build-scss.js +0 -188
  847. package/lib/build-tokens.js +0 -119
  848. package/lib/replace-variables.js +0 -38
  849. package/lib/utils.js +0 -9
  850. package/src/Annotation/_mixins.scss +0 -104
  851. package/src/Button/_mixins.scss +0 -14
  852. package/src/Button/button-group.scss +0 -126
  853. package/src/Card/card-bootstrap.scss +0 -168
  854. package/src/Dropdown/dropdown-bootstrap.scss +0 -181
  855. package/src/Form/_bootstrap-custom-forms.scss +0 -551
  856. package/src/Form/_bootstrap-forms.scss +0 -381
  857. package/src/Form/_input-group.scss +0 -188
  858. package/src/IconButton/_mixins.scss +0 -4
  859. package/src/Pagination/pagination-bootstrap.scss +0 -83
  860. package/src/Popover/popover-bootstrap.scss +0 -198
  861. package/src/ProgressBar/_mixins.scss +0 -22
  862. package/src/ProgressBar/bootstrap-progress.scss +0 -49
  863. package/src/Toast/bootstrap-toast.scss +0 -46
  864. package/styles/css/core/custom-media-breakpoints.css +0 -17
  865. package/styles/css/core/index.css +0 -2
  866. package/styles/css/core/variables.css +0 -604
  867. package/styles/css/themes/light/index.css +0 -2
  868. package/styles/css/themes/light/utility-classes.css +0 -2454
  869. package/styles/css/themes/light/variables.css +0 -1636
  870. package/styles/scss/core/_grid.scss +0 -21
  871. package/styles/scss/core/_variables.scss +0 -869
  872. package/styles/scss/core/bootstrap-override/_functions.scss +0 -104
  873. package/styles/scss/core/bootstrap-override/_mixins.scss +0 -4
  874. package/styles/scss/core/bootstrap-override/_utilities.scss +0 -4
  875. package/styles/scss/core/bootstrap-override/bootstrap.scss +0 -2
  876. package/styles/scss/core/bootstrap-override/mixins/_grid-framework.scss +0 -80
  877. package/styles/scss/core/bootstrap-override/mixins/_grid.scss +0 -69
  878. package/styles/scss/core/bootstrap-override/mixins/_list-group.scss +0 -22
  879. package/styles/scss/core/bootstrap-override/utilities/_background.scss +0 -7
  880. package/styles/scss/core/bootstrap-override/utilities/_borders.scss +0 -67
  881. package/styles/scss/core/bootstrap-override/utilities/_spacing.scss +0 -70
  882. package/styles/scss/core/bootstrap-override/utilities/_text.scss +0 -68
  883. package/styles/scss/core/core.scss +0 -21
  884. package/tokens/README.md +0 -158
  885. package/tokens/css-utilities.js +0 -56
  886. package/tokens/map-scss-to-css.js +0 -24
  887. package/tokens/replace-variables.js +0 -32
  888. package/tokens/sass-helpers.js +0 -98
  889. package/tokens/src/core/alias/size.json +0 -15
  890. package/tokens/src/core/components/ActionRow.json +0 -10
  891. package/tokens/src/core/components/Alert.json +0 -30
  892. package/tokens/src/core/components/Annotation.json +0 -25
  893. package/tokens/src/core/components/Avatar.json +0 -17
  894. package/tokens/src/core/components/AvatarButton.json +0 -11
  895. package/tokens/src/core/components/Badge.json +0 -33
  896. package/tokens/src/core/components/Breadcrumb.json +0 -37
  897. package/tokens/src/core/components/Bubble.json +0 -10
  898. package/tokens/src/core/components/Button/core.json +0 -101
  899. package/tokens/src/core/components/Card.json +0 -91
  900. package/tokens/src/core/components/Carousel.json +0 -37
  901. package/tokens/src/core/components/Chip.json +0 -19
  902. package/tokens/src/core/components/ChipCarousel.json +0 -9
  903. package/tokens/src/core/components/CloseButton.json +0 -14
  904. package/tokens/src/core/components/Code.json +0 -34
  905. package/tokens/src/core/components/Collapsible.json +0 -29
  906. package/tokens/src/core/components/ColorPicker.json +0 -8
  907. package/tokens/src/core/components/Container.json +0 -13
  908. package/tokens/src/core/components/DataTable.json +0 -27
  909. package/tokens/src/core/components/Dropdown.json +0 -67
  910. package/tokens/src/core/components/Dropzone.json +0 -21
  911. package/tokens/src/core/components/Form/other.json +0 -14
  912. package/tokens/src/core/components/Form/size.json +0 -233
  913. package/tokens/src/core/components/Form/spacing.json +0 -155
  914. package/tokens/src/core/components/Form/transition.json +0 -16
  915. package/tokens/src/core/components/Form/typography.json +0 -122
  916. package/tokens/src/core/components/Icon.json +0 -11
  917. package/tokens/src/core/components/IconButton.json +0 -15
  918. package/tokens/src/core/components/Image.json +0 -28
  919. package/tokens/src/core/components/Menu.json +0 -48
  920. package/tokens/src/core/components/Modal.json +0 -47
  921. package/tokens/src/core/components/Nav.json +0 -55
  922. package/tokens/src/core/components/Navbar.json +0 -70
  923. package/tokens/src/core/components/Pagination.json +0 -70
  924. package/tokens/src/core/components/Popover.json +0 -48
  925. package/tokens/src/core/components/ProductTour.json +0 -37
  926. package/tokens/src/core/components/ProgressBar.json +0 -39
  927. package/tokens/src/core/components/SearchField.json +0 -23
  928. package/tokens/src/core/components/SelectableBox.json +0 -9
  929. package/tokens/src/core/components/Sheet.json +0 -10
  930. package/tokens/src/core/components/Spinner.json +0 -19
  931. package/tokens/src/core/components/Stack.json +0 -7
  932. package/tokens/src/core/components/Stepper.json +0 -42
  933. package/tokens/src/core/components/Sticky.json +0 -7
  934. package/tokens/src/core/components/Tab.json +0 -19
  935. package/tokens/src/core/components/Tabs.json +0 -19
  936. package/tokens/src/core/components/Toast.json +0 -30
  937. package/tokens/src/core/components/Tooltip.json +0 -33
  938. package/tokens/src/core/components/general/caret.json +0 -13
  939. package/tokens/src/core/components/general/headings.json +0 -16
  940. package/tokens/src/core/components/general/hr.json +0 -10
  941. package/tokens/src/core/components/general/input.json +0 -51
  942. package/tokens/src/core/components/general/link.json +0 -30
  943. package/tokens/src/core/components/general/list.json +0 -26
  944. package/tokens/src/core/components/general/text.json +0 -24
  945. package/tokens/src/core/global/breakpoints.json +0 -12
  946. package/tokens/src/core/global/display.json +0 -21
  947. package/tokens/src/core/global/elevation.json +0 -19
  948. package/tokens/src/core/global/other.json +0 -4
  949. package/tokens/src/core/global/spacing.json +0 -35
  950. package/tokens/src/core/global/transition.json +0 -14
  951. package/tokens/src/core/global/typography.json +0 -91
  952. package/tokens/src/core/utilities/color.json +0 -12
  953. package/tokens/src/themes/light/alias/color.json +0 -114
  954. package/tokens/src/themes/light/components/Alert.json +0 -47
  955. package/tokens/src/themes/light/components/Annotation.json +0 -29
  956. package/tokens/src/themes/light/components/Avatar.json +0 -7
  957. package/tokens/src/themes/light/components/Badge.json +0 -186
  958. package/tokens/src/themes/light/components/Breadcrumb.json +0 -14
  959. package/tokens/src/themes/light/components/Bubble.json +0 -18
  960. package/tokens/src/themes/light/components/Button/brand.json +0 -260
  961. package/tokens/src/themes/light/components/Button/core.json +0 -24
  962. package/tokens/src/themes/light/components/Button/danger.json +0 -247
  963. package/tokens/src/themes/light/components/Button/dark.json +0 -230
  964. package/tokens/src/themes/light/components/Button/info.json +0 -238
  965. package/tokens/src/themes/light/components/Button/light.json +0 -236
  966. package/tokens/src/themes/light/components/Button/primary.json +0 -250
  967. package/tokens/src/themes/light/components/Button/secondary.json +0 -278
  968. package/tokens/src/themes/light/components/Button/success.json +0 -253
  969. package/tokens/src/themes/light/components/Button/tertiary.json +0 -109
  970. package/tokens/src/themes/light/components/Button/warning.json +0 -276
  971. package/tokens/src/themes/light/components/Card.json +0 -40
  972. package/tokens/src/themes/light/components/Carousel.json +0 -45
  973. package/tokens/src/themes/light/components/Chip.json +0 -19
  974. package/tokens/src/themes/light/components/CloseButton.json +0 -10
  975. package/tokens/src/themes/light/components/Code.json +0 -23
  976. package/tokens/src/themes/light/components/DataTable.json +0 -26
  977. package/tokens/src/themes/light/components/Dropdown.json +0 -41
  978. package/tokens/src/themes/light/components/Dropzone.json +0 -23
  979. package/tokens/src/themes/light/components/Form/color.json +0 -270
  980. package/tokens/src/themes/light/components/Form/elevation.json +0 -76
  981. package/tokens/src/themes/light/components/Form/other.json +0 -131
  982. package/tokens/src/themes/light/components/IconButton.json +0 -451
  983. package/tokens/src/themes/light/components/Image.json +0 -18
  984. package/tokens/src/themes/light/components/Menu.json +0 -30
  985. package/tokens/src/themes/light/components/Modal.json +0 -37
  986. package/tokens/src/themes/light/components/Nav.json +0 -166
  987. package/tokens/src/themes/light/components/Navbar.json +0 -136
  988. package/tokens/src/themes/light/components/OverflowScroll.json +0 -9
  989. package/tokens/src/themes/light/components/PageBanner.json +0 -24
  990. package/tokens/src/themes/light/components/Pagination.json +0 -40
  991. package/tokens/src/themes/light/components/Popover.json +0 -55
  992. package/tokens/src/themes/light/components/ProductTour.json +0 -35
  993. package/tokens/src/themes/light/components/ProgressBar.json +0 -20
  994. package/tokens/src/themes/light/components/Scrollable.json +0 -14
  995. package/tokens/src/themes/light/components/SearchField.json +0 -25
  996. package/tokens/src/themes/light/components/Sheet.json +0 -22
  997. package/tokens/src/themes/light/components/Stepper.json +0 -34
  998. package/tokens/src/themes/light/components/Sticky.json +0 -18
  999. package/tokens/src/themes/light/components/Tab.json +0 -62
  1000. package/tokens/src/themes/light/components/Toast.json +0 -33
  1001. package/tokens/src/themes/light/components/Tooltip.json +0 -30
  1002. package/tokens/src/themes/light/components/general/body.json +0 -8
  1003. package/tokens/src/themes/light/components/general/headings.json +0 -7
  1004. package/tokens/src/themes/light/components/general/hr.json +0 -15
  1005. package/tokens/src/themes/light/components/general/input.json +0 -18
  1006. package/tokens/src/themes/light/components/general/link.json +0 -109
  1007. package/tokens/src/themes/light/components/general/list.json +0 -38
  1008. package/tokens/src/themes/light/components/general/text.json +0 -6
  1009. package/tokens/src/themes/light/global/color.json +0 -1661
  1010. package/tokens/src/themes/light/global/elevation.json +0 -201
  1011. package/tokens/src/themes/light/global/other.json +0 -4
  1012. package/tokens/style-dictionary.js +0 -223
  1013. package/tokens/utils.js +0 -210
  1014. /package/{styles/scss → scss}/core/_exports.module.scss +0 -0
  1015. /package/{styles/scss → scss}/core/_typography.scss +0 -0
@@ -1,24 +1,40 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
1
2
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
2
3
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
3
4
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
6
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
7
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
8
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
9
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
10
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
11
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
12
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
14
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
15
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
16
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
6
17
  import React from 'react';
7
18
  import PropTypes from 'prop-types';
8
19
  import { CSSTransition, TransitionGroup } from 'react-transition-group';
9
20
  import classNames from 'classnames';
10
- class TransitionReplace extends React.Component {
11
- constructor(props) {
12
- super(props);
13
- this.state = {
21
+ var TransitionReplace = /*#__PURE__*/function (_React$Component) {
22
+ _inherits(TransitionReplace, _React$Component);
23
+ var _super = _createSuper(TransitionReplace);
24
+ function TransitionReplace(props) {
25
+ var _this;
26
+ _classCallCheck(this, TransitionReplace);
27
+ _this = _super.call(this, props);
28
+ _this.state = {
14
29
  height: null
15
30
  };
16
- this.onChildEnter = this.onChildEnter.bind(this);
17
- this.onChildEntering = this.onChildEntering.bind(this);
18
- this.onChildEntered = this.onChildEntered.bind(this);
19
- this.onChildExit = this.onChildExit.bind(this);
20
- this.onChildExiting = this.onChildExiting.bind(this);
21
- this.onChildExited = this.onChildExited.bind(this);
31
+ _this.onChildEnter = _this.onChildEnter.bind(_assertThisInitialized(_this));
32
+ _this.onChildEntering = _this.onChildEntering.bind(_assertThisInitialized(_this));
33
+ _this.onChildEntered = _this.onChildEntered.bind(_assertThisInitialized(_this));
34
+ _this.onChildExit = _this.onChildExit.bind(_assertThisInitialized(_this));
35
+ _this.onChildExiting = _this.onChildExiting.bind(_assertThisInitialized(_this));
36
+ _this.onChildExited = _this.onChildExited.bind(_assertThisInitialized(_this));
37
+ return _this;
22
38
  }
23
39
 
24
40
  // Transition events are fired in this order:
@@ -34,101 +50,121 @@ class TransitionReplace extends React.Component {
34
50
  // 1. onChildExit (explicitly set the height to match the current current)
35
51
  // 2. onChildEntering (set the height to match the new content)
36
52
  // 3. onChildExited (reset the height to null)
37
-
38
- onChildEnter(htmlNode) {
39
- if (this.props.onChildEnter) {
40
- this.props.onChildEnter(htmlNode);
41
- }
42
- }
43
- onChildEntering(htmlNode) {
44
- this.setState({
45
- height: htmlNode.offsetHeight
46
- });
47
- if (this.props.onChildEntering) {
48
- this.props.onChildEntering(htmlNode);
53
+ _createClass(TransitionReplace, [{
54
+ key: "onChildEnter",
55
+ value: function onChildEnter(htmlNode) {
56
+ if (this.props.onChildEnter) {
57
+ this.props.onChildEnter(htmlNode);
58
+ }
49
59
  }
50
- }
51
- onChildEntered(htmlNode) {
52
- this.setState({
53
- height: null
54
- });
55
- if (this.props.onChildEntered) {
56
- this.props.onChildEntered(htmlNode);
60
+ }, {
61
+ key: "onChildEntering",
62
+ value: function onChildEntering(htmlNode) {
63
+ this.setState({
64
+ height: htmlNode.offsetHeight
65
+ });
66
+ if (this.props.onChildEntering) {
67
+ this.props.onChildEntering(htmlNode);
68
+ }
57
69
  }
58
- }
59
- onChildExit(htmlNode) {
60
- this.setState({
61
- height: htmlNode.offsetHeight
62
- });
63
- if (this.props.onChildExit) {
64
- this.props.onChildExit(htmlNode);
70
+ }, {
71
+ key: "onChildEntered",
72
+ value: function onChildEntered(htmlNode) {
73
+ this.setState({
74
+ height: null
75
+ });
76
+ if (this.props.onChildEntered) {
77
+ this.props.onChildEntered(htmlNode);
78
+ }
65
79
  }
66
- }
67
- onChildExiting(htmlNode) {
68
- if (this.props.onChildExiting) {
69
- this.props.onChildExiting(htmlNode);
80
+ }, {
81
+ key: "onChildExit",
82
+ value: function onChildExit(htmlNode) {
83
+ this.setState({
84
+ height: htmlNode.offsetHeight
85
+ });
86
+ if (this.props.onChildExit) {
87
+ this.props.onChildExit(htmlNode);
88
+ }
70
89
  }
71
- }
72
- onChildExited(htmlNode) {
73
- this.setState({
74
- height: null
75
- });
76
- if (this.props.onChildExited) {
77
- this.props.onChildExited(htmlNode);
90
+ }, {
91
+ key: "onChildExiting",
92
+ value: function onChildExiting(htmlNode) {
93
+ if (this.props.onChildExiting) {
94
+ this.props.onChildExiting(htmlNode);
95
+ }
78
96
  }
79
- }
80
- renderChildTransition(child) {
81
- if (!child.key && process.env.NODE_ENV === 'development') {
82
- // eslint-disable-next-line no-console
83
- console.warn("TransitionReplace: A child is missing a 'key' prop. Keys are required for any child of this component.");
97
+ }, {
98
+ key: "onChildExited",
99
+ value: function onChildExited(htmlNode) {
100
+ this.setState({
101
+ height: null
102
+ });
103
+ if (this.props.onChildExited) {
104
+ this.props.onChildExited(htmlNode);
105
+ }
84
106
  }
85
- // Makes the exiting and entering children occupy the same space
86
- // SCSS handles the crossfade so it can be easily overridden
87
- const commonChildStyles = {
88
- // Prevent margin-collapsing which throws off height calculations
89
- padding: '.1px 0'
90
- };
91
- const transitionStyles = {
92
- entering: {},
93
- entered: {},
94
- exiting: {
95
- position: 'absolute',
96
- top: 0,
97
- left: 0,
98
- right: 0,
99
- pointerEvents: 'none'
100
- },
101
- exited: {}
102
- };
103
- return /*#__PURE__*/React.createElement(CSSTransition, {
104
- timeout: {
105
- enter: this.props.enterDuration,
106
- exit: this.props.exitDuration
107
- },
108
- unmountOnExit: true,
109
- mountOnEnter: true,
110
- onEnter: this.onChildEnter,
111
- onEntering: this.onChildEntering,
112
- onEntered: this.onChildEntered,
113
- onExit: this.onChildExit,
114
- onExiting: this.onChildExiting,
115
- onExited: this.onChildExited,
116
- classNames: this.props.transitionClassNames
117
- }, state => /*#__PURE__*/React.createElement("div", {
118
- style: _objectSpread(_objectSpread(_objectSpread({}, commonChildStyles), transitionStyles[state]), this.props.transitionStyles[state])
119
- }, child));
120
- }
121
- render() {
122
- return /*#__PURE__*/React.createElement(TransitionGroup, {
123
- className: classNames('pgn-transition-replace-group', 'position-relative', {
124
- 'overflow-hidden': this.state.height !== null
125
- }, this.props.className),
126
- style: {
127
- height: this.state.height
107
+ }, {
108
+ key: "renderChildTransition",
109
+ value: function renderChildTransition(child) {
110
+ var _this2 = this;
111
+ if (!child.key && process.env.NODE_ENV === 'development') {
112
+ // eslint-disable-next-line no-console
113
+ console.warn("TransitionReplace: A child is missing a 'key' prop. Keys are required for any child of this component.");
128
114
  }
129
- }, React.Children.map(this.props.children, this.renderChildTransition, this));
130
- }
131
- }
115
+ // Makes the exiting and entering children occupy the same space
116
+ // SCSS handles the crossfade so it can be easily overridden
117
+ var commonChildStyles = {
118
+ // Prevent margin-collapsing which throws off height calculations
119
+ padding: '.1px 0'
120
+ };
121
+ var transitionStyles = {
122
+ entering: {},
123
+ entered: {},
124
+ exiting: {
125
+ position: 'absolute',
126
+ top: 0,
127
+ left: 0,
128
+ right: 0,
129
+ pointerEvents: 'none'
130
+ },
131
+ exited: {}
132
+ };
133
+ return /*#__PURE__*/React.createElement(CSSTransition, {
134
+ timeout: {
135
+ enter: this.props.enterDuration,
136
+ exit: this.props.exitDuration
137
+ },
138
+ unmountOnExit: true,
139
+ mountOnEnter: true,
140
+ onEnter: this.onChildEnter,
141
+ onEntering: this.onChildEntering,
142
+ onEntered: this.onChildEntered,
143
+ onExit: this.onChildExit,
144
+ onExiting: this.onChildExiting,
145
+ onExited: this.onChildExited,
146
+ classNames: this.props.transitionClassNames
147
+ }, function (state) {
148
+ return /*#__PURE__*/React.createElement("div", {
149
+ style: _objectSpread(_objectSpread(_objectSpread({}, commonChildStyles), transitionStyles[state]), _this2.props.transitionStyles[state])
150
+ }, child);
151
+ });
152
+ }
153
+ }, {
154
+ key: "render",
155
+ value: function render() {
156
+ return /*#__PURE__*/React.createElement(TransitionGroup, {
157
+ className: classNames('pgn-transition-replace-group', 'position-relative', {
158
+ 'overflow-hidden': this.state.height !== null
159
+ }, this.props.className),
160
+ style: {
161
+ height: this.state.height
162
+ }
163
+ }, React.Children.map(this.props.children, this.renderChildTransition, this));
164
+ }
165
+ }]);
166
+ return TransitionReplace;
167
+ }(React.Component);
132
168
  TransitionReplace.propTypes = {
133
169
  /** Specifies an additional class for the base element */
134
170
  children: PropTypes.element,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","CSSTransition","TransitionGroup","classNames","TransitionReplace","Component","constructor","props","state","height","onChildEnter","bind","onChildEntering","onChildEntered","onChildExit","onChildExiting","onChildExited","htmlNode","setState","offsetHeight","renderChildTransition","child","key","process","env","NODE_ENV","console","warn","commonChildStyles","padding","transitionStyles","entering","entered","exiting","position","top","left","right","pointerEvents","exited","createElement","timeout","enter","enterDuration","exit","exitDuration","unmountOnExit","mountOnEnter","onEnter","onEntering","onEntered","onExit","onExiting","onExited","transitionClassNames","style","_objectSpread","render","className","Children","map","children","propTypes","element","number","string","func","shape","defaultProps","undefined"],"sources":["../../src/TransitionReplace/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport classNames from 'classnames';\n\nclass TransitionReplace extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = { height: null };\n\n this.onChildEnter = this.onChildEnter.bind(this);\n this.onChildEntering = this.onChildEntering.bind(this);\n this.onChildEntered = this.onChildEntered.bind(this);\n this.onChildExit = this.onChildExit.bind(this);\n this.onChildExiting = this.onChildExiting.bind(this);\n this.onChildExited = this.onChildExited.bind(this);\n }\n\n // Transition events are fired in this order:\n //\n // onEnter > onEntering > onEntered\n // onExit > onExiting > onExited\n //\n // Keep in mind that we always have two transitions happening\n // both the entering and leaving children\n //\n // We set the container height (for animation) in this order:\n //\n // 1. onChildExit (explicitly set the height to match the current current)\n // 2. onChildEntering (set the height to match the new content)\n // 3. onChildExited (reset the height to null)\n\n onChildEnter(htmlNode) {\n if (this.props.onChildEnter) { this.props.onChildEnter(htmlNode); }\n }\n\n onChildEntering(htmlNode) {\n this.setState({ height: htmlNode.offsetHeight });\n if (this.props.onChildEntering) { this.props.onChildEntering(htmlNode); }\n }\n\n onChildEntered(htmlNode) {\n this.setState({ height: null });\n if (this.props.onChildEntered) { this.props.onChildEntered(htmlNode); }\n }\n\n onChildExit(htmlNode) {\n this.setState({ height: htmlNode.offsetHeight });\n if (this.props.onChildExit) { this.props.onChildExit(htmlNode); }\n }\n\n onChildExiting(htmlNode) {\n if (this.props.onChildExiting) { this.props.onChildExiting(htmlNode); }\n }\n\n onChildExited(htmlNode) {\n this.setState({ height: null });\n if (this.props.onChildExited) { this.props.onChildExited(htmlNode); }\n }\n\n renderChildTransition(child) {\n if (!child.key && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\"TransitionReplace: A child is missing a 'key' prop. Keys are required for any child of this component.\");\n }\n // Makes the exiting and entering children occupy the same space\n // SCSS handles the crossfade so it can be easily overridden\n const commonChildStyles = {\n // Prevent margin-collapsing which throws off height calculations\n padding: '.1px 0',\n };\n\n const transitionStyles = {\n entering: {},\n entered: {},\n exiting: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n pointerEvents: 'none',\n },\n exited: {},\n };\n\n return (\n <CSSTransition\n timeout={{\n enter: this.props.enterDuration,\n exit: this.props.exitDuration,\n }}\n unmountOnExit\n mountOnEnter\n onEnter={this.onChildEnter}\n onEntering={this.onChildEntering}\n onEntered={this.onChildEntered}\n onExit={this.onChildExit}\n onExiting={this.onChildExiting}\n onExited={this.onChildExited}\n classNames={this.props.transitionClassNames}\n >\n {state => (\n <div\n style={{\n ...commonChildStyles,\n ...transitionStyles[state],\n ...this.props.transitionStyles[state],\n }}\n >\n {child}\n </div>\n )}\n </CSSTransition>\n );\n }\n\n render() {\n return (\n <TransitionGroup\n className={classNames(\n 'pgn-transition-replace-group',\n 'position-relative',\n { 'overflow-hidden': this.state.height !== null },\n this.props.className,\n )}\n style={{ height: this.state.height }}\n >\n {React.Children.map(this.props.children, this.renderChildTransition, this)}\n </TransitionGroup>\n );\n }\n}\n\nTransitionReplace.propTypes = {\n /** Specifies an additional class for the base element */\n children: PropTypes.element,\n /** Duration of the element appearance transition. */\n enterDuration: PropTypes.number,\n /** Duration of the element dismiss transition. */\n exitDuration: PropTypes.number,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A `Transition` callback fired immediately after the `enter` or `appear` class is applied. */\n onChildEnter: PropTypes.func,\n /** A `Transition` callback fired immediately after the `enter-active` or `appear-active` class is applied. */\n onChildEntering: PropTypes.func,\n /**\n * A `Transition` callback fired immediately after the `enter` or\n * `appear` classes are removed and the done class is added to the DOM node.\n */\n onChildEntered: PropTypes.func,\n /** A `Transition` callback fired immediately after the `exit` class is applied. */\n onChildExit: PropTypes.func,\n /** A `Transition` callback fired immediately after the `exit-active` is applied. */\n onChildExiting: PropTypes.func,\n /**\n * A `Transition` callback fired immediately after the `exit` classes\n * are removed and the exit-done class is added to the DOM node.\n */\n onChildExited: PropTypes.func,\n /** An object that specifies transition styles. */\n transitionStyles: PropTypes.shape({\n entering: PropTypes.shape({}),\n entered: PropTypes.shape({}),\n exiting: PropTypes.shape({}),\n exited: PropTypes.shape({}),\n }),\n /** Specifies class name to append to the `Transition`. */\n transitionClassNames: PropTypes.string,\n};\n\nTransitionReplace.defaultProps = {\n children: undefined,\n enterDuration: 300,\n exitDuration: 300,\n className: undefined,\n onChildEnter: undefined,\n onChildEntering: undefined,\n onChildEntered: undefined,\n onChildExit: undefined,\n onChildExiting: undefined,\n onChildExited: undefined,\n transitionStyles: {},\n transitionClassNames: 'pgn__transition-replace',\n};\n\nexport default TransitionReplace;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","CSSTransition","TransitionGroup","classNames","TransitionReplace","_React$Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","state","height","onChildEnter","bind","_assertThisInitialized","onChildEntering","onChildEntered","onChildExit","onChildExiting","onChildExited","_createClass","key","value","htmlNode","setState","offsetHeight","renderChildTransition","child","_this2","process","env","NODE_ENV","console","warn","commonChildStyles","padding","transitionStyles","entering","entered","exiting","position","top","left","right","pointerEvents","exited","createElement","timeout","enter","enterDuration","exit","exitDuration","unmountOnExit","mountOnEnter","onEnter","onEntering","onEntered","onExit","onExiting","onExited","transitionClassNames","style","_objectSpread","render","className","Children","map","children","Component","propTypes","element","number","string","func","shape","defaultProps","undefined"],"sources":["../../src/TransitionReplace/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport classNames from 'classnames';\n\nclass TransitionReplace extends React.Component {\n constructor(props) {\n super(props);\n\n this.state = { height: null };\n\n this.onChildEnter = this.onChildEnter.bind(this);\n this.onChildEntering = this.onChildEntering.bind(this);\n this.onChildEntered = this.onChildEntered.bind(this);\n this.onChildExit = this.onChildExit.bind(this);\n this.onChildExiting = this.onChildExiting.bind(this);\n this.onChildExited = this.onChildExited.bind(this);\n }\n\n // Transition events are fired in this order:\n //\n // onEnter > onEntering > onEntered\n // onExit > onExiting > onExited\n //\n // Keep in mind that we always have two transitions happening\n // both the entering and leaving children\n //\n // We set the container height (for animation) in this order:\n //\n // 1. onChildExit (explicitly set the height to match the current current)\n // 2. onChildEntering (set the height to match the new content)\n // 3. onChildExited (reset the height to null)\n\n onChildEnter(htmlNode) {\n if (this.props.onChildEnter) { this.props.onChildEnter(htmlNode); }\n }\n\n onChildEntering(htmlNode) {\n this.setState({ height: htmlNode.offsetHeight });\n if (this.props.onChildEntering) { this.props.onChildEntering(htmlNode); }\n }\n\n onChildEntered(htmlNode) {\n this.setState({ height: null });\n if (this.props.onChildEntered) { this.props.onChildEntered(htmlNode); }\n }\n\n onChildExit(htmlNode) {\n this.setState({ height: htmlNode.offsetHeight });\n if (this.props.onChildExit) { this.props.onChildExit(htmlNode); }\n }\n\n onChildExiting(htmlNode) {\n if (this.props.onChildExiting) { this.props.onChildExiting(htmlNode); }\n }\n\n onChildExited(htmlNode) {\n this.setState({ height: null });\n if (this.props.onChildExited) { this.props.onChildExited(htmlNode); }\n }\n\n renderChildTransition(child) {\n if (!child.key && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.warn(\"TransitionReplace: A child is missing a 'key' prop. Keys are required for any child of this component.\");\n }\n // Makes the exiting and entering children occupy the same space\n // SCSS handles the crossfade so it can be easily overridden\n const commonChildStyles = {\n // Prevent margin-collapsing which throws off height calculations\n padding: '.1px 0',\n };\n\n const transitionStyles = {\n entering: {},\n entered: {},\n exiting: {\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n pointerEvents: 'none',\n },\n exited: {},\n };\n\n return (\n <CSSTransition\n timeout={{\n enter: this.props.enterDuration,\n exit: this.props.exitDuration,\n }}\n unmountOnExit\n mountOnEnter\n onEnter={this.onChildEnter}\n onEntering={this.onChildEntering}\n onEntered={this.onChildEntered}\n onExit={this.onChildExit}\n onExiting={this.onChildExiting}\n onExited={this.onChildExited}\n classNames={this.props.transitionClassNames}\n >\n {state => (\n <div\n style={{\n ...commonChildStyles,\n ...transitionStyles[state],\n ...this.props.transitionStyles[state],\n }}\n >\n {child}\n </div>\n )}\n </CSSTransition>\n );\n }\n\n render() {\n return (\n <TransitionGroup\n className={classNames(\n 'pgn-transition-replace-group',\n 'position-relative',\n { 'overflow-hidden': this.state.height !== null },\n this.props.className,\n )}\n style={{ height: this.state.height }}\n >\n {React.Children.map(this.props.children, this.renderChildTransition, this)}\n </TransitionGroup>\n );\n }\n}\n\nTransitionReplace.propTypes = {\n /** Specifies an additional class for the base element */\n children: PropTypes.element,\n /** Duration of the element appearance transition. */\n enterDuration: PropTypes.number,\n /** Duration of the element dismiss transition. */\n exitDuration: PropTypes.number,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A `Transition` callback fired immediately after the `enter` or `appear` class is applied. */\n onChildEnter: PropTypes.func,\n /** A `Transition` callback fired immediately after the `enter-active` or `appear-active` class is applied. */\n onChildEntering: PropTypes.func,\n /**\n * A `Transition` callback fired immediately after the `enter` or\n * `appear` classes are removed and the done class is added to the DOM node.\n */\n onChildEntered: PropTypes.func,\n /** A `Transition` callback fired immediately after the `exit` class is applied. */\n onChildExit: PropTypes.func,\n /** A `Transition` callback fired immediately after the `exit-active` is applied. */\n onChildExiting: PropTypes.func,\n /**\n * A `Transition` callback fired immediately after the `exit` classes\n * are removed and the exit-done class is added to the DOM node.\n */\n onChildExited: PropTypes.func,\n /** An object that specifies transition styles. */\n transitionStyles: PropTypes.shape({\n entering: PropTypes.shape({}),\n entered: PropTypes.shape({}),\n exiting: PropTypes.shape({}),\n exited: PropTypes.shape({}),\n }),\n /** Specifies class name to append to the `Transition`. */\n transitionClassNames: PropTypes.string,\n};\n\nTransitionReplace.defaultProps = {\n children: undefined,\n enterDuration: 300,\n exitDuration: 300,\n className: undefined,\n onChildEnter: undefined,\n onChildEntering: undefined,\n onChildEntered: undefined,\n onChildExit: undefined,\n onChildExiting: undefined,\n onChildExited: undefined,\n transitionStyles: {},\n transitionClassNames: 'pgn__transition-replace',\n};\n\nexport default TransitionReplace;\n"],"mappings":"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"}
@@ -1,35 +1,41 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
1
7
  import React, { useLayoutEffect, useRef } from 'react';
2
8
  import PropTypes from 'prop-types';
3
9
  import { truncateLines } from './utils';
4
10
  import useWindowSize from '../hooks/useWindowSize';
5
- const DEFAULT_TRUNCATE_LINES = 1;
6
- const DEFAULT_TRUNCATE_ELLIPSIS = '...';
7
- const DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';
11
+ var DEFAULT_TRUNCATE_LINES = 1;
12
+ var DEFAULT_TRUNCATE_ELLIPSIS = '...';
13
+ var DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';
8
14
  function Truncate(_ref) {
9
- let {
10
- children,
11
- lines,
12
- ellipsis,
13
- elementType,
14
- className,
15
- whiteSpace,
16
- onTruncate
17
- } = _ref;
18
- const textContainer = useRef();
19
- const {
20
- width
21
- } = useWindowSize();
22
- useLayoutEffect(() => {
15
+ var children = _ref.children,
16
+ lines = _ref.lines,
17
+ ellipsis = _ref.ellipsis,
18
+ elementType = _ref.elementType,
19
+ className = _ref.className,
20
+ whiteSpace = _ref.whiteSpace,
21
+ onTruncate = _ref.onTruncate;
22
+ var textContainer = useRef();
23
+ var _useWindowSize = useWindowSize(),
24
+ width = _useWindowSize.width;
25
+ useLayoutEffect(function () {
23
26
  if (textContainer.current) {
24
- const [truncated, original] = truncateLines(children, textContainer.current, {
25
- ellipsis,
26
- whiteSpace,
27
- lines
28
- });
27
+ var _truncateLines = truncateLines(children, textContainer.current, {
28
+ ellipsis: ellipsis,
29
+ whiteSpace: whiteSpace,
30
+ lines: lines
31
+ }),
32
+ _truncateLines2 = _slicedToArray(_truncateLines, 2),
33
+ truncated = _truncateLines2[0],
34
+ original = _truncateLines2[1];
29
35
  textContainer.current.setAttribute('title', original);
30
36
  textContainer.current.setAttribute('aria-label', original);
31
37
  textContainer.current.innerHTML = '';
32
- truncated.forEach(element => {
38
+ truncated.forEach(function (element) {
33
39
  textContainer.current.appendChild(element);
34
40
  });
35
41
  if (onTruncate) {
@@ -39,7 +45,7 @@ function Truncate(_ref) {
39
45
  }, [children, ellipsis, lines, onTruncate, whiteSpace, width]);
40
46
  return /*#__PURE__*/React.createElement(elementType, {
41
47
  ref: textContainer,
42
- className
48
+ className: className
43
49
  });
44
50
  }
45
51
  Truncate.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useLayoutEffect","useRef","PropTypes","truncateLines","useWindowSize","DEFAULT_TRUNCATE_LINES","DEFAULT_TRUNCATE_ELLIPSIS","DEFAULT_TRUNCATE_ELEMENT_TYPE","Truncate","_ref","children","lines","ellipsis","elementType","className","whiteSpace","onTruncate","textContainer","width","current","truncated","original","setAttribute","innerHTML","forEach","element","appendChild","createElement","ref","propTypes","string","isRequired","oneOfType","number","node","bool","func","defaultProps","undefined"],"sources":["../../src/Truncate/index.jsx"],"sourcesContent":["import React, {\n useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { truncateLines } from './utils';\nimport useWindowSize from '../hooks/useWindowSize';\n\nconst DEFAULT_TRUNCATE_LINES = 1;\nconst DEFAULT_TRUNCATE_ELLIPSIS = '...';\nconst DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';\n\nfunction Truncate({\n children, lines, ellipsis, elementType, className, whiteSpace, onTruncate,\n}) {\n const textContainer = useRef();\n const { width } = useWindowSize();\n\n useLayoutEffect(() => {\n if (textContainer.current) {\n const [truncated, original] = truncateLines(children, textContainer.current, {\n ellipsis,\n whiteSpace,\n lines,\n });\n textContainer.current.setAttribute('title', original);\n textContainer.current.setAttribute('aria-label', original);\n textContainer.current.innerHTML = '';\n truncated.forEach(element => {\n textContainer.current.appendChild(element);\n });\n if (onTruncate) {\n onTruncate(truncated);\n }\n }\n }, [children, ellipsis, lines, onTruncate, whiteSpace, width]);\n\n return React.createElement(elementType, {\n ref: textContainer,\n className,\n });\n}\n\nTruncate.propTypes = {\n /** The expected text to which the ellipsis would be applied. */\n children: PropTypes.string.isRequired,\n /** The number of lines the text to be truncated to. */\n lines: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Text content for the ellipsis - will appear after the truncated lines. */\n ellipsis: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.node]),\n /** Adds the whitespace from before the ellipsis. */\n whiteSpace: PropTypes.bool,\n /** Custom html element for truncated text. */\n elementType: PropTypes.string,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Callback fired when a text truncating */\n onTruncate: PropTypes.func,\n};\n\nTruncate.defaultProps = {\n lines: DEFAULT_TRUNCATE_LINES,\n ellipsis: DEFAULT_TRUNCATE_ELLIPSIS,\n whiteSpace: false,\n elementType: DEFAULT_TRUNCATE_ELEMENT_TYPE,\n className: undefined,\n onTruncate: undefined,\n};\n\nexport default Truncate;\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,eAAe,EAAEC,MAAM,QAClB,OAAO;AACd,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,aAAa,QAAQ,SAAS;AACvC,OAAOC,aAAa,MAAM,wBAAwB;AAElD,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,yBAAyB,GAAG,KAAK;AACvC,MAAMC,6BAA6B,GAAG,KAAK;AAE3C,SAASC,QAAQA,CAAAC,IAAA,EAEd;EAAA,IAFe;IAChBC,QAAQ;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC,SAAS;IAAEC,UAAU;IAAEC;EACjE,CAAC,GAAAP,IAAA;EACC,MAAMQ,aAAa,GAAGhB,MAAM,CAAC,CAAC;EAC9B,MAAM;IAAEiB;EAAM,CAAC,GAAGd,aAAa,CAAC,CAAC;EAEjCJ,eAAe,CAAC,MAAM;IACpB,IAAIiB,aAAa,CAACE,OAAO,EAAE;MACzB,MAAM,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAGlB,aAAa,CAACO,QAAQ,EAAEO,aAAa,CAACE,OAAO,EAAE;QAC3EP,QAAQ;QACRG,UAAU;QACVJ;MACF,CAAC,CAAC;MACFM,aAAa,CAACE,OAAO,CAACG,YAAY,CAAC,OAAO,EAAED,QAAQ,CAAC;MACrDJ,aAAa,CAACE,OAAO,CAACG,YAAY,CAAC,YAAY,EAAED,QAAQ,CAAC;MAC1DJ,aAAa,CAACE,OAAO,CAACI,SAAS,GAAG,EAAE;MACpCH,SAAS,CAACI,OAAO,CAACC,OAAO,IAAI;QAC3BR,aAAa,CAACE,OAAO,CAACO,WAAW,CAACD,OAAO,CAAC;MAC5C,CAAC,CAAC;MACF,IAAIT,UAAU,EAAE;QACdA,UAAU,CAACI,SAAS,CAAC;MACvB;IACF;EACF,CAAC,EAAE,CAACV,QAAQ,EAAEE,QAAQ,EAAED,KAAK,EAAEK,UAAU,EAAED,UAAU,EAAEG,KAAK,CAAC,CAAC;EAE9D,oBAAOnB,KAAK,CAAC4B,aAAa,CAACd,WAAW,EAAE;IACtCe,GAAG,EAAEX,aAAa;IAClBH;EACF,CAAC,CAAC;AACJ;AAEAN,QAAQ,CAACqB,SAAS,GAAG;EACnB;EACAnB,QAAQ,EAAER,SAAS,CAAC4B,MAAM,CAACC,UAAU;EACrC;EACApB,KAAK,EAAET,SAAS,CAAC8B,SAAS,CAAC,CAAC9B,SAAS,CAAC4B,MAAM,EAAE5B,SAAS,CAAC+B,MAAM,CAAC,CAAC;EAChE;EACArB,QAAQ,EAAEV,SAAS,CAAC8B,SAAS,CAAC,CAAC9B,SAAS,CAAC4B,MAAM,EAAE5B,SAAS,CAAC+B,MAAM,EAAE/B,SAAS,CAACgC,IAAI,CAAC,CAAC;EACnF;EACAnB,UAAU,EAAEb,SAAS,CAACiC,IAAI;EAC1B;EACAtB,WAAW,EAAEX,SAAS,CAAC4B,MAAM;EAC7B;EACAhB,SAAS,EAAEZ,SAAS,CAAC4B,MAAM;EAC3B;EACAd,UAAU,EAAEd,SAAS,CAACkC;AACxB,CAAC;AAED5B,QAAQ,CAAC6B,YAAY,GAAG;EACtB1B,KAAK,EAAEN,sBAAsB;EAC7BO,QAAQ,EAAEN,yBAAyB;EACnCS,UAAU,EAAE,KAAK;EACjBF,WAAW,EAAEN,6BAA6B;EAC1CO,SAAS,EAAEwB,SAAS;EACpBtB,UAAU,EAAEsB;AACd,CAAC;AAED,eAAe9B,QAAQ"}
1
+ {"version":3,"file":"index.js","names":["React","useLayoutEffect","useRef","PropTypes","truncateLines","useWindowSize","DEFAULT_TRUNCATE_LINES","DEFAULT_TRUNCATE_ELLIPSIS","DEFAULT_TRUNCATE_ELEMENT_TYPE","Truncate","_ref","children","lines","ellipsis","elementType","className","whiteSpace","onTruncate","textContainer","_useWindowSize","width","current","_truncateLines","_truncateLines2","_slicedToArray","truncated","original","setAttribute","innerHTML","forEach","element","appendChild","createElement","ref","propTypes","string","isRequired","oneOfType","number","node","bool","func","defaultProps","undefined"],"sources":["../../src/Truncate/index.jsx"],"sourcesContent":["import React, {\n useLayoutEffect, useRef,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { truncateLines } from './utils';\nimport useWindowSize from '../hooks/useWindowSize';\n\nconst DEFAULT_TRUNCATE_LINES = 1;\nconst DEFAULT_TRUNCATE_ELLIPSIS = '...';\nconst DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';\n\nfunction Truncate({\n children, lines, ellipsis, elementType, className, whiteSpace, onTruncate,\n}) {\n const textContainer = useRef();\n const { width } = useWindowSize();\n\n useLayoutEffect(() => {\n if (textContainer.current) {\n const [truncated, original] = truncateLines(children, textContainer.current, {\n ellipsis,\n whiteSpace,\n lines,\n });\n textContainer.current.setAttribute('title', original);\n textContainer.current.setAttribute('aria-label', original);\n textContainer.current.innerHTML = '';\n truncated.forEach(element => {\n textContainer.current.appendChild(element);\n });\n if (onTruncate) {\n onTruncate(truncated);\n }\n }\n }, [children, ellipsis, lines, onTruncate, whiteSpace, width]);\n\n return React.createElement(elementType, {\n ref: textContainer,\n className,\n });\n}\n\nTruncate.propTypes = {\n /** The expected text to which the ellipsis would be applied. */\n children: PropTypes.string.isRequired,\n /** The number of lines the text to be truncated to. */\n lines: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Text content for the ellipsis - will appear after the truncated lines. */\n ellipsis: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.node]),\n /** Adds the whitespace from before the ellipsis. */\n whiteSpace: PropTypes.bool,\n /** Custom html element for truncated text. */\n elementType: PropTypes.string,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Callback fired when a text truncating */\n onTruncate: PropTypes.func,\n};\n\nTruncate.defaultProps = {\n lines: DEFAULT_TRUNCATE_LINES,\n ellipsis: DEFAULT_TRUNCATE_ELLIPSIS,\n whiteSpace: false,\n elementType: DEFAULT_TRUNCATE_ELEMENT_TYPE,\n className: undefined,\n onTruncate: undefined,\n};\n\nexport default Truncate;\n"],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
4
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
5
+ import React from 'react';
6
+ import PropTypes from 'prop-types';
7
+ import classNames from 'classnames';
8
+ import Input from '../Input';
9
+ import { FormControl } from '../Form';
10
+ var propTypes = {
11
+ /** Id of the form input that the validation is for */
12
+ "for": PropTypes.string.isRequired,
13
+ /** Additional classnames for this component */
14
+ className: PropTypes.string,
15
+ /** Determines if invalid styles / message will be shown */
16
+ invalid: PropTypes.bool,
17
+ /** Determines if invalid styles / message will be shown */
18
+ valid: PropTypes.bool,
19
+ /** Message to display on valid input */
20
+ validMessage: PropTypes.node,
21
+ /** Message to display on invalid input */
22
+ invalidMessage: PropTypes.node,
23
+ /** Help text for the form input */
24
+ helpText: PropTypes.node,
25
+ /** Specifies contents of the component. */
26
+ children: PropTypes.node
27
+ };
28
+ var defaultProps = {
29
+ invalid: undefined,
30
+ valid: undefined,
31
+ validMessage: undefined,
32
+ invalidMessage: undefined,
33
+ helpText: undefined,
34
+ children: undefined,
35
+ className: undefined
36
+ };
37
+ function ValidationFormGroup(props) {
38
+ var className = props.className,
39
+ invalidMessage = props.invalidMessage,
40
+ invalid = props.invalid,
41
+ valid = props.valid,
42
+ validMessage = props.validMessage,
43
+ helpText = props.helpText,
44
+ id = props["for"],
45
+ children = props.children;
46
+ var renderChildren = function renderChildren() {
47
+ return React.Children.map(children, function (child) {
48
+ var _classNames;
49
+ // Any non-user input element should pass through unmodified
50
+ if (['input', 'textarea', 'select', Input, FormControl].indexOf(child.type) === -1) {
51
+ return child;
52
+ }
53
+
54
+ // Add validation class names and describedby values to input element
55
+ return /*#__PURE__*/React.cloneElement(child, {
56
+ className: classNames(child.props.className, {
57
+ 'is-invalid': invalid,
58
+ 'is-valid': valid
59
+ }),
60
+ // This is a non-standard use of the classNames package, but it's exactly the same use case.
61
+ 'aria-describedby': classNames(child.props['aria-describedby'], (_classNames = {}, _defineProperty(_classNames, "".concat(id, "-help-text"), Boolean(helpText)), _defineProperty(_classNames, "".concat(id, "-invalid-feedback"), invalid && invalidMessage), _defineProperty(_classNames, "".concat(id, "-valid-feedback"), valid && validMessage), _classNames))
62
+ });
63
+ });
64
+ };
65
+ var renderHelpText = function renderHelpText(text) {
66
+ if (!text) {
67
+ return null;
68
+ }
69
+ return /*#__PURE__*/React.createElement("small", {
70
+ id: "".concat(id, "-help-text"),
71
+ className: "form-text text-muted"
72
+ }, text);
73
+ };
74
+
75
+ /**
76
+ * The red text conveys semantic emphasis using color and font weight. For WCAG 2.1, the
77
+ * semantics need to be exposed programmatically as well. To do this, we use <strong/>
78
+ * elements and attach the formatting classes to them.
79
+ */
80
+ var renderInvalidFeedback = function renderInvalidFeedback(message) {
81
+ if (!message) {
82
+ return null;
83
+ }
84
+ return /*#__PURE__*/React.createElement("strong", {
85
+ id: "".concat(id, "-invalid-feedback"),
86
+ className: "invalid-feedback"
87
+ }, message);
88
+ };
89
+ var renderValidFeedback = function renderValidFeedback(message) {
90
+ if (!message) {
91
+ return null;
92
+ }
93
+ return /*#__PURE__*/React.createElement("div", {
94
+ className: "valid-feedback",
95
+ id: "".concat(id, "-valid-feedback")
96
+ }, message);
97
+ };
98
+ return /*#__PURE__*/React.createElement("div", {
99
+ className: classNames('form-group', className),
100
+ "data-testid": "validation-form-group"
101
+ }, renderChildren(), renderHelpText(helpText), renderInvalidFeedback(invalidMessage), renderValidFeedback(validMessage));
102
+ }
103
+ ValidationFormGroup.propTypes = propTypes;
104
+ ValidationFormGroup.defaultProps = defaultProps;
105
+ export default ValidationFormGroup;
106
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Input","FormControl","propTypes","string","isRequired","className","invalid","bool","valid","validMessage","node","invalidMessage","helpText","children","defaultProps","undefined","ValidationFormGroup","props","id","renderChildren","Children","map","child","_classNames","indexOf","type","cloneElement","_defineProperty","concat","Boolean","renderHelpText","text","createElement","renderInvalidFeedback","message","renderValidFeedback"],"sources":["../../src/ValidationFormGroup/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Input from '../Input';\nimport { FormControl } from '../Form';\n\nconst propTypes = {\n /** Id of the form input that the validation is for */\n for: PropTypes.string.isRequired,\n /** Additional classnames for this component */\n className: PropTypes.string,\n /** Determines if invalid styles / message will be shown */\n invalid: PropTypes.bool,\n /** Determines if invalid styles / message will be shown */\n valid: PropTypes.bool,\n /** Message to display on valid input */\n validMessage: PropTypes.node,\n /** Message to display on invalid input */\n invalidMessage: PropTypes.node,\n /** Help text for the form input */\n helpText: PropTypes.node,\n /** Specifies contents of the component. */\n children: PropTypes.node,\n};\n\nconst defaultProps = {\n invalid: undefined,\n valid: undefined,\n validMessage: undefined,\n invalidMessage: undefined,\n helpText: undefined,\n children: undefined,\n className: undefined,\n};\n\nfunction ValidationFormGroup(props) {\n const {\n className,\n invalidMessage,\n invalid,\n valid,\n validMessage,\n helpText,\n for: id,\n children,\n } = props;\n\n const renderChildren = () => React.Children.map(children, (child) => {\n // Any non-user input element should pass through unmodified\n if (['input', 'textarea', 'select', Input, FormControl].indexOf(child.type) === -1) { return child; }\n\n // Add validation class names and describedby values to input element\n return React.cloneElement(child, {\n className: classNames(child.props.className, {\n 'is-invalid': invalid,\n 'is-valid': valid,\n }),\n // This is a non-standard use of the classNames package, but it's exactly the same use case.\n 'aria-describedby': classNames(child.props['aria-describedby'], {\n [`${id}-help-text`]: Boolean(helpText),\n [`${id}-invalid-feedback`]: invalid && invalidMessage,\n [`${id}-valid-feedback`]: valid && validMessage,\n }),\n });\n });\n\n const renderHelpText = (text) => {\n if (!text) { return null; }\n return <small id={`${id}-help-text`} className=\"form-text text-muted\">{text}</small>;\n };\n\n /**\n * The red text conveys semantic emphasis using color and font weight. For WCAG 2.1, the\n * semantics need to be exposed programmatically as well. To do this, we use <strong/>\n * elements and attach the formatting classes to them.\n */\n const renderInvalidFeedback = (message) => {\n if (!message) { return null; }\n return (\n <strong\n id={`${id}-invalid-feedback`}\n className=\"invalid-feedback\"\n >\n {message}\n </strong>\n );\n };\n\n const renderValidFeedback = (message) => {\n if (!message) { return null; }\n return (\n <div\n className=\"valid-feedback\"\n id={`${id}-valid-feedback`}\n >\n {message}\n </div>\n );\n };\n\n return (\n <div className={classNames('form-group', className)} data-testid=\"validation-form-group\">\n {renderChildren()}\n {renderHelpText(helpText)}\n {renderInvalidFeedback(invalidMessage)}\n {renderValidFeedback(validMessage)}\n </div>\n );\n}\n\nValidationFormGroup.propTypes = propTypes;\nValidationFormGroup.defaultProps = defaultProps;\n\nexport default ValidationFormGroup;\n"],"mappings":"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"}