@openedx/paragon 23.14.2 → 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 (379) hide show
  1. package/dist/ActionRow/index.d.ts +18 -0
  2. package/dist/ActionRow/index.js +6 -24
  3. package/dist/ActionRow/index.js.map +1 -1
  4. package/dist/Alert/index.js +21 -24
  5. package/dist/Alert/index.js.map +1 -1
  6. package/dist/Annotation/index.d.ts +13 -0
  7. package/dist/Annotation/index.js +11 -30
  8. package/dist/Annotation/index.js.map +1 -1
  9. package/dist/Avatar/index.d.ts +11 -0
  10. package/dist/Avatar/index.js +7 -21
  11. package/dist/Avatar/index.js.map +1 -1
  12. package/dist/AvatarButton/index.d.ts +17 -0
  13. package/dist/AvatarButton/index.js +11 -33
  14. package/dist/AvatarButton/index.js.map +1 -1
  15. package/dist/Breadcrumb/BreadcrumbLink.js +5 -6
  16. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  17. package/dist/Breadcrumb/index.js +11 -12
  18. package/dist/Breadcrumb/index.js.map +1 -1
  19. package/dist/Bubble/index.js +15 -18
  20. package/dist/Bubble/index.js.map +1 -1
  21. package/dist/Button/index.d.ts +42 -7
  22. package/dist/Button/index.js +43 -115
  23. package/dist/Button/index.js.map +1 -1
  24. package/dist/Card/BaseCard.js +11 -12
  25. package/dist/Card/BaseCard.js.map +1 -1
  26. package/dist/Card/CardBody.js +9 -12
  27. package/dist/Card/CardBody.js.map +1 -1
  28. package/dist/Card/CardCarousel/CardCarousel.js +13 -14
  29. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  30. package/dist/Card/CardCarousel/CardCarouselHeader.js +4 -5
  31. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  32. package/dist/Card/CardCarousel/CardCarouselItems.js +3 -4
  33. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  34. package/dist/Card/CardCarousel/CardCarouselProvider.js +7 -8
  35. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  36. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +5 -6
  37. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  38. package/dist/Card/CardCarousel/CardCarouselTitle.js +5 -6
  39. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  40. package/dist/Card/CardCarousel/messages.d.ts +13 -0
  41. package/dist/Card/CardCarousel/messages.js +4 -5
  42. package/dist/Card/CardCarousel/messages.js.map +1 -0
  43. package/dist/Card/CardContext.js +6 -7
  44. package/dist/Card/CardContext.js.map +1 -1
  45. package/dist/Card/CardDeck.js +9 -10
  46. package/dist/Card/CardDeck.js.map +1 -1
  47. package/dist/Card/CardDivider.js +8 -11
  48. package/dist/Card/CardDivider.js.map +1 -1
  49. package/dist/Card/CardFooter.js +9 -10
  50. package/dist/Card/CardFooter.js.map +1 -1
  51. package/dist/Card/CardGrid.js +6 -7
  52. package/dist/Card/CardGrid.js.map +1 -1
  53. package/dist/Card/CardHeader.js +9 -10
  54. package/dist/Card/CardHeader.js.map +1 -1
  55. package/dist/Card/CardImageCap.js +15 -16
  56. package/dist/Card/CardImageCap.js.map +1 -1
  57. package/dist/Card/CardSection.js +9 -10
  58. package/dist/Card/CardSection.js.map +1 -1
  59. package/dist/Card/CardStatus.js +9 -10
  60. package/dist/Card/CardStatus.js.map +1 -1
  61. package/dist/Card/index.js +9 -10
  62. package/dist/Card/index.js.map +1 -1
  63. package/dist/Chip/ChipIcon.js +8 -9
  64. package/dist/Chip/ChipIcon.js.map +1 -1
  65. package/dist/Chip/index.d.ts +22 -0
  66. package/dist/Chip/index.js +15 -70
  67. package/dist/Chip/index.js.map +1 -1
  68. package/dist/ChipCarousel/index.js +49 -53
  69. package/dist/ChipCarousel/index.js.map +1 -1
  70. package/dist/ChipCarousel/messages.d.ts +13 -0
  71. package/dist/ChipCarousel/messages.js +4 -5
  72. package/dist/ChipCarousel/messages.js.map +1 -0
  73. package/dist/CloseButton/index.js.map +1 -1
  74. package/dist/Collapse/index.js.map +1 -1
  75. package/dist/Collapsible/CollapsibleBody.js +6 -7
  76. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  77. package/dist/Collapsible/CollapsibleTrigger.js +9 -10
  78. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  79. package/dist/Collapsible/CollapsibleVisible.js +5 -6
  80. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  81. package/dist/ColorPicker/index.js +6 -7
  82. package/dist/ColorPicker/index.js.map +1 -1
  83. package/dist/Container/index.js +9 -12
  84. package/dist/Container/index.js.map +1 -1
  85. package/dist/DataTable/BulkActions.js +4 -5
  86. package/dist/DataTable/BulkActions.js.map +1 -1
  87. package/dist/DataTable/CardView.js +16 -18
  88. package/dist/DataTable/CardView.js.map +1 -1
  89. package/dist/DataTable/CollapsibleButtonGroup.js +5 -6
  90. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  91. package/dist/DataTable/DataTableLayout.js +5 -6
  92. package/dist/DataTable/DataTableLayout.js.map +1 -1
  93. package/dist/DataTable/EmptyTable.js +5 -6
  94. package/dist/DataTable/EmptyTable.js.map +1 -1
  95. package/dist/DataTable/ExpandAll.js +4 -5
  96. package/dist/DataTable/ExpandAll.js.map +1 -1
  97. package/dist/DataTable/ExpandRow.js +3 -4
  98. package/dist/DataTable/ExpandRow.js.map +1 -1
  99. package/dist/DataTable/FilterStatus.js +8 -9
  100. package/dist/DataTable/FilterStatus.js.map +1 -1
  101. package/dist/DataTable/RowStatus.js +4 -5
  102. package/dist/DataTable/RowStatus.js.map +1 -1
  103. package/dist/DataTable/SidebarFilters.js +3 -4
  104. package/dist/DataTable/SidebarFilters.js.map +1 -1
  105. package/dist/DataTable/Table.js +3 -4
  106. package/dist/DataTable/Table.js.map +1 -1
  107. package/dist/DataTable/TableActions.js +3 -4
  108. package/dist/DataTable/TableActions.js.map +1 -1
  109. package/dist/DataTable/TableCell.js +5 -6
  110. package/dist/DataTable/TableCell.js.map +1 -1
  111. package/dist/DataTable/TableControlBar.js +3 -4
  112. package/dist/DataTable/TableControlBar.js.map +1 -1
  113. package/dist/DataTable/TableFilters.js +6 -7
  114. package/dist/DataTable/TableFilters.js.map +1 -1
  115. package/dist/DataTable/TableFooter.js +4 -5
  116. package/dist/DataTable/TableFooter.js.map +1 -1
  117. package/dist/DataTable/TableHeaderCell.js +13 -15
  118. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  119. package/dist/DataTable/TableHeaderRow.js +3 -4
  120. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  121. package/dist/DataTable/TableRow.js +3 -4
  122. package/dist/DataTable/TableRow.js.map +1 -1
  123. package/dist/DataTable/filters/CheckboxFilter.js +25 -29
  124. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  125. package/dist/DataTable/filters/DropdownFilter.js +16 -20
  126. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  127. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +25 -29
  128. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  129. package/dist/DataTable/filters/TextFilter.js +8 -9
  130. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  131. package/dist/DataTable/hooks.js +11 -13
  132. package/dist/DataTable/hooks.js.map +1 -1
  133. package/dist/DataTable/index.js +35 -36
  134. package/dist/DataTable/index.js.map +1 -1
  135. package/dist/DataTable/messages.d.ts +13 -0
  136. package/dist/DataTable/messages.js +4 -5
  137. package/dist/DataTable/messages.js.map +1 -0
  138. package/dist/DataTable/selection/BaseSelectionStatus.js +11 -12
  139. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  140. package/dist/DataTable/selection/ControlledSelect.js +3 -4
  141. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  142. package/dist/DataTable/selection/ControlledSelectHeader.js +3 -4
  143. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  144. package/dist/DataTable/selection/ControlledSelectionStatus.js +4 -5
  145. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  146. package/dist/DataTable/selection/SelectionStatus.js +4 -5
  147. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  148. package/dist/DataTable/utils/getVisibleColumns.js +9 -13
  149. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  150. package/dist/Dropdown/index.js +17 -20
  151. package/dist/Dropdown/index.js.map +1 -1
  152. package/dist/Dropzone/DefaultContent.js +5 -6
  153. package/dist/Dropzone/DefaultContent.js.map +1 -1
  154. package/dist/Dropzone/DragError.js +3 -4
  155. package/dist/Dropzone/DragError.js.map +1 -1
  156. package/dist/Dropzone/GenericError.js +4 -5
  157. package/dist/Dropzone/GenericError.js.map +1 -1
  158. package/dist/Dropzone/UploadProgress.js +6 -7
  159. package/dist/Dropzone/UploadProgress.js.map +1 -1
  160. package/dist/Dropzone/index.js +14 -15
  161. package/dist/Dropzone/index.js.map +1 -1
  162. package/dist/Dropzone/messages.d.ts +53 -0
  163. package/dist/Dropzone/messages.js +12 -13
  164. package/dist/Dropzone/messages.js.map +1 -0
  165. package/dist/Fade/index.js.map +1 -1
  166. package/dist/Form/FormAutosuggest.js +18 -20
  167. package/dist/Form/FormAutosuggest.js.map +1 -1
  168. package/dist/Form/FormAutosuggestOption.js +6 -7
  169. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  170. package/dist/Form/FormCheckbox.js +16 -18
  171. package/dist/Form/FormCheckbox.js.map +1 -1
  172. package/dist/Form/FormCheckboxSet.js +11 -12
  173. package/dist/Form/FormCheckboxSet.js.map +1 -1
  174. package/dist/Form/FormCheckboxSetContext.js +9 -10
  175. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  176. package/dist/Form/FormControl.js +12 -13
  177. package/dist/Form/FormControl.js.map +1 -1
  178. package/dist/Form/FormControlDecorator.js +4 -5
  179. package/dist/Form/FormControlDecorator.js.map +1 -1
  180. package/dist/Form/FormControlDecoratorGroup.js +8 -9
  181. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  182. package/dist/Form/FormControlFeedback.js +4 -5
  183. package/dist/Form/FormControlFeedback.js.map +1 -1
  184. package/dist/Form/FormControlFloatingLabel.js +3 -4
  185. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  186. package/dist/Form/FormControlSet.js +7 -8
  187. package/dist/Form/FormControlSet.js.map +1 -1
  188. package/dist/Form/FormGroup.js +9 -10
  189. package/dist/Form/FormGroup.js.map +1 -1
  190. package/dist/Form/FormGroupContext.js +7 -8
  191. package/dist/Form/FormGroupContext.js.map +1 -1
  192. package/dist/Form/FormLabel.d.ts +2 -11
  193. package/dist/Form/FormLabel.js +5 -15
  194. package/dist/Form/FormLabel.js.map +1 -1
  195. package/dist/Form/FormRadio.js +28 -31
  196. package/dist/Form/FormRadio.js.map +1 -1
  197. package/dist/Form/FormRadioSet.js +11 -12
  198. package/dist/Form/FormRadioSet.js.map +1 -1
  199. package/dist/Form/FormRadioSetContext.js +9 -10
  200. package/dist/Form/FormRadioSetContext.js.map +1 -1
  201. package/dist/Form/FormSwitch.js +25 -29
  202. package/dist/Form/FormSwitch.js.map +1 -1
  203. package/dist/Form/FormText.js +16 -19
  204. package/dist/Form/FormText.js.map +1 -1
  205. package/dist/Form/fieldUtils.js +11 -22
  206. package/dist/Form/fieldUtils.js.map +1 -1
  207. package/dist/Form/useCheckboxSetValues.js +1 -2
  208. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  209. package/dist/Hyperlink/index.js +17 -21
  210. package/dist/Hyperlink/index.js.map +1 -1
  211. package/dist/Icon/index.js +10 -11
  212. package/dist/Icon/index.js.map +1 -1
  213. package/dist/IconButton/index.d.ts +8 -304
  214. package/dist/IconButton/index.js +21 -84
  215. package/dist/IconButton/index.js.map +1 -1
  216. package/dist/IconButtonToggle/index.js +5 -6
  217. package/dist/IconButtonToggle/index.js.map +1 -1
  218. package/dist/Image/index.js.map +1 -1
  219. package/dist/Layout/index.js +4 -5
  220. package/dist/Layout/index.js.map +1 -1
  221. package/dist/Media/index.js.map +1 -1
  222. package/dist/Menu/MenuItem.js +8 -9
  223. package/dist/Menu/MenuItem.js.map +1 -1
  224. package/dist/Menu/SelectMenu.js +8 -9
  225. package/dist/Menu/SelectMenu.js.map +1 -1
  226. package/dist/Menu/index.js +6 -7
  227. package/dist/Menu/index.js.map +1 -1
  228. package/dist/Modal/AlertModal.js +6 -7
  229. package/dist/Modal/AlertModal.js.map +1 -1
  230. package/dist/Modal/FullscreenModal.js +7 -8
  231. package/dist/Modal/FullscreenModal.js.map +1 -1
  232. package/dist/Modal/MarketingModal.js +9 -10
  233. package/dist/Modal/MarketingModal.js.map +1 -1
  234. package/dist/Modal/ModalCloseButton.js +5 -6
  235. package/dist/Modal/ModalCloseButton.js.map +1 -1
  236. package/dist/Modal/ModalContext.js +6 -7
  237. package/dist/Modal/ModalContext.js.map +1 -1
  238. package/dist/Modal/ModalDialog.js +16 -17
  239. package/dist/Modal/ModalDialog.js.map +1 -1
  240. package/dist/Modal/ModalDialogBody.js +5 -6
  241. package/dist/Modal/ModalDialogBody.js.map +1 -1
  242. package/dist/Modal/ModalDialogFooter.js +5 -6
  243. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  244. package/dist/Modal/ModalDialogHeader.js +9 -12
  245. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  246. package/dist/Modal/ModalDialogHero.js +5 -6
  247. package/dist/Modal/ModalDialogHero.js.map +1 -1
  248. package/dist/Modal/ModalDialogHeroBackground.js +6 -7
  249. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  250. package/dist/Modal/ModalDialogHeroContent.js +5 -6
  251. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  252. package/dist/Modal/ModalDialogTitle.js +5 -6
  253. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  254. package/dist/Modal/ModalLayer.js +13 -16
  255. package/dist/Modal/ModalLayer.js.map +1 -1
  256. package/dist/Modal/ModalPopup.js +11 -12
  257. package/dist/Modal/ModalPopup.js.map +1 -1
  258. package/dist/Modal/PopperElement.js +7 -8
  259. package/dist/Modal/PopperElement.js.map +1 -1
  260. package/dist/Modal/StandardModal.js +7 -8
  261. package/dist/Modal/StandardModal.js.map +1 -1
  262. package/dist/OverflowScroll/OverflowScroll.js +12 -13
  263. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  264. package/dist/OverflowScroll/OverflowScrollItems.js +3 -4
  265. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  266. package/dist/Overlay/index.d.ts +2 -2
  267. package/dist/PageBanner/index.js +9 -10
  268. package/dist/PageBanner/index.js.map +1 -1
  269. package/dist/Pagination/PaginationContext.js +12 -13
  270. package/dist/Pagination/PaginationContext.js.map +1 -1
  271. package/dist/Pagination/subcomponents/PageButton.js +3 -4
  272. package/dist/Pagination/subcomponents/PageButton.js.map +1 -1
  273. package/dist/Popover/index.js +11 -14
  274. package/dist/Popover/index.js.map +1 -1
  275. package/dist/ProductTour/Checkpoint.js +12 -13
  276. package/dist/ProductTour/Checkpoint.js.map +1 -1
  277. package/dist/ProductTour/CheckpointActionRow.js +10 -11
  278. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  279. package/dist/ProductTour/CheckpointBody.js +3 -4
  280. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  281. package/dist/ProductTour/CheckpointHeader.js +7 -8
  282. package/dist/ProductTour/CheckpointHeader.js.map +1 -1
  283. package/dist/ProductTour/CheckpointTitle.js +6 -9
  284. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  285. package/dist/ProductTour/index.js +3 -4
  286. package/dist/ProductTour/index.js.map +1 -1
  287. package/dist/ProductTour/messages.d.ts +23 -0
  288. package/dist/ProductTour/messages.js +6 -7
  289. package/dist/ProductTour/messages.js.map +1 -0
  290. package/dist/ProgressBar/index.js +11 -12
  291. package/dist/ProgressBar/index.js.map +1 -1
  292. package/dist/ResponsiveEmbed/index.js.map +1 -1
  293. package/dist/Scrollable/index.js +4 -5
  294. package/dist/Scrollable/index.js.map +1 -1
  295. package/dist/SearchField/SearchFieldLabel.js +4 -5
  296. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  297. package/dist/SelectableBox/SelectableBoxSet.js +13 -14
  298. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  299. package/dist/SelectableBox/index.js +14 -15
  300. package/dist/SelectableBox/index.js.map +1 -1
  301. package/dist/Skeleton/index.js.map +1 -1
  302. package/dist/Spinner/index.js +5 -6
  303. package/dist/Spinner/index.js.map +1 -1
  304. package/dist/Stack/index.js +12 -15
  305. package/dist/Stack/index.js.map +1 -1
  306. package/dist/StatefulButton/index.js +9 -10
  307. package/dist/StatefulButton/index.js.map +1 -1
  308. package/dist/Stepper/Stepper.js +4 -5
  309. package/dist/Stepper/Stepper.js.map +1 -1
  310. package/dist/Stepper/StepperActionRow.js +6 -7
  311. package/dist/Stepper/StepperActionRow.js.map +1 -1
  312. package/dist/Stepper/StepperContext.js +4 -5
  313. package/dist/Stepper/StepperContext.js.map +1 -1
  314. package/dist/Stepper/StepperHeader.js +23 -31
  315. package/dist/Stepper/StepperHeader.js.map +1 -1
  316. package/dist/Stepper/StepperHeaderStep.js +8 -9
  317. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  318. package/dist/Stepper/StepperStep.js +10 -11
  319. package/dist/Stepper/StepperStep.js.map +1 -1
  320. package/dist/Sticky/index.js +8 -12
  321. package/dist/Sticky/index.js.map +1 -1
  322. package/dist/Tabs/index.js +8 -9
  323. package/dist/Tabs/index.js.map +1 -1
  324. package/dist/Toast/ToastContainer.js +3 -4
  325. package/dist/Toast/ToastContainer.js.map +1 -1
  326. package/dist/Toast/index.d.ts +20 -41
  327. package/dist/Toast/index.js +11 -48
  328. package/dist/Toast/index.js.map +1 -1
  329. package/dist/ToggleButton/index.js.map +1 -1
  330. package/dist/Tooltip/index.js +11 -14
  331. package/dist/Tooltip/index.js.map +1 -1
  332. package/dist/Truncate/index.js +9 -10
  333. package/dist/Truncate/index.js.map +1 -1
  334. package/dist/asInput/index.js +9 -13
  335. package/dist/asInput/index.js.map +1 -1
  336. package/dist/hooks/useArrowKeyNavigationHook.js +17 -21
  337. package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -1
  338. package/dist/hooks/useIsVisibleHook.js +4 -6
  339. package/dist/hooks/useIsVisibleHook.js.map +1 -1
  340. package/dist/hooks/useToggleHook.js +1 -3
  341. package/dist/hooks/useToggleHook.js.map +1 -1
  342. package/dist/index.d.ts +4 -4
  343. package/dist/index.js +4 -8
  344. package/dist/index.js.map +1 -1
  345. package/dist/utils/newId.js +1 -2
  346. package/dist/utils/newId.js.map +1 -1
  347. package/package.json +1 -1
  348. package/src/ActionRow/{index.jsx → index.tsx} +14 -22
  349. package/src/Annotation/{index.jsx → index.tsx} +15 -22
  350. package/src/Avatar/{index.jsx → index.tsx} +13 -19
  351. package/src/AvatarButton/{index.jsx → index.tsx} +23 -31
  352. package/src/Button/index.tsx +68 -93
  353. package/src/Chip/index.tsx +26 -59
  354. package/src/CloseButton/index.tsx +1 -0
  355. package/src/Collapse/index.tsx +1 -0
  356. package/src/Fade/index.tsx +1 -0
  357. package/src/Form/FormLabel.tsx +2 -10
  358. package/src/IconButton/index.tsx +17 -81
  359. package/src/Image/index.tsx +2 -0
  360. package/src/Media/index.tsx +1 -0
  361. package/src/Modal/modal-popup.mdx +1 -1
  362. package/src/ResponsiveEmbed/index.tsx +1 -0
  363. package/src/Skeleton/index.tsx +1 -0
  364. package/src/Toast/index.tsx +21 -40
  365. package/src/ToggleButton/index.tsx +2 -0
  366. package/src/index.ts +4 -8
  367. /package/{src/CloseButton/index.jsx → dist/CloseButton/index.d.ts} +0 -0
  368. /package/{src/Collapse/index.jsx → dist/Collapse/index.d.ts} +0 -0
  369. /package/{src/Fade/index.jsx → dist/Fade/index.d.ts} +0 -0
  370. /package/{src/Image/index.jsx → dist/Image/index.d.ts} +0 -0
  371. /package/{src/Media/index.jsx → dist/Media/index.d.ts} +0 -0
  372. /package/{src/ResponsiveEmbed/index.jsx → dist/ResponsiveEmbed/index.d.ts} +0 -0
  373. /package/{src/Skeleton/index.jsx → dist/Skeleton/index.d.ts} +0 -0
  374. /package/{src/ToggleButton/index.jsx → dist/ToggleButton/index.d.ts} +0 -0
  375. /package/src/Card/CardCarousel/{messages.js → messages.ts} +0 -0
  376. /package/src/ChipCarousel/{messages.js → messages.ts} +0 -0
  377. /package/src/DataTable/{messages.js → messages.ts} +0 -0
  378. /package/src/Dropzone/{messages.js → messages.ts} +0 -0
  379. /package/src/ProductTour/{messages.js → messages.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","DIRECTION_VARIANTS","Stack","_ref","ref","direction","gap","reversed","children","className","rest","createElement","propTypes","node","isRequired","oneOf","number","bool","string","defaultProps","undefined"],"sources":["../../src/Stack/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst DIRECTION_VARIANTS = [\n 'horizontal',\n 'vertical',\n];\n\nconst Stack = forwardRef(({\n direction,\n gap,\n reversed,\n children,\n className,\n ...rest\n}, ref) => (\n <div\n ref={ref}\n className={classNames(\n direction === 'horizontal' ? 'pgn__hstack' : 'pgn__vstack',\n gap ? `pgn__stack-gap--${gap}` : '',\n reversed ? 'pgn__stack-reversed' : '',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n));\n\nStack.propTypes = {\n /** Specifies the content of the `Stack`. */\n children: PropTypes.node.isRequired,\n /** Specifies direction of the children blocks (column/row). */\n direction: PropTypes.oneOf(DIRECTION_VARIANTS),\n /**\n * Specifies inner space between children blocks.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n gap: PropTypes.number,\n /** Specifies the order of the children. */\n reversed: PropTypes.bool,\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nStack.defaultProps = {\n direction: 'vertical',\n gap: 0,\n className: undefined,\n reversed: false,\n};\n\nexport default Stack;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,kBAAkB,GAAG,CACzB,YAAY,EACZ,UAAU,CACX;AAED,MAAMC,KAAK,gBAAGJ,UAAU,CAAC,CAAAK,IAAA,EAOtBC,GAAG;EAAA,IAPoB;IACxBC,SAAS;IACTC,GAAG;IACHC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAP,IAAA;EAAA,oBACCN,KAAA,CAAAc,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTK,SAAS,EAAET,UAAU,CACnBK,SAAS,KAAK,YAAY,GAAG,aAAa,GAAG,aAAa,EAC1DC,GAAG,GAAG,mBAAmBA,GAAG,EAAE,GAAG,EAAE,EACnCC,QAAQ,GAAG,qBAAqB,GAAG,EAAE,EACrCE,SACF,CAAE;IAAA,GACEC;EAAI,GAEPF,QACE,CAAC;AAAA,CACP,CAAC;AAEFN,KAAK,CAACU,SAAS,GAAG;EAChB;EACAJ,QAAQ,EAAET,SAAS,CAACc,IAAI,CAACC,UAAU;EACnC;EACAT,SAAS,EAAEN,SAAS,CAACgB,KAAK,CAACd,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;AACA;EACEK,GAAG,EAAEP,SAAS,CAACiB,MAAM;EACrB;EACAT,QAAQ,EAAER,SAAS,CAACkB,IAAI;EACxB;EACAR,SAAS,EAAEV,SAAS,CAACmB;AACvB,CAAC;AAEDhB,KAAK,CAACiB,YAAY,GAAG;EACnBd,SAAS,EAAE,UAAU;EACrBC,GAAG,EAAE,CAAC;EACNG,SAAS,EAAEW,SAAS;EACpBb,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeL,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","DIRECTION_VARIANTS","Stack","direction","gap","reversed","children","className","rest","ref","createElement","propTypes","node","isRequired","oneOf","number","bool","string","defaultProps","undefined"],"sources":["../../src/Stack/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst DIRECTION_VARIANTS = [\n 'horizontal',\n 'vertical',\n];\n\nconst Stack = forwardRef(({\n direction,\n gap,\n reversed,\n children,\n className,\n ...rest\n}, ref) => (\n <div\n ref={ref}\n className={classNames(\n direction === 'horizontal' ? 'pgn__hstack' : 'pgn__vstack',\n gap ? `pgn__stack-gap--${gap}` : '',\n reversed ? 'pgn__stack-reversed' : '',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n));\n\nStack.propTypes = {\n /** Specifies the content of the `Stack`. */\n children: PropTypes.node.isRequired,\n /** Specifies direction of the children blocks (column/row). */\n direction: PropTypes.oneOf(DIRECTION_VARIANTS),\n /**\n * Specifies inner space between children blocks.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n gap: PropTypes.number,\n /** Specifies the order of the children. */\n reversed: PropTypes.bool,\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nStack.defaultProps = {\n direction: 'vertical',\n gap: 0,\n className: undefined,\n reversed: false,\n};\n\nexport default Stack;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,kBAAkB,GAAG,CACzB,YAAY,EACZ,UAAU,CACX;AAED,MAAMC,KAAK,gBAAGJ,UAAU,CAAC,CAAC;EACxBK,SAAS;EACTC,GAAG;EACHC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACT,GAAGC;AACL,CAAC,EAAEC,GAAG,kBACJZ,KAAA,CAAAa,aAAA;EACED,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEP,UAAU,CACnBG,SAAS,KAAK,YAAY,GAAG,aAAa,GAAG,aAAa,EAC1DC,GAAG,GAAG,mBAAmBA,GAAG,EAAE,GAAG,EAAE,EACnCC,QAAQ,GAAG,qBAAqB,GAAG,EAAE,EACrCE,SACF,CAAE;EAAA,GACEC;AAAI,GAEPF,QACE,CACN,CAAC;AAEFJ,KAAK,CAACS,SAAS,GAAG;EAChB;EACAL,QAAQ,EAAEP,SAAS,CAACa,IAAI,CAACC,UAAU;EACnC;EACAV,SAAS,EAAEJ,SAAS,CAACe,KAAK,CAACb,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;AACA;EACEG,GAAG,EAAEL,SAAS,CAACgB,MAAM;EACrB;EACAV,QAAQ,EAAEN,SAAS,CAACiB,IAAI;EACxB;EACAT,SAAS,EAAER,SAAS,CAACkB;AACvB,CAAC;AAEDf,KAAK,CAACgB,YAAY,GAAG;EACnBf,SAAS,EAAE,UAAU;EACrBC,GAAG,EAAE,CAAC;EACNG,SAAS,EAAEY,SAAS;EACpBd,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,KAAK","ignoreList":[]}
@@ -4,16 +4,15 @@ import classNames from 'classnames';
4
4
  import { Cancel, CheckCircleOutline, SpinnerSimple } from '../../icons';
5
5
  import Button from '../Button';
6
6
  import Icon from '../Icon';
7
- function StatefulButton(_ref) {
8
- let {
9
- className,
10
- state,
11
- labels,
12
- icons,
13
- disabledStates,
14
- onClick,
15
- ...attributes
16
- } = _ref;
7
+ function StatefulButton({
8
+ className,
9
+ state,
10
+ labels,
11
+ icons,
12
+ disabledStates,
13
+ onClick,
14
+ ...attributes
15
+ }) {
17
16
  const isDisabled = disabledStates.indexOf(state) !== -1;
18
17
  const icon = icons[state] !== undefined ? icons[state] : icons.default;
19
18
  const label = labels[state] !== undefined ? labels[state] : labels.default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Cancel","CheckCircleOutline","SpinnerSimple","Button","Icon","StatefulButton","_ref","className","state","labels","icons","disabledStates","onClick","attributes","isDisabled","indexOf","icon","undefined","default","label","createElement","disabled","e","preventDefault","propTypes","string","objectOf","node","isRequired","arrayOf","func","defaultProps","pending","src","complete","error"],"sources":["../../src/StatefulButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Cancel, CheckCircleOutline, SpinnerSimple } from '../../icons';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\nfunction StatefulButton({\n className,\n state,\n labels,\n icons,\n disabledStates,\n onClick,\n ...attributes\n}) {\n const isDisabled = disabledStates.indexOf(state) !== -1;\n const icon = icons[state] !== undefined ? icons[state] : icons.default;\n const label = labels[state] !== undefined ? labels[state] : labels.default;\n\n return (\n <Button\n aria-live=\"assertive\"\n aria-disabled={isDisabled}\n className={classNames(\n 'pgn__stateful-btn',\n `pgn__stateful-btn-state-${state}`,\n className,\n { disabled: isDisabled },\n )}\n onClick={(e) => {\n // Swallow clicks if the button is disabled.\n // We do this instead of disabling the button to prevent\n // it from losing focus (disabled elements cannot have focus).\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(e);\n }\n }}\n {...attributes}\n >\n <span className=\"d-flex align-items-center justify-content-center\">\n {icon && <span className={classNames({ 'pgn__stateful-btn-icon': !!label })}>{icon}</span>}\n {label ? <span>{label}</span> : <span className=\"sr-only\">{state}</span>}\n </span>\n </Button>\n );\n}\n\nStatefulButton.propTypes = {\n className: PropTypes.string,\n /**\n * Each state has:\n * - A label (required)\n * - An icon\n * - an option to be disabled\n *\n * Control the state with the `state` prop. Example usage:\n *\n * ```jsx\n * <StatefulButton\n * state=\"pending\"\n * labels={{\n * default: 'Download',\n * pending: 'Downloading',\n * complete: 'Downloaded',\n * }}\n * icons={{\n * default: <Icon className=\"fa fa-download\" />,\n * pending: <Icon className=\"fa fa-spinner fa-spin\" />,\n * complete: <Icon className=\"fa fa-check\" />,\n * }}\n * disabledStates=['pending']\n * className='btn-primary mr-2'\n * />\n * ```\n */\n state: PropTypes.string,\n /** Required. Each state has a `label`. */\n labels: PropTypes.objectOf(PropTypes.node).isRequired,\n /** Required. Each state has an `icon`. */\n icons: PropTypes.objectOf(PropTypes.node),\n /** Required. Each state has a `disabledState` */\n disabledStates: PropTypes.arrayOf(PropTypes.string),\n /** Specifies the callback function when the button is clicked */\n onClick: PropTypes.func,\n};\n\nStatefulButton.defaultProps = {\n className: undefined,\n state: 'default',\n icons: {\n default: undefined,\n pending: <Icon src={SpinnerSimple} className={classNames('icon-spin')} />,\n complete: <Icon src={CheckCircleOutline} />,\n error: <Icon src={Cancel} />,\n },\n disabledStates: ['pending', 'complete'],\n onClick: undefined,\n};\n\nexport default StatefulButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Cancel","CheckCircleOutline","SpinnerSimple","Button","Icon","StatefulButton","className","state","labels","icons","disabledStates","onClick","attributes","isDisabled","indexOf","icon","undefined","default","label","createElement","disabled","e","preventDefault","propTypes","string","objectOf","node","isRequired","arrayOf","func","defaultProps","pending","src","complete","error"],"sources":["../../src/StatefulButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Cancel, CheckCircleOutline, SpinnerSimple } from '../../icons';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\nfunction StatefulButton({\n className,\n state,\n labels,\n icons,\n disabledStates,\n onClick,\n ...attributes\n}) {\n const isDisabled = disabledStates.indexOf(state) !== -1;\n const icon = icons[state] !== undefined ? icons[state] : icons.default;\n const label = labels[state] !== undefined ? labels[state] : labels.default;\n\n return (\n <Button\n aria-live=\"assertive\"\n aria-disabled={isDisabled}\n className={classNames(\n 'pgn__stateful-btn',\n `pgn__stateful-btn-state-${state}`,\n className,\n { disabled: isDisabled },\n )}\n onClick={(e) => {\n // Swallow clicks if the button is disabled.\n // We do this instead of disabling the button to prevent\n // it from losing focus (disabled elements cannot have focus).\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(e);\n }\n }}\n {...attributes}\n >\n <span className=\"d-flex align-items-center justify-content-center\">\n {icon && <span className={classNames({ 'pgn__stateful-btn-icon': !!label })}>{icon}</span>}\n {label ? <span>{label}</span> : <span className=\"sr-only\">{state}</span>}\n </span>\n </Button>\n );\n}\n\nStatefulButton.propTypes = {\n className: PropTypes.string,\n /**\n * Each state has:\n * - A label (required)\n * - An icon\n * - an option to be disabled\n *\n * Control the state with the `state` prop. Example usage:\n *\n * ```jsx\n * <StatefulButton\n * state=\"pending\"\n * labels={{\n * default: 'Download',\n * pending: 'Downloading',\n * complete: 'Downloaded',\n * }}\n * icons={{\n * default: <Icon className=\"fa fa-download\" />,\n * pending: <Icon className=\"fa fa-spinner fa-spin\" />,\n * complete: <Icon className=\"fa fa-check\" />,\n * }}\n * disabledStates=['pending']\n * className='btn-primary mr-2'\n * />\n * ```\n */\n state: PropTypes.string,\n /** Required. Each state has a `label`. */\n labels: PropTypes.objectOf(PropTypes.node).isRequired,\n /** Required. Each state has an `icon`. */\n icons: PropTypes.objectOf(PropTypes.node),\n /** Required. Each state has a `disabledState` */\n disabledStates: PropTypes.arrayOf(PropTypes.string),\n /** Specifies the callback function when the button is clicked */\n onClick: PropTypes.func,\n};\n\nStatefulButton.defaultProps = {\n className: undefined,\n state: 'default',\n icons: {\n default: undefined,\n pending: <Icon src={SpinnerSimple} className={classNames('icon-spin')} />,\n complete: <Icon src={CheckCircleOutline} />,\n error: <Icon src={Cancel} />,\n },\n disabledStates: ['pending', 'complete'],\n onClick: undefined,\n};\n\nexport default StatefulButton;\n"],"mappings":"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","ignoreList":[]}
@@ -4,11 +4,10 @@ import StepperStep from './StepperStep';
4
4
  import StepperHeader from './StepperHeader';
5
5
  import StepperActionRow from './StepperActionRow';
6
6
  import { StepperContextProvider } from './StepperContext';
7
- function Stepper(_ref) {
8
- let {
9
- children,
10
- activeKey
11
- } = _ref;
7
+ function Stepper({
8
+ children,
9
+ activeKey
10
+ }) {
12
11
  return /*#__PURE__*/React.createElement(StepperContextProvider, {
13
12
  activeKey: activeKey
14
13
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.js","names":["React","PropTypes","StepperStep","StepperHeader","StepperActionRow","StepperContextProvider","Stepper","_ref","children","activeKey","createElement","propTypes","node","isRequired","string","Step","Header","ActionRow"],"sources":["../../src/Stepper/Stepper.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport StepperStep from './StepperStep';\nimport StepperHeader from './StepperHeader';\nimport StepperActionRow from './StepperActionRow';\nimport { StepperContextProvider } from './StepperContext';\n\nfunction Stepper({ children, activeKey }) {\n return (\n <StepperContextProvider activeKey={activeKey}>\n {children}\n </StepperContextProvider>\n );\n}\n\nStepper.propTypes = {\n /**\n * Specifies the content of the `Stepper`.\n */\n children: PropTypes.node.isRequired,\n /**\n * The eventKey of the step to display.\n */\n activeKey: PropTypes.string.isRequired,\n};\n\nStepper.Step = StepperStep;\nStepper.Header = StepperHeader;\nStepper.ActionRow = StepperActionRow;\n\nexport default Stepper;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,sBAAsB,QAAQ,kBAAkB;AAEzD,SAASC,OAAOA,CAAAC,IAAA,EAA0B;EAAA,IAAzB;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAAAF,IAAA;EACtC,oBACEP,KAAA,CAAAU,aAAA,CAACL,sBAAsB;IAACI,SAAS,EAAEA;EAAU,GAC1CD,QACqB,CAAC;AAE7B;AAEAF,OAAO,CAACK,SAAS,GAAG;EAClB;AACF;AACA;EACEH,QAAQ,EAAEP,SAAS,CAACW,IAAI,CAACC,UAAU;EACnC;AACF;AACA;EACEJ,SAAS,EAAER,SAAS,CAACa,MAAM,CAACD;AAC9B,CAAC;AAEDP,OAAO,CAACS,IAAI,GAAGb,WAAW;AAC1BI,OAAO,CAACU,MAAM,GAAGb,aAAa;AAC9BG,OAAO,CAACW,SAAS,GAAGb,gBAAgB;AAEpC,eAAeE,OAAO","ignoreList":[]}
1
+ {"version":3,"file":"Stepper.js","names":["React","PropTypes","StepperStep","StepperHeader","StepperActionRow","StepperContextProvider","Stepper","children","activeKey","createElement","propTypes","node","isRequired","string","Step","Header","ActionRow"],"sources":["../../src/Stepper/Stepper.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport StepperStep from './StepperStep';\nimport StepperHeader from './StepperHeader';\nimport StepperActionRow from './StepperActionRow';\nimport { StepperContextProvider } from './StepperContext';\n\nfunction Stepper({ children, activeKey }) {\n return (\n <StepperContextProvider activeKey={activeKey}>\n {children}\n </StepperContextProvider>\n );\n}\n\nStepper.propTypes = {\n /**\n * Specifies the content of the `Stepper`.\n */\n children: PropTypes.node.isRequired,\n /**\n * The eventKey of the step to display.\n */\n activeKey: PropTypes.string.isRequired,\n};\n\nStepper.Step = StepperStep;\nStepper.Header = StepperHeader;\nStepper.ActionRow = StepperActionRow;\n\nexport default Stepper;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAM,eAAe;AACvC,OAAOC,aAAa,MAAM,iBAAiB;AAC3C,OAAOC,gBAAgB,MAAM,oBAAoB;AACjD,SAASC,sBAAsB,QAAQ,kBAAkB;AAEzD,SAASC,OAAOA,CAAC;EAAEC,QAAQ;EAAEC;AAAU,CAAC,EAAE;EACxC,oBACER,KAAA,CAAAS,aAAA,CAACJ,sBAAsB;IAACG,SAAS,EAAEA;EAAU,GAC1CD,QACqB,CAAC;AAE7B;AAEAD,OAAO,CAACI,SAAS,GAAG;EAClB;AACF;AACA;EACEH,QAAQ,EAAEN,SAAS,CAACU,IAAI,CAACC,UAAU;EACnC;AACF;AACA;EACEJ,SAAS,EAAEP,SAAS,CAACY,MAAM,CAACD;AAC9B,CAAC;AAEDN,OAAO,CAACQ,IAAI,GAAGZ,WAAW;AAC1BI,OAAO,CAACS,MAAM,GAAGZ,aAAa;AAC9BG,OAAO,CAACU,SAAS,GAAGZ,gBAAgB;AAEpC,eAAeE,OAAO","ignoreList":[]}
@@ -2,13 +2,12 @@ import React, { useContext } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { StepperContext } from './StepperContext';
4
4
  import ActionRow from '../ActionRow';
5
- function StepperActionRow(_ref) {
6
- let {
7
- as,
8
- children,
9
- eventKey,
10
- ...props
11
- } = _ref;
5
+ function StepperActionRow({
6
+ as,
7
+ children,
8
+ eventKey,
9
+ ...props
10
+ }) {
12
11
  const {
13
12
  activeKey
14
13
  } = useContext(StepperContext);
@@ -1 +1 @@
1
- {"version":3,"file":"StepperActionRow.js","names":["React","useContext","PropTypes","StepperContext","ActionRow","StepperActionRow","_ref","as","children","eventKey","props","activeKey","isActive","createElement","propTypes","node","isRequired","string","elementType","defaultProps","Spacer"],"sources":["../../src/Stepper/StepperActionRow.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { StepperContext } from './StepperContext';\nimport ActionRow from '../ActionRow';\n\nfunction StepperActionRow({\n as,\n children,\n eventKey,\n ...props\n}) {\n const { activeKey } = useContext(StepperContext);\n const isActive = activeKey === eventKey;\n\n if (!isActive) {\n return null;\n }\n\n return React.createElement(as, props, children);\n}\n\nStepperActionRow.propTypes = {\n /** Specifies the content of the `ActionRow`. */\n children: PropTypes.node.isRequired,\n /**\n * An identifier of the `ActionRow`. When `activeKey` on the\n * `Stepper` equals to the `eventKey`, the `ActionRow` will be displayed.\n */\n eventKey: PropTypes.string.isRequired,\n /** Specifies the base element */\n as: PropTypes.elementType,\n};\n\nStepperActionRow.defaultProps = {\n as: ActionRow,\n};\n\nStepperActionRow.Spacer = ActionRow.Spacer;\n\nexport default StepperActionRow;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,SAAS,MAAM,cAAc;AAEpC,SAASC,gBAAgBA,CAAAC,IAAA,EAKtB;EAAA,IALuB;IACxBC,EAAE;IACFC,QAAQ;IACRC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAJ,IAAA;EACC,MAAM;IAAEK;EAAU,CAAC,GAAGV,UAAU,CAACE,cAAc,CAAC;EAChD,MAAMS,QAAQ,GAAGD,SAAS,KAAKF,QAAQ;EAEvC,IAAI,CAACG,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBAAOZ,KAAK,CAACa,aAAa,CAACN,EAAE,EAAEG,KAAK,EAAEF,QAAQ,CAAC;AACjD;AAEAH,gBAAgB,CAACS,SAAS,GAAG;EAC3B;EACAN,QAAQ,EAAEN,SAAS,CAACa,IAAI,CAACC,UAAU;EACnC;AACF;AACA;AACA;EACEP,QAAQ,EAAEP,SAAS,CAACe,MAAM,CAACD,UAAU;EACrC;EACAT,EAAE,EAAEL,SAAS,CAACgB;AAChB,CAAC;AAEDb,gBAAgB,CAACc,YAAY,GAAG;EAC9BZ,EAAE,EAAEH;AACN,CAAC;AAEDC,gBAAgB,CAACe,MAAM,GAAGhB,SAAS,CAACgB,MAAM;AAE1C,eAAef,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"StepperActionRow.js","names":["React","useContext","PropTypes","StepperContext","ActionRow","StepperActionRow","as","children","eventKey","props","activeKey","isActive","createElement","propTypes","node","isRequired","string","elementType","defaultProps","Spacer"],"sources":["../../src/Stepper/StepperActionRow.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { StepperContext } from './StepperContext';\nimport ActionRow from '../ActionRow';\n\nfunction StepperActionRow({\n as,\n children,\n eventKey,\n ...props\n}) {\n const { activeKey } = useContext(StepperContext);\n const isActive = activeKey === eventKey;\n\n if (!isActive) {\n return null;\n }\n\n return React.createElement(as, props, children);\n}\n\nStepperActionRow.propTypes = {\n /** Specifies the content of the `ActionRow`. */\n children: PropTypes.node.isRequired,\n /**\n * An identifier of the `ActionRow`. When `activeKey` on the\n * `Stepper` equals to the `eventKey`, the `ActionRow` will be displayed.\n */\n eventKey: PropTypes.string.isRequired,\n /** Specifies the base element */\n as: PropTypes.elementType,\n};\n\nStepperActionRow.defaultProps = {\n as: ActionRow,\n};\n\nStepperActionRow.Spacer = ActionRow.Spacer;\n\nexport default StepperActionRow;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,SAAS,MAAM,cAAc;AAEpC,SAASC,gBAAgBA,CAAC;EACxBC,EAAE;EACFC,QAAQ;EACRC,QAAQ;EACR,GAAGC;AACL,CAAC,EAAE;EACD,MAAM;IAAEC;EAAU,CAAC,GAAGT,UAAU,CAACE,cAAc,CAAC;EAChD,MAAMQ,QAAQ,GAAGD,SAAS,KAAKF,QAAQ;EAEvC,IAAI,CAACG,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBAAOX,KAAK,CAACY,aAAa,CAACN,EAAE,EAAEG,KAAK,EAAEF,QAAQ,CAAC;AACjD;AAEAF,gBAAgB,CAACQ,SAAS,GAAG;EAC3B;EACAN,QAAQ,EAAEL,SAAS,CAACY,IAAI,CAACC,UAAU;EACnC;AACF;AACA;AACA;EACEP,QAAQ,EAAEN,SAAS,CAACc,MAAM,CAACD,UAAU;EACrC;EACAT,EAAE,EAAEJ,SAAS,CAACe;AAChB,CAAC;AAEDZ,gBAAgB,CAACa,YAAY,GAAG;EAC9BZ,EAAE,EAAEF;AACN,CAAC;AAEDC,gBAAgB,CAACc,MAAM,GAAGf,SAAS,CAACe,MAAM;AAE1C,eAAed,gBAAgB","ignoreList":[]}
@@ -29,11 +29,10 @@ const stepsReducer = (stepsState, action) => {
29
29
  return newStepsState;
30
30
  }
31
31
  };
32
- export function StepperContextProvider(_ref) {
33
- let {
34
- children,
35
- activeKey
36
- } = _ref;
32
+ export function StepperContextProvider({
33
+ children,
34
+ activeKey
35
+ }) {
37
36
  const [steps, dispatch] = useReducer(stepsReducer, []);
38
37
  const [currentBoundary, setCurrentBoundary] = useState(0);
39
38
  const registerStep = useCallback(step => dispatch({
@@ -1 +1 @@
1
- {"version":3,"file":"StepperContext.js","names":["React","useCallback","useEffect","useReducer","useState","PropTypes","StepperContext","createContext","activeKey","stepsReducer","stepsState","action","newStepsState","type","filter","step","eventKey","some","map","index","sort","a","b","StepperContextProvider","_ref","children","steps","dispatch","currentBoundary","setCurrentBoundary","registerStep","removeStep","getIsViewed","activeIndex","findIndex","prevState","createElement","Provider","value","propTypes","node","isRequired"],"sources":["../../src/Stepper/StepperContext.jsx"],"sourcesContent":["import React, {\n useCallback, useEffect, useReducer, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nexport const StepperContext = React.createContext({\n activeKey: '',\n});\n\nconst stepsReducer = (stepsState, action) => {\n let newStepsState = [];\n switch (action.type) {\n case 'remove':\n return stepsState.filter(step => step.eventKey !== action.eventKey);\n case 'register':\n default:\n // If it is existing step\n if (stepsState.some(step => step.eventKey === action.step.eventKey)) {\n newStepsState = stepsState.map(step => {\n if (step.eventKey === action.step.eventKey) {\n return action.step;\n }\n return step;\n });\n } else {\n newStepsState = [...stepsState, action.step];\n }\n\n // If using the index prop\n if (stepsState.some(step => step.index)) {\n return newStepsState.sort((a, b) => (\n a.index > b.index ? 1 : -1\n ));\n }\n return newStepsState;\n }\n};\n\nexport function StepperContextProvider({ children, activeKey }) {\n const [steps, dispatch] = useReducer(stepsReducer, []);\n const [currentBoundary, setCurrentBoundary] = useState(0);\n const registerStep = useCallback((step) => dispatch({ step, type: 'register' }), []);\n const removeStep = useCallback((eventKey) => dispatch({ eventKey, type: 'remove' }), []);\n\n const getIsViewed = (index) => index <= currentBoundary;\n\n useEffect(() => {\n const activeIndex = steps.findIndex(step => step.eventKey === activeKey);\n setCurrentBoundary((prevState) => (activeIndex >= prevState ? activeIndex : prevState));\n }, [activeKey, steps]);\n\n return (\n <StepperContext.Provider\n value={{\n activeKey,\n registerStep,\n steps,\n removeStep,\n getIsViewed,\n }}\n >\n {children}\n </StepperContext.Provider>\n );\n}\n\nStepperContextProvider.propTypes = {\n /** Specifies the content of the `ContextProvider`. */\n children: PropTypes.node.isRequired,\n /** Specifies the current step of the `Stepper`. */\n activeKey: PropTypes.node.isRequired,\n};\n\nexport { stepsReducer };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepperContext.js","names":["React","useCallback","useEffect","useReducer","useState","PropTypes","StepperContext","createContext","activeKey","stepsReducer","stepsState","action","newStepsState","type","filter","step","eventKey","some","map","index","sort","a","b","StepperContextProvider","children","steps","dispatch","currentBoundary","setCurrentBoundary","registerStep","removeStep","getIsViewed","activeIndex","findIndex","prevState","createElement","Provider","value","propTypes","node","isRequired"],"sources":["../../src/Stepper/StepperContext.jsx"],"sourcesContent":["import React, {\n useCallback, useEffect, useReducer, useState,\n} from 'react';\nimport PropTypes from 'prop-types';\n\nexport const StepperContext = React.createContext({\n activeKey: '',\n});\n\nconst stepsReducer = (stepsState, action) => {\n let newStepsState = [];\n switch (action.type) {\n case 'remove':\n return stepsState.filter(step => step.eventKey !== action.eventKey);\n case 'register':\n default:\n // If it is existing step\n if (stepsState.some(step => step.eventKey === action.step.eventKey)) {\n newStepsState = stepsState.map(step => {\n if (step.eventKey === action.step.eventKey) {\n return action.step;\n }\n return step;\n });\n } else {\n newStepsState = [...stepsState, action.step];\n }\n\n // If using the index prop\n if (stepsState.some(step => step.index)) {\n return newStepsState.sort((a, b) => (\n a.index > b.index ? 1 : -1\n ));\n }\n return newStepsState;\n }\n};\n\nexport function StepperContextProvider({ children, activeKey }) {\n const [steps, dispatch] = useReducer(stepsReducer, []);\n const [currentBoundary, setCurrentBoundary] = useState(0);\n const registerStep = useCallback((step) => dispatch({ step, type: 'register' }), []);\n const removeStep = useCallback((eventKey) => dispatch({ eventKey, type: 'remove' }), []);\n\n const getIsViewed = (index) => index <= currentBoundary;\n\n useEffect(() => {\n const activeIndex = steps.findIndex(step => step.eventKey === activeKey);\n setCurrentBoundary((prevState) => (activeIndex >= prevState ? activeIndex : prevState));\n }, [activeKey, steps]);\n\n return (\n <StepperContext.Provider\n value={{\n activeKey,\n registerStep,\n steps,\n removeStep,\n getIsViewed,\n }}\n >\n {children}\n </StepperContext.Provider>\n );\n}\n\nStepperContextProvider.propTypes = {\n /** Specifies the content of the `ContextProvider`. */\n children: PropTypes.node.isRequired,\n /** Specifies the current step of the `Stepper`. */\n activeKey: PropTypes.node.isRequired,\n};\n\nexport { stepsReducer };\n"],"mappings":"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","ignoreList":[]}
@@ -11,40 +11,32 @@ function StepListSeparator() {
11
11
  className: "pgn__stepper-header-line"
12
12
  });
13
13
  }
14
- function StepList(_ref) {
15
- let {
16
- steps,
17
- activeKey
18
- } = _ref;
14
+ function StepList({
15
+ steps,
16
+ activeKey
17
+ }) {
19
18
  return /*#__PURE__*/React.createElement("ul", {
20
19
  className: "pgn__stepper-header-step-list"
21
- }, steps.map((_ref2, index) => {
22
- let {
23
- label,
24
- ...stepProps
25
- } = _ref2;
26
- return /*#__PURE__*/React.createElement(React.Fragment, {
27
- key: stepProps.eventKey
28
- }, index !== 0 && /*#__PURE__*/React.createElement(StepListSeparator, null), /*#__PURE__*/React.createElement(StepperHeaderStep, {
29
- ...stepProps,
30
- index: index,
31
- isActive: activeKey === stepProps.eventKey
32
- }, label));
33
- }));
20
+ }, steps.map(({
21
+ label,
22
+ ...stepProps
23
+ }, index) => /*#__PURE__*/React.createElement(React.Fragment, {
24
+ key: stepProps.eventKey
25
+ }, index !== 0 && /*#__PURE__*/React.createElement(StepListSeparator, null), /*#__PURE__*/React.createElement(StepperHeaderStep, {
26
+ ...stepProps,
27
+ index: index,
28
+ isActive: activeKey === stepProps.eventKey
29
+ }, label))));
34
30
  }
35
- const PageCount = _ref3 => {
36
- let {
37
- activeStepIndex,
38
- totalSteps
39
- } = _ref3;
40
- return `Step ${activeStepIndex + 1} of ${totalSteps}`;
41
- };
42
- function StepperHeader(_ref4) {
43
- let {
44
- className,
45
- PageCountComponent,
46
- compactWidth
47
- } = _ref4;
31
+ const PageCount = ({
32
+ activeStepIndex,
33
+ totalSteps
34
+ }) => `Step ${activeStepIndex + 1} of ${totalSteps}`;
35
+ function StepperHeader({
36
+ className,
37
+ PageCountComponent,
38
+ compactWidth
39
+ }) {
48
40
  const {
49
41
  steps,
50
42
  activeKey
@@ -1 +1 @@
1
- {"version":3,"file":"StepperHeader.js","names":["React","useContext","PropTypes","classNames","StepperHeaderStep","StepperContext","useWindowSize","breakpoints","Size","StepListSeparator","createElement","className","StepList","_ref","steps","activeKey","map","_ref2","index","label","stepProps","Fragment","key","eventKey","isActive","PageCount","_ref3","activeStepIndex","totalSteps","StepperHeader","_ref4","PageCountComponent","compactWidth","windowDimensions","size","breakpointWidth","maxWidth","Infinity","isCompactView","width","findIndex","step","activeStep","length","propTypes","string","elementType","oneOf","defaultProps","arrayOf","shape","title","description","hasError","bool","isRequired","Step"],"sources":["../../src/Stepper/StepperHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport StepperHeaderStep from './StepperHeaderStep';\nimport { StepperContext } from './StepperContext';\nimport useWindowSize from '../hooks/useWindowSizeHook';\nimport breakpoints, { Size } from '../utils/breakpoints';\n\nfunction StepListSeparator() {\n return <li aria-hidden=\"true\" className=\"pgn__stepper-header-line\" />;\n}\n\nfunction StepList({ steps, activeKey }) {\n return (\n <ul className=\"pgn__stepper-header-step-list\">\n {steps.map(({ label, ...stepProps }, index) => (\n <React.Fragment key={stepProps.eventKey}>\n {index !== 0 && <StepListSeparator />}\n <StepperHeaderStep\n {...stepProps}\n index={index}\n isActive={activeKey === stepProps.eventKey}\n >\n {label}\n </StepperHeaderStep>\n </React.Fragment>\n ))}\n </ul>\n );\n}\n\nconst PageCount = ({ activeStepIndex, totalSteps }) => `Step ${activeStepIndex + 1} of ${totalSteps}`;\n\nfunction StepperHeader({ className, PageCountComponent, compactWidth }) {\n const { steps, activeKey } = useContext(StepperContext);\n const windowDimensions = useWindowSize();\n const size = Size[compactWidth] || 'small';\n const breakpointWidth = breakpoints[size].maxWidth || Infinity;\n const isCompactView = windowDimensions.width < breakpointWidth;\n\n if (isCompactView) {\n const activeStepIndex = steps.findIndex(step => step.eventKey === activeKey);\n const activeStep = steps[activeStepIndex];\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepperHeaderStep\n {...activeStep}\n index={activeStepIndex}\n isActive\n />\n <div className=\"flex-grow-1\" />\n <div>\n <PageCountComponent\n activeStepIndex={activeStepIndex}\n totalSteps={steps.length}\n />\n </div>\n </div>\n );\n }\n\n // Show all steps\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepList steps={steps} activeKey={activeKey} />\n </div>\n );\n}\n\nStepperHeader.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A component that receives `activeStepIndex` and `totalSteps` props to display them. */\n PageCountComponent: PropTypes.elementType,\n /** The max width in which the compact view of the header will switch to display the step number that is\n * currently in progress. Options include 'xs', 'sm', 'md', 'lg', 'xl', and 'xxl'.\n */\n compactWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n};\n\nStepperHeader.defaultProps = {\n className: null,\n PageCountComponent: PageCount,\n compactWidth: 'sm',\n};\n\nStepList.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape({\n eventKey: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n hasError: PropTypes.bool,\n })),\n activeKey: PropTypes.string.isRequired,\n};\n\nStepList.defaultProps = {\n steps: [],\n};\n\nStepperHeader.Step = StepperHeaderStep;\n\nexport default StepperHeader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepperHeader.js","names":["React","useContext","PropTypes","classNames","StepperHeaderStep","StepperContext","useWindowSize","breakpoints","Size","StepListSeparator","createElement","className","StepList","steps","activeKey","map","label","stepProps","index","Fragment","key","eventKey","isActive","PageCount","activeStepIndex","totalSteps","StepperHeader","PageCountComponent","compactWidth","windowDimensions","size","breakpointWidth","maxWidth","Infinity","isCompactView","width","findIndex","step","activeStep","length","propTypes","string","elementType","oneOf","defaultProps","arrayOf","shape","title","description","hasError","bool","isRequired","Step"],"sources":["../../src/Stepper/StepperHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport StepperHeaderStep from './StepperHeaderStep';\nimport { StepperContext } from './StepperContext';\nimport useWindowSize from '../hooks/useWindowSizeHook';\nimport breakpoints, { Size } from '../utils/breakpoints';\n\nfunction StepListSeparator() {\n return <li aria-hidden=\"true\" className=\"pgn__stepper-header-line\" />;\n}\n\nfunction StepList({ steps, activeKey }) {\n return (\n <ul className=\"pgn__stepper-header-step-list\">\n {steps.map(({ label, ...stepProps }, index) => (\n <React.Fragment key={stepProps.eventKey}>\n {index !== 0 && <StepListSeparator />}\n <StepperHeaderStep\n {...stepProps}\n index={index}\n isActive={activeKey === stepProps.eventKey}\n >\n {label}\n </StepperHeaderStep>\n </React.Fragment>\n ))}\n </ul>\n );\n}\n\nconst PageCount = ({ activeStepIndex, totalSteps }) => `Step ${activeStepIndex + 1} of ${totalSteps}`;\n\nfunction StepperHeader({ className, PageCountComponent, compactWidth }) {\n const { steps, activeKey } = useContext(StepperContext);\n const windowDimensions = useWindowSize();\n const size = Size[compactWidth] || 'small';\n const breakpointWidth = breakpoints[size].maxWidth || Infinity;\n const isCompactView = windowDimensions.width < breakpointWidth;\n\n if (isCompactView) {\n const activeStepIndex = steps.findIndex(step => step.eventKey === activeKey);\n const activeStep = steps[activeStepIndex];\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepperHeaderStep\n {...activeStep}\n index={activeStepIndex}\n isActive\n />\n <div className=\"flex-grow-1\" />\n <div>\n <PageCountComponent\n activeStepIndex={activeStepIndex}\n totalSteps={steps.length}\n />\n </div>\n </div>\n );\n }\n\n // Show all steps\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepList steps={steps} activeKey={activeKey} />\n </div>\n );\n}\n\nStepperHeader.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A component that receives `activeStepIndex` and `totalSteps` props to display them. */\n PageCountComponent: PropTypes.elementType,\n /** The max width in which the compact view of the header will switch to display the step number that is\n * currently in progress. Options include 'xs', 'sm', 'md', 'lg', 'xl', and 'xxl'.\n */\n compactWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n};\n\nStepperHeader.defaultProps = {\n className: null,\n PageCountComponent: PageCount,\n compactWidth: 'sm',\n};\n\nStepList.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape({\n eventKey: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n hasError: PropTypes.bool,\n })),\n activeKey: PropTypes.string.isRequired,\n};\n\nStepList.defaultProps = {\n steps: [],\n};\n\nStepperHeader.Step = StepperHeaderStep;\n\nexport default StepperHeader;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,iBAAiB,MAAM,qBAAqB;AACnD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,OAAOC,aAAa,MAAM,4BAA4B;AACtD,OAAOC,WAAW,IAAIC,IAAI,QAAQ,sBAAsB;AAExD,SAASC,iBAAiBA,CAAA,EAAG;EAC3B,oBAAOT,KAAA,CAAAU,aAAA;IAAI,eAAY,MAAM;IAACC,SAAS,EAAC;EAA0B,CAAE,CAAC;AACvE;AAEA,SAASC,QAAQA,CAAC;EAAEC,KAAK;EAAEC;AAAU,CAAC,EAAE;EACtC,oBACEd,KAAA,CAAAU,aAAA;IAAIC,SAAS,EAAC;EAA+B,GAC1CE,KAAK,CAACE,GAAG,CAAC,CAAC;IAAEC,KAAK;IAAE,GAAGC;EAAU,CAAC,EAAEC,KAAK,kBACxClB,KAAA,CAAAU,aAAA,CAACV,KAAK,CAACmB,QAAQ;IAACC,GAAG,EAAEH,SAAS,CAACI;EAAS,GACrCH,KAAK,KAAK,CAAC,iBAAIlB,KAAA,CAAAU,aAAA,CAACD,iBAAiB,MAAE,CAAC,eACrCT,KAAA,CAAAU,aAAA,CAACN,iBAAiB;IAAA,GACZa,SAAS;IACbC,KAAK,EAAEA,KAAM;IACbI,QAAQ,EAAER,SAAS,KAAKG,SAAS,CAACI;EAAS,GAE1CL,KACgB,CACL,CACjB,CACC,CAAC;AAET;AAEA,MAAMO,SAAS,GAAGA,CAAC;EAAEC,eAAe;EAAEC;AAAW,CAAC,KAAK,QAAQD,eAAe,GAAG,CAAC,OAAOC,UAAU,EAAE;AAErG,SAASC,aAAaA,CAAC;EAAEf,SAAS;EAAEgB,kBAAkB;EAAEC;AAAa,CAAC,EAAE;EACtE,MAAM;IAAEf,KAAK;IAAEC;EAAU,CAAC,GAAGb,UAAU,CAACI,cAAc,CAAC;EACvD,MAAMwB,gBAAgB,GAAGvB,aAAa,CAAC,CAAC;EACxC,MAAMwB,IAAI,GAAGtB,IAAI,CAACoB,YAAY,CAAC,IAAI,OAAO;EAC1C,MAAMG,eAAe,GAAGxB,WAAW,CAACuB,IAAI,CAAC,CAACE,QAAQ,IAAIC,QAAQ;EAC9D,MAAMC,aAAa,GAAGL,gBAAgB,CAACM,KAAK,GAAGJ,eAAe;EAE9D,IAAIG,aAAa,EAAE;IACjB,MAAMV,eAAe,GAAGX,KAAK,CAACuB,SAAS,CAACC,IAAI,IAAIA,IAAI,CAAChB,QAAQ,KAAKP,SAAS,CAAC;IAC5E,MAAMwB,UAAU,GAAGzB,KAAK,CAACW,eAAe,CAAC;IACzC,oBACExB,KAAA,CAAAU,aAAA;MAAKC,SAAS,EAAER,UAAU,CAAC,qBAAqB,EAAEQ,SAAS;IAAE,gBAC3DX,KAAA,CAAAU,aAAA,CAACN,iBAAiB;MAAA,GACZkC,UAAU;MACdpB,KAAK,EAAEM,eAAgB;MACvBF,QAAQ;IAAA,CACT,CAAC,eACFtB,KAAA,CAAAU,aAAA;MAAKC,SAAS,EAAC;IAAa,CAAE,CAAC,eAC/BX,KAAA,CAAAU,aAAA,2BACEV,KAAA,CAAAU,aAAA,CAACiB,kBAAkB;MACjBH,eAAe,EAAEA,eAAgB;MACjCC,UAAU,EAAEZ,KAAK,CAAC0B;IAAO,CAC1B,CACE,CACF,CAAC;EAEV;;EAEA;EACA,oBACEvC,KAAA,CAAAU,aAAA;IAAKC,SAAS,EAAER,UAAU,CAAC,qBAAqB,EAAEQ,SAAS;EAAE,gBAC3DX,KAAA,CAAAU,aAAA,CAACE,QAAQ;IAACC,KAAK,EAAEA,KAAM;IAACC,SAAS,EAAEA;EAAU,CAAE,CAC5C,CAAC;AAEV;AAEAY,aAAa,CAACc,SAAS,GAAG;EACxB;EACA7B,SAAS,EAAET,SAAS,CAACuC,MAAM;EAC3B;EACAd,kBAAkB,EAAEzB,SAAS,CAACwC,WAAW;EACzC;AACF;AACA;EACEd,YAAY,EAAE1B,SAAS,CAACyC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;AACrE,CAAC;AAEDjB,aAAa,CAACkB,YAAY,GAAG;EAC3BjC,SAAS,EAAE,IAAI;EACfgB,kBAAkB,EAAEJ,SAAS;EAC7BK,YAAY,EAAE;AAChB,CAAC;AAEDhB,QAAQ,CAAC4B,SAAS,GAAG;EACnB3B,KAAK,EAAEX,SAAS,CAAC2C,OAAO,CAAC3C,SAAS,CAAC4C,KAAK,CAAC;IACvCzB,QAAQ,EAAEnB,SAAS,CAACuC,MAAM;IAC1BM,KAAK,EAAE7C,SAAS,CAACuC,MAAM;IACvBO,WAAW,EAAE9C,SAAS,CAACuC,MAAM;IAC7BQ,QAAQ,EAAE/C,SAAS,CAACgD;EACtB,CAAC,CAAC,CAAC;EACHpC,SAAS,EAAEZ,SAAS,CAACuC,MAAM,CAACU;AAC9B,CAAC;AAEDvC,QAAQ,CAACgC,YAAY,GAAG;EACtB/B,KAAK,EAAE;AACT,CAAC;AAEDa,aAAa,CAAC0B,IAAI,GAAGhD,iBAAiB;AAEtC,eAAesB,aAAa","ignoreList":[]}
@@ -5,15 +5,14 @@ import { Check, Error } from '../../icons';
5
5
  import { StepperContext } from './StepperContext';
6
6
  import Icon from '../Icon';
7
7
  import Bubble from '../Bubble';
8
- function StepperHeaderStep(_ref) {
9
- let {
10
- title,
11
- isActive,
12
- hasError,
13
- description,
14
- index,
15
- onClick
16
- } = _ref;
8
+ function StepperHeaderStep({
9
+ title,
10
+ isActive,
11
+ hasError,
12
+ description,
13
+ index,
14
+ onClick
15
+ }) {
17
16
  const {
18
17
  getIsViewed
19
18
  } = useContext(StepperContext);
@@ -1 +1 @@
1
- {"version":3,"file":"StepperHeaderStep.js","names":["React","useContext","PropTypes","classNames","Check","Error","StepperContext","Icon","Bubble","StepperHeaderStep","_ref","title","isActive","hasError","description","index","onClick","getIsViewed","isComplete","isViewed","stepIcon","createElement","src","errorIcon","isClickable","type","className","onKeyPress","variant","disabled","propTypes","number","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperHeaderStep.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Check, Error } from '../../icons';\nimport { StepperContext } from './StepperContext';\nimport Icon from '../Icon';\nimport Bubble from '../Bubble';\n\nfunction StepperHeaderStep({\n title,\n isActive,\n hasError,\n description,\n index,\n onClick,\n}) {\n const { getIsViewed } = useContext(StepperContext);\n const isComplete = getIsViewed(index + 1);\n const isViewed = getIsViewed(index);\n const stepIcon = isComplete ? <Icon src={Check} /> : <span>{index + 1}</span>;\n const errorIcon = <Icon src={Error} data-testid=\"step-error\" />;\n const isClickable = onClick && isViewed && !isActive;\n\n if (isClickable) {\n return (\n <button\n type=\"button\"\n aria-label={`${title} step`}\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n onClick={onClick}\n onKeyPress={onClick}\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </button>\n );\n }\n\n return (\n <li\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-active': isActive,\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n data-testid=\"step\"\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled={!isActive}>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </li>\n );\n}\n\nStepperHeaderStep.propTypes = {\n /** A number that will be display in the icon of the `HeaderStep`. */\n index: PropTypes.number.isRequired,\n /** A text of the `HeaderStep`. */\n title: PropTypes.string.isRequired,\n /** Specifies that this `HeaderStep` is active. */\n isActive: PropTypes.bool,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Callback fired when element gets clicked. */\n onClick: PropTypes.func,\n};\n\nStepperHeaderStep.defaultProps = {\n isActive: false,\n hasError: false,\n description: undefined,\n onClick: undefined,\n};\n\nexport default StepperHeaderStep;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepperHeaderStep.js","names":["React","useContext","PropTypes","classNames","Check","Error","StepperContext","Icon","Bubble","StepperHeaderStep","title","isActive","hasError","description","index","onClick","getIsViewed","isComplete","isViewed","stepIcon","createElement","src","errorIcon","isClickable","type","className","onKeyPress","variant","disabled","propTypes","number","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperHeaderStep.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Check, Error } from '../../icons';\nimport { StepperContext } from './StepperContext';\nimport Icon from '../Icon';\nimport Bubble from '../Bubble';\n\nfunction StepperHeaderStep({\n title,\n isActive,\n hasError,\n description,\n index,\n onClick,\n}) {\n const { getIsViewed } = useContext(StepperContext);\n const isComplete = getIsViewed(index + 1);\n const isViewed = getIsViewed(index);\n const stepIcon = isComplete ? <Icon src={Check} /> : <span>{index + 1}</span>;\n const errorIcon = <Icon src={Error} data-testid=\"step-error\" />;\n const isClickable = onClick && isViewed && !isActive;\n\n if (isClickable) {\n return (\n <button\n type=\"button\"\n aria-label={`${title} step`}\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n onClick={onClick}\n onKeyPress={onClick}\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </button>\n );\n }\n\n return (\n <li\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-active': isActive,\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n data-testid=\"step\"\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled={!isActive}>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </li>\n );\n}\n\nStepperHeaderStep.propTypes = {\n /** A number that will be display in the icon of the `HeaderStep`. */\n index: PropTypes.number.isRequired,\n /** A text of the `HeaderStep`. */\n title: PropTypes.string.isRequired,\n /** Specifies that this `HeaderStep` is active. */\n isActive: PropTypes.bool,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Callback fired when element gets clicked. */\n onClick: PropTypes.func,\n};\n\nStepperHeaderStep.defaultProps = {\n isActive: false,\n hasError: false,\n description: undefined,\n onClick: undefined,\n};\n\nexport default StepperHeaderStep;\n"],"mappings":"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","ignoreList":[]}
@@ -2,17 +2,16 @@ import React, { useContext, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import { StepperContext } from './StepperContext';
5
- export default function StepperStep(_ref) {
6
- let {
7
- children,
8
- eventKey,
9
- className,
10
- title,
11
- index,
12
- description,
13
- hasError,
14
- onClick
15
- } = _ref;
5
+ export default function StepperStep({
6
+ children,
7
+ eventKey,
8
+ className,
9
+ title,
10
+ index,
11
+ description,
12
+ hasError,
13
+ onClick
14
+ }) {
16
15
  const {
17
16
  activeKey,
18
17
  registerStep,
@@ -1 +1 @@
1
- {"version":3,"file":"StepperStep.js","names":["React","useContext","useEffect","PropTypes","classNames","StepperContext","StepperStep","_ref","children","eventKey","className","title","index","description","hasError","onClick","activeKey","registerStep","removeStep","isActive","createElement","propTypes","node","isRequired","string","bool","number","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperStep.jsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { StepperContext } from './StepperContext';\n\nexport default function StepperStep({\n children,\n eventKey,\n className,\n title,\n index,\n description,\n hasError,\n onClick,\n}) {\n const { activeKey, registerStep, removeStep } = useContext(StepperContext);\n\n useEffect(() => {\n registerStep({\n title,\n index,\n eventKey,\n description,\n hasError,\n onClick,\n });\n return () => removeStep(eventKey);\n }, [title, eventKey, description, hasError, index, registerStep, removeStep, onClick]);\n\n const isActive = activeKey === eventKey;\n\n if (!isActive) {\n return null;\n }\n\n return (\n <div className={classNames('pgn__stepper-step', className)}>\n {children}\n </div>\n );\n}\n\nStepperStep.propTypes = {\n /** Specifies the content of the `Step`. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /**\n * An identifier of the `Step`. When `activeKey` on the\n * `Stepper` equals to the `eventKey`, the `Step` will be displayed.\n */\n eventKey: PropTypes.string.isRequired,\n /** A text of the `Step`. */\n title: PropTypes.string.isRequired,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /**\n * Position of the `Step`, only required if adding error state\n * or conditionally rendering steps.\n * */\n index: PropTypes.number,\n /**\n * Click handler for the `Step`. Takes effect only after the `Step` has been visited, making it clickable\n * and invoking this function on click. Should be used to provide navigation between steps.\n */\n onClick: PropTypes.func,\n};\n\nStepperStep.defaultProps = {\n className: undefined,\n description: undefined,\n hasError: false,\n index: undefined,\n onClick: undefined,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AACpD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,eAAe,SAASC,WAAWA,CAAAC,IAAA,EAShC;EAAA,IATiC;IAClCC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACTC,KAAK;IACLC,KAAK;IACLC,WAAW;IACXC,QAAQ;IACRC;EACF,CAAC,GAAAR,IAAA;EACC,MAAM;IAAES,SAAS;IAAEC,YAAY;IAAEC;EAAW,CAAC,GAAGjB,UAAU,CAACI,cAAc,CAAC;EAE1EH,SAAS,CAAC,MAAM;IACde,YAAY,CAAC;MACXN,KAAK;MACLC,KAAK;MACLH,QAAQ;MACRI,WAAW;MACXC,QAAQ;MACRC;IACF,CAAC,CAAC;IACF,OAAO,MAAMG,UAAU,CAACT,QAAQ,CAAC;EACnC,CAAC,EAAE,CAACE,KAAK,EAAEF,QAAQ,EAAEI,WAAW,EAAEC,QAAQ,EAAEF,KAAK,EAAEK,YAAY,EAAEC,UAAU,EAAEH,OAAO,CAAC,CAAC;EAEtF,MAAMI,QAAQ,GAAGH,SAAS,KAAKP,QAAQ;EAEvC,IAAI,CAACU,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBACEnB,KAAA,CAAAoB,aAAA;IAAKV,SAAS,EAAEN,UAAU,CAAC,mBAAmB,EAAEM,SAAS;EAAE,GACxDF,QACE,CAAC;AAEV;AAEAF,WAAW,CAACe,SAAS,GAAG;EACtB;EACAb,QAAQ,EAAEL,SAAS,CAACmB,IAAI,CAACC,UAAU;EACnC;EACAb,SAAS,EAAEP,SAAS,CAACqB,MAAM;EAC3B;AACF;AACA;AACA;EACEf,QAAQ,EAAEN,SAAS,CAACqB,MAAM,CAACD,UAAU;EACrC;EACAZ,KAAK,EAAER,SAAS,CAACqB,MAAM,CAACD,UAAU;EAClC;EACAV,WAAW,EAAEV,SAAS,CAACqB,MAAM;EAC7B;EACAV,QAAQ,EAAEX,SAAS,CAACsB,IAAI;EACxB;AACF;AACA;AACA;EACEb,KAAK,EAAET,SAAS,CAACuB,MAAM;EACvB;AACF;AACA;AACA;EACEX,OAAO,EAAEZ,SAAS,CAACwB;AACrB,CAAC;AAEDrB,WAAW,CAACsB,YAAY,GAAG;EACzBlB,SAAS,EAAEmB,SAAS;EACpBhB,WAAW,EAAEgB,SAAS;EACtBf,QAAQ,EAAE,KAAK;EACfF,KAAK,EAAEiB,SAAS;EAChBd,OAAO,EAAEc;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"StepperStep.js","names":["React","useContext","useEffect","PropTypes","classNames","StepperContext","StepperStep","children","eventKey","className","title","index","description","hasError","onClick","activeKey","registerStep","removeStep","isActive","createElement","propTypes","node","isRequired","string","bool","number","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperStep.jsx"],"sourcesContent":["import React, { useContext, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { StepperContext } from './StepperContext';\n\nexport default function StepperStep({\n children,\n eventKey,\n className,\n title,\n index,\n description,\n hasError,\n onClick,\n}) {\n const { activeKey, registerStep, removeStep } = useContext(StepperContext);\n\n useEffect(() => {\n registerStep({\n title,\n index,\n eventKey,\n description,\n hasError,\n onClick,\n });\n return () => removeStep(eventKey);\n }, [title, eventKey, description, hasError, index, registerStep, removeStep, onClick]);\n\n const isActive = activeKey === eventKey;\n\n if (!isActive) {\n return null;\n }\n\n return (\n <div className={classNames('pgn__stepper-step', className)}>\n {children}\n </div>\n );\n}\n\nStepperStep.propTypes = {\n /** Specifies the content of the `Step`. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /**\n * An identifier of the `Step`. When `activeKey` on the\n * `Stepper` equals to the `eventKey`, the `Step` will be displayed.\n */\n eventKey: PropTypes.string.isRequired,\n /** A text of the `Step`. */\n title: PropTypes.string.isRequired,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /**\n * Position of the `Step`, only required if adding error state\n * or conditionally rendering steps.\n * */\n index: PropTypes.number,\n /**\n * Click handler for the `Step`. Takes effect only after the `Step` has been visited, making it clickable\n * and invoking this function on click. Should be used to provide navigation between steps.\n */\n onClick: PropTypes.func,\n};\n\nStepperStep.defaultProps = {\n className: undefined,\n description: undefined,\n hasError: false,\n index: undefined,\n onClick: undefined,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,EAAEC,SAAS,QAAQ,OAAO;AACpD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,cAAc,QAAQ,kBAAkB;AAEjD,eAAe,SAASC,WAAWA,CAAC;EAClCC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC,WAAW;EACXC,QAAQ;EACRC;AACF,CAAC,EAAE;EACD,MAAM;IAAEC,SAAS;IAAEC,YAAY;IAAEC;EAAW,CAAC,GAAGhB,UAAU,CAACI,cAAc,CAAC;EAE1EH,SAAS,CAAC,MAAM;IACdc,YAAY,CAAC;MACXN,KAAK;MACLC,KAAK;MACLH,QAAQ;MACRI,WAAW;MACXC,QAAQ;MACRC;IACF,CAAC,CAAC;IACF,OAAO,MAAMG,UAAU,CAACT,QAAQ,CAAC;EACnC,CAAC,EAAE,CAACE,KAAK,EAAEF,QAAQ,EAAEI,WAAW,EAAEC,QAAQ,EAAEF,KAAK,EAAEK,YAAY,EAAEC,UAAU,EAAEH,OAAO,CAAC,CAAC;EAEtF,MAAMI,QAAQ,GAAGH,SAAS,KAAKP,QAAQ;EAEvC,IAAI,CAACU,QAAQ,EAAE;IACb,OAAO,IAAI;EACb;EAEA,oBACElB,KAAA,CAAAmB,aAAA;IAAKV,SAAS,EAAEL,UAAU,CAAC,mBAAmB,EAAEK,SAAS;EAAE,GACxDF,QACE,CAAC;AAEV;AAEAD,WAAW,CAACc,SAAS,GAAG;EACtB;EACAb,QAAQ,EAAEJ,SAAS,CAACkB,IAAI,CAACC,UAAU;EACnC;EACAb,SAAS,EAAEN,SAAS,CAACoB,MAAM;EAC3B;AACF;AACA;AACA;EACEf,QAAQ,EAAEL,SAAS,CAACoB,MAAM,CAACD,UAAU;EACrC;EACAZ,KAAK,EAAEP,SAAS,CAACoB,MAAM,CAACD,UAAU;EAClC;EACAV,WAAW,EAAET,SAAS,CAACoB,MAAM;EAC7B;EACAV,QAAQ,EAAEV,SAAS,CAACqB,IAAI;EACxB;AACF;AACA;AACA;EACEb,KAAK,EAAER,SAAS,CAACsB,MAAM;EACvB;AACF;AACA;AACA;EACEX,OAAO,EAAEX,SAAS,CAACuB;AACrB,CAAC;AAEDpB,WAAW,CAACqB,YAAY,GAAG;EACzBlB,SAAS,EAAEmB,SAAS;EACpBhB,WAAW,EAAEgB,SAAS;EACtBf,QAAQ,EAAE,KAAK;EACfF,KAAK,EAAEiB,SAAS;EAChBd,OAAO,EAAEc;AACX,CAAC","ignoreList":[]}
@@ -2,14 +2,13 @@ import React, { useLayoutEffect, useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  const POSITION_VARIANTS = ['top', 'bottom'];
5
- const Sticky = /*#__PURE__*/React.forwardRef((_ref, ref) => {
6
- let {
7
- position,
8
- children,
9
- offset,
10
- className,
11
- ...rest
12
- } = _ref;
5
+ const Sticky = /*#__PURE__*/React.forwardRef(({
6
+ position,
7
+ children,
8
+ offset,
9
+ className,
10
+ ...rest
11
+ }, ref) => {
13
12
  const [isSticky, setIsSticky] = useState(false);
14
13
  const defaultRef = React.useRef();
15
14
  const resolvedRef = ref || defaultRef;
@@ -26,10 +25,7 @@ const Sticky = /*#__PURE__*/React.forwardRef((_ref, ref) => {
26
25
  // 1 pixel above/bellow + offset pixels that determines
27
26
  // when callback function is called
28
27
  const elementWithOffset = 1 + (parseInt(elementOffset, 10) || 0);
29
- const observer = new IntersectionObserver(_ref2 => {
30
- let [entry] = _ref2;
31
- return setIsSticky(entry.intersectionRatio < 1);
32
- }, {
28
+ const observer = new IntersectionObserver(([entry]) => setIsSticky(entry.intersectionRatio < 1), {
33
29
  threshold: [1],
34
30
  rootMargin: position === 'bottom' ? `0px 0px -${elementWithOffset}px 0px` : `-${elementWithOffset}px 0px 0px 0px`
35
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useLayoutEffect","useState","PropTypes","classNames","POSITION_VARIANTS","Sticky","forwardRef","_ref","ref","position","children","offset","className","rest","isSticky","setIsSticky","defaultRef","useRef","resolvedRef","current","stickyElement","elementStyles","window","getComputedStyle","elementOffset","elementWithOffset","parseInt","observer","IntersectionObserver","_ref2","entry","intersectionRatio","threshold","rootMargin","observe","unobserve","createElement","propTypes","node","isRequired","oneOf","oneOfType","number","string","defaultProps","undefined"],"sources":["../../src/Sticky/index.jsx"],"sourcesContent":["import React, { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst POSITION_VARIANTS = [\n 'top',\n 'bottom',\n];\n\nconst Sticky = React.forwardRef(({\n position,\n children,\n offset,\n className,\n ...rest\n}, ref) => {\n const [isSticky, setIsSticky] = useState(false);\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (resolvedRef.current) {\n const stickyElement = resolvedRef.current;\n // getComputedStyle is used to get real top/bottom\n // values on the page for proper shadows display\n const elementStyles = window.getComputedStyle(stickyElement);\n const elementOffset = elementStyles[position || 'top'];\n // Margin calculations according to the offset.\n // 1 pixel above/bellow + offset pixels that determines\n // when callback function is called\n const elementWithOffset = 1 + (parseInt(elementOffset, 10) || 0);\n const observer = new IntersectionObserver(\n ([entry]) => setIsSticky(entry.intersectionRatio < 1),\n {\n threshold: [1],\n rootMargin: position === 'bottom'\n ? `0px 0px -${elementWithOffset}px 0px`\n : `-${elementWithOffset}px 0px 0px 0px`,\n },\n );\n observer.observe(stickyElement);\n\n return () => {\n observer.unobserve(stickyElement);\n };\n }\n }, [position, resolvedRef]);\n\n return (\n <div\n className={classNames(\n 'pgn__sticky',\n `pgn__sticky-${position || 'top'}`,\n offset ? `pgn__sticky-offset--${offset}` : '',\n { 'pgn__sticky-shadow': isSticky },\n className,\n )}\n ref={resolvedRef}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nSticky.propTypes = {\n /** Specifies content of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies position of the element. */\n position: PropTypes.oneOf(POSITION_VARIANTS),\n /**\n * Specifies offset from top/bottom depending on the `position` property.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nSticky.defaultProps = {\n position: 'top',\n offset: undefined,\n className: undefined,\n};\n\nexport default Sticky;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,iBAAiB,GAAG,CACxB,KAAK,EACL,QAAQ,CACT;AAED,MAAMC,MAAM,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAAAC,IAAA,EAM7BC,GAAG,KAAK;EAAA,IANsB;IAC/BC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAN,IAAA;EACC,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMe,UAAU,GAAGjB,KAAK,CAACkB,MAAM,CAAC,CAAC;EACjC,MAAMC,WAAW,GAAGV,GAAG,IAAIQ,UAAU;;EAErC;EACAhB,eAAe,CAAC,MAAM;IACpB,IAAIkB,WAAW,CAACC,OAAO,EAAE;MACvB,MAAMC,aAAa,GAAGF,WAAW,CAACC,OAAO;MACzC;MACA;MACA,MAAME,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACH,aAAa,CAAC;MAC5D,MAAMI,aAAa,GAAGH,aAAa,CAACZ,QAAQ,IAAI,KAAK,CAAC;MACtD;MACA;MACA;MACA,MAAMgB,iBAAiB,GAAG,CAAC,IAAIC,QAAQ,CAACF,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;MAChE,MAAMG,QAAQ,GAAG,IAAIC,oBAAoB,CACvCC,KAAA;QAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;QAAA,OAAKd,WAAW,CAACe,KAAK,CAACC,iBAAiB,GAAG,CAAC,CAAC;MAAA,GACrD;QACEC,SAAS,EAAE,CAAC,CAAC,CAAC;QACdC,UAAU,EAAExB,QAAQ,KAAK,QAAQ,GAC7B,YAAYgB,iBAAiB,QAAQ,GACrC,IAAIA,iBAAiB;MAC3B,CACF,CAAC;MACDE,QAAQ,CAACO,OAAO,CAACd,aAAa,CAAC;MAE/B,OAAO,MAAM;QACXO,QAAQ,CAACQ,SAAS,CAACf,aAAa,CAAC;MACnC,CAAC;IACH;EACF,CAAC,EAAE,CAACX,QAAQ,EAAES,WAAW,CAAC,CAAC;EAE3B,oBACEnB,KAAA,CAAAqC,aAAA;IACExB,SAAS,EAAET,UAAU,CACnB,aAAa,EACb,eAAeM,QAAQ,IAAI,KAAK,EAAE,EAClCE,MAAM,GAAG,uBAAuBA,MAAM,EAAE,GAAG,EAAE,EAC7C;MAAE,oBAAoB,EAAEG;IAAS,CAAC,EAClCF,SACF,CAAE;IACFJ,GAAG,EAAEU,WAAY;IAAA,GACbL;EAAI,GAEPH,QACE,CAAC;AAEV,CAAC,CAAC;AAEFL,MAAM,CAACgC,SAAS,GAAG;EACjB;EACA3B,QAAQ,EAAER,SAAS,CAACoC,IAAI,CAACC,UAAU;EACnC;EACA9B,QAAQ,EAAEP,SAAS,CAACsC,KAAK,CAACpC,iBAAiB,CAAC;EAC5C;AACF;AACA;AACA;AACA;AACA;EACEO,MAAM,EAAET,SAAS,CAACuC,SAAS,CAAC,CAACvC,SAAS,CAACwC,MAAM,EAAExC,SAAS,CAACyC,MAAM,CAAC,CAAC;EACjE;EACA/B,SAAS,EAAEV,SAAS,CAACyC;AACvB,CAAC;AAEDtC,MAAM,CAACuC,YAAY,GAAG;EACpBnC,QAAQ,EAAE,KAAK;EACfE,MAAM,EAAEkC,SAAS;EACjBjC,SAAS,EAAEiC;AACb,CAAC;AAED,eAAexC,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useLayoutEffect","useState","PropTypes","classNames","POSITION_VARIANTS","Sticky","forwardRef","position","children","offset","className","rest","ref","isSticky","setIsSticky","defaultRef","useRef","resolvedRef","current","stickyElement","elementStyles","window","getComputedStyle","elementOffset","elementWithOffset","parseInt","observer","IntersectionObserver","entry","intersectionRatio","threshold","rootMargin","observe","unobserve","createElement","propTypes","node","isRequired","oneOf","oneOfType","number","string","defaultProps","undefined"],"sources":["../../src/Sticky/index.jsx"],"sourcesContent":["import React, { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst POSITION_VARIANTS = [\n 'top',\n 'bottom',\n];\n\nconst Sticky = React.forwardRef(({\n position,\n children,\n offset,\n className,\n ...rest\n}, ref) => {\n const [isSticky, setIsSticky] = useState(false);\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (resolvedRef.current) {\n const stickyElement = resolvedRef.current;\n // getComputedStyle is used to get real top/bottom\n // values on the page for proper shadows display\n const elementStyles = window.getComputedStyle(stickyElement);\n const elementOffset = elementStyles[position || 'top'];\n // Margin calculations according to the offset.\n // 1 pixel above/bellow + offset pixels that determines\n // when callback function is called\n const elementWithOffset = 1 + (parseInt(elementOffset, 10) || 0);\n const observer = new IntersectionObserver(\n ([entry]) => setIsSticky(entry.intersectionRatio < 1),\n {\n threshold: [1],\n rootMargin: position === 'bottom'\n ? `0px 0px -${elementWithOffset}px 0px`\n : `-${elementWithOffset}px 0px 0px 0px`,\n },\n );\n observer.observe(stickyElement);\n\n return () => {\n observer.unobserve(stickyElement);\n };\n }\n }, [position, resolvedRef]);\n\n return (\n <div\n className={classNames(\n 'pgn__sticky',\n `pgn__sticky-${position || 'top'}`,\n offset ? `pgn__sticky-offset--${offset}` : '',\n { 'pgn__sticky-shadow': isSticky },\n className,\n )}\n ref={resolvedRef}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nSticky.propTypes = {\n /** Specifies content of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies position of the element. */\n position: PropTypes.oneOf(POSITION_VARIANTS),\n /**\n * Specifies offset from top/bottom depending on the `position` property.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nSticky.defaultProps = {\n position: 'top',\n offset: undefined,\n className: undefined,\n};\n\nexport default Sticky;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,iBAAiB,GAAG,CACxB,KAAK,EACL,QAAQ,CACT;AAED,MAAMC,MAAM,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAAC;EAC/BC,QAAQ;EACRC,QAAQ;EACRC,MAAM;EACNC,SAAS;EACT,GAAGC;AACL,CAAC,EAAEC,GAAG,KAAK;EACT,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAGb,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMc,UAAU,GAAGhB,KAAK,CAACiB,MAAM,CAAC,CAAC;EACjC,MAAMC,WAAW,GAAGL,GAAG,IAAIG,UAAU;;EAErC;EACAf,eAAe,CAAC,MAAM;IACpB,IAAIiB,WAAW,CAACC,OAAO,EAAE;MACvB,MAAMC,aAAa,GAAGF,WAAW,CAACC,OAAO;MACzC;MACA;MACA,MAAME,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACH,aAAa,CAAC;MAC5D,MAAMI,aAAa,GAAGH,aAAa,CAACb,QAAQ,IAAI,KAAK,CAAC;MACtD;MACA;MACA;MACA,MAAMiB,iBAAiB,GAAG,CAAC,IAAIC,QAAQ,CAACF,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;MAChE,MAAMG,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,CAAC,CAACC,KAAK,CAAC,KAAKd,WAAW,CAACc,KAAK,CAACC,iBAAiB,GAAG,CAAC,CAAC,EACrD;QACEC,SAAS,EAAE,CAAC,CAAC,CAAC;QACdC,UAAU,EAAExB,QAAQ,KAAK,QAAQ,GAC7B,YAAYiB,iBAAiB,QAAQ,GACrC,IAAIA,iBAAiB;MAC3B,CACF,CAAC;MACDE,QAAQ,CAACM,OAAO,CAACb,aAAa,CAAC;MAE/B,OAAO,MAAM;QACXO,QAAQ,CAACO,SAAS,CAACd,aAAa,CAAC;MACnC,CAAC;IACH;EACF,CAAC,EAAE,CAACZ,QAAQ,EAAEU,WAAW,CAAC,CAAC;EAE3B,oBACElB,KAAA,CAAAmC,aAAA;IACExB,SAAS,EAAEP,UAAU,CACnB,aAAa,EACb,eAAeI,QAAQ,IAAI,KAAK,EAAE,EAClCE,MAAM,GAAG,uBAAuBA,MAAM,EAAE,GAAG,EAAE,EAC7C;MAAE,oBAAoB,EAAEI;IAAS,CAAC,EAClCH,SACF,CAAE;IACFE,GAAG,EAAEK,WAAY;IAAA,GACbN;EAAI,GAEPH,QACE,CAAC;AAEV,CAAC,CAAC;AAEFH,MAAM,CAAC8B,SAAS,GAAG;EACjB;EACA3B,QAAQ,EAAEN,SAAS,CAACkC,IAAI,CAACC,UAAU;EACnC;EACA9B,QAAQ,EAAEL,SAAS,CAACoC,KAAK,CAAClC,iBAAiB,CAAC;EAC5C;AACF;AACA;AACA;AACA;AACA;EACEK,MAAM,EAAEP,SAAS,CAACqC,SAAS,CAAC,CAACrC,SAAS,CAACsC,MAAM,EAAEtC,SAAS,CAACuC,MAAM,CAAC,CAAC;EACjE;EACA/B,SAAS,EAAER,SAAS,CAACuC;AACvB,CAAC;AAEDpC,MAAM,CAACqC,YAAY,GAAG;EACpBnC,QAAQ,EAAE,KAAK;EACfE,MAAM,EAAEkC,SAAS;EACjBjC,SAAS,EAAEiC;AACb,CAAC;AAED,eAAetC,MAAM","ignoreList":[]}
@@ -7,15 +7,14 @@ import Dropdown from '../Dropdown';
7
7
  import useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChildHook';
8
8
  import Tab from './Tab';
9
9
  export const MORE_TAB_TEXT = 'More...';
10
- function Tabs(_ref) {
11
- let {
12
- children,
13
- className,
14
- moreTabText = MORE_TAB_TEXT,
15
- defaultActiveKey,
16
- activeKey,
17
- ...props
18
- } = _ref;
10
+ function Tabs({
11
+ children,
12
+ className,
13
+ moreTabText = MORE_TAB_TEXT,
14
+ defaultActiveKey,
15
+ activeKey,
16
+ ...props
17
+ }) {
19
18
  const [containerElementRef, setContainerElementRef] = useState(null);
20
19
  const overflowElementRef = useRef(null);
21
20
  const indexOfLastVisibleChild = useIndexOfLastVisibleChild(containerElementRef?.firstChild, overflowElementRef.current?.parentNode);
@@ -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":[]}