@openedx/paragon 23.14.1 → 23.14.3

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 (399) hide show
  1. package/README.md +80 -14
  2. package/dist/ActionRow/index.d.ts +18 -0
  3. package/dist/ActionRow/index.js +6 -24
  4. package/dist/ActionRow/index.js.map +1 -1
  5. package/dist/Alert/index.js +21 -24
  6. package/dist/Alert/index.js.map +1 -1
  7. package/dist/Annotation/index.d.ts +13 -0
  8. package/dist/Annotation/index.js +11 -30
  9. package/dist/Annotation/index.js.map +1 -1
  10. package/dist/Avatar/index.d.ts +11 -0
  11. package/dist/Avatar/index.js +7 -21
  12. package/dist/Avatar/index.js.map +1 -1
  13. package/dist/AvatarButton/index.d.ts +17 -0
  14. package/dist/AvatarButton/index.js +11 -33
  15. package/dist/AvatarButton/index.js.map +1 -1
  16. package/dist/Breadcrumb/BreadcrumbLink.js +5 -6
  17. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  18. package/dist/Breadcrumb/index.js +11 -12
  19. package/dist/Breadcrumb/index.js.map +1 -1
  20. package/dist/Bubble/index.d.ts +6 -2
  21. package/dist/Bubble/index.js +14 -39
  22. package/dist/Bubble/index.js.map +1 -1
  23. package/dist/Button/index.d.ts +42 -7
  24. package/dist/Button/index.js +43 -115
  25. package/dist/Button/index.js.map +1 -1
  26. package/dist/Card/BaseCard.js +11 -12
  27. package/dist/Card/BaseCard.js.map +1 -1
  28. package/dist/Card/CardBody.js +9 -12
  29. package/dist/Card/CardBody.js.map +1 -1
  30. package/dist/Card/CardCarousel/CardCarousel.js +13 -14
  31. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  32. package/dist/Card/CardCarousel/CardCarouselHeader.js +4 -5
  33. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  34. package/dist/Card/CardCarousel/CardCarouselItems.js +3 -4
  35. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  36. package/dist/Card/CardCarousel/CardCarouselProvider.js +7 -8
  37. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  38. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +5 -6
  39. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  40. package/dist/Card/CardCarousel/CardCarouselTitle.js +5 -6
  41. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  42. package/dist/Card/CardCarousel/messages.d.ts +13 -0
  43. package/dist/Card/CardCarousel/messages.js +4 -5
  44. package/dist/Card/CardCarousel/messages.js.map +1 -0
  45. package/dist/Card/CardContext.js +6 -7
  46. package/dist/Card/CardContext.js.map +1 -1
  47. package/dist/Card/CardDeck.js +9 -10
  48. package/dist/Card/CardDeck.js.map +1 -1
  49. package/dist/Card/CardDivider.js +8 -11
  50. package/dist/Card/CardDivider.js.map +1 -1
  51. package/dist/Card/CardFooter.js +9 -10
  52. package/dist/Card/CardFooter.js.map +1 -1
  53. package/dist/Card/CardGrid.js +6 -7
  54. package/dist/Card/CardGrid.js.map +1 -1
  55. package/dist/Card/CardHeader.js +9 -10
  56. package/dist/Card/CardHeader.js.map +1 -1
  57. package/dist/Card/CardImageCap.js +15 -16
  58. package/dist/Card/CardImageCap.js.map +1 -1
  59. package/dist/Card/CardSection.js +9 -10
  60. package/dist/Card/CardSection.js.map +1 -1
  61. package/dist/Card/CardStatus.js +9 -10
  62. package/dist/Card/CardStatus.js.map +1 -1
  63. package/dist/Card/index.js +9 -10
  64. package/dist/Card/index.js.map +1 -1
  65. package/dist/Chip/ChipIcon.js +8 -9
  66. package/dist/Chip/ChipIcon.js.map +1 -1
  67. package/dist/Chip/index.d.ts +22 -0
  68. package/dist/Chip/index.js +15 -70
  69. package/dist/Chip/index.js.map +1 -1
  70. package/dist/ChipCarousel/index.js +49 -53
  71. package/dist/ChipCarousel/index.js.map +1 -1
  72. package/dist/ChipCarousel/messages.d.ts +13 -0
  73. package/dist/ChipCarousel/messages.js +4 -5
  74. package/dist/ChipCarousel/messages.js.map +1 -0
  75. package/dist/CloseButton/index.js.map +1 -1
  76. package/dist/Collapse/index.js.map +1 -1
  77. package/dist/Collapsible/CollapsibleBody.js +6 -7
  78. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  79. package/dist/Collapsible/CollapsibleTrigger.js +9 -10
  80. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  81. package/dist/Collapsible/CollapsibleVisible.js +5 -6
  82. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  83. package/dist/ColorPicker/index.js +6 -7
  84. package/dist/ColorPicker/index.js.map +1 -1
  85. package/dist/Container/index.js +9 -12
  86. package/dist/Container/index.js.map +1 -1
  87. package/dist/DataTable/BulkActions.js +4 -5
  88. package/dist/DataTable/BulkActions.js.map +1 -1
  89. package/dist/DataTable/CardView.js +16 -18
  90. package/dist/DataTable/CardView.js.map +1 -1
  91. package/dist/DataTable/CollapsibleButtonGroup.js +5 -6
  92. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  93. package/dist/DataTable/DataTableLayout.js +5 -6
  94. package/dist/DataTable/DataTableLayout.js.map +1 -1
  95. package/dist/DataTable/DropdownFilters.js +7 -2
  96. package/dist/DataTable/DropdownFilters.js.map +1 -1
  97. package/dist/DataTable/EmptyTable.js +5 -6
  98. package/dist/DataTable/EmptyTable.js.map +1 -1
  99. package/dist/DataTable/ExpandAll.js +4 -5
  100. package/dist/DataTable/ExpandAll.js.map +1 -1
  101. package/dist/DataTable/ExpandRow.js +3 -4
  102. package/dist/DataTable/ExpandRow.js.map +1 -1
  103. package/dist/DataTable/FilterStatus.js +8 -9
  104. package/dist/DataTable/FilterStatus.js.map +1 -1
  105. package/dist/DataTable/RowStatus.js +4 -5
  106. package/dist/DataTable/RowStatus.js.map +1 -1
  107. package/dist/DataTable/SidebarFilters.js +3 -4
  108. package/dist/DataTable/SidebarFilters.js.map +1 -1
  109. package/dist/DataTable/Table.js +3 -4
  110. package/dist/DataTable/Table.js.map +1 -1
  111. package/dist/DataTable/TableActions.js +3 -4
  112. package/dist/DataTable/TableActions.js.map +1 -1
  113. package/dist/DataTable/TableCell.js +5 -6
  114. package/dist/DataTable/TableCell.js.map +1 -1
  115. package/dist/DataTable/TableControlBar.js +3 -4
  116. package/dist/DataTable/TableControlBar.js.map +1 -1
  117. package/dist/DataTable/TableFilters.js +6 -7
  118. package/dist/DataTable/TableFilters.js.map +1 -1
  119. package/dist/DataTable/TableFooter.js +4 -5
  120. package/dist/DataTable/TableFooter.js.map +1 -1
  121. package/dist/DataTable/TableHeaderCell.js +13 -15
  122. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  123. package/dist/DataTable/TableHeaderRow.js +3 -4
  124. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  125. package/dist/DataTable/TableRow.js +3 -4
  126. package/dist/DataTable/TableRow.js.map +1 -1
  127. package/dist/DataTable/filters/CheckboxFilter.js +25 -29
  128. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  129. package/dist/DataTable/filters/DropdownFilter.js +16 -20
  130. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  131. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +25 -29
  132. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  133. package/dist/DataTable/filters/TextFilter.js +8 -9
  134. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  135. package/dist/DataTable/hooks.js +11 -13
  136. package/dist/DataTable/hooks.js.map +1 -1
  137. package/dist/DataTable/index.js +42 -36
  138. package/dist/DataTable/index.js.map +1 -1
  139. package/dist/DataTable/messages.d.ts +13 -0
  140. package/dist/DataTable/messages.js +7 -3
  141. package/dist/DataTable/messages.js.map +1 -0
  142. package/dist/DataTable/selection/BaseSelectionStatus.js +11 -12
  143. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  144. package/dist/DataTable/selection/ControlledSelect.js +3 -4
  145. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  146. package/dist/DataTable/selection/ControlledSelectHeader.js +3 -4
  147. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  148. package/dist/DataTable/selection/ControlledSelectionStatus.js +4 -5
  149. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  150. package/dist/DataTable/selection/SelectionStatus.js +4 -5
  151. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  152. package/dist/DataTable/utils/getVisibleColumns.js +9 -13
  153. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  154. package/dist/Dropdown/index.js +17 -20
  155. package/dist/Dropdown/index.js.map +1 -1
  156. package/dist/Dropzone/DefaultContent.js +5 -6
  157. package/dist/Dropzone/DefaultContent.js.map +1 -1
  158. package/dist/Dropzone/DragError.js +3 -4
  159. package/dist/Dropzone/DragError.js.map +1 -1
  160. package/dist/Dropzone/GenericError.js +4 -5
  161. package/dist/Dropzone/GenericError.js.map +1 -1
  162. package/dist/Dropzone/UploadProgress.js +6 -7
  163. package/dist/Dropzone/UploadProgress.js.map +1 -1
  164. package/dist/Dropzone/index.js +14 -15
  165. package/dist/Dropzone/index.js.map +1 -1
  166. package/dist/Dropzone/messages.d.ts +53 -0
  167. package/dist/Dropzone/messages.js +12 -13
  168. package/dist/Dropzone/messages.js.map +1 -0
  169. package/dist/Fade/index.js.map +1 -1
  170. package/dist/Form/FormAutosuggest.js +18 -20
  171. package/dist/Form/FormAutosuggest.js.map +1 -1
  172. package/dist/Form/FormAutosuggestOption.js +6 -7
  173. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  174. package/dist/Form/FormCheckbox.js +16 -18
  175. package/dist/Form/FormCheckbox.js.map +1 -1
  176. package/dist/Form/FormCheckboxSet.js +11 -12
  177. package/dist/Form/FormCheckboxSet.js.map +1 -1
  178. package/dist/Form/FormCheckboxSetContext.js +9 -10
  179. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  180. package/dist/Form/FormControl.js +12 -13
  181. package/dist/Form/FormControl.js.map +1 -1
  182. package/dist/Form/FormControlDecorator.js +4 -5
  183. package/dist/Form/FormControlDecorator.js.map +1 -1
  184. package/dist/Form/FormControlDecoratorGroup.js +8 -9
  185. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  186. package/dist/Form/FormControlFeedback.js +4 -5
  187. package/dist/Form/FormControlFeedback.js.map +1 -1
  188. package/dist/Form/FormControlFloatingLabel.js +3 -4
  189. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  190. package/dist/Form/FormControlSet.js +7 -8
  191. package/dist/Form/FormControlSet.js.map +1 -1
  192. package/dist/Form/FormGroup.js +9 -10
  193. package/dist/Form/FormGroup.js.map +1 -1
  194. package/dist/Form/FormGroupContext.js +7 -8
  195. package/dist/Form/FormGroupContext.js.map +1 -1
  196. package/dist/Form/FormLabel.d.ts +2 -11
  197. package/dist/Form/FormLabel.js +5 -15
  198. package/dist/Form/FormLabel.js.map +1 -1
  199. package/dist/Form/FormRadio.js +28 -31
  200. package/dist/Form/FormRadio.js.map +1 -1
  201. package/dist/Form/FormRadioSet.js +11 -12
  202. package/dist/Form/FormRadioSet.js.map +1 -1
  203. package/dist/Form/FormRadioSetContext.js +9 -10
  204. package/dist/Form/FormRadioSetContext.js.map +1 -1
  205. package/dist/Form/FormSwitch.js +25 -29
  206. package/dist/Form/FormSwitch.js.map +1 -1
  207. package/dist/Form/FormText.js +16 -19
  208. package/dist/Form/FormText.js.map +1 -1
  209. package/dist/Form/fieldUtils.js +11 -22
  210. package/dist/Form/fieldUtils.js.map +1 -1
  211. package/dist/Form/useCheckboxSetValues.js +1 -2
  212. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  213. package/dist/Hyperlink/index.js +17 -21
  214. package/dist/Hyperlink/index.js.map +1 -1
  215. package/dist/Icon/index.js +10 -11
  216. package/dist/Icon/index.js.map +1 -1
  217. package/dist/IconButton/index.d.ts +8 -304
  218. package/dist/IconButton/index.js +21 -84
  219. package/dist/IconButton/index.js.map +1 -1
  220. package/dist/IconButtonToggle/index.js +5 -6
  221. package/dist/IconButtonToggle/index.js.map +1 -1
  222. package/dist/Image/index.js.map +1 -1
  223. package/dist/Layout/index.js +4 -5
  224. package/dist/Layout/index.js.map +1 -1
  225. package/dist/Media/index.js.map +1 -1
  226. package/dist/Menu/MenuItem.js +8 -9
  227. package/dist/Menu/MenuItem.js.map +1 -1
  228. package/dist/Menu/SelectMenu.js +8 -9
  229. package/dist/Menu/SelectMenu.js.map +1 -1
  230. package/dist/Menu/index.js +6 -7
  231. package/dist/Menu/index.js.map +1 -1
  232. package/dist/Modal/AlertModal.js +6 -7
  233. package/dist/Modal/AlertModal.js.map +1 -1
  234. package/dist/Modal/FullscreenModal.js +7 -8
  235. package/dist/Modal/FullscreenModal.js.map +1 -1
  236. package/dist/Modal/MarketingModal.js +9 -10
  237. package/dist/Modal/MarketingModal.js.map +1 -1
  238. package/dist/Modal/ModalCloseButton.js +5 -6
  239. package/dist/Modal/ModalCloseButton.js.map +1 -1
  240. package/dist/Modal/ModalContext.js +6 -7
  241. package/dist/Modal/ModalContext.js.map +1 -1
  242. package/dist/Modal/ModalDialog.d.ts +6 -65
  243. package/dist/Modal/ModalDialog.js +16 -81
  244. package/dist/Modal/ModalDialog.js.map +1 -1
  245. package/dist/Modal/ModalDialogBody.js +5 -6
  246. package/dist/Modal/ModalDialogBody.js.map +1 -1
  247. package/dist/Modal/ModalDialogFooter.js +5 -6
  248. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  249. package/dist/Modal/ModalDialogHeader.js +9 -12
  250. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  251. package/dist/Modal/ModalDialogHero.js +5 -6
  252. package/dist/Modal/ModalDialogHero.js.map +1 -1
  253. package/dist/Modal/ModalDialogHeroBackground.js +6 -7
  254. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  255. package/dist/Modal/ModalDialogHeroContent.js +5 -6
  256. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  257. package/dist/Modal/ModalDialogTitle.js +5 -6
  258. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  259. package/dist/Modal/ModalLayer.d.ts +0 -25
  260. package/dist/Modal/ModalLayer.js +13 -35
  261. package/dist/Modal/ModalLayer.js.map +1 -1
  262. package/dist/Modal/ModalPopup.js +11 -12
  263. package/dist/Modal/ModalPopup.js.map +1 -1
  264. package/dist/Modal/PopperElement.js +7 -8
  265. package/dist/Modal/PopperElement.js.map +1 -1
  266. package/dist/Modal/StandardModal.js +7 -8
  267. package/dist/Modal/StandardModal.js.map +1 -1
  268. package/dist/OverflowScroll/OverflowScroll.js +12 -13
  269. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  270. package/dist/OverflowScroll/OverflowScrollItems.js +3 -4
  271. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  272. package/dist/Overlay/index.d.ts +2 -2
  273. package/dist/PageBanner/index.js +9 -10
  274. package/dist/PageBanner/index.js.map +1 -1
  275. package/dist/Pagination/PaginationContext.js +12 -13
  276. package/dist/Pagination/PaginationContext.js.map +1 -1
  277. package/dist/Pagination/subcomponents/PageButton.js +3 -4
  278. package/dist/Pagination/subcomponents/PageButton.js.map +1 -1
  279. package/dist/Popover/index.js +11 -14
  280. package/dist/Popover/index.js.map +1 -1
  281. package/dist/ProductTour/Checkpoint.js +12 -13
  282. package/dist/ProductTour/Checkpoint.js.map +1 -1
  283. package/dist/ProductTour/CheckpointActionRow.js +10 -11
  284. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  285. package/dist/ProductTour/CheckpointBody.js +3 -4
  286. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  287. package/dist/ProductTour/CheckpointHeader.js +7 -8
  288. package/dist/ProductTour/CheckpointHeader.js.map +1 -1
  289. package/dist/ProductTour/CheckpointTitle.js +6 -9
  290. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  291. package/dist/ProductTour/index.js +3 -4
  292. package/dist/ProductTour/index.js.map +1 -1
  293. package/dist/ProductTour/messages.d.ts +23 -0
  294. package/dist/ProductTour/messages.js +6 -7
  295. package/dist/ProductTour/messages.js.map +1 -0
  296. package/dist/ProgressBar/index.js +11 -12
  297. package/dist/ProgressBar/index.js.map +1 -1
  298. package/dist/ResponsiveEmbed/index.js.map +1 -1
  299. package/dist/Scrollable/index.js +4 -5
  300. package/dist/Scrollable/index.js.map +1 -1
  301. package/dist/SearchField/SearchFieldLabel.js +4 -5
  302. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  303. package/dist/SelectableBox/SelectableBoxSet.js +13 -14
  304. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  305. package/dist/SelectableBox/index.js +14 -15
  306. package/dist/SelectableBox/index.js.map +1 -1
  307. package/dist/Skeleton/index.js.map +1 -1
  308. package/dist/Spinner/index.d.ts +11 -0
  309. package/dist/Spinner/index.js +6 -17
  310. package/dist/Spinner/index.js.map +1 -1
  311. package/dist/Stack/index.js +12 -15
  312. package/dist/Stack/index.js.map +1 -1
  313. package/dist/StatefulButton/index.js +9 -10
  314. package/dist/StatefulButton/index.js.map +1 -1
  315. package/dist/Stepper/Stepper.js +4 -5
  316. package/dist/Stepper/Stepper.js.map +1 -1
  317. package/dist/Stepper/StepperActionRow.js +6 -7
  318. package/dist/Stepper/StepperActionRow.js.map +1 -1
  319. package/dist/Stepper/StepperContext.js +4 -5
  320. package/dist/Stepper/StepperContext.js.map +1 -1
  321. package/dist/Stepper/StepperHeader.js +23 -31
  322. package/dist/Stepper/StepperHeader.js.map +1 -1
  323. package/dist/Stepper/StepperHeaderStep.js +8 -9
  324. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  325. package/dist/Stepper/StepperStep.js +10 -11
  326. package/dist/Stepper/StepperStep.js.map +1 -1
  327. package/dist/Sticky/index.js +8 -12
  328. package/dist/Sticky/index.js.map +1 -1
  329. package/dist/Tabs/index.js +8 -9
  330. package/dist/Tabs/index.js.map +1 -1
  331. package/dist/Toast/ToastContainer.js +3 -4
  332. package/dist/Toast/ToastContainer.js.map +1 -1
  333. package/dist/Toast/index.d.ts +20 -41
  334. package/dist/Toast/index.js +11 -48
  335. package/dist/Toast/index.js.map +1 -1
  336. package/dist/ToggleButton/index.js.map +1 -1
  337. package/dist/Tooltip/index.js +11 -14
  338. package/dist/Tooltip/index.js.map +1 -1
  339. package/dist/Truncate/index.js +9 -10
  340. package/dist/Truncate/index.js.map +1 -1
  341. package/dist/asInput/index.js +9 -13
  342. package/dist/asInput/index.js.map +1 -1
  343. package/dist/hooks/useArrowKeyNavigationHook.js +17 -21
  344. package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -1
  345. package/dist/hooks/useIsVisibleHook.js +4 -6
  346. package/dist/hooks/useIsVisibleHook.js.map +1 -1
  347. package/dist/hooks/useToggleHook.js +1 -3
  348. package/dist/hooks/useToggleHook.js.map +1 -1
  349. package/dist/index.d.ts +5 -5
  350. package/dist/index.js +5 -10
  351. package/dist/index.js.map +1 -1
  352. package/dist/theme-urls.json +6 -6
  353. package/dist/utils/newId.js +1 -2
  354. package/dist/utils/newId.js.map +1 -1
  355. package/package.json +2 -2
  356. package/src/ActionRow/{index.jsx → index.tsx} +14 -22
  357. package/src/Annotation/{index.jsx → index.tsx} +15 -22
  358. package/src/Avatar/{index.jsx → index.tsx} +13 -19
  359. package/src/AvatarButton/{index.jsx → index.tsx} +23 -31
  360. package/src/Bubble/index.tsx +12 -32
  361. package/src/Button/index.tsx +68 -93
  362. package/src/Chip/index.tsx +26 -59
  363. package/src/CloseButton/index.tsx +1 -0
  364. package/src/Collapse/index.tsx +1 -0
  365. package/src/DataTable/DropdownFilters.jsx +9 -2
  366. package/src/DataTable/README.md +19 -18
  367. package/src/DataTable/index.jsx +6 -1
  368. package/src/DataTable/{messages.js → messages.ts} +5 -0
  369. package/src/DataTable/tests/DataTable.test.jsx +51 -1
  370. package/src/DataTable/tests/DropdownFilters.test.jsx +11 -7
  371. package/src/Fade/index.tsx +1 -0
  372. package/src/Form/FormLabel.tsx +2 -10
  373. package/src/IconButton/index.tsx +17 -81
  374. package/src/Image/index.tsx +2 -0
  375. package/src/Media/index.tsx +1 -0
  376. package/src/Modal/ModalDialog.tsx +6 -66
  377. package/src/Modal/ModalLayer.tsx +0 -22
  378. package/src/Modal/modal-popup.mdx +1 -1
  379. package/src/ProductTour/ProductTour.test.jsx +0 -1
  380. package/src/ResponsiveEmbed/index.tsx +1 -0
  381. package/src/Skeleton/index.tsx +1 -0
  382. package/src/Spinner/{index.jsx → index.tsx} +10 -15
  383. package/src/Toast/index.tsx +21 -40
  384. package/src/ToggleButton/index.tsx +2 -0
  385. package/src/index.ts +5 -10
  386. /package/{src/CloseButton/index.jsx → dist/CloseButton/index.d.ts} +0 -0
  387. /package/{src/Collapse/index.jsx → dist/Collapse/index.d.ts} +0 -0
  388. /package/{src/Fade/index.jsx → dist/Fade/index.d.ts} +0 -0
  389. /package/{src/Image/index.jsx → dist/Image/index.d.ts} +0 -0
  390. /package/{src/Media/index.jsx → dist/Media/index.d.ts} +0 -0
  391. /package/{src/ResponsiveEmbed/index.jsx → dist/ResponsiveEmbed/index.d.ts} +0 -0
  392. /package/{src/Skeleton/index.jsx → dist/Skeleton/index.d.ts} +0 -0
  393. /package/{src/ToggleButton/index.jsx → dist/ToggleButton/index.d.ts} +0 -0
  394. /package/src/Card/CardCarousel/{messages.js → messages.ts} +0 -0
  395. /package/src/ChipCarousel/{messages.js → messages.ts} +0 -0
  396. /package/src/Dropzone/{messages.js → messages.ts} +0 -0
  397. /package/src/ProductTour/{messages.js → messages.ts} +0 -0
  398. /package/src/Spinner/{Spinner.test.jsx → Spinner.test.tsx} +0 -0
  399. /package/src/Spinner/__snapshots__/{Spinner.test.jsx.snap → Spinner.test.tsx.snap} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useRef","useState","useCallback","classNames","PropTypes","BaseTabs","Bubble","Dropdown","useIndexOfLastVisibleChild","Tab","MORE_TAB_TEXT","Tabs","_ref","children","className","moreTabText","defaultActiveKey","activeKey","props","containerElementRef","setContainerElementRef","overflowElementRef","indexOfLastVisibleChild","firstChild","current","parentNode","observer","MutationObserver","mutations","forEach","mutation","eventKey","target","getAttribute","isActive","element","querySelector","moreTab","classList","add","remove","observe","attributes","subtree","attributeFilter","disconnect","undefined","tabIndex","handleDropdownTabClick","hiddenTab","click","tabsChildren","indexOfOverflowStart","handleDropdownKeyPress","e","key","childrenList","Children","map","child","index","type","name","process","env","NODE_ENV","console","error","isValidElement","title","notification","tabClassName","rest","newTitle","createElement","Fragment","variant","role","expandable","tabClass","modifiedTab","cloneElement","moreTabHasNotification","overflowChildren","slice","overflowChild","Item","as","onClick","onKeyPress","disabled","datakey","active","splice","length","ref","Toggle","id","Menu","propTypes","oneOf","node","isRequired","string","defaultProps","default","TabContainer","TabContent","TabPane"],"sources":["../../src/Tabs/index.jsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n useRef,\n useState,\n useCallback,\n} from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseTabs from 'react-bootstrap/Tabs';\nimport Bubble from '../Bubble';\nimport Dropdown from '../Dropdown';\nimport useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChildHook';\nimport Tab from './Tab';\n\nexport const MORE_TAB_TEXT = 'More...';\n\nfunction Tabs({\n children,\n className,\n moreTabText = MORE_TAB_TEXT,\n defaultActiveKey,\n activeKey,\n ...props\n}) {\n const [containerElementRef, setContainerElementRef] = useState(null);\n const overflowElementRef = useRef(null);\n const indexOfLastVisibleChild = useIndexOfLastVisibleChild(\n containerElementRef?.firstChild,\n overflowElementRef.current?.parentNode,\n );\n\n useEffect(() => {\n if (containerElementRef) {\n const observer = new MutationObserver((mutations => {\n mutations.forEach(mutation => {\n // React-Bootstrap attribute 'data-rb-event-key' is responsible for the tab identification\n const eventKey = mutation.target.getAttribute('data-rb-event-key');\n // React-Bootstrap attribute 'aria-selected' is responsible for selected/unselected state\n const isActive = mutation.target.getAttribute('aria-selected') === 'true';\n // datakey attribute is added manually to the dropdown\n // elements so that they correspond to the native tabs' eventKey\n const element = containerElementRef.querySelector(`[datakey='${eventKey}']`);\n const moreTab = containerElementRef.querySelector('.pgn__tab_more');\n if (isActive) {\n element?.classList.add('active');\n // Here we add active class to the 'More Tab' if element exists in the dropdown\n if (element) {\n moreTab.classList.add('active');\n } else {\n moreTab.classList.remove('active');\n }\n } else {\n element?.classList.remove('active');\n }\n });\n }));\n observer.observe(containerElementRef, {\n attributes: true, subtree: true, attributeFilter: ['aria-selected'],\n });\n return () => observer.disconnect();\n }\n return undefined;\n }, [containerElementRef]);\n\n useEffect(() => {\n if (overflowElementRef.current?.parentNode) {\n overflowElementRef.current.parentNode.tabIndex = -1;\n }\n }, [overflowElementRef.current?.parentNode]);\n\n const handleDropdownTabClick = useCallback((eventKey) => {\n const hiddenTab = containerElementRef.querySelector(`[data-rb-event-key='${eventKey}']`);\n hiddenTab.click();\n }, [containerElementRef]);\n\n const tabsChildren = useMemo(() => {\n const indexOfOverflowStart = indexOfLastVisibleChild + 1;\n const handleDropdownKeyPress = (e, eventKey) => {\n if (e.key === 'Enter') {\n handleDropdownTabClick(eventKey);\n }\n };\n const childrenList = React.Children.map(children, (child, index) => {\n if (child?.type?.name !== 'Tab' && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `Tabs children can only be of type Tab. ${children[index]} was passed instead.`,\n );\n }\n if (!React.isValidElement(child)) {\n return child;\n }\n const {\n title, notification, tabClassName, ...rest\n } = child.props;\n let newTitle;\n if (notification) {\n newTitle = (\n <>\n {title}\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n aria-live=\"polite\"\n expandable\n >\n {notification}\n </Bubble>\n </>\n );\n } else {\n newTitle = title;\n }\n const tabClass = index > indexOfLastVisibleChild ? 'pgn__tab_invisible' : '';\n const modifiedTab = React.cloneElement(child, {\n ...rest,\n title: newTitle,\n tabClassName: classNames(tabClass, tabClassName),\n });\n return modifiedTab;\n });\n let moreTabHasNotification = false;\n const overflowChildren = childrenList.slice(indexOfOverflowStart)\n .map(overflowChild => {\n if (!moreTabHasNotification && overflowChild.props.notification) {\n moreTabHasNotification = true;\n }\n return (\n <Dropdown.Item\n as=\"li\"\n tabIndex=\"0\"\n key={`${overflowChild.props.eventKey}overflow`}\n onClick={() => handleDropdownTabClick(overflowChild.props.eventKey)}\n onKeyPress={(e) => handleDropdownKeyPress(e, overflowChild.props.eventKey)}\n disabled={overflowChild.props.disabled}\n datakey={overflowChild.props.eventKey}\n className={classNames({\n active: overflowChild.props.eventKey === defaultActiveKey || overflowChild.props.eventKey === activeKey,\n }, 'pgn__tabs__dropdown-item')}\n >\n {overflowChild.props.title}\n </Dropdown.Item>\n );\n });\n\n childrenList.splice(indexOfOverflowStart, 0, (<Tab\n key=\"moreTabKey\"\n tabClassName={classNames(!overflowChildren.length && 'pgn__tab_invisible', 'pgn__tab_more')}\n title={(\n <Dropdown ref={overflowElementRef}>\n <Dropdown.Toggle\n variant=\"link\"\n className=\"nav-link\"\n id=\"pgn__tab-toggle\"\n >\n {moreTabText}\n {moreTabHasNotification && (\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n />\n )}\n </Dropdown.Toggle>\n <Dropdown.Menu as=\"ul\" className=\"dropdown-menu-right\">{overflowChildren}</Dropdown.Menu>\n </Dropdown>\n )}\n />\n ));\n return childrenList;\n }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText, handleDropdownTabClick]);\n\n return (\n <div ref={setContainerElementRef}>\n <BaseTabs\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n {...props}\n className={classNames(className, 'pgn__tabs')}\n >\n {tabsChildren}\n </BaseTabs>\n </div>\n );\n}\n\nTabs.propTypes = {\n /** Specifies variant to use. */\n variant: PropTypes.oneOf(['tabs', 'pills', 'inverse-tabs', 'inverse-pills', 'button-group']),\n /** Specifies elements that is processed to create tabs. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies text for the 'More' tab. */\n moreTabText: PropTypes.string,\n /** Specifies default active tab (uncontrolled usage). */\n defaultActiveKey: PropTypes.string,\n /** Specifies active tab (controlled usage). */\n activeKey: PropTypes.string,\n};\n\nTabs.defaultProps = {\n variant: 'tabs',\n className: undefined,\n moreTabText: MORE_TAB_TEXT,\n defaultActiveKey: undefined,\n activeKey: undefined,\n};\n\nexport default Tabs;\nexport { Tab };\nexport { default as TabContainer } from 'react-bootstrap/TabContainer';\nexport { default as TabContent } from 'react-bootstrap/TabContent';\nexport { default as TabPane } from 'react-bootstrap/TabPane';\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useMemo","useRef","useState","useCallback","classNames","PropTypes","BaseTabs","Bubble","Dropdown","useIndexOfLastVisibleChild","Tab","MORE_TAB_TEXT","Tabs","children","className","moreTabText","defaultActiveKey","activeKey","props","containerElementRef","setContainerElementRef","overflowElementRef","indexOfLastVisibleChild","firstChild","current","parentNode","observer","MutationObserver","mutations","forEach","mutation","eventKey","target","getAttribute","isActive","element","querySelector","moreTab","classList","add","remove","observe","attributes","subtree","attributeFilter","disconnect","undefined","tabIndex","handleDropdownTabClick","hiddenTab","click","tabsChildren","indexOfOverflowStart","handleDropdownKeyPress","e","key","childrenList","Children","map","child","index","type","name","process","env","NODE_ENV","console","error","isValidElement","title","notification","tabClassName","rest","newTitle","createElement","Fragment","variant","role","expandable","tabClass","modifiedTab","cloneElement","moreTabHasNotification","overflowChildren","slice","overflowChild","Item","as","onClick","onKeyPress","disabled","datakey","active","splice","length","ref","Toggle","id","Menu","propTypes","oneOf","node","isRequired","string","defaultProps","default","TabContainer","TabContent","TabPane"],"sources":["../../src/Tabs/index.jsx"],"sourcesContent":["import React, {\n useEffect,\n useMemo,\n useRef,\n useState,\n useCallback,\n} from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseTabs from 'react-bootstrap/Tabs';\nimport Bubble from '../Bubble';\nimport Dropdown from '../Dropdown';\nimport useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChildHook';\nimport Tab from './Tab';\n\nexport const MORE_TAB_TEXT = 'More...';\n\nfunction Tabs({\n children,\n className,\n moreTabText = MORE_TAB_TEXT,\n defaultActiveKey,\n activeKey,\n ...props\n}) {\n const [containerElementRef, setContainerElementRef] = useState(null);\n const overflowElementRef = useRef(null);\n const indexOfLastVisibleChild = useIndexOfLastVisibleChild(\n containerElementRef?.firstChild,\n overflowElementRef.current?.parentNode,\n );\n\n useEffect(() => {\n if (containerElementRef) {\n const observer = new MutationObserver((mutations => {\n mutations.forEach(mutation => {\n // React-Bootstrap attribute 'data-rb-event-key' is responsible for the tab identification\n const eventKey = mutation.target.getAttribute('data-rb-event-key');\n // React-Bootstrap attribute 'aria-selected' is responsible for selected/unselected state\n const isActive = mutation.target.getAttribute('aria-selected') === 'true';\n // datakey attribute is added manually to the dropdown\n // elements so that they correspond to the native tabs' eventKey\n const element = containerElementRef.querySelector(`[datakey='${eventKey}']`);\n const moreTab = containerElementRef.querySelector('.pgn__tab_more');\n if (isActive) {\n element?.classList.add('active');\n // Here we add active class to the 'More Tab' if element exists in the dropdown\n if (element) {\n moreTab.classList.add('active');\n } else {\n moreTab.classList.remove('active');\n }\n } else {\n element?.classList.remove('active');\n }\n });\n }));\n observer.observe(containerElementRef, {\n attributes: true, subtree: true, attributeFilter: ['aria-selected'],\n });\n return () => observer.disconnect();\n }\n return undefined;\n }, [containerElementRef]);\n\n useEffect(() => {\n if (overflowElementRef.current?.parentNode) {\n overflowElementRef.current.parentNode.tabIndex = -1;\n }\n }, [overflowElementRef.current?.parentNode]);\n\n const handleDropdownTabClick = useCallback((eventKey) => {\n const hiddenTab = containerElementRef.querySelector(`[data-rb-event-key='${eventKey}']`);\n hiddenTab.click();\n }, [containerElementRef]);\n\n const tabsChildren = useMemo(() => {\n const indexOfOverflowStart = indexOfLastVisibleChild + 1;\n const handleDropdownKeyPress = (e, eventKey) => {\n if (e.key === 'Enter') {\n handleDropdownTabClick(eventKey);\n }\n };\n const childrenList = React.Children.map(children, (child, index) => {\n if (child?.type?.name !== 'Tab' && process.env.NODE_ENV === 'development') {\n // eslint-disable-next-line no-console\n console.error(\n `Tabs children can only be of type Tab. ${children[index]} was passed instead.`,\n );\n }\n if (!React.isValidElement(child)) {\n return child;\n }\n const {\n title, notification, tabClassName, ...rest\n } = child.props;\n let newTitle;\n if (notification) {\n newTitle = (\n <>\n {title}\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n aria-live=\"polite\"\n expandable\n >\n {notification}\n </Bubble>\n </>\n );\n } else {\n newTitle = title;\n }\n const tabClass = index > indexOfLastVisibleChild ? 'pgn__tab_invisible' : '';\n const modifiedTab = React.cloneElement(child, {\n ...rest,\n title: newTitle,\n tabClassName: classNames(tabClass, tabClassName),\n });\n return modifiedTab;\n });\n let moreTabHasNotification = false;\n const overflowChildren = childrenList.slice(indexOfOverflowStart)\n .map(overflowChild => {\n if (!moreTabHasNotification && overflowChild.props.notification) {\n moreTabHasNotification = true;\n }\n return (\n <Dropdown.Item\n as=\"li\"\n tabIndex=\"0\"\n key={`${overflowChild.props.eventKey}overflow`}\n onClick={() => handleDropdownTabClick(overflowChild.props.eventKey)}\n onKeyPress={(e) => handleDropdownKeyPress(e, overflowChild.props.eventKey)}\n disabled={overflowChild.props.disabled}\n datakey={overflowChild.props.eventKey}\n className={classNames({\n active: overflowChild.props.eventKey === defaultActiveKey || overflowChild.props.eventKey === activeKey,\n }, 'pgn__tabs__dropdown-item')}\n >\n {overflowChild.props.title}\n </Dropdown.Item>\n );\n });\n\n childrenList.splice(indexOfOverflowStart, 0, (<Tab\n key=\"moreTabKey\"\n tabClassName={classNames(!overflowChildren.length && 'pgn__tab_invisible', 'pgn__tab_more')}\n title={(\n <Dropdown ref={overflowElementRef}>\n <Dropdown.Toggle\n variant=\"link\"\n className=\"nav-link\"\n id=\"pgn__tab-toggle\"\n >\n {moreTabText}\n {moreTabHasNotification && (\n <Bubble\n variant=\"error\"\n role=\"status\"\n className=\"pgn__tab-notification\"\n />\n )}\n </Dropdown.Toggle>\n <Dropdown.Menu as=\"ul\" className=\"dropdown-menu-right\">{overflowChildren}</Dropdown.Menu>\n </Dropdown>\n )}\n />\n ));\n return childrenList;\n }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText, handleDropdownTabClick]);\n\n return (\n <div ref={setContainerElementRef}>\n <BaseTabs\n defaultActiveKey={defaultActiveKey}\n activeKey={activeKey}\n {...props}\n className={classNames(className, 'pgn__tabs')}\n >\n {tabsChildren}\n </BaseTabs>\n </div>\n );\n}\n\nTabs.propTypes = {\n /** Specifies variant to use. */\n variant: PropTypes.oneOf(['tabs', 'pills', 'inverse-tabs', 'inverse-pills', 'button-group']),\n /** Specifies elements that is processed to create tabs. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies text for the 'More' tab. */\n moreTabText: PropTypes.string,\n /** Specifies default active tab (uncontrolled usage). */\n defaultActiveKey: PropTypes.string,\n /** Specifies active tab (controlled usage). */\n activeKey: PropTypes.string,\n};\n\nTabs.defaultProps = {\n variant: 'tabs',\n className: undefined,\n moreTabText: MORE_TAB_TEXT,\n defaultActiveKey: undefined,\n activeKey: undefined,\n};\n\nexport default Tabs;\nexport { Tab };\nexport { default as TabContainer } from 'react-bootstrap/TabContainer';\nexport { default as TabContent } from 'react-bootstrap/TabContent';\nexport { default as TabPane } from 'react-bootstrap/TabPane';\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import { useEffect, useState } from 'react';
2
2
  import ReactDOM from 'react-dom';
3
3
  const TOAST_ROOT_ID = 'toast-root';
4
- function ToastContainer(_ref) {
5
- let {
6
- children
7
- } = _ref;
4
+ function ToastContainer({
5
+ children
6
+ }) {
8
7
  const [rootElement, setRootElement] = useState(null);
9
8
  useEffect(() => {
10
9
  if (typeof document !== 'undefined') {
@@ -1 +1 @@
1
- {"version":3,"file":"ToastContainer.js","names":["useEffect","useState","ReactDOM","TOAST_ROOT_ID","ToastContainer","_ref","children","rootElement","setRootElement","document","existingElement","getElementById","createElement","id","className","body","appendChild","createPortal"],"sources":["../../src/Toast/ToastContainer.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\ninterface ToastContainerProps {\n children: ReactNode;\n}\n\nconst TOAST_ROOT_ID = 'toast-root';\n\nfunction ToastContainer({ children }: ToastContainerProps) {\n const [rootElement, setRootElement] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n if (typeof document !== 'undefined') {\n let existingElement = document.getElementById(TOAST_ROOT_ID);\n\n if (!existingElement) {\n existingElement = document.createElement('div');\n existingElement.id = TOAST_ROOT_ID;\n existingElement.className = 'toast-container';\n document.body.appendChild(existingElement);\n }\n setRootElement(existingElement);\n }\n }, []);\n\n return rootElement ? ReactDOM.createPortal(children, rootElement) : null;\n}\n\nexport default ToastContainer;\n"],"mappings":"AAAA,SAAoBA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACtD,OAAOC,QAAQ,MAAM,WAAW;AAMhC,MAAMC,aAAa,GAAG,YAAY;AAElC,SAASC,cAAcA,CAAAC,IAAA,EAAoC;EAAA,IAAnC;IAAEC;EAA8B,CAAC,GAAAD,IAAA;EACvD,MAAM,CAACE,WAAW,EAAEC,cAAc,CAAC,GAAGP,QAAQ,CAAqB,IAAI,CAAC;EAExED,SAAS,CAAC,MAAM;IACd,IAAI,OAAOS,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAIC,eAAe,GAAGD,QAAQ,CAACE,cAAc,CAACR,aAAa,CAAC;MAE5D,IAAI,CAACO,eAAe,EAAE;QACpBA,eAAe,GAAGD,QAAQ,CAACG,aAAa,CAAC,KAAK,CAAC;QAC/CF,eAAe,CAACG,EAAE,GAAGV,aAAa;QAClCO,eAAe,CAACI,SAAS,GAAG,iBAAiB;QAC7CL,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACN,eAAe,CAAC;MAC5C;MACAF,cAAc,CAACE,eAAe,CAAC;IACjC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,WAAW,gBAAGL,QAAQ,CAACe,YAAY,CAACX,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAI;AAC1E;AAEA,eAAeH,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"ToastContainer.js","names":["useEffect","useState","ReactDOM","TOAST_ROOT_ID","ToastContainer","children","rootElement","setRootElement","document","existingElement","getElementById","createElement","id","className","body","appendChild","createPortal"],"sources":["../../src/Toast/ToastContainer.tsx"],"sourcesContent":["import { ReactNode, useEffect, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\ninterface ToastContainerProps {\n children: ReactNode;\n}\n\nconst TOAST_ROOT_ID = 'toast-root';\n\nfunction ToastContainer({ children }: ToastContainerProps) {\n const [rootElement, setRootElement] = useState<HTMLElement | null>(null);\n\n useEffect(() => {\n if (typeof document !== 'undefined') {\n let existingElement = document.getElementById(TOAST_ROOT_ID);\n\n if (!existingElement) {\n existingElement = document.createElement('div');\n existingElement.id = TOAST_ROOT_ID;\n existingElement.className = 'toast-container';\n document.body.appendChild(existingElement);\n }\n setRootElement(existingElement);\n }\n }, []);\n\n return rootElement ? ReactDOM.createPortal(children, rootElement) : null;\n}\n\nexport default ToastContainer;\n"],"mappings":"AAAA,SAAoBA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AACtD,OAAOC,QAAQ,MAAM,WAAW;AAMhC,MAAMC,aAAa,GAAG,YAAY;AAElC,SAASC,cAAcA,CAAC;EAAEC;AAA8B,CAAC,EAAE;EACzD,MAAM,CAACC,WAAW,EAAEC,cAAc,CAAC,GAAGN,QAAQ,CAAqB,IAAI,CAAC;EAExED,SAAS,CAAC,MAAM;IACd,IAAI,OAAOQ,QAAQ,KAAK,WAAW,EAAE;MACnC,IAAIC,eAAe,GAAGD,QAAQ,CAACE,cAAc,CAACP,aAAa,CAAC;MAE5D,IAAI,CAACM,eAAe,EAAE;QACpBA,eAAe,GAAGD,QAAQ,CAACG,aAAa,CAAC,KAAK,CAAC;QAC/CF,eAAe,CAACG,EAAE,GAAGT,aAAa;QAClCM,eAAe,CAACI,SAAS,GAAG,iBAAiB;QAC7CL,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACN,eAAe,CAAC;MAC5C;MACAF,cAAc,CAACE,eAAe,CAAC;IACjC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOH,WAAW,gBAAGJ,QAAQ,CAACc,YAAY,CAACX,QAAQ,EAAEC,WAAW,CAAC,GAAG,IAAI;AAC1E;AAEA,eAAeF,cAAc","ignoreList":[]}
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  export declare const TOAST_CLOSE_LABEL_TEXT = "Close";
4
3
  export declare const TOAST_DELAY = 5000;
5
4
  interface ToastAction {
@@ -8,52 +7,32 @@ interface ToastAction {
8
7
  onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
9
8
  }
10
9
  interface ToastProps {
10
+ /** A string or an element that is rendered inside the main body of the `Toast`. */
11
11
  children: string;
12
+ /**
13
+ * A function that is called on close. It can be used to perform
14
+ * actions upon closing of the `Toast`, such as setting the "show"
15
+ * element to false.
16
+ * */
12
17
  onClose: () => void;
18
+ /** Boolean used to control whether the `Toast` shows. */
13
19
  show: boolean;
20
+ /**
21
+ * Fields used to build optional action button.
22
+ * `label` is a string rendered inside the button.
23
+ * `href` is a link that will render the action button as an anchor tag.
24
+ * `onClick` is a function that is called when the button is clicked.
25
+ * The full type definition can be seen [here](https://github.com/openedx/paragon/blob/release-23.x/src/Toast/index.tsx#L16)
26
+ */
14
27
  action?: ToastAction;
28
+ /**
29
+ * Alt text for the `Toast`'s dismiss button. Defaults to 'Close'.
30
+ */
15
31
  closeLabel?: string;
32
+ /** Time in milliseconds for which the `Toast` will display. */
16
33
  delay?: number;
34
+ /** Class names for the `BaseToast` component. */
17
35
  className?: string;
18
36
  }
19
- declare function Toast({ action, children, className, closeLabel, onClose, show, ...rest }: ToastProps): import("react/jsx-runtime").JSX.Element;
20
- declare namespace Toast {
21
- var defaultProps: {
22
- action: null;
23
- closeLabel: undefined;
24
- delay: number;
25
- className: undefined;
26
- };
27
- var propTypes: {
28
- /** A string or an element that is rendered inside the main body of the `Toast`. */
29
- children: PropTypes.Validator<string>;
30
- /**
31
- * A function that is called on close. It can be used to perform
32
- * actions upon closing of the `Toast`, such as setting the "show"
33
- * element to false.
34
- * */
35
- onClose: PropTypes.Validator<(...args: any[]) => any>;
36
- /** Boolean used to control whether the `Toast` shows */
37
- show: PropTypes.Validator<boolean>;
38
- /**
39
- * Fields used to build optional action button.
40
- * `label` is a string rendered inside the button.
41
- * `href` is a link that will render the action button as an anchor tag.
42
- * `onClick` is a function that is called when the button is clicked.
43
- */
44
- action: PropTypes.Requireable<PropTypes.InferProps<{
45
- label: PropTypes.Validator<string>;
46
- href: PropTypes.Requireable<string>;
47
- onClick: PropTypes.Requireable<(...args: any[]) => any>;
48
- }>>;
49
- /**
50
- * Alt text for the `Toast`'s dismiss button. Defaults to 'Close'.
51
- */
52
- closeLabel: PropTypes.Requireable<string>;
53
- /** Time in milliseconds for which the `Toast` will display. */
54
- delay: PropTypes.Requireable<number>;
55
- /** Class names for the `BaseToast` component */
56
- className: PropTypes.Requireable<string>;
57
- };
58
- }
37
+ declare function Toast({ action, children, className, closeLabel, onClose, show, delay, ...rest }: ToastProps): import("react/jsx-runtime").JSX.Element;
59
38
  export default Toast;
@@ -1,6 +1,5 @@
1
1
  import React, { useState } from 'react';
2
2
  import classNames from 'classnames';
3
- import PropTypes from 'prop-types';
4
3
  import BaseToast from 'react-bootstrap/Toast';
5
4
  import { useIntl } from 'react-intl';
6
5
  import { Close } from '../../icons';
@@ -10,16 +9,16 @@ import Icon from '../Icon';
10
9
  import IconButton from '../IconButton';
11
10
  export const TOAST_CLOSE_LABEL_TEXT = 'Close';
12
11
  export const TOAST_DELAY = 5000;
13
- function Toast(_ref) {
14
- let {
15
- action,
16
- children,
17
- className,
18
- closeLabel,
19
- onClose,
20
- show,
21
- ...rest
22
- } = _ref;
12
+ function Toast({
13
+ action,
14
+ children,
15
+ className,
16
+ closeLabel,
17
+ onClose,
18
+ show,
19
+ delay = TOAST_DELAY,
20
+ ...rest
21
+ }) {
23
22
  const intl = useIntl();
24
23
  const [autoHide, setAutoHide] = useState(true);
25
24
  const intlCloseLabel = closeLabel || intl.formatMessage({
@@ -36,6 +35,7 @@ function Toast(_ref) {
36
35
  onMouseOut: () => setAutoHide(true),
37
36
  onMouseOver: () => setAutoHide(false),
38
37
  show: show,
38
+ delay: delay,
39
39
  ...rest
40
40
  }, /*#__PURE__*/React.createElement("div", {
41
41
  className: "toast-header"
@@ -59,42 +59,5 @@ function Toast(_ref) {
59
59
  variant: "inverse-outline-primary"
60
60
  }, action.label)));
61
61
  }
62
- Toast.defaultProps = {
63
- action: null,
64
- closeLabel: undefined,
65
- delay: TOAST_DELAY,
66
- className: undefined
67
- };
68
- Toast.propTypes = {
69
- /** A string or an element that is rendered inside the main body of the `Toast`. */
70
- children: PropTypes.string.isRequired,
71
- /**
72
- * A function that is called on close. It can be used to perform
73
- * actions upon closing of the `Toast`, such as setting the "show"
74
- * element to false.
75
- * */
76
- onClose: PropTypes.func.isRequired,
77
- /** Boolean used to control whether the `Toast` shows */
78
- show: PropTypes.bool.isRequired,
79
- /**
80
- * Fields used to build optional action button.
81
- * `label` is a string rendered inside the button.
82
- * `href` is a link that will render the action button as an anchor tag.
83
- * `onClick` is a function that is called when the button is clicked.
84
- */
85
- action: PropTypes.shape({
86
- label: PropTypes.string.isRequired,
87
- href: PropTypes.string,
88
- onClick: PropTypes.func
89
- }),
90
- /**
91
- * Alt text for the `Toast`'s dismiss button. Defaults to 'Close'.
92
- */
93
- closeLabel: PropTypes.string,
94
- /** Time in milliseconds for which the `Toast` will display. */
95
- delay: PropTypes.number,
96
- /** Class names for the `BaseToast` component */
97
- className: PropTypes.string
98
- };
99
62
  export default Toast;
100
63
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","classNames","PropTypes","BaseToast","useIntl","Close","ToastContainer","Button","Icon","IconButton","TOAST_CLOSE_LABEL_TEXT","TOAST_DELAY","Toast","_ref","action","children","className","closeLabel","onClose","show","rest","intl","autoHide","setAutoHide","intlCloseLabel","formatMessage","id","defaultMessage","description","createElement","autohide","onBlur","onFocus","onMouseOut","onMouseOver","iconAs","alt","src","onClick","variant","invertColors","as","href","size","label","defaultProps","undefined","delay","propTypes","string","isRequired","func","bool","shape","number"],"sources":["../../src/Toast/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseToast from 'react-bootstrap/Toast';\nimport { useIntl } from 'react-intl';\n\nimport { Close } from '../../icons';\nimport ToastContainer from './ToastContainer';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport IconButton from '../IconButton';\n\nexport const TOAST_CLOSE_LABEL_TEXT = 'Close';\nexport const TOAST_DELAY = 5000;\n\ninterface ToastAction {\n label: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n}\n\ninterface ToastProps {\n children: string;\n onClose: () => void;\n show: boolean;\n action?: ToastAction;\n closeLabel?: string;\n delay?: number;\n className?: string;\n}\n\nfunction Toast({\n action,\n children,\n className,\n closeLabel,\n onClose,\n show,\n ...rest\n}: ToastProps) {\n const intl = useIntl();\n const [autoHide, setAutoHide] = useState(true);\n\n const intlCloseLabel = closeLabel || intl.formatMessage({\n id: 'pgn.Toast.closeLabel',\n defaultMessage: 'Close',\n description: 'Close label for Toast component',\n });\n\n return (\n <ToastContainer>\n <BaseToast\n autohide={autoHide}\n className={classNames('pgn__toast', className)}\n onClose={onClose}\n onBlur={() => setAutoHide(true)}\n onFocus={() => setAutoHide(false)}\n onMouseOut={() => setAutoHide(true)}\n onMouseOver={() => setAutoHide(false)}\n show={show}\n {...rest}\n >\n <div className=\"toast-header\">\n <p className=\"small\">{children}</p>\n <div className=\"toast-header-btn-container\">\n <IconButton\n iconAs={Icon}\n alt={intlCloseLabel}\n className=\"align-self-start\"\n src={Close}\n onClick={onClose}\n variant=\"primary\"\n invertColors\n />\n </div>\n </div>\n {action && (\n <Button\n as={action.href ? 'a' : 'button'}\n href={action.href}\n onClick={action.onClick}\n size=\"sm\"\n variant=\"inverse-outline-primary\"\n >\n {action.label}\n </Button>\n )}\n </BaseToast>\n </ToastContainer>\n );\n}\n\nToast.defaultProps = {\n action: null,\n closeLabel: undefined,\n delay: TOAST_DELAY,\n className: undefined,\n};\n\nToast.propTypes = {\n /** A string or an element that is rendered inside the main body of the `Toast`. */\n children: PropTypes.string.isRequired,\n /**\n * A function that is called on close. It can be used to perform\n * actions upon closing of the `Toast`, such as setting the \"show\"\n * element to false.\n * */\n onClose: PropTypes.func.isRequired,\n /** Boolean used to control whether the `Toast` shows */\n show: PropTypes.bool.isRequired,\n /**\n * Fields used to build optional action button.\n * `label` is a string rendered inside the button.\n * `href` is a link that will render the action button as an anchor tag.\n * `onClick` is a function that is called when the button is clicked.\n */\n action: PropTypes.shape({\n label: PropTypes.string.isRequired,\n href: PropTypes.string,\n onClick: PropTypes.func,\n }),\n /**\n * Alt text for the `Toast`'s dismiss button. Defaults to 'Close'.\n */\n closeLabel: PropTypes.string,\n /** Time in milliseconds for which the `Toast` will display. */\n delay: PropTypes.number,\n /** Class names for the `BaseToast` component */\n className: PropTypes.string,\n};\n\nexport default Toast;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useState","classNames","BaseToast","useIntl","Close","ToastContainer","Button","Icon","IconButton","TOAST_CLOSE_LABEL_TEXT","TOAST_DELAY","Toast","action","children","className","closeLabel","onClose","show","delay","rest","intl","autoHide","setAutoHide","intlCloseLabel","formatMessage","id","defaultMessage","description","createElement","autohide","onBlur","onFocus","onMouseOut","onMouseOver","iconAs","alt","src","onClick","variant","invertColors","as","href","size","label"],"sources":["../../src/Toast/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport classNames from 'classnames';\nimport BaseToast from 'react-bootstrap/Toast';\nimport { useIntl } from 'react-intl';\n\nimport { Close } from '../../icons';\nimport ToastContainer from './ToastContainer';\nimport Button from '../Button';\nimport Icon from '../Icon';\nimport IconButton from '../IconButton';\n\nexport const TOAST_CLOSE_LABEL_TEXT = 'Close';\nexport const TOAST_DELAY = 5000;\n\ninterface ToastAction {\n label: string;\n href?: string;\n onClick?: (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;\n}\n\ninterface ToastProps {\n /** A string or an element that is rendered inside the main body of the `Toast`. */\n children: string;\n /**\n * A function that is called on close. It can be used to perform\n * actions upon closing of the `Toast`, such as setting the \"show\"\n * element to false.\n * */\n onClose: () => void;\n /** Boolean used to control whether the `Toast` shows. */\n show: boolean;\n /**\n * Fields used to build optional action button.\n * `label` is a string rendered inside the button.\n * `href` is a link that will render the action button as an anchor tag.\n * `onClick` is a function that is called when the button is clicked.\n * The full type definition can be seen [here](https://github.com/openedx/paragon/blob/release-23.x/src/Toast/index.tsx#L16)\n */\n action?: ToastAction;\n /**\n * Alt text for the `Toast`'s dismiss button. Defaults to 'Close'.\n */\n closeLabel?: string;\n /** Time in milliseconds for which the `Toast` will display. */\n delay?: number;\n /** Class names for the `BaseToast` component. */\n className?: string;\n}\n\nfunction Toast({\n action,\n children,\n className,\n closeLabel,\n onClose,\n show,\n delay = TOAST_DELAY,\n ...rest\n}: ToastProps) {\n const intl = useIntl();\n const [autoHide, setAutoHide] = useState(true);\n\n const intlCloseLabel = closeLabel || intl.formatMessage({\n id: 'pgn.Toast.closeLabel',\n defaultMessage: 'Close',\n description: 'Close label for Toast component',\n });\n\n return (\n <ToastContainer>\n <BaseToast\n autohide={autoHide}\n className={classNames('pgn__toast', className)}\n onClose={onClose}\n onBlur={() => setAutoHide(true)}\n onFocus={() => setAutoHide(false)}\n onMouseOut={() => setAutoHide(true)}\n onMouseOver={() => setAutoHide(false)}\n show={show}\n delay={delay}\n {...rest}\n >\n <div className=\"toast-header\">\n <p className=\"small\">{children}</p>\n <div className=\"toast-header-btn-container\">\n <IconButton\n iconAs={Icon}\n alt={intlCloseLabel}\n className=\"align-self-start\"\n src={Close}\n onClick={onClose}\n variant=\"primary\"\n invertColors\n />\n </div>\n </div>\n {action && (\n <Button\n as={action.href ? 'a' : 'button'}\n href={action.href}\n onClick={action.onClick}\n size=\"sm\"\n variant=\"inverse-outline-primary\"\n >\n {action.label}\n </Button>\n )}\n </BaseToast>\n </ToastContainer>\n );\n}\n\nexport default Toast;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,SAASC,OAAO,QAAQ,YAAY;AAEpC,SAASC,KAAK,QAAQ,aAAa;AACnC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,UAAU,MAAM,eAAe;AAEtC,OAAO,MAAMC,sBAAsB,GAAG,OAAO;AAC7C,OAAO,MAAMC,WAAW,GAAG,IAAI;AAqC/B,SAASC,KAAKA,CAAC;EACbC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,UAAU;EACVC,OAAO;EACPC,IAAI;EACJC,KAAK,GAAGR,WAAW;EACnB,GAAGS;AACO,CAAC,EAAE;EACb,MAAMC,IAAI,GAAGjB,OAAO,CAAC,CAAC;EACtB,MAAM,CAACkB,QAAQ,EAAEC,WAAW,CAAC,GAAGtB,QAAQ,CAAC,IAAI,CAAC;EAE9C,MAAMuB,cAAc,GAAGR,UAAU,IAAIK,IAAI,CAACI,aAAa,CAAC;IACtDC,EAAE,EAAE,sBAAsB;IAC1BC,cAAc,EAAE,OAAO;IACvBC,WAAW,EAAE;EACf,CAAC,CAAC;EAEF,oBACE5B,KAAA,CAAA6B,aAAA,CAACvB,cAAc,qBACbN,KAAA,CAAA6B,aAAA,CAAC1B,SAAS;IACR2B,QAAQ,EAAER,QAAS;IACnBP,SAAS,EAAEb,UAAU,CAAC,YAAY,EAAEa,SAAS,CAAE;IAC/CE,OAAO,EAAEA,OAAQ;IACjBc,MAAM,EAAEA,CAAA,KAAMR,WAAW,CAAC,IAAI,CAAE;IAChCS,OAAO,EAAEA,CAAA,KAAMT,WAAW,CAAC,KAAK,CAAE;IAClCU,UAAU,EAAEA,CAAA,KAAMV,WAAW,CAAC,IAAI,CAAE;IACpCW,WAAW,EAAEA,CAAA,KAAMX,WAAW,CAAC,KAAK,CAAE;IACtCL,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IAAA,GACTC;EAAI,gBAERpB,KAAA,CAAA6B,aAAA;IAAKd,SAAS,EAAC;EAAc,gBAC3Bf,KAAA,CAAA6B,aAAA;IAAGd,SAAS,EAAC;EAAO,GAAED,QAAY,CAAC,eACnCd,KAAA,CAAA6B,aAAA;IAAKd,SAAS,EAAC;EAA4B,gBACzCf,KAAA,CAAA6B,aAAA,CAACpB,UAAU;IACT0B,MAAM,EAAE3B,IAAK;IACb4B,GAAG,EAAEZ,cAAe;IACpBT,SAAS,EAAC,kBAAkB;IAC5BsB,GAAG,EAAEhC,KAAM;IACXiC,OAAO,EAAErB,OAAQ;IACjBsB,OAAO,EAAC,SAAS;IACjBC,YAAY;EAAA,CACb,CACE,CACF,CAAC,EACL3B,MAAM,iBACLb,KAAA,CAAA6B,aAAA,CAACtB,MAAM;IACLkC,EAAE,EAAE5B,MAAM,CAAC6B,IAAI,GAAG,GAAG,GAAG,QAAS;IACjCA,IAAI,EAAE7B,MAAM,CAAC6B,IAAK;IAClBJ,OAAO,EAAEzB,MAAM,CAACyB,OAAQ;IACxBK,IAAI,EAAC,IAAI;IACTJ,OAAO,EAAC;EAAyB,GAEhC1B,MAAM,CAAC+B,KACF,CAED,CACG,CAAC;AAErB;AAEA,eAAehC,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","ToggleButtonGroup"],"sources":["../../src/ToggleButton/index.jsx"],"sourcesContent":["export { default } from 'react-bootstrap/ToggleButton';\nexport { default as ToggleButtonGroup } from 'react-bootstrap/ToggleButtonGroup';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,8BAA8B;AACtD,SAASA,OAAO,IAAIC,iBAAiB,QAAQ,mCAAmC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","ToggleButtonGroup"],"sources":["../../src/ToggleButton/index.tsx"],"sourcesContent":["export { default } from 'react-bootstrap/ToggleButton';\nexport { default as ToggleButtonGroup } from 'react-bootstrap/ToggleButtonGroup';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,8BAA8B;AACtD,SAASA,OAAO,IAAIC,iBAAiB,QAAQ,mCAAmC","ignoreList":[]}
@@ -3,20 +3,17 @@ import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import BaseTooltip from 'react-bootstrap/Tooltip';
5
5
  const PLACEMENT_VARIANTS = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];
6
- const Tooltip = /*#__PURE__*/React.forwardRef((_ref, ref) => {
7
- let {
8
- children,
9
- variant,
10
- ...props
11
- } = _ref;
12
- return /*#__PURE__*/React.createElement(BaseTooltip, {
13
- ...props,
14
- className: classNames({
15
- 'tooltip-light': variant === 'light'
16
- }, props.className),
17
- ref: ref
18
- }, children);
19
- });
6
+ const Tooltip = /*#__PURE__*/React.forwardRef(({
7
+ children,
8
+ variant,
9
+ ...props
10
+ }, ref) => /*#__PURE__*/React.createElement(BaseTooltip, {
11
+ ...props,
12
+ className: classNames({
13
+ 'tooltip-light': variant === 'light'
14
+ }, props.className),
15
+ ref: ref
16
+ }, children));
20
17
  Tooltip.propTypes = {
21
18
  ...BaseTooltip.propTypes,
22
19
  /** An html id attribute, necessary for accessibility. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","BaseTooltip","PLACEMENT_VARIANTS","Tooltip","forwardRef","_ref","ref","children","variant","props","createElement","className","propTypes","id","string","isRequired","placement","oneOf","arrowProps","shape","oneOfType","func","current","element","style","show","bool","popper","bsPrefix","node","defaultProps","undefined"],"sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport BaseTooltip, { type TooltipProps as BaseTooltipProps } from 'react-bootstrap/Tooltip';\nimport { type Placement } from 'react-bootstrap/Overlay';\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\ninterface TooltipProps extends BaseTooltipProps {\n variant?: 'light';\n}\n\nconst PLACEMENT_VARIANTS: Placement[] = [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n\nconst Tooltip: ComponentWithAsProp<'div', TooltipProps> = React.forwardRef(({\n children,\n variant,\n ...props\n}, ref) => (\n <BaseTooltip\n {...props}\n className={classNames({ 'tooltip-light': variant === 'light' }, props.className)}\n ref={ref}\n >\n {children}\n </BaseTooltip>\n));\n\nTooltip.propTypes = {\n ...BaseTooltip.propTypes,\n /** An html id attribute, necessary for accessibility. */\n id: PropTypes.string.isRequired,\n /**\n * Sets the direction the `Tooltip` is positioned towards.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /**\n * An `Overlay` injected set of props for positioning the `Tooltip` arrow.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n arrowProps: PropTypes.shape({\n ref: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.element }),\n ]),\n style: PropTypes.shape({}),\n }),\n /** Whether the `Overlay` is shown. */\n show: PropTypes.bool,\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popper: PropTypes.shape({}),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n /** Specifies the content of the `Tooltip` */\n children: PropTypes.node,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** The visual style of the `Tooltip` */\n variant: PropTypes.string,\n};\n\nTooltip.defaultProps = {\n ...Tooltip.defaultProps,\n id: undefined,\n placement: 'right',\n arrowProps: undefined,\n show: undefined,\n popper: undefined,\n children: undefined,\n className: undefined,\n variant: undefined,\n bsPrefix: 'tooltip',\n};\n\nexport default Tooltip;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAiD,yBAAyB;AAQ5F,MAAMC,kBAA+B,GAAG,CACtC,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,MAAM,EACN,YAAY,CACb;AAED,MAAMC,OAAiD,gBAAGL,KAAK,CAACM,UAAU,CAAC,CAAAC,IAAA,EAIxEC,GAAG;EAAA,IAJsE;IAC1EC,QAAQ;IACRC,OAAO;IACP,GAAGC;EACL,CAAC,GAAAJ,IAAA;EAAA,oBACCP,KAAA,CAAAY,aAAA,CAACT,WAAW;IAAA,GACNQ,KAAK;IACTE,SAAS,EAAEX,UAAU,CAAC;MAAE,eAAe,EAAEQ,OAAO,KAAK;IAAQ,CAAC,EAAEC,KAAK,CAACE,SAAS,CAAE;IACjFL,GAAG,EAAEA;EAAI,GAERC,QACU,CAAC;AAAA,CACf,CAAC;AAEFJ,OAAO,CAACS,SAAS,GAAG;EAClB,GAAGX,WAAW,CAACW,SAAS;EACxB;EACAC,EAAE,EAAEd,SAAS,CAACe,MAAM,CAACC,UAAU;EAC/B;AACF;AACA;AACA;AACA;EACEC,SAAS,EAAEjB,SAAS,CAACkB,KAAK,CAACf,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;EACEgB,UAAU,EAAEnB,SAAS,CAACoB,KAAK,CAAC;IAC1Bb,GAAG,EAAEP,SAAS,CAACqB,SAAS,CAAC,CACvBrB,SAAS,CAACsB,IAAI,EACdtB,SAAS,CAACoB,KAAK,CAAC;MAAEG,OAAO,EAAEvB,SAAS,CAACwB;IAAQ,CAAC,CAAC,CAChD,CAAC;IACFC,KAAK,EAAEzB,SAAS,CAACoB,KAAK,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACF;EACAM,IAAI,EAAE1B,SAAS,CAAC2B,IAAI;EACpB;EACAC,MAAM,EAAE5B,SAAS,CAACoB,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B;EACAS,QAAQ,EAAE7B,SAAS,CAACe,MAAM;EAC1B;EACAP,QAAQ,EAAER,SAAS,CAAC8B,IAAI;EACxB;EACAlB,SAAS,EAAEZ,SAAS,CAACe,MAAM;EAC3B;EACAN,OAAO,EAAET,SAAS,CAACe;AACrB,CAAC;AAEDX,OAAO,CAAC2B,YAAY,GAAG;EACrB,GAAG3B,OAAO,CAAC2B,YAAY;EACvBjB,EAAE,EAAEkB,SAAS;EACbf,SAAS,EAAE,OAAO;EAClBE,UAAU,EAAEa,SAAS;EACrBN,IAAI,EAAEM,SAAS;EACfJ,MAAM,EAAEI,SAAS;EACjBxB,QAAQ,EAAEwB,SAAS;EACnBpB,SAAS,EAAEoB,SAAS;EACpBvB,OAAO,EAAEuB,SAAS;EAClBH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAezB,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","BaseTooltip","PLACEMENT_VARIANTS","Tooltip","forwardRef","children","variant","props","ref","createElement","className","propTypes","id","string","isRequired","placement","oneOf","arrowProps","shape","oneOfType","func","current","element","style","show","bool","popper","bsPrefix","node","defaultProps","undefined"],"sources":["../../src/Tooltip/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport BaseTooltip, { type TooltipProps as BaseTooltipProps } from 'react-bootstrap/Tooltip';\nimport { type Placement } from 'react-bootstrap/Overlay';\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\ninterface TooltipProps extends BaseTooltipProps {\n variant?: 'light';\n}\n\nconst PLACEMENT_VARIANTS: Placement[] = [\n 'auto-start',\n 'auto',\n 'auto-end',\n 'top-start',\n 'top',\n 'top-end',\n 'right-start',\n 'right',\n 'right-end',\n 'bottom-end',\n 'bottom',\n 'bottom-start',\n 'left-end',\n 'left',\n 'left-start',\n];\n\nconst Tooltip: ComponentWithAsProp<'div', TooltipProps> = React.forwardRef(({\n children,\n variant,\n ...props\n}, ref) => (\n <BaseTooltip\n {...props}\n className={classNames({ 'tooltip-light': variant === 'light' }, props.className)}\n ref={ref}\n >\n {children}\n </BaseTooltip>\n));\n\nTooltip.propTypes = {\n ...BaseTooltip.propTypes,\n /** An html id attribute, necessary for accessibility. */\n id: PropTypes.string.isRequired,\n /**\n * Sets the direction the `Tooltip` is positioned towards.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n placement: PropTypes.oneOf(PLACEMENT_VARIANTS),\n /**\n * An `Overlay` injected set of props for positioning the `Tooltip` arrow.\n *\n * This is generally provided by the `Overlay` component positioning the tooltip.\n */\n arrowProps: PropTypes.shape({\n ref: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.element }),\n ]),\n style: PropTypes.shape({}),\n }),\n /** Whether the `Overlay` is shown. */\n show: PropTypes.bool,\n /** A `Popper.js` config object passed to the the underlying popper instance. */\n popper: PropTypes.shape({}),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n /** Specifies the content of the `Tooltip` */\n children: PropTypes.node,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** The visual style of the `Tooltip` */\n variant: PropTypes.string,\n};\n\nTooltip.defaultProps = {\n ...Tooltip.defaultProps,\n id: undefined,\n placement: 'right',\n arrowProps: undefined,\n show: undefined,\n popper: undefined,\n children: undefined,\n className: undefined,\n variant: undefined,\n bsPrefix: 'tooltip',\n};\n\nexport default Tooltip;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAiD,yBAAyB;AAQ5F,MAAMC,kBAA+B,GAAG,CACtC,YAAY,EACZ,MAAM,EACN,UAAU,EACV,WAAW,EACX,KAAK,EACL,SAAS,EACT,aAAa,EACb,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,MAAM,EACN,YAAY,CACb;AAED,MAAMC,OAAiD,gBAAGL,KAAK,CAACM,UAAU,CAAC,CAAC;EAC1EC,QAAQ;EACRC,OAAO;EACP,GAAGC;AACL,CAAC,EAAEC,GAAG,kBACJV,KAAA,CAAAW,aAAA,CAACR,WAAW;EAAA,GACNM,KAAK;EACTG,SAAS,EAAEV,UAAU,CAAC;IAAE,eAAe,EAAEM,OAAO,KAAK;EAAQ,CAAC,EAAEC,KAAK,CAACG,SAAS,CAAE;EACjFF,GAAG,EAAEA;AAAI,GAERH,QACU,CACd,CAAC;AAEFF,OAAO,CAACQ,SAAS,GAAG;EAClB,GAAGV,WAAW,CAACU,SAAS;EACxB;EACAC,EAAE,EAAEb,SAAS,CAACc,MAAM,CAACC,UAAU;EAC/B;AACF;AACA;AACA;AACA;EACEC,SAAS,EAAEhB,SAAS,CAACiB,KAAK,CAACd,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;EACEe,UAAU,EAAElB,SAAS,CAACmB,KAAK,CAAC;IAC1BV,GAAG,EAAET,SAAS,CAACoB,SAAS,CAAC,CACvBpB,SAAS,CAACqB,IAAI,EACdrB,SAAS,CAACmB,KAAK,CAAC;MAAEG,OAAO,EAAEtB,SAAS,CAACuB;IAAQ,CAAC,CAAC,CAChD,CAAC;IACFC,KAAK,EAAExB,SAAS,CAACmB,KAAK,CAAC,CAAC,CAAC;EAC3B,CAAC,CAAC;EACF;EACAM,IAAI,EAAEzB,SAAS,CAAC0B,IAAI;EACpB;EACAC,MAAM,EAAE3B,SAAS,CAACmB,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B;EACAS,QAAQ,EAAE5B,SAAS,CAACc,MAAM;EAC1B;EACAR,QAAQ,EAAEN,SAAS,CAAC6B,IAAI;EACxB;EACAlB,SAAS,EAAEX,SAAS,CAACc,MAAM;EAC3B;EACAP,OAAO,EAAEP,SAAS,CAACc;AACrB,CAAC;AAEDV,OAAO,CAAC0B,YAAY,GAAG;EACrB,GAAG1B,OAAO,CAAC0B,YAAY;EACvBjB,EAAE,EAAEkB,SAAS;EACbf,SAAS,EAAE,OAAO;EAClBE,UAAU,EAAEa,SAAS;EACrBN,IAAI,EAAEM,SAAS;EACfJ,MAAM,EAAEI,SAAS;EACjBzB,QAAQ,EAAEyB,SAAS;EACnBpB,SAAS,EAAEoB,SAAS;EACpBxB,OAAO,EAAEwB,SAAS;EAClBH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAexB,OAAO","ignoreList":[]}
@@ -5,16 +5,15 @@ import useWindowSize from '../hooks/useWindowSizeHook';
5
5
  const DEFAULT_TRUNCATE_LINES = 1;
6
6
  const DEFAULT_TRUNCATE_ELLIPSIS = '...';
7
7
  const DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';
8
- function TruncateDeprecated(_ref) {
9
- let {
10
- children,
11
- lines,
12
- ellipsis,
13
- elementType,
14
- className,
15
- whiteSpace,
16
- onTruncate
17
- } = _ref;
8
+ function TruncateDeprecated({
9
+ children,
10
+ lines,
11
+ ellipsis,
12
+ elementType,
13
+ className,
14
+ whiteSpace,
15
+ onTruncate
16
+ }) {
18
17
  const textContainer = useRef();
19
18
  const {
20
19
  width
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useLayoutEffect","useRef","useEffect","PropTypes","truncateLines","useWindowSize","DEFAULT_TRUNCATE_LINES","DEFAULT_TRUNCATE_ELLIPSIS","DEFAULT_TRUNCATE_ELEMENT_TYPE","TruncateDeprecated","_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","Truncate","console","log","Deprecated"],"sources":["../../src/Truncate/index.jsx"],"sourcesContent":["import React, {\n useLayoutEffect, useRef, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { truncateLines } from './utils';\nimport useWindowSize from '../hooks/useWindowSizeHook';\n\nconst DEFAULT_TRUNCATE_LINES = 1;\nconst DEFAULT_TRUNCATE_ELLIPSIS = '...';\nconst DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';\n\nfunction TruncateDeprecated({\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\nTruncateDeprecated.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\nTruncateDeprecated.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\nfunction Truncate() {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.log('Please use Truncate.Deprecated until a replacement is created');\n }, []);\n return null;\n}\nTruncate.Deprecated = TruncateDeprecated;\n\nexport default Truncate;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useLayoutEffect","useRef","useEffect","PropTypes","truncateLines","useWindowSize","DEFAULT_TRUNCATE_LINES","DEFAULT_TRUNCATE_ELLIPSIS","DEFAULT_TRUNCATE_ELEMENT_TYPE","TruncateDeprecated","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","Truncate","console","log","Deprecated"],"sources":["../../src/Truncate/index.jsx"],"sourcesContent":["import React, {\n useLayoutEffect, useRef, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { truncateLines } from './utils';\nimport useWindowSize from '../hooks/useWindowSizeHook';\n\nconst DEFAULT_TRUNCATE_LINES = 1;\nconst DEFAULT_TRUNCATE_ELLIPSIS = '...';\nconst DEFAULT_TRUNCATE_ELEMENT_TYPE = 'div';\n\nfunction TruncateDeprecated({\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\nTruncateDeprecated.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\nTruncateDeprecated.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\nfunction Truncate() {\n useEffect(() => {\n // eslint-disable-next-line no-console\n console.log('Please use Truncate.Deprecated until a replacement is created');\n }, []);\n return null;\n}\nTruncate.Deprecated = TruncateDeprecated;\n\nexport default Truncate;\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,eAAe,EAAEC,MAAM,EAAEC,SAAS,QAC7B,OAAO;AACd,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,aAAa,QAAQ,SAAS;AACvC,OAAOC,aAAa,MAAM,4BAA4B;AAEtD,MAAMC,sBAAsB,GAAG,CAAC;AAChC,MAAMC,yBAAyB,GAAG,KAAK;AACvC,MAAMC,6BAA6B,GAAG,KAAK;AAE3C,SAASC,kBAAkBA,CAAC;EAC1BC,QAAQ;EAAEC,KAAK;EAAEC,QAAQ;EAAEC,WAAW;EAAEC,SAAS;EAAEC,UAAU;EAAEC;AACjE,CAAC,EAAE;EACD,MAAMC,aAAa,GAAGhB,MAAM,CAAC,CAAC;EAC9B,MAAM;IAAEiB;EAAM,CAAC,GAAGb,aAAa,CAAC,CAAC;EAEjCL,eAAe,CAAC,MAAM;IACpB,IAAIiB,aAAa,CAACE,OAAO,EAAE;MACzB,MAAM,CAACC,SAAS,EAAEC,QAAQ,CAAC,GAAGjB,aAAa,CAACM,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;AAEAL,kBAAkB,CAACoB,SAAS,GAAG;EAC7B;EACAnB,QAAQ,EAAEP,SAAS,CAAC2B,MAAM,CAACC,UAAU;EACrC;EACApB,KAAK,EAAER,SAAS,CAAC6B,SAAS,CAAC,CAAC7B,SAAS,CAAC2B,MAAM,EAAE3B,SAAS,CAAC8B,MAAM,CAAC,CAAC;EAChE;EACArB,QAAQ,EAAET,SAAS,CAAC6B,SAAS,CAAC,CAAC7B,SAAS,CAAC2B,MAAM,EAAE3B,SAAS,CAAC8B,MAAM,EAAE9B,SAAS,CAAC+B,IAAI,CAAC,CAAC;EACnF;EACAnB,UAAU,EAAEZ,SAAS,CAACgC,IAAI;EAC1B;EACAtB,WAAW,EAAEV,SAAS,CAAC2B,MAAM;EAC7B;EACAhB,SAAS,EAAEX,SAAS,CAAC2B,MAAM;EAC3B;EACAd,UAAU,EAAEb,SAAS,CAACiC;AACxB,CAAC;AAED3B,kBAAkB,CAAC4B,YAAY,GAAG;EAChC1B,KAAK,EAAEL,sBAAsB;EAC7BM,QAAQ,EAAEL,yBAAyB;EACnCQ,UAAU,EAAE,KAAK;EACjBF,WAAW,EAAEL,6BAA6B;EAC1CM,SAAS,EAAEwB,SAAS;EACpBtB,UAAU,EAAEsB;AACd,CAAC;AAED,SAASC,QAAQA,CAAA,EAAG;EAClBrC,SAAS,CAAC,MAAM;IACd;IACAsC,OAAO,CAACC,GAAG,CAAC,+DAA+D,CAAC;EAC9E,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACb;AACAF,QAAQ,CAACG,UAAU,GAAGjC,kBAAkB;AAExC,eAAe8B,QAAQ","ignoreList":[]}
@@ -53,9 +53,7 @@ export const defaultProps = {
53
53
  type: undefined,
54
54
  inputRef: undefined
55
55
  };
56
- const asInput = function (WrappedComponent) {
57
- let inputType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
58
- let labelFirst = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
56
+ const asInput = (WrappedComponent, inputType = undefined, labelFirst = true) => {
59
57
  class NewComponent extends React.Component {
60
58
  constructor(props) {
61
59
  super(props);
@@ -157,11 +155,10 @@ const asInput = function (WrappedComponent) {
157
155
  }
158
156
  return desc;
159
157
  }
160
- getAddons(_ref) {
161
- let {
162
- addonElements,
163
- type
164
- } = _ref;
158
+ getAddons({
159
+ addonElements,
160
+ type
161
+ }) {
165
162
  if (Array.isArray(addonElements)) {
166
163
  return addonElements.map((addon, index) => /*#__PURE__*/React.cloneElement(addon, {
167
164
  key: this.generateInputGroupAddonKey({
@@ -183,11 +180,10 @@ const asInput = function (WrappedComponent) {
183
180
  return false;
184
181
  }
185
182
  }
186
- generateInputGroupAddonKey(_ref2) {
187
- let {
188
- prefix,
189
- index
190
- } = _ref2;
183
+ generateInputGroupAddonKey({
184
+ prefix,
185
+ index
186
+ }) {
191
187
  return `${this.state.id}-${prefix}-${index}`;
192
188
  }
193
189
  renderInput(describedBy) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","ValidationMessage","Variant","withDeprecatedProps","DeprTypes","getDisplayName","WrappedComponent","displayName","name","inputProps","label","oneOfType","string","element","isRequired","id","value","number","dangerIconDescription","description","disabled","bool","required","onChange","func","onKeyPress","onBlur","validator","isValid","validationMessage","className","themes","arrayOf","inline","inputGroupPrepend","inputGroupAppend","type","inputRef","shape","current","instanceOf","defaultProps","undefined","asInput","inputType","arguments","length","labelFirst","NewComponent","Component","constructor","props","handleChange","bind","handleBlur","handleKeyPress","renderInput","state","componentDidUpdate","prevProps","updatedState","Object","keys","setState","event","target","checked","val","getLabel","createElement","htmlFor","isGroupedInput","getDescriptions","errorId","descriptionId","desc","error","invalidMessage","variant","status","hasDangerTheme","DANGER","INFO","variantIconDescription","describedBy","key","trim","getAddons","_ref","addonElements","Array","isArray","map","addon","index","cloneElement","generateInputGroupAddonKey","prefix","indexOf","_ref2","others","renderInputGroupAppend","renderInputGroupPrepend","render","propTypes","deprType","FORMAT","expect","transform","join","message","ariaLabel","MOVED","newName"],"sources":["../../src/asInput/index.jsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\nimport ValidationMessage from '../ValidationMessage/index';\nimport Variant from '../utils/constants';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const getDisplayName = WrappedComponent => WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\nexport const inputProps = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n name: PropTypes.string.isRequired,\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n dangerIconDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]),\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n onKeyPress: PropTypes.func,\n onBlur: PropTypes.func,\n validator: PropTypes.func,\n isValid: PropTypes.bool,\n validationMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n className: PropTypes.string,\n themes: PropTypes.arrayOf(PropTypes.string),\n inline: PropTypes.bool,\n inputGroupPrepend: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n inputGroupAppend: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n type: PropTypes.string,\n inputRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(PropTypes.element) }),\n ]),\n};\n\nexport const defaultProps = {\n onChange: () => {},\n onBlur: () => {},\n onKeyPress: () => {},\n id: undefined,\n value: '',\n dangerIconDescription: '',\n description: undefined,\n disabled: false,\n required: false,\n validator: undefined,\n isValid: true,\n validationMessage: '',\n className: undefined,\n themes: [],\n inline: false,\n inputGroupPrepend: undefined,\n inputGroupAppend: undefined,\n type: undefined,\n inputRef: undefined,\n};\n\nconst asInput = (WrappedComponent, inputType = undefined, labelFirst = true) => {\n class NewComponent extends React.Component {\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.renderInput = this.renderInput.bind(this);\n\n const id = this.props.id ? this.props.id : newId('asInput');\n const isValid = this.props.validator ? true : this.props.isValid;\n const validationMessage = this.props.validator ? '' : this.props.validationMessage;\n const dangerIconDescription = this.props.validator ? '' : this.props.dangerIconDescription;\n this.state = {\n id,\n value: this.props.value,\n isValid,\n validationMessage,\n dangerIconDescription,\n };\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps) {\n const updatedState = {};\n if (this.props.value !== prevProps.value) {\n updatedState.value = this.props.value;\n }\n if (this.props.isValid !== prevProps.isValid && !this.props.validator) {\n updatedState.isValid = this.props.isValid;\n }\n if (this.props.validationMessage !== prevProps.validationMessage && !this.props.validator) {\n updatedState.validationMessage = this.props.validationMessage;\n }\n if (this.props.dangerIconDescription !== prevProps.dangerIconDescription\n && !this.props.validator) {\n updatedState.dangerIconDescription = this.props.dangerIconDescription;\n }\n // If validator goes away, revert to props\n if (this.props.validator !== prevProps.validator && !this.props.validator) {\n updatedState.isValid = this.props.isValid;\n updatedState.validationMessage = this.props.validationMessage;\n updatedState.dangerIconDescription = this.props.dangerIconDescription;\n }\n if (Object.keys(updatedState).length > 0) {\n this.setState(updatedState);\n }\n }\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n\n this.props.onChange(\n event.target.type === 'checkbox' ? event.target.checked : event.target.value,\n this.props.name,\n );\n }\n\n handleKeyPress(event) {\n this.props.onKeyPress(event, this.props.name);\n }\n\n handleBlur(event) {\n const val = event.target.value;\n\n if (this.props.validator) {\n this.setState(this.props.validator(val));\n }\n this.props.onBlur(val, this.props.name);\n }\n\n getLabel() {\n return (\n // eslint-disable-next-line jsx-a11y/label-has-for\n <label\n id={`label-${this.state.id}`}\n htmlFor={this.state.id}\n className={classNames({\n 'form-check-label': this.isGroupedInput(),\n })}\n >\n {this.props.label}\n </label>\n );\n }\n\n getDescriptions() {\n // possible future work: multiple feedback msgs?\n const errorId = `error-${this.state.id}`;\n const descriptionId = `description-${this.state.id}`;\n const desc = {};\n\n // TODO: refactor this component to use Variants instead of the themes array.\n desc.error = (\n <ValidationMessage\n id={errorId}\n isValid={this.state.isValid}\n invalidMessage={this.state.validationMessage}\n variant={{\n status: this.hasDangerTheme() ? Variant.status.DANGER : Variant.status.INFO,\n }}\n variantIconDescription={this.state.dangerIconDescription}\n />\n );\n desc.describedBy = errorId;\n\n if (this.props.description) {\n desc.description = (\n <small className=\"form-text\" id={descriptionId} key=\"1\">\n {this.props.description}\n </small>\n );\n desc.describedBy = `${desc.describedBy} ${descriptionId}`.trim();\n }\n\n return desc;\n }\n\n getAddons({ addonElements, type }) {\n if (Array.isArray(addonElements)) {\n return addonElements.map((addon, index) => React.cloneElement(\n addon,\n { key: this.generateInputGroupAddonKey({ prefix: type, index }) },\n ));\n }\n return addonElements;\n }\n\n hasDangerTheme() {\n return this.props.themes.indexOf('danger') >= 0;\n }\n\n isGroupedInput() {\n switch (inputType) {\n case 'checkbox':\n return true;\n default:\n return false;\n }\n }\n\n generateInputGroupAddonKey({ prefix, index }) {\n return `${this.state.id}-${prefix}-${index}`;\n }\n\n renderInput(describedBy) {\n const {\n className,\n inputRef,\n type,\n isValid,\n // unused\n validator,\n themes,\n inline,\n inputGroupPrepend,\n inputGroupAppend,\n label,\n dangerIconDescription,\n description,\n validationMessage,\n ...others\n } = this.props;\n\n return (\n <WrappedComponent\n {...others}\n id={this.state.id}\n value={this.state.value}\n className={classNames(\n {\n 'form-control': !this.isGroupedInput(),\n 'form-check-input': this.isGroupedInput(),\n 'is-invalid': !this.state.isValid,\n 'is-invalid-nodanger': !this.hasDangerTheme(),\n },\n className,\n )}\n aria-describedby={describedBy}\n aria-invalid={!isValid}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyPress={this.handleKeyPress}\n type={type}\n inputRef={inputRef}\n />\n );\n }\n\n renderInputGroupAppend() {\n return (\n <div className=\"input-group-append\">\n {this.getAddons({ type: 'append', addonElements: this.props.inputGroupAppend })}\n </div>\n );\n }\n\n renderInputGroupPrepend() {\n return (\n <div className=\"input-group-prepend\">\n {this.getAddons({ type: 'prepend', addonElements: this.props.inputGroupPrepend })}\n </div>\n );\n }\n\n render() {\n const { description, error, describedBy } = this.getDescriptions();\n return (\n <div className={classNames({\n 'form-group': !this.isGroupedInput(),\n 'form-inline': !this.isGroupedInput() && this.props.inline,\n 'form-check': this.isGroupedInput(),\n })}\n >\n {labelFirst && this.getLabel()}\n {this.props.inputGroupPrepend || this.props.inputGroupAppend ? (\n <div className={classNames('input-group')} data-testid=\"input-group\">\n {this.renderInputGroupPrepend()}\n {this.renderInput(describedBy)}\n {this.renderInputGroupAppend()}\n </div>\n ) : this.renderInput(describedBy)}\n {!labelFirst && this.getLabel()}\n {error}\n {description}\n </div>\n );\n }\n }\n\n NewComponent.displayName = `asInput(${getDisplayName(WrappedComponent)})`;\n\n NewComponent.propTypes = inputProps;\n\n NewComponent.defaultProps = defaultProps;\n\n return withDeprecatedProps(NewComponent, 'asInput', {\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 ariaLabel: {\n deprType: DeprTypes.MOVED,\n newName: 'aria-label',\n },\n });\n};\n\nexport default asInput;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","newId","ValidationMessage","Variant","withDeprecatedProps","DeprTypes","getDisplayName","WrappedComponent","displayName","name","inputProps","label","oneOfType","string","element","isRequired","id","value","number","dangerIconDescription","description","disabled","bool","required","onChange","func","onKeyPress","onBlur","validator","isValid","validationMessage","className","themes","arrayOf","inline","inputGroupPrepend","inputGroupAppend","type","inputRef","shape","current","instanceOf","defaultProps","undefined","asInput","inputType","labelFirst","NewComponent","Component","constructor","props","handleChange","bind","handleBlur","handleKeyPress","renderInput","state","componentDidUpdate","prevProps","updatedState","Object","keys","length","setState","event","target","checked","val","getLabel","createElement","htmlFor","isGroupedInput","getDescriptions","errorId","descriptionId","desc","error","invalidMessage","variant","status","hasDangerTheme","DANGER","INFO","variantIconDescription","describedBy","key","trim","getAddons","addonElements","Array","isArray","map","addon","index","cloneElement","generateInputGroupAddonKey","prefix","indexOf","others","renderInputGroupAppend","renderInputGroupPrepend","render","propTypes","deprType","FORMAT","expect","transform","join","message","ariaLabel","MOVED","newName"],"sources":["../../src/asInput/index.jsx"],"sourcesContent":["/* eslint-disable react/no-unused-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport newId from '../utils/newId';\nimport ValidationMessage from '../ValidationMessage/index';\nimport Variant from '../utils/constants';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nexport const getDisplayName = WrappedComponent => WrappedComponent.displayName || WrappedComponent.name || 'Component';\n\nexport const inputProps = {\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n name: PropTypes.string.isRequired,\n id: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n dangerIconDescription: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n description: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n ]),\n disabled: PropTypes.bool,\n required: PropTypes.bool,\n onChange: PropTypes.func,\n onKeyPress: PropTypes.func,\n onBlur: PropTypes.func,\n validator: PropTypes.func,\n isValid: PropTypes.bool,\n validationMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n className: PropTypes.string,\n themes: PropTypes.arrayOf(PropTypes.string),\n inline: PropTypes.bool,\n inputGroupPrepend: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n inputGroupAppend: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n type: PropTypes.string,\n inputRef: PropTypes.oneOfType([\n PropTypes.func,\n PropTypes.shape({ current: PropTypes.instanceOf(PropTypes.element) }),\n ]),\n};\n\nexport const defaultProps = {\n onChange: () => {},\n onBlur: () => {},\n onKeyPress: () => {},\n id: undefined,\n value: '',\n dangerIconDescription: '',\n description: undefined,\n disabled: false,\n required: false,\n validator: undefined,\n isValid: true,\n validationMessage: '',\n className: undefined,\n themes: [],\n inline: false,\n inputGroupPrepend: undefined,\n inputGroupAppend: undefined,\n type: undefined,\n inputRef: undefined,\n};\n\nconst asInput = (WrappedComponent, inputType = undefined, labelFirst = true) => {\n class NewComponent extends React.Component {\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.renderInput = this.renderInput.bind(this);\n\n const id = this.props.id ? this.props.id : newId('asInput');\n const isValid = this.props.validator ? true : this.props.isValid;\n const validationMessage = this.props.validator ? '' : this.props.validationMessage;\n const dangerIconDescription = this.props.validator ? '' : this.props.dangerIconDescription;\n this.state = {\n id,\n value: this.props.value,\n isValid,\n validationMessage,\n dangerIconDescription,\n };\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps) {\n const updatedState = {};\n if (this.props.value !== prevProps.value) {\n updatedState.value = this.props.value;\n }\n if (this.props.isValid !== prevProps.isValid && !this.props.validator) {\n updatedState.isValid = this.props.isValid;\n }\n if (this.props.validationMessage !== prevProps.validationMessage && !this.props.validator) {\n updatedState.validationMessage = this.props.validationMessage;\n }\n if (this.props.dangerIconDescription !== prevProps.dangerIconDescription\n && !this.props.validator) {\n updatedState.dangerIconDescription = this.props.dangerIconDescription;\n }\n // If validator goes away, revert to props\n if (this.props.validator !== prevProps.validator && !this.props.validator) {\n updatedState.isValid = this.props.isValid;\n updatedState.validationMessage = this.props.validationMessage;\n updatedState.dangerIconDescription = this.props.dangerIconDescription;\n }\n if (Object.keys(updatedState).length > 0) {\n this.setState(updatedState);\n }\n }\n\n handleChange(event) {\n this.setState({ value: event.target.value });\n\n this.props.onChange(\n event.target.type === 'checkbox' ? event.target.checked : event.target.value,\n this.props.name,\n );\n }\n\n handleKeyPress(event) {\n this.props.onKeyPress(event, this.props.name);\n }\n\n handleBlur(event) {\n const val = event.target.value;\n\n if (this.props.validator) {\n this.setState(this.props.validator(val));\n }\n this.props.onBlur(val, this.props.name);\n }\n\n getLabel() {\n return (\n // eslint-disable-next-line jsx-a11y/label-has-for\n <label\n id={`label-${this.state.id}`}\n htmlFor={this.state.id}\n className={classNames({\n 'form-check-label': this.isGroupedInput(),\n })}\n >\n {this.props.label}\n </label>\n );\n }\n\n getDescriptions() {\n // possible future work: multiple feedback msgs?\n const errorId = `error-${this.state.id}`;\n const descriptionId = `description-${this.state.id}`;\n const desc = {};\n\n // TODO: refactor this component to use Variants instead of the themes array.\n desc.error = (\n <ValidationMessage\n id={errorId}\n isValid={this.state.isValid}\n invalidMessage={this.state.validationMessage}\n variant={{\n status: this.hasDangerTheme() ? Variant.status.DANGER : Variant.status.INFO,\n }}\n variantIconDescription={this.state.dangerIconDescription}\n />\n );\n desc.describedBy = errorId;\n\n if (this.props.description) {\n desc.description = (\n <small className=\"form-text\" id={descriptionId} key=\"1\">\n {this.props.description}\n </small>\n );\n desc.describedBy = `${desc.describedBy} ${descriptionId}`.trim();\n }\n\n return desc;\n }\n\n getAddons({ addonElements, type }) {\n if (Array.isArray(addonElements)) {\n return addonElements.map((addon, index) => React.cloneElement(\n addon,\n { key: this.generateInputGroupAddonKey({ prefix: type, index }) },\n ));\n }\n return addonElements;\n }\n\n hasDangerTheme() {\n return this.props.themes.indexOf('danger') >= 0;\n }\n\n isGroupedInput() {\n switch (inputType) {\n case 'checkbox':\n return true;\n default:\n return false;\n }\n }\n\n generateInputGroupAddonKey({ prefix, index }) {\n return `${this.state.id}-${prefix}-${index}`;\n }\n\n renderInput(describedBy) {\n const {\n className,\n inputRef,\n type,\n isValid,\n // unused\n validator,\n themes,\n inline,\n inputGroupPrepend,\n inputGroupAppend,\n label,\n dangerIconDescription,\n description,\n validationMessage,\n ...others\n } = this.props;\n\n return (\n <WrappedComponent\n {...others}\n id={this.state.id}\n value={this.state.value}\n className={classNames(\n {\n 'form-control': !this.isGroupedInput(),\n 'form-check-input': this.isGroupedInput(),\n 'is-invalid': !this.state.isValid,\n 'is-invalid-nodanger': !this.hasDangerTheme(),\n },\n className,\n )}\n aria-describedby={describedBy}\n aria-invalid={!isValid}\n onChange={this.handleChange}\n onBlur={this.handleBlur}\n onKeyPress={this.handleKeyPress}\n type={type}\n inputRef={inputRef}\n />\n );\n }\n\n renderInputGroupAppend() {\n return (\n <div className=\"input-group-append\">\n {this.getAddons({ type: 'append', addonElements: this.props.inputGroupAppend })}\n </div>\n );\n }\n\n renderInputGroupPrepend() {\n return (\n <div className=\"input-group-prepend\">\n {this.getAddons({ type: 'prepend', addonElements: this.props.inputGroupPrepend })}\n </div>\n );\n }\n\n render() {\n const { description, error, describedBy } = this.getDescriptions();\n return (\n <div className={classNames({\n 'form-group': !this.isGroupedInput(),\n 'form-inline': !this.isGroupedInput() && this.props.inline,\n 'form-check': this.isGroupedInput(),\n })}\n >\n {labelFirst && this.getLabel()}\n {this.props.inputGroupPrepend || this.props.inputGroupAppend ? (\n <div className={classNames('input-group')} data-testid=\"input-group\">\n {this.renderInputGroupPrepend()}\n {this.renderInput(describedBy)}\n {this.renderInputGroupAppend()}\n </div>\n ) : this.renderInput(describedBy)}\n {!labelFirst && this.getLabel()}\n {error}\n {description}\n </div>\n );\n }\n }\n\n NewComponent.displayName = `asInput(${getDisplayName(WrappedComponent)})`;\n\n NewComponent.propTypes = inputProps;\n\n NewComponent.defaultProps = defaultProps;\n\n return withDeprecatedProps(NewComponent, 'asInput', {\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 ariaLabel: {\n deprType: DeprTypes.MOVED,\n newName: 'aria-label',\n },\n });\n};\n\nexport default asInput;\n"],"mappings":"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","ignoreList":[]}