@openedx/paragon 21.12.1 → 21.12.2

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 (412) hide show
  1. package/dist/ActionRow/index.js +7 -8
  2. package/dist/ActionRow/index.js.map +1 -1
  3. package/dist/Alert/index.js +33 -25
  4. package/dist/Alert/index.js.map +1 -1
  5. package/dist/Annotation/index.js +7 -9
  6. package/dist/Annotation/index.js.map +1 -1
  7. package/dist/Avatar/index.js +5 -7
  8. package/dist/Avatar/index.js.map +1 -1
  9. package/dist/AvatarButton/index.js +10 -12
  10. package/dist/AvatarButton/index.js.map +1 -1
  11. package/dist/Badge/index.js +6 -4
  12. package/dist/Badge/index.js.map +1 -1
  13. package/dist/Breadcrumb/BreadcrumbLink.js +11 -14
  14. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  15. package/dist/Breadcrumb/index.js +29 -29
  16. package/dist/Breadcrumb/index.js.map +1 -1
  17. package/dist/Bubble/index.js +11 -13
  18. package/dist/Bubble/index.js.map +1 -1
  19. package/dist/Button/deprecated/index.js +87 -66
  20. package/dist/Button/deprecated/index.js.map +1 -1
  21. package/dist/Button/index.js +10 -11
  22. package/dist/Button/index.js.map +1 -1
  23. package/dist/Card/CardBody.js +4 -6
  24. package/dist/Card/CardBody.js.map +1 -1
  25. package/dist/Card/CardCarousel/CardCarousel.js +11 -13
  26. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  27. package/dist/Card/CardCarousel/CardCarouselControls.js +6 -7
  28. package/dist/Card/CardCarousel/CardCarouselControls.js.map +1 -1
  29. package/dist/Card/CardCarousel/CardCarouselHeader.js +9 -12
  30. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  31. package/dist/Card/CardCarousel/CardCarouselItems.js +6 -9
  32. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  33. package/dist/Card/CardCarousel/CardCarouselProvider.js +27 -28
  34. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  35. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +4 -6
  36. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  37. package/dist/Card/CardCarousel/CardCarouselTitle.js +4 -6
  38. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  39. package/dist/Card/CardContext.js +8 -10
  40. package/dist/Card/CardContext.js.map +1 -1
  41. package/dist/Card/CardDeck.js +19 -17
  42. package/dist/Card/CardDeck.js.map +1 -1
  43. package/dist/Card/CardDivider.js +3 -5
  44. package/dist/Card/CardDivider.js.map +1 -1
  45. package/dist/Card/CardFooter.js +15 -18
  46. package/dist/Card/CardFooter.js.map +1 -1
  47. package/dist/Card/CardGrid.js +13 -11
  48. package/dist/Card/CardGrid.js.map +1 -1
  49. package/dist/Card/CardHeader.js +17 -22
  50. package/dist/Card/CardHeader.js.map +1 -1
  51. package/dist/Card/CardImageCap.js +48 -33
  52. package/dist/Card/CardImageCap.js.map +1 -1
  53. package/dist/Card/CardSection.js +11 -14
  54. package/dist/Card/CardSection.js.map +1 -1
  55. package/dist/Card/CardStatus.js +11 -14
  56. package/dist/Card/CardStatus.js.map +1 -1
  57. package/dist/Card/index.js +18 -20
  58. package/dist/Card/index.js.map +1 -1
  59. package/dist/Carousel/index.js +17 -11
  60. package/dist/Carousel/index.js.map +1 -1
  61. package/dist/CheckBox/index.js +66 -36
  62. package/dist/CheckBox/index.js.map +1 -1
  63. package/dist/Chip/index.js +14 -16
  64. package/dist/Chip/index.js.map +1 -1
  65. package/dist/ChipCarousel/index.js +29 -30
  66. package/dist/ChipCarousel/index.js.map +1 -1
  67. package/dist/Collapsible/CollapsibleAdvanced.js +82 -62
  68. package/dist/Collapsible/CollapsibleAdvanced.js.map +1 -1
  69. package/dist/Collapsible/CollapsibleBody.js +13 -15
  70. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  71. package/dist/Collapsible/CollapsibleTrigger.js +18 -20
  72. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  73. package/dist/Collapsible/CollapsibleVisible.js +6 -9
  74. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  75. package/dist/Collapsible/index.js +17 -18
  76. package/dist/Collapsible/index.js.map +1 -1
  77. package/dist/ColorPicker/index.js +58 -33
  78. package/dist/ColorPicker/index.js.map +1 -1
  79. package/dist/Container/index.js +8 -9
  80. package/dist/Container/index.js.map +1 -1
  81. package/dist/DataTable/ActionDisplay.js +8 -9
  82. package/dist/DataTable/ActionDisplay.js.map +1 -1
  83. package/dist/DataTable/BulkActions.js +23 -20
  84. package/dist/DataTable/BulkActions.js.map +1 -1
  85. package/dist/DataTable/CardView.js +46 -43
  86. package/dist/DataTable/CardView.js.map +1 -1
  87. package/dist/DataTable/CollapsibleButtonGroup.js +57 -39
  88. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  89. package/dist/DataTable/DataTableContext.js +1 -1
  90. package/dist/DataTable/DataTableContext.js.map +1 -1
  91. package/dist/DataTable/DataTableLayout.js +6 -9
  92. package/dist/DataTable/DataTableLayout.js.map +1 -1
  93. package/dist/DataTable/DataViewToggle.js +25 -20
  94. package/dist/DataTable/DataViewToggle.js.map +1 -1
  95. package/dist/DataTable/DropdownFilters.js +41 -28
  96. package/dist/DataTable/DropdownFilters.js.map +1 -1
  97. package/dist/DataTable/EmptyTable.js +6 -9
  98. package/dist/DataTable/EmptyTable.js.map +1 -1
  99. package/dist/DataTable/ExpandAll.js +2 -4
  100. package/dist/DataTable/ExpandAll.js.map +1 -1
  101. package/dist/DataTable/ExpandRow.js +2 -4
  102. package/dist/DataTable/ExpandRow.js.map +1 -1
  103. package/dist/DataTable/FilterStatus.js +18 -17
  104. package/dist/DataTable/FilterStatus.js.map +1 -1
  105. package/dist/DataTable/RowStatus.js +15 -18
  106. package/dist/DataTable/RowStatus.js.map +1 -1
  107. package/dist/DataTable/SidebarFilters.js +16 -13
  108. package/dist/DataTable/SidebarFilters.js.map +1 -1
  109. package/dist/DataTable/SmartStatus.js +14 -16
  110. package/dist/DataTable/SmartStatus.js.map +1 -1
  111. package/dist/DataTable/Table.js +17 -19
  112. package/dist/DataTable/Table.js.map +1 -1
  113. package/dist/DataTable/TableActions.js +11 -13
  114. package/dist/DataTable/TableActions.js.map +1 -1
  115. package/dist/DataTable/TableCell.js +6 -10
  116. package/dist/DataTable/TableCell.js.map +1 -1
  117. package/dist/DataTable/TableControlBar.js +7 -12
  118. package/dist/DataTable/TableControlBar.js.map +1 -1
  119. package/dist/DataTable/TableFilters.js +14 -12
  120. package/dist/DataTable/TableFilters.js.map +1 -1
  121. package/dist/DataTable/TableFooter.js +5 -8
  122. package/dist/DataTable/TableFooter.js.map +1 -1
  123. package/dist/DataTable/TableHeaderCell.js +11 -15
  124. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  125. package/dist/DataTable/TableHeaderRow.js +6 -4
  126. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  127. package/dist/DataTable/TablePagination.js +8 -7
  128. package/dist/DataTable/TablePagination.js.map +1 -1
  129. package/dist/DataTable/TablePaginationMinimal.js +9 -8
  130. package/dist/DataTable/TablePaginationMinimal.js.map +1 -1
  131. package/dist/DataTable/TableRow.js +15 -18
  132. package/dist/DataTable/TableRow.js.map +1 -1
  133. package/dist/DataTable/filters/CheckboxFilter.js +23 -22
  134. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  135. package/dist/DataTable/filters/DropdownFilter.js +14 -19
  136. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  137. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +19 -20
  138. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  139. package/dist/DataTable/filters/TextFilter.js +10 -13
  140. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  141. package/dist/DataTable/hooks.js +29 -25
  142. package/dist/DataTable/hooks.js.map +1 -1
  143. package/dist/DataTable/index.js +120 -104
  144. package/dist/DataTable/index.js.map +1 -1
  145. package/dist/DataTable/selection/BaseSelectionStatus.js +29 -31
  146. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  147. package/dist/DataTable/selection/ControlledSelect.js +13 -9
  148. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  149. package/dist/DataTable/selection/ControlledSelectHeader.js +19 -15
  150. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  151. package/dist/DataTable/selection/ControlledSelectionStatus.js +34 -24
  152. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  153. package/dist/DataTable/selection/SelectionStatus.js +23 -23
  154. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  155. package/dist/DataTable/utils/getVisibleColumns.js +36 -44
  156. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  157. package/dist/Dropdown/deprecated/DropdownButton.js +9 -13
  158. package/dist/Dropdown/deprecated/DropdownButton.js.map +1 -1
  159. package/dist/Dropdown/deprecated/DropdownItem.js +7 -8
  160. package/dist/Dropdown/deprecated/DropdownItem.js.map +1 -1
  161. package/dist/Dropdown/deprecated/DropdownMenu.js +8 -12
  162. package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -1
  163. package/dist/Dropdown/deprecated/index.js +136 -103
  164. package/dist/Dropdown/deprecated/index.js.map +1 -1
  165. package/dist/Dropdown/index.js +32 -29
  166. package/dist/Dropdown/index.js.map +1 -1
  167. package/dist/Dropzone/DefaultContent.js +13 -13
  168. package/dist/Dropzone/DefaultContent.js.map +1 -1
  169. package/dist/Dropzone/DragError.js +1 -3
  170. package/dist/Dropzone/DragError.js.map +1 -1
  171. package/dist/Dropzone/GenericError.js +7 -7
  172. package/dist/Dropzone/GenericError.js.map +1 -1
  173. package/dist/Dropzone/UploadProgress.js +6 -8
  174. package/dist/Dropzone/UploadProgress.js.map +1 -1
  175. package/dist/Dropzone/index.js +145 -86
  176. package/dist/Dropzone/index.js.map +1 -1
  177. package/dist/Fieldset/index.js +82 -57
  178. package/dist/Fieldset/index.js.map +1 -1
  179. package/dist/Form/FormAutosuggest.js +137 -95
  180. package/dist/Form/FormAutosuggest.js.map +1 -1
  181. package/dist/Form/FormAutosuggestOption.js +4 -6
  182. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  183. package/dist/Form/FormCheckbox.js +35 -42
  184. package/dist/Form/FormCheckbox.js.map +1 -1
  185. package/dist/Form/FormCheckboxSet.js +13 -16
  186. package/dist/Form/FormCheckboxSet.js.map +1 -1
  187. package/dist/Form/FormCheckboxSetContext.js +39 -34
  188. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  189. package/dist/Form/FormControl.js +41 -35
  190. package/dist/Form/FormControl.js.map +1 -1
  191. package/dist/Form/FormControlDecorator.js +3 -5
  192. package/dist/Form/FormControlDecorator.js.map +1 -1
  193. package/dist/Form/FormControlDecoratorGroup.js +8 -10
  194. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  195. package/dist/Form/FormControlFeedback.js +12 -15
  196. package/dist/Form/FormControlFeedback.js.map +1 -1
  197. package/dist/Form/FormControlFloatingLabel.js +3 -6
  198. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  199. package/dist/Form/FormControlSet.js +8 -9
  200. package/dist/Form/FormControlSet.js.map +1 -1
  201. package/dist/Form/FormGroup.js +11 -12
  202. package/dist/Form/FormGroup.js.map +1 -1
  203. package/dist/Form/FormGroupContext.js +64 -39
  204. package/dist/Form/FormGroupContext.js.map +1 -1
  205. package/dist/Form/FormLabel.js +15 -17
  206. package/dist/Form/FormLabel.js.map +1 -1
  207. package/dist/Form/FormRadio.js +19 -22
  208. package/dist/Form/FormRadio.js.map +1 -1
  209. package/dist/Form/FormRadioSet.js +13 -16
  210. package/dist/Form/FormRadioSet.js.map +1 -1
  211. package/dist/Form/FormRadioSetContext.js +39 -34
  212. package/dist/Form/FormRadioSetContext.js.map +1 -1
  213. package/dist/Form/FormSwitch.js +16 -20
  214. package/dist/Form/FormSwitch.js.map +1 -1
  215. package/dist/Form/FormText.js +20 -29
  216. package/dist/Form/FormText.js.map +1 -1
  217. package/dist/Form/useCheckboxSetValues.js +46 -23
  218. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  219. package/dist/Hyperlink/index.js +25 -25
  220. package/dist/Hyperlink/index.js.map +1 -1
  221. package/dist/Hyperlink/index.scss +2 -2
  222. package/dist/Icon/index.js +21 -20
  223. package/dist/Icon/index.js.map +1 -1
  224. package/dist/IconButton/index.js +30 -32
  225. package/dist/IconButton/index.js.map +1 -1
  226. package/dist/IconButtonToggle/index.js +16 -16
  227. package/dist/IconButtonToggle/index.js.map +1 -1
  228. package/dist/Input/index.js +122 -92
  229. package/dist/Input/index.js.map +1 -1
  230. package/dist/InputSelect/index.js +78 -51
  231. package/dist/InputSelect/index.js.map +1 -1
  232. package/dist/InputText/index.js +11 -9
  233. package/dist/InputText/index.js.map +1 -1
  234. package/dist/Layout/index.js +33 -29
  235. package/dist/Layout/index.js.map +1 -1
  236. package/dist/ListBox/index.js +112 -80
  237. package/dist/ListBox/index.js.map +1 -1
  238. package/dist/ListBoxOption/index.js +68 -45
  239. package/dist/ListBoxOption/index.js.map +1 -1
  240. package/dist/MailtoLink/index.js +37 -34
  241. package/dist/MailtoLink/index.js.map +1 -1
  242. package/dist/Menu/MenuItem.js +13 -14
  243. package/dist/Menu/MenuItem.js.map +1 -1
  244. package/dist/Menu/SelectMenu.js +68 -44
  245. package/dist/Menu/SelectMenu.js.map +1 -1
  246. package/dist/Menu/index.js +10 -11
  247. package/dist/Menu/index.js.map +1 -1
  248. package/dist/Modal/AlertModal.js +5 -7
  249. package/dist/Modal/AlertModal.js.map +1 -1
  250. package/dist/Modal/FullscreenModal.js +6 -8
  251. package/dist/Modal/FullscreenModal.js.map +1 -1
  252. package/dist/Modal/MarketingModal.js +8 -10
  253. package/dist/Modal/MarketingModal.js.map +1 -1
  254. package/dist/Modal/ModalCloseButton.js +13 -15
  255. package/dist/Modal/ModalCloseButton.js.map +1 -1
  256. package/dist/Modal/ModalContext.js +13 -13
  257. package/dist/Modal/ModalContext.js.map +1 -1
  258. package/dist/Modal/ModalDialog.js +22 -23
  259. package/dist/Modal/ModalDialog.js.map +1 -1
  260. package/dist/Modal/ModalDialogBody.js +22 -11
  261. package/dist/Modal/ModalDialogBody.js.map +1 -1
  262. package/dist/Modal/ModalDialogFooter.js +6 -7
  263. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  264. package/dist/Modal/ModalDialogHeader.js +6 -7
  265. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  266. package/dist/Modal/ModalDialogHero.js +6 -7
  267. package/dist/Modal/ModalDialogHero.js.map +1 -1
  268. package/dist/Modal/ModalDialogHeroBackground.js +8 -9
  269. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  270. package/dist/Modal/ModalDialogHeroContent.js +6 -7
  271. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  272. package/dist/Modal/ModalDialogTitle.js +6 -7
  273. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  274. package/dist/Modal/ModalLayer.js +11 -17
  275. package/dist/Modal/ModalLayer.js.map +1 -1
  276. package/dist/Modal/ModalPopup.js +17 -17
  277. package/dist/Modal/ModalPopup.js.map +1 -1
  278. package/dist/Modal/PopperElement.js +25 -18
  279. package/dist/Modal/PopperElement.js.map +1 -1
  280. package/dist/Modal/Portal.js +40 -18
  281. package/dist/Modal/Portal.js.map +1 -1
  282. package/dist/Modal/StandardModal.js +6 -8
  283. package/dist/Modal/StandardModal.js.map +1 -1
  284. package/dist/Modal/index.js +215 -187
  285. package/dist/Modal/index.js.map +1 -1
  286. package/dist/Nav/index.js +3 -2
  287. package/dist/Nav/index.js.map +1 -1
  288. package/dist/Navbar/index.js +7 -6
  289. package/dist/Navbar/index.js.map +1 -1
  290. package/dist/OverflowScroll/OverflowScroll.js +45 -37
  291. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  292. package/dist/OverflowScroll/OverflowScrollContext.js +1 -1
  293. package/dist/OverflowScroll/OverflowScrollContext.js.map +1 -1
  294. package/dist/OverflowScroll/OverflowScrollItems.js +2 -4
  295. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  296. package/dist/Overlay/index.js +4 -4
  297. package/dist/Overlay/index.js.map +1 -1
  298. package/dist/PageBanner/index.js +11 -13
  299. package/dist/PageBanner/index.js.map +1 -1
  300. package/dist/Pagination/index.js +331 -296
  301. package/dist/Pagination/index.js.map +1 -1
  302. package/dist/Popover/index.js +11 -14
  303. package/dist/Popover/index.js.map +1 -1
  304. package/dist/ProductTour/Checkpoint.js +29 -22
  305. package/dist/ProductTour/Checkpoint.js.map +1 -1
  306. package/dist/ProductTour/CheckpointActionRow.js +18 -16
  307. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  308. package/dist/ProductTour/CheckpointBody.js +2 -4
  309. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  310. package/dist/ProductTour/CheckpointBreadcrumbs.js +16 -16
  311. package/dist/ProductTour/CheckpointBreadcrumbs.js.map +1 -1
  312. package/dist/ProductTour/CheckpointTitle.js +2 -4
  313. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  314. package/dist/ProductTour/index.js +66 -47
  315. package/dist/ProductTour/index.js.map +1 -1
  316. package/dist/ProgressBar/index.js +37 -35
  317. package/dist/ProgressBar/index.js.map +1 -1
  318. package/dist/RadioButtonGroup/index.js +133 -102
  319. package/dist/RadioButtonGroup/index.js.map +1 -1
  320. package/dist/Scrollable/index.js +30 -15
  321. package/dist/Scrollable/index.js.map +1 -1
  322. package/dist/SearchField/SearchFieldAdvanced.js +54 -44
  323. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  324. package/dist/SearchField/SearchFieldClearButton.js +7 -8
  325. package/dist/SearchField/SearchFieldClearButton.js.map +1 -1
  326. package/dist/SearchField/SearchFieldInput.js +8 -9
  327. package/dist/SearchField/SearchFieldInput.js.map +1 -1
  328. package/dist/SearchField/SearchFieldLabel.js +5 -8
  329. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  330. package/dist/SearchField/SearchFieldSubmitButton.js +12 -15
  331. package/dist/SearchField/SearchFieldSubmitButton.js.map +1 -1
  332. package/dist/SearchField/index.js +22 -22
  333. package/dist/SearchField/index.js.map +1 -1
  334. package/dist/SelectableBox/SelectableBoxSet.js +25 -26
  335. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  336. package/dist/SelectableBox/index.js +42 -38
  337. package/dist/SelectableBox/index.js.map +1 -1
  338. package/dist/Sheet/SheetContainer.js +38 -16
  339. package/dist/Sheet/SheetContainer.js.map +1 -1
  340. package/dist/Sheet/index.js +65 -43
  341. package/dist/Sheet/index.js.map +1 -1
  342. package/dist/Spinner/index.js +8 -9
  343. package/dist/Spinner/index.js.map +1 -1
  344. package/dist/Stack/index.js +9 -11
  345. package/dist/Stack/index.js.map +1 -1
  346. package/dist/StatefulButton/index.js +15 -17
  347. package/dist/StatefulButton/index.js.map +1 -1
  348. package/dist/StatusAlert/index.js +120 -82
  349. package/dist/StatusAlert/index.js.map +1 -1
  350. package/dist/Stepper/Stepper.js +2 -4
  351. package/dist/Stepper/Stepper.js.map +1 -1
  352. package/dist/Stepper/StepperActionRow.js +7 -10
  353. package/dist/Stepper/StepperActionRow.js.map +1 -1
  354. package/dist/Stepper/StepperContext.js +64 -32
  355. package/dist/Stepper/StepperContext.js.map +1 -1
  356. package/dist/Stepper/StepperHeader.js +23 -30
  357. package/dist/Stepper/StepperHeader.js.map +1 -1
  358. package/dist/Stepper/StepperHeaderStep.js +14 -17
  359. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  360. package/dist/Stepper/StepperStep.js +23 -24
  361. package/dist/Stepper/StepperStep.js.map +1 -1
  362. package/dist/Sticky/index.js +30 -22
  363. package/dist/Sticky/index.js.map +1 -1
  364. package/dist/Table/index.js +178 -109
  365. package/dist/Table/index.js.map +1 -1
  366. package/dist/Tabs/deprecated/index.js +99 -66
  367. package/dist/Tabs/deprecated/index.js.map +1 -1
  368. package/dist/Tabs/index.js +65 -49
  369. package/dist/Tabs/index.js.map +1 -1
  370. package/dist/TextArea/index.js +10 -8
  371. package/dist/TextArea/index.js.map +1 -1
  372. package/dist/Toast/ToastContainer.js +38 -16
  373. package/dist/Toast/ToastContainer.js.map +1 -1
  374. package/dist/Toast/index.js +33 -18
  375. package/dist/Toast/index.js.map +1 -1
  376. package/dist/Tooltip/index.js +8 -9
  377. package/dist/Tooltip/index.js.map +1 -1
  378. package/dist/TransitionReplace/DemoTransitionReplace.js +12 -3
  379. package/dist/TransitionReplace/DemoTransitionReplace.js.map +1 -1
  380. package/dist/TransitionReplace/index.js +136 -100
  381. package/dist/TransitionReplace/index.js.map +1 -1
  382. package/dist/Truncate/index.js +30 -24
  383. package/dist/Truncate/index.js.map +1 -1
  384. package/dist/ValidationFormGroup/index.js +38 -37
  385. package/dist/ValidationFormGroup/index.js.map +1 -1
  386. package/dist/ValidationMessage/index.js +76 -51
  387. package/dist/ValidationMessage/index.js.map +1 -1
  388. package/dist/asInput/index.js +251 -202
  389. package/dist/asInput/index.js.map +1 -1
  390. package/dist/hooks/useArrowKeyNavigation.js +46 -43
  391. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  392. package/dist/hooks/useIndexOfLastVisibleChild.js +40 -26
  393. package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
  394. package/dist/hooks/useIsVisible.js +20 -13
  395. package/dist/hooks/useIsVisible.js.map +1 -1
  396. package/dist/hooks/useToggle.js +18 -11
  397. package/dist/hooks/useToggle.js.map +1 -1
  398. package/dist/hooks/useWindowSize.js +17 -6
  399. package/dist/hooks/useWindowSize.js.map +1 -1
  400. package/dist/paragon.css +1 -1
  401. package/dist/withDeprecatedProps.js +79 -58
  402. package/dist/withDeprecatedProps.js.map +1 -1
  403. package/package.json +1 -5
  404. package/src/Button/index.jsx +2 -2
  405. package/src/Dropzone/index.jsx +1 -1
  406. package/src/Hyperlink/index.scss +2 -2
  407. package/src/Icon/index.jsx +1 -1
  408. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +12 -10
  409. package/src/IconButton/index.jsx +1 -1
  410. package/src/Menu/MenuItem.jsx +2 -2
  411. package/src/Overlay/README.md +1 -1
  412. package/src/Overlay/index.jsx +1 -1
@@ -1,10 +1,11 @@
1
- const _excluded = ["src", "id", "className", "hidden", "screenReaderText", "svgAttrs", "size"];
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
+ var _excluded = ["src", "id", "className", "hidden", "screenReaderText", "svgAttrs", "size"];
2
3
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
4
  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; }
4
5
  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; }
5
6
  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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
7
- 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); }
7
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
8
+ 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); }
8
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
9
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
11
  import React from 'react';
@@ -21,28 +22,24 @@ import withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';
21
22
  */
22
23
 
23
24
  function Icon(_ref) {
24
- let {
25
- src: Component,
26
- id,
27
- className,
28
- hidden,
29
- screenReaderText,
30
- svgAttrs,
31
- size
32
- } = _ref,
25
+ var Component = _ref.src,
26
+ id = _ref.id,
27
+ className = _ref.className,
28
+ hidden = _ref.hidden,
29
+ screenReaderText = _ref.screenReaderText,
30
+ svgAttrs = _ref.svgAttrs,
31
+ size = _ref.size,
33
32
  attrs = _objectWithoutProperties(_ref, _excluded);
34
33
  if (Component) {
35
34
  // If no aria label is specified, hide this icon from screenreaders
36
- const hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];
37
- const mergedSvgProps = _objectSpread({}, svgAttrs);
35
+ var hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];
36
+ var mergedSvgProps = _objectSpread({}, svgAttrs);
38
37
  if (!hasAriaLabel) {
39
38
  mergedSvgProps['aria-label'] = undefined;
40
39
  mergedSvgProps['aria-hidden'] = true;
41
40
  }
42
41
  return /*#__PURE__*/React.createElement("span", _extends({
43
- className: classNames('pgn__icon', {
44
- [`pgn__icon__${size}`]: !!size
45
- }, className),
42
+ className: classNames('pgn__icon', _defineProperty({}, "pgn__icon__".concat(size), !!size), className),
46
43
  id: id
47
44
  }, attrs), /*#__PURE__*/React.createElement(Component, _extends({
48
45
  role: "img",
@@ -64,7 +61,7 @@ Icon.propTypes = {
64
61
  * An icon component to render.
65
62
  * Example import of a Paragon icon component: `import { Check } from '@edx/paragon/icons';`
66
63
  */
67
- src: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
64
+ src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
68
65
  /** HTML element attributes to pass through to the underlying svg element */
69
66
  svgAttrs: PropTypes.shape({
70
67
  'aria-label': PropTypes.string,
@@ -104,8 +101,12 @@ Icon.defaultProps = {
104
101
  export default withDeprecatedProps(Icon, 'Icon', {
105
102
  className: {
106
103
  deprType: DeprTypes.FORMAT,
107
- expect: value => typeof value === 'string',
108
- transform: value => Array.isArray(value) ? value.join(' ') : value,
104
+ expect: function expect(value) {
105
+ return typeof value === 'string';
106
+ },
107
+ transform: function transform(value) {
108
+ return Array.isArray(value) ? value.join(' ') : value;
109
+ },
109
110
  message: 'It should be a string.'
110
111
  }
111
112
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","withDeprecatedProps","DeprTypes","Icon","_ref","src","Component","id","className","hidden","screenReaderText","svgAttrs","size","attrs","_objectWithoutProperties","_excluded","hasAriaLabel","mergedSvgProps","_objectSpread","undefined","createElement","_extends","role","focusable","Fragment","propTypes","oneOfType","element","func","shape","string","oneOf","bool","defaultProps","deprType","FORMAT","expect","value","transform","Array","isArray","join","message"],"sources":["../../src/Icon/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\n/**\n * An svg with an \"img\" role must satisfy the following a11y requirements\n * - It needs a text alternative in the form of aria-label, aria-labelledby, or screen-reader only text.\n * - If no label is desired, aria-label will be set to an empty string and aria-hidden to \"true\".\n * - focusable is set to false on the svg in all cases as a workaround for an ie11 bug\n */\n\nfunction Icon({\n src: Component,\n id,\n className,\n hidden,\n screenReaderText,\n svgAttrs,\n size,\n ...attrs\n}) {\n if (Component) {\n // If no aria label is specified, hide this icon from screenreaders\n const hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];\n\n const mergedSvgProps = { ...svgAttrs };\n\n if (!hasAriaLabel) {\n mergedSvgProps['aria-label'] = undefined;\n mergedSvgProps['aria-hidden'] = true;\n }\n\n return (\n <span\n className={classNames('pgn__icon', { [`pgn__icon__${size}`]: !!size }, className)}\n id={id}\n {...attrs}\n >\n <Component\n role=\"img\"\n focusable={false}\n {...mergedSvgProps}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <>\n <span\n id={id || newId('Icon')}\n className={className}\n aria-hidden={hidden}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </>\n );\n}\n\nIcon.propTypes = {\n /**\n * An icon component to render.\n * Example import of a Paragon icon component: `import { Check } from '@edx/paragon/icons';`\n */\n src: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /** HTML element attributes to pass through to the underlying svg element */\n svgAttrs: PropTypes.shape({\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n }),\n /**\n * the `id` property of the Icon element, by default this value is generated\n * with the `newId` function with the `prefix` of `Icon`.\n */\n id: PropTypes.string,\n /** The size of the icon. */\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),\n /** A class name that will define what the Icon looks like. */\n className: PropTypes.string,\n /**\n * a boolean that determines the value of `aria-hidden` attribute on the Icon span,\n * this value is `true` by default.\n */\n hidden: PropTypes.bool,\n /**\n * a string or an element that will be used on a secondary span leveraging the `sr-only` style\n * for screenreader only text, this value is `undefined` by default. This value is recommended for use unless\n * the Icon is being used in a way that is purely decorative or provides no additional context for screen\n * reader users. This field should be thought of the same way an `alt` attribute would be used for `image` tags.\n */\n screenReaderText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nIcon.defaultProps = {\n src: null,\n svgAttrs: {},\n id: undefined,\n hidden: true,\n screenReaderText: undefined,\n size: undefined,\n className: undefined,\n};\n\nexport default withDeprecatedProps(Icon, 'Icon', {\n className: {\n deprType: DeprTypes.FORMAT,\n expect: value => typeof value === 'string',\n transform: value => (Array.isArray(value) ? value.join(' ') : value),\n message: 'It should be a string.',\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","withDeprecatedProps","DeprTypes","Icon","_ref","Component","src","id","className","hidden","screenReaderText","svgAttrs","size","attrs","_objectWithoutProperties","_excluded","hasAriaLabel","mergedSvgProps","_objectSpread","undefined","createElement","_extends","_defineProperty","concat","role","focusable","Fragment","propTypes","oneOfType","element","elementType","shape","string","oneOf","bool","defaultProps","deprType","FORMAT","expect","value","transform","Array","isArray","join","message"],"sources":["../../src/Icon/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\n/**\n * An svg with an \"img\" role must satisfy the following a11y requirements\n * - It needs a text alternative in the form of aria-label, aria-labelledby, or screen-reader only text.\n * - If no label is desired, aria-label will be set to an empty string and aria-hidden to \"true\".\n * - focusable is set to false on the svg in all cases as a workaround for an ie11 bug\n */\n\nfunction Icon({\n src: Component,\n id,\n className,\n hidden,\n screenReaderText,\n svgAttrs,\n size,\n ...attrs\n}) {\n if (Component) {\n // If no aria label is specified, hide this icon from screenreaders\n const hasAriaLabel = svgAttrs['aria-label'] || svgAttrs['aria-labelledby'];\n\n const mergedSvgProps = { ...svgAttrs };\n\n if (!hasAriaLabel) {\n mergedSvgProps['aria-label'] = undefined;\n mergedSvgProps['aria-hidden'] = true;\n }\n\n return (\n <span\n className={classNames('pgn__icon', { [`pgn__icon__${size}`]: !!size }, className)}\n id={id}\n {...attrs}\n >\n <Component\n role=\"img\"\n focusable={false}\n {...mergedSvgProps}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </span>\n );\n }\n\n return (\n <>\n <span\n id={id || newId('Icon')}\n className={className}\n aria-hidden={hidden}\n />\n {screenReaderText && (\n <span className=\"sr-only\">\n {screenReaderText}\n </span>\n )}\n </>\n );\n}\n\nIcon.propTypes = {\n /**\n * An icon component to render.\n * Example import of a Paragon icon component: `import { Check } from '@edx/paragon/icons';`\n */\n src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),\n /** HTML element attributes to pass through to the underlying svg element */\n svgAttrs: PropTypes.shape({\n 'aria-label': PropTypes.string,\n 'aria-labelledby': PropTypes.string,\n }),\n /**\n * the `id` property of the Icon element, by default this value is generated\n * with the `newId` function with the `prefix` of `Icon`.\n */\n id: PropTypes.string,\n /** The size of the icon. */\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg']),\n /** A class name that will define what the Icon looks like. */\n className: PropTypes.string,\n /**\n * a boolean that determines the value of `aria-hidden` attribute on the Icon span,\n * this value is `true` by default.\n */\n hidden: PropTypes.bool,\n /**\n * a string or an element that will be used on a secondary span leveraging the `sr-only` style\n * for screenreader only text, this value is `undefined` by default. This value is recommended for use unless\n * the Icon is being used in a way that is purely decorative or provides no additional context for screen\n * reader users. This field should be thought of the same way an `alt` attribute would be used for `image` tags.\n */\n screenReaderText: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n};\n\nIcon.defaultProps = {\n src: null,\n svgAttrs: {},\n id: undefined,\n hidden: true,\n screenReaderText: undefined,\n size: undefined,\n className: undefined,\n};\n\nexport default withDeprecatedProps(Icon, 'Icon', {\n className: {\n deprType: DeprTypes.FORMAT,\n expect: value => typeof value === 'string',\n transform: value => (Array.isArray(value) ? value.join(' ') : value),\n message: 'It should be a string.',\n },\n});\n"],"mappings":"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"}
@@ -1,6 +1,10 @@
1
- const _excluded = ["className", "alt", "invertColors", "icon", "src", "iconClassNames", "onClick", "size", "variant", "iconAs", "isActive"],
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
+ var _excluded = ["className", "alt", "invertColors", "icon", "src", "iconClassNames", "onClick", "size", "variant", "iconAs", "isActive"],
2
3
  _excluded2 = ["tooltipPlacement", "tooltipContent", "variant", "invertColors"];
3
4
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
5
+ 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; }
6
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
+ 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); }
4
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
5
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
10
  import React from 'react';
@@ -9,34 +13,30 @@ import classNames from 'classnames';
9
13
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
10
14
  import { OverlayTrigger } from '../Overlay';
11
15
  import Tooltip from '../Tooltip';
12
- const IconButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
13
- let {
14
- className,
15
- alt,
16
- invertColors,
17
- icon,
18
- src,
19
- iconClassNames,
20
- onClick,
21
- size,
22
- variant,
23
- iconAs,
24
- isActive
25
- } = _ref,
16
+ var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
17
+ var className = _ref.className,
18
+ alt = _ref.alt,
19
+ invertColors = _ref.invertColors,
20
+ icon = _ref.icon,
21
+ src = _ref.src,
22
+ iconClassNames = _ref.iconClassNames,
23
+ onClick = _ref.onClick,
24
+ size = _ref.size,
25
+ variant = _ref.variant,
26
+ iconAs = _ref.iconAs,
27
+ isActive = _ref.isActive,
26
28
  attrs = _objectWithoutProperties(_ref, _excluded);
27
- const invert = invertColors ? 'inverse-' : '';
28
- const activeStyle = isActive ? `${variant}-` : '';
29
+ var invert = invertColors ? 'inverse-' : '';
30
+ var activeStyle = isActive ? "".concat(variant, "-") : '';
29
31
  if (!iconAs && process.env.NODE_ENV === 'development' && console) {
30
- const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and ' + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon ' + 'as Paragon is moving away from FontAwesome, please use Paragon\'s icons instead.';
32
+ var msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and ' + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon ' + 'as Paragon is moving away from FontAwesome, please use Paragon\'s icons instead.';
31
33
  // eslint-disable-next-line no-console
32
34
  console.warn(msg);
33
35
  }
34
- const IconComponent = iconAs || FontAwesomeIcon;
36
+ var IconComponent = iconAs || FontAwesomeIcon;
35
37
  return /*#__PURE__*/React.createElement("button", _extends({
36
38
  "aria-label": alt,
37
- className: classNames('btn-icon', `btn-icon-${invert}${variant}`, `btn-icon-${size}`, {
38
- [`btn-icon-${invert}${activeStyle}active`]: isActive
39
- }, className),
39
+ className: classNames('btn-icon', "btn-icon-".concat(invert).concat(variant), "btn-icon-".concat(size), _defineProperty({}, "btn-icon-".concat(invert).concat(activeStyle, "active"), isActive), className),
40
40
  onClick: onClick,
41
41
  type: "button",
42
42
  ref: ref
@@ -57,7 +57,7 @@ IconButton.defaultProps = {
57
57
  invertColors: false,
58
58
  variant: 'primary',
59
59
  size: 'md',
60
- onClick: () => {},
60
+ onClick: function onClick() {},
61
61
  isActive: false
62
62
  };
63
63
  IconButton.propTypes = {
@@ -69,7 +69,7 @@ IconButton.propTypes = {
69
69
  /** An icon component to render. Example import of a Paragon icon component:
70
70
  * `import { Check } from '@edx/paragon/dist/icon';`
71
71
  * */
72
- src: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),
72
+ src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
73
73
  /** Alt text for your icon. For best practice, avoid using alt text to describe
74
74
  * the image in the `IconButton`. Instead, we recommend describing the function
75
75
  * of the button. */
@@ -103,18 +103,16 @@ IconButton.propTypes = {
103
103
  * @returns { IconButton } a button wrapped in overlaytrigger
104
104
  */
105
105
  function IconButtonWithTooltip(_ref2) {
106
- let {
107
- tooltipPlacement,
108
- tooltipContent,
109
- variant,
110
- invertColors
111
- } = _ref2,
106
+ var tooltipPlacement = _ref2.tooltipPlacement,
107
+ tooltipContent = _ref2.tooltipContent,
108
+ variant = _ref2.variant,
109
+ invertColors = _ref2.invertColors,
112
110
  props = _objectWithoutProperties(_ref2, _excluded2);
113
- const invert = invertColors ? 'inverse-' : '';
111
+ var invert = invertColors ? 'inverse-' : '';
114
112
  return /*#__PURE__*/React.createElement(OverlayTrigger, {
115
113
  placement: tooltipPlacement,
116
114
  overlay: /*#__PURE__*/React.createElement(Tooltip, {
117
- id: `iconbutton-tooltip-${tooltipPlacement}`,
115
+ id: "iconbutton-tooltip-".concat(tooltipPlacement),
118
116
  variant: invert ? 'light' : ''
119
117
  }, tooltipContent)
120
118
  }, /*#__PURE__*/React.createElement(IconButton, _extends({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FontAwesomeIcon","OverlayTrigger","Tooltip","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","process","env","NODE_ENV","console","msg","warn","IconComponent","createElement","_extends","type","defaultProps","undefined","propTypes","string","elementType","oneOfType","element","func","isRequired","bool","shape","prefix","iconName","array","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","node"],"sources":["../../src/IconButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\n\nconst IconButton = React.forwardRef(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n if (!iconAs && process.env.NODE_ENV === 'development' && console) {\n const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and '\n + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon '\n + 'as Paragon is moving away from FontAwesome, please use Paragon\\'s icons instead.';\n // eslint-disable-next-line no-console\n console.warn(msg);\n }\n const IconComponent = iconAs || FontAwesomeIcon;\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon}\n src={src}\n />\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: undefined,\n src: null,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `FontAwesomeIcon`,\n * but is going to be deprecated soon, please use Paragon's icons instead. */\n iconAs: PropTypes.elementType,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@edx/paragon/dist/icon';`\n * */\n src: PropTypes.oneOfType([PropTypes.element, PropTypes.func]),\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a React fontawesome icon. */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }),\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\n/**\n *\n * @param { object } args Arguments\n * @param { string } args.tooltipPlacement choose from https://popper.js.org/docs/v2/constructors/#options\n * @param { React.Component } args.tooltipContent any content to pass to tooltip content area\n * @returns { IconButton } a button wrapped in overlaytrigger\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, variant, invertColors, ...props\n}) {\n const invert = invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : ''}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton variant={variant} invertColors={invertColors} {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n tooltipPlacement: 'top',\n variant: 'primary',\n invertColors: false,\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\nIconButton.IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton;\nexport { IconButtonWithTooltip };\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FontAwesomeIcon","OverlayTrigger","Tooltip","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","concat","process","env","NODE_ENV","console","msg","warn","IconComponent","createElement","_extends","_defineProperty","type","defaultProps","undefined","propTypes","string","elementType","oneOfType","element","isRequired","bool","shape","prefix","iconName","array","func","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","node"],"sources":["../../src/IconButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\n\nconst IconButton = React.forwardRef(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n if (!iconAs && process.env.NODE_ENV === 'development' && console) {\n const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and '\n + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon '\n + 'as Paragon is moving away from FontAwesome, please use Paragon\\'s icons instead.';\n // eslint-disable-next-line no-console\n console.warn(msg);\n }\n const IconComponent = iconAs || FontAwesomeIcon;\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon}\n src={src}\n />\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: undefined,\n src: null,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `FontAwesomeIcon`,\n * but is going to be deprecated soon, please use Paragon's icons instead. */\n iconAs: PropTypes.elementType,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@edx/paragon/dist/icon';`\n * */\n src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a React fontawesome icon. */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }),\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\n/**\n *\n * @param { object } args Arguments\n * @param { string } args.tooltipPlacement choose from https://popper.js.org/docs/v2/constructors/#options\n * @param { React.Component } args.tooltipContent any content to pass to tooltip content area\n * @returns { IconButton } a button wrapped in overlaytrigger\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, variant, invertColors, ...props\n}) {\n const invert = invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : ''}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton variant={variant} invertColors={invertColors} {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n tooltipPlacement: 'top',\n variant: 'primary',\n invertColors: false,\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\nIconButton.IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton;\nexport { IconButtonWithTooltip };\n"],"mappings":"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"}
@@ -12,28 +12,28 @@ import PropTypes from 'prop-types';
12
12
  * @returns {React.Component} A React component
13
13
  */
14
14
  function IconButtonToggle(_ref) {
15
- let {
16
- activeValue,
17
- onChange,
18
- children
19
- } = _ref;
20
- const iconButtons = useMemo(() => React.Children.map(children, iconButton => {
21
- const isActive = iconButton.props.value === activeValue;
22
- return /*#__PURE__*/React.cloneElement(iconButton, {
23
- onClick: () => {
24
- onChange(iconButton.props.value);
25
- },
26
- isActive,
27
- 'aria-selected': isActive,
28
- 'data-testid': `icon-btn-val-${iconButton.props.value}`
15
+ var activeValue = _ref.activeValue,
16
+ onChange = _ref.onChange,
17
+ children = _ref.children;
18
+ var iconButtons = useMemo(function () {
19
+ return React.Children.map(children, function (iconButton) {
20
+ var isActive = iconButton.props.value === activeValue;
21
+ return /*#__PURE__*/React.cloneElement(iconButton, {
22
+ onClick: function onClick() {
23
+ onChange(iconButton.props.value);
24
+ },
25
+ isActive: isActive,
26
+ 'aria-selected': isActive,
27
+ 'data-testid': "icon-btn-val-".concat(iconButton.props.value)
28
+ });
29
29
  });
30
- }), [children, activeValue, onChange]);
30
+ }, [children, activeValue, onChange]);
31
31
  return /*#__PURE__*/React.createElement("div", {
32
32
  className: "pgn__icon-button-toggle__container"
33
33
  }, iconButtons);
34
34
  }
35
35
  IconButtonToggle.defaultProps = {
36
- onChange: () => {},
36
+ onChange: function onChange() {},
37
37
  activeValue: undefined
38
38
  };
39
39
  IconButtonToggle.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","IconButtonToggle","_ref","activeValue","onChange","children","iconButtons","Children","map","iconButton","isActive","props","value","cloneElement","onClick","createElement","className","defaultProps","undefined","propTypes","string","func","node","isRequired"],"sources":["../../src/IconButtonToggle/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n *\n * @param {object} args arguments\n * @param {boolean} args.activeValue the current value of the active/selected iconButton.\n * if not provided, none of the iconButtons will initially be active\n * @param {Function} args.onChange callback to call when toggle value changes.\n * Receives value of the selected toggle button.\n * @param {Array<IconButton>} args.children children components expected to be IconButton\n * @returns {React.Component} A React component\n */\nfunction IconButtonToggle({ activeValue, onChange, children }) {\n const iconButtons = useMemo(\n () => React.Children.map(children, iconButton => {\n const isActive = iconButton.props.value === activeValue;\n return React.cloneElement(iconButton, {\n onClick: () => { onChange(iconButton.props.value); },\n isActive,\n 'aria-selected': isActive,\n 'data-testid': `icon-btn-val-${iconButton.props.value}`,\n });\n }),\n [children, activeValue, onChange],\n );\n return <div className=\"pgn__icon-button-toggle__container\">{iconButtons}</div>;\n}\n\nIconButtonToggle.defaultProps = {\n onChange: () => {},\n activeValue: undefined,\n};\n\nIconButtonToggle.propTypes = {\n /** value to use to check which button to set to active */\n activeValue: PropTypes.string,\n /** handler that is passed the currently active button's value when a button is selected */\n onChange: PropTypes.func,\n /** child nodes of type `IconButton` (or its subcomponents) to be rendered within toggle group */\n children: PropTypes.node.isRequired,\n};\n\nexport default IconButtonToggle;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,SAAS,MAAM,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAAC,IAAA,EAAsC;EAAA,IAArC;IAAEC,WAAW;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAAH,IAAA;EAC3D,MAAMI,WAAW,GAAGP,OAAO,CACzB,MAAMD,KAAK,CAACS,QAAQ,CAACC,GAAG,CAACH,QAAQ,EAAEI,UAAU,IAAI;IAC/C,MAAMC,QAAQ,GAAGD,UAAU,CAACE,KAAK,CAACC,KAAK,KAAKT,WAAW;IACvD,oBAAOL,KAAK,CAACe,YAAY,CAACJ,UAAU,EAAE;MACpCK,OAAO,EAAEA,CAAA,KAAM;QAAEV,QAAQ,CAACK,UAAU,CAACE,KAAK,CAACC,KAAK,CAAC;MAAE,CAAC;MACpDF,QAAQ;MACR,eAAe,EAAEA,QAAQ;MACzB,aAAa,EAAG,gBAAeD,UAAU,CAACE,KAAK,CAACC,KAAM;IACxD,CAAC,CAAC;EACJ,CAAC,CAAC,EACF,CAACP,QAAQ,EAAEF,WAAW,EAAEC,QAAQ,CAClC,CAAC;EACD,oBAAON,KAAA,CAAAiB,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAAEV,WAAiB,CAAC;AAChF;AAEAL,gBAAgB,CAACgB,YAAY,GAAG;EAC9Bb,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBD,WAAW,EAAEe;AACf,CAAC;AAEDjB,gBAAgB,CAACkB,SAAS,GAAG;EAC3B;EACAhB,WAAW,EAAEH,SAAS,CAACoB,MAAM;EAC7B;EACAhB,QAAQ,EAAEJ,SAAS,CAACqB,IAAI;EACxB;EACAhB,QAAQ,EAAEL,SAAS,CAACsB,IAAI,CAACC;AAC3B,CAAC;AAED,eAAetB,gBAAgB"}
1
+ {"version":3,"file":"index.js","names":["React","useMemo","PropTypes","IconButtonToggle","_ref","activeValue","onChange","children","iconButtons","Children","map","iconButton","isActive","props","value","cloneElement","onClick","concat","createElement","className","defaultProps","undefined","propTypes","string","func","node","isRequired"],"sources":["../../src/IconButtonToggle/index.jsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\n\n/**\n *\n * @param {object} args arguments\n * @param {boolean} args.activeValue the current value of the active/selected iconButton.\n * if not provided, none of the iconButtons will initially be active\n * @param {Function} args.onChange callback to call when toggle value changes.\n * Receives value of the selected toggle button.\n * @param {Array<IconButton>} args.children children components expected to be IconButton\n * @returns {React.Component} A React component\n */\nfunction IconButtonToggle({ activeValue, onChange, children }) {\n const iconButtons = useMemo(\n () => React.Children.map(children, iconButton => {\n const isActive = iconButton.props.value === activeValue;\n return React.cloneElement(iconButton, {\n onClick: () => { onChange(iconButton.props.value); },\n isActive,\n 'aria-selected': isActive,\n 'data-testid': `icon-btn-val-${iconButton.props.value}`,\n });\n }),\n [children, activeValue, onChange],\n );\n return <div className=\"pgn__icon-button-toggle__container\">{iconButtons}</div>;\n}\n\nIconButtonToggle.defaultProps = {\n onChange: () => {},\n activeValue: undefined,\n};\n\nIconButtonToggle.propTypes = {\n /** value to use to check which button to set to active */\n activeValue: PropTypes.string,\n /** handler that is passed the currently active button's value when a button is selected */\n onChange: PropTypes.func,\n /** child nodes of type `IconButton` (or its subcomponents) to be rendered within toggle group */\n children: PropTypes.node.isRequired,\n};\n\nexport default IconButtonToggle;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,SAAS,MAAM,YAAY;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,gBAAgBA,CAAAC,IAAA,EAAsC;EAAA,IAAnCC,WAAW,GAAAD,IAAA,CAAXC,WAAW;IAAEC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;EACzD,IAAMC,WAAW,GAAGP,OAAO,CACzB;IAAA,OAAMD,KAAK,CAACS,QAAQ,CAACC,GAAG,CAACH,QAAQ,EAAE,UAAAI,UAAU,EAAI;MAC/C,IAAMC,QAAQ,GAAGD,UAAU,CAACE,KAAK,CAACC,KAAK,KAAKT,WAAW;MACvD,oBAAOL,KAAK,CAACe,YAAY,CAACJ,UAAU,EAAE;QACpCK,OAAO,EAAE,SAAAA,QAAA,EAAM;UAAEV,QAAQ,CAACK,UAAU,CAACE,KAAK,CAACC,KAAK,CAAC;QAAE,CAAC;QACpDF,QAAQ,EAARA,QAAQ;QACR,eAAe,EAAEA,QAAQ;QACzB,aAAa,kBAAAK,MAAA,CAAkBN,UAAU,CAACE,KAAK,CAACC,KAAK;MACvD,CAAC,CAAC;IACJ,CAAC,CAAC;EAAA,GACF,CAACP,QAAQ,EAAEF,WAAW,EAAEC,QAAQ,CAClC,CAAC;EACD,oBAAON,KAAA,CAAAkB,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAAEX,WAAiB,CAAC;AAChF;AAEAL,gBAAgB,CAACiB,YAAY,GAAG;EAC9Bd,QAAQ,EAAE,SAAAA,SAAA,EAAM,CAAC,CAAC;EAClBD,WAAW,EAAEgB;AACf,CAAC;AAEDlB,gBAAgB,CAACmB,SAAS,GAAG;EAC3B;EACAjB,WAAW,EAAEH,SAAS,CAACqB,MAAM;EAC7B;EACAjB,QAAQ,EAAEJ,SAAS,CAACsB,IAAI;EACxB;EACAjB,QAAQ,EAAEL,SAAS,CAACuB,IAAI,CAACC;AAC3B,CAAC;AAED,eAAevB,gBAAgB"}
@@ -1,110 +1,138 @@
1
- const _excluded = ["value", "label", "group"],
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
+ var _excluded = ["value", "label", "group"],
2
3
  _excluded2 = ["type", "className", "options", "forwardedRef"];
3
4
  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; }
4
5
  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; }
5
6
  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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
7
- 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); }
8
7
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
8
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
9
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
10
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
+ 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); } }
12
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
+ 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); }
15
+ 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); }
16
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
17
+ 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); }; }
18
+ 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); }
19
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
20
+ 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; } }
21
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
11
22
  import React from 'react';
12
23
  import classNames from 'classnames';
13
24
  import PropTypes from 'prop-types';
14
- class Input extends React.Component {
15
- componentDidMount() {
16
- if (process.env.NODE_ENV === 'development') {
17
- this.checkHasLabel();
18
- }
25
+ var Input = /*#__PURE__*/function (_React$Component) {
26
+ _inherits(Input, _React$Component);
27
+ var _super = _createSuper(Input);
28
+ function Input() {
29
+ _classCallCheck(this, Input);
30
+ return _super.apply(this, arguments);
19
31
  }
20
- getHTMLTagForType() {
21
- const {
22
- type
23
- } = this.props;
24
- if (type === 'select' || type === 'textarea') {
25
- return type;
32
+ _createClass(Input, [{
33
+ key: "componentDidMount",
34
+ value: function componentDidMount() {
35
+ if (process.env.NODE_ENV === 'development') {
36
+ this.checkHasLabel();
37
+ }
26
38
  }
27
- return 'input';
28
- }
29
- getClassNameForType() {
30
- switch (this.props.type) {
31
- case 'file':
32
- return 'form-control-file';
33
- case 'checkbox':
34
- case 'radio':
35
- return 'form-check-input';
36
- default:
37
- return 'form-control';
39
+ }, {
40
+ key: "getHTMLTagForType",
41
+ value: function getHTMLTagForType() {
42
+ var type = this.props.type;
43
+ if (type === 'select' || type === 'textarea') {
44
+ return type;
45
+ }
46
+ return 'input';
38
47
  }
39
- }
40
- setRef(forwardedRef) {
41
- // In production just return the optional forwardedRef
42
- if (process.env.NODE_ENV !== 'development') {
43
- return forwardedRef;
48
+ }, {
49
+ key: "getClassNameForType",
50
+ value: function getClassNameForType() {
51
+ switch (this.props.type) {
52
+ case 'file':
53
+ return 'form-control-file';
54
+ case 'checkbox':
55
+ case 'radio':
56
+ return 'form-check-input';
57
+ default:
58
+ return 'form-control';
59
+ }
44
60
  }
45
- return element => {
46
- if (forwardedRef) {
47
- forwardedRef.current = element;
48
- } // eslint-disable-line no-param-reassign
49
- this.inputEl = element;
50
- };
51
- }
52
- checkHasLabel() {
53
- if (this.inputEl.labels.length > 0) {
54
- return;
61
+ }, {
62
+ key: "setRef",
63
+ value: function setRef(forwardedRef) {
64
+ var _this = this;
65
+ // In production just return the optional forwardedRef
66
+ if (process.env.NODE_ENV !== 'development') {
67
+ return forwardedRef;
68
+ }
69
+ return function (element) {
70
+ if (forwardedRef) {
71
+ forwardedRef.current = element;
72
+ } // eslint-disable-line no-param-reassign
73
+ _this.inputEl = element;
74
+ };
55
75
  }
56
- if (this.inputEl.getAttribute('aria-label') !== null) {
57
- return;
76
+ }, {
77
+ key: "checkHasLabel",
78
+ value: function checkHasLabel() {
79
+ if (this.inputEl.labels.length > 0) {
80
+ return;
81
+ }
82
+ if (this.inputEl.getAttribute('aria-label') !== null) {
83
+ return;
84
+ }
85
+ if (this.inputEl.getAttribute('aria-labelledby') !== null) {
86
+ return;
87
+ }
88
+ if (console) {
89
+ // eslint-disable-next-line no-console
90
+ console.warn('Input[a11y]: There is no associated label for this Input');
91
+ }
58
92
  }
59
- if (this.inputEl.getAttribute('aria-labelledby') !== null) {
60
- return;
93
+ }, {
94
+ key: "renderOptions",
95
+ value: function renderOptions(options) {
96
+ var _this2 = this;
97
+ return options.map(function (option) {
98
+ var value = option.value,
99
+ label = option.label,
100
+ group = option.group,
101
+ attributes = _objectWithoutProperties(option, _excluded);
102
+ if (group) {
103
+ return /*#__PURE__*/React.createElement("optgroup", _extends({
104
+ key: "optgroup-".concat(label),
105
+ label: label
106
+ }, attributes), _this2.renderOptions(group));
107
+ }
108
+ return /*#__PURE__*/React.createElement("option", _extends({
109
+ key: value,
110
+ value: value
111
+ }, attributes), label);
112
+ }, this);
61
113
  }
62
- if (console) {
63
- // eslint-disable-next-line no-console
64
- console.warn('Input[a11y]: There is no associated label for this Input');
114
+ }, {
115
+ key: "render",
116
+ value: function render() {
117
+ var _this$props = this.props,
118
+ type = _this$props.type,
119
+ className = _this$props.className,
120
+ options = _this$props.options,
121
+ forwardedRef = _this$props.forwardedRef,
122
+ attributes = _objectWithoutProperties(_this$props, _excluded2);
123
+ var htmlTag = this.getHTMLTagForType();
124
+ var htmlProps = _objectSpread(_objectSpread({
125
+ className: classNames(this.getClassNameForType(), className),
126
+ type: htmlTag === 'input' ? type : undefined
127
+ }, attributes), {}, {
128
+ ref: this.setRef(forwardedRef)
129
+ });
130
+ var htmlChildren = type === 'select' ? this.renderOptions(options) : null;
131
+ return /*#__PURE__*/React.createElement(htmlTag, htmlProps, htmlChildren);
65
132
  }
66
- }
67
- renderOptions(options) {
68
- return options.map(option => {
69
- const {
70
- value,
71
- label,
72
- group
73
- } = option,
74
- attributes = _objectWithoutProperties(option, _excluded);
75
- if (group) {
76
- return /*#__PURE__*/React.createElement("optgroup", _extends({
77
- key: `optgroup-${label}`,
78
- label: label
79
- }, attributes), this.renderOptions(group));
80
- }
81
- return /*#__PURE__*/React.createElement("option", _extends({
82
- key: value,
83
- value: value
84
- }, attributes), label);
85
- }, this);
86
- }
87
- render() {
88
- const _this$props = this.props,
89
- {
90
- type,
91
- className,
92
- options,
93
- forwardedRef // eslint-disable-line react/prop-types
94
- // eslint-disable-line react/prop-types
95
- } = _this$props,
96
- attributes = _objectWithoutProperties(_this$props, _excluded2);
97
- const htmlTag = this.getHTMLTagForType();
98
- const htmlProps = _objectSpread(_objectSpread({
99
- className: classNames(this.getClassNameForType(), className),
100
- type: htmlTag === 'input' ? type : undefined
101
- }, attributes), {}, {
102
- ref: this.setRef(forwardedRef)
103
- });
104
- const htmlChildren = type === 'select' ? this.renderOptions(options) : null;
105
- return /*#__PURE__*/React.createElement(htmlTag, htmlProps, htmlChildren);
106
- }
107
- }
133
+ }]);
134
+ return Input;
135
+ }(React.Component);
108
136
  Input.propTypes = {
109
137
  /** specifies the type of component.
110
138
  * One of select, textarea, or any valid type for an html input tag. */
@@ -129,8 +157,10 @@ Input.defaultProps = {
129
157
  };
130
158
 
131
159
  // eslint-disable-next-line react/no-multi-comp
132
- const InputWithRefForwarding = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(Input, _extends({
133
- forwardedRef: ref
134
- }, props)));
160
+ var InputWithRefForwarding = /*#__PURE__*/React.forwardRef(function (props, ref) {
161
+ return /*#__PURE__*/React.createElement(Input, _extends({
162
+ forwardedRef: ref
163
+ }, props));
164
+ });
135
165
  export default InputWithRefForwarding;
136
166
  //# sourceMappingURL=index.js.map