@openedx/paragon 21.12.0 → 21.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (467) hide show
  1. package/dist/ActionRow/index.js +7 -8
  2. package/dist/ActionRow/index.js.map +1 -1
  3. package/dist/Alert/index.js +33 -25
  4. package/dist/Alert/index.js.map +1 -1
  5. package/dist/Annotation/index.js +7 -9
  6. package/dist/Annotation/index.js.map +1 -1
  7. package/dist/Avatar/index.js +5 -7
  8. package/dist/Avatar/index.js.map +1 -1
  9. package/dist/AvatarButton/index.js +10 -12
  10. package/dist/AvatarButton/index.js.map +1 -1
  11. package/dist/Badge/index.js +6 -4
  12. package/dist/Badge/index.js.map +1 -1
  13. package/dist/Breadcrumb/BreadcrumbLink.js +11 -14
  14. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  15. package/dist/Breadcrumb/index.js +29 -29
  16. package/dist/Breadcrumb/index.js.map +1 -1
  17. package/dist/Bubble/index.js +11 -13
  18. package/dist/Bubble/index.js.map +1 -1
  19. package/dist/Button/deprecated/index.js +87 -66
  20. package/dist/Button/deprecated/index.js.map +1 -1
  21. package/dist/Button/index.js +10 -11
  22. package/dist/Button/index.js.map +1 -1
  23. package/dist/Card/CardBody.js +4 -6
  24. package/dist/Card/CardBody.js.map +1 -1
  25. package/dist/Card/CardCarousel/CardCarousel.js +11 -13
  26. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  27. package/dist/Card/CardCarousel/CardCarouselControls.js +6 -7
  28. package/dist/Card/CardCarousel/CardCarouselControls.js.map +1 -1
  29. package/dist/Card/CardCarousel/CardCarouselHeader.js +9 -12
  30. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  31. package/dist/Card/CardCarousel/CardCarouselItems.js +6 -9
  32. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  33. package/dist/Card/CardCarousel/CardCarouselProvider.js +27 -28
  34. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  35. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +4 -6
  36. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  37. package/dist/Card/CardCarousel/CardCarouselTitle.js +4 -6
  38. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  39. package/dist/Card/CardContext.js +8 -10
  40. package/dist/Card/CardContext.js.map +1 -1
  41. package/dist/Card/CardDeck.js +19 -17
  42. package/dist/Card/CardDeck.js.map +1 -1
  43. package/dist/Card/CardDivider.js +3 -5
  44. package/dist/Card/CardDivider.js.map +1 -1
  45. package/dist/Card/CardFooter.js +15 -18
  46. package/dist/Card/CardFooter.js.map +1 -1
  47. package/dist/Card/CardGrid.js +13 -11
  48. package/dist/Card/CardGrid.js.map +1 -1
  49. package/dist/Card/CardHeader.js +17 -22
  50. package/dist/Card/CardHeader.js.map +1 -1
  51. package/dist/Card/CardImageCap.js +48 -33
  52. package/dist/Card/CardImageCap.js.map +1 -1
  53. package/dist/Card/CardSection.js +11 -14
  54. package/dist/Card/CardSection.js.map +1 -1
  55. package/dist/Card/CardStatus.js +11 -14
  56. package/dist/Card/CardStatus.js.map +1 -1
  57. package/dist/Card/index.js +18 -20
  58. package/dist/Card/index.js.map +1 -1
  59. package/dist/Carousel/index.js +17 -11
  60. package/dist/Carousel/index.js.map +1 -1
  61. package/dist/CheckBox/index.js +66 -36
  62. package/dist/CheckBox/index.js.map +1 -1
  63. package/dist/Chip/index.js +14 -16
  64. package/dist/Chip/index.js.map +1 -1
  65. package/dist/ChipCarousel/index.js +29 -30
  66. package/dist/ChipCarousel/index.js.map +1 -1
  67. package/dist/Collapsible/CollapsibleAdvanced.js +82 -62
  68. package/dist/Collapsible/CollapsibleAdvanced.js.map +1 -1
  69. package/dist/Collapsible/CollapsibleBody.js +13 -15
  70. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  71. package/dist/Collapsible/CollapsibleTrigger.js +18 -20
  72. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  73. package/dist/Collapsible/CollapsibleVisible.js +6 -9
  74. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  75. package/dist/Collapsible/index.js +17 -18
  76. package/dist/Collapsible/index.js.map +1 -1
  77. package/dist/ColorPicker/index.js +58 -33
  78. package/dist/ColorPicker/index.js.map +1 -1
  79. package/dist/Container/index.js +14 -11
  80. package/dist/Container/index.js.map +1 -1
  81. package/dist/DataTable/ActionDisplay.js +8 -9
  82. package/dist/DataTable/ActionDisplay.js.map +1 -1
  83. package/dist/DataTable/BulkActions.js +23 -20
  84. package/dist/DataTable/BulkActions.js.map +1 -1
  85. package/dist/DataTable/CardView.js +46 -43
  86. package/dist/DataTable/CardView.js.map +1 -1
  87. package/dist/DataTable/CollapsibleButtonGroup.js +57 -39
  88. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  89. package/dist/DataTable/DataTableContext.js +1 -1
  90. package/dist/DataTable/DataTableContext.js.map +1 -1
  91. package/dist/DataTable/DataTableLayout.js +6 -9
  92. package/dist/DataTable/DataTableLayout.js.map +1 -1
  93. package/dist/DataTable/DataViewToggle.js +25 -20
  94. package/dist/DataTable/DataViewToggle.js.map +1 -1
  95. package/dist/DataTable/DropdownFilters.js +41 -28
  96. package/dist/DataTable/DropdownFilters.js.map +1 -1
  97. package/dist/DataTable/EmptyTable.js +6 -9
  98. package/dist/DataTable/EmptyTable.js.map +1 -1
  99. package/dist/DataTable/ExpandAll.js +2 -4
  100. package/dist/DataTable/ExpandAll.js.map +1 -1
  101. package/dist/DataTable/ExpandRow.js +2 -4
  102. package/dist/DataTable/ExpandRow.js.map +1 -1
  103. package/dist/DataTable/FilterStatus.js +18 -17
  104. package/dist/DataTable/FilterStatus.js.map +1 -1
  105. package/dist/DataTable/RowStatus.js +15 -18
  106. package/dist/DataTable/RowStatus.js.map +1 -1
  107. package/dist/DataTable/SidebarFilters.js +16 -13
  108. package/dist/DataTable/SidebarFilters.js.map +1 -1
  109. package/dist/DataTable/SmartStatus.js +14 -16
  110. package/dist/DataTable/SmartStatus.js.map +1 -1
  111. package/dist/DataTable/Table.js +17 -19
  112. package/dist/DataTable/Table.js.map +1 -1
  113. package/dist/DataTable/TableActions.js +11 -13
  114. package/dist/DataTable/TableActions.js.map +1 -1
  115. package/dist/DataTable/TableCell.js +6 -10
  116. package/dist/DataTable/TableCell.js.map +1 -1
  117. package/dist/DataTable/TableControlBar.js +7 -12
  118. package/dist/DataTable/TableControlBar.js.map +1 -1
  119. package/dist/DataTable/TableFilters.js +14 -12
  120. package/dist/DataTable/TableFilters.js.map +1 -1
  121. package/dist/DataTable/TableFooter.js +5 -8
  122. package/dist/DataTable/TableFooter.js.map +1 -1
  123. package/dist/DataTable/TableHeaderCell.js +11 -15
  124. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  125. package/dist/DataTable/TableHeaderRow.js +6 -4
  126. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  127. package/dist/DataTable/TablePagination.js +8 -7
  128. package/dist/DataTable/TablePagination.js.map +1 -1
  129. package/dist/DataTable/TablePaginationMinimal.js +9 -8
  130. package/dist/DataTable/TablePaginationMinimal.js.map +1 -1
  131. package/dist/DataTable/TableRow.js +15 -18
  132. package/dist/DataTable/TableRow.js.map +1 -1
  133. package/dist/DataTable/filters/CheckboxFilter.js +23 -22
  134. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  135. package/dist/DataTable/filters/DropdownFilter.js +14 -19
  136. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  137. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +19 -20
  138. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  139. package/dist/DataTable/filters/TextFilter.js +10 -13
  140. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  141. package/dist/DataTable/hooks.js +29 -25
  142. package/dist/DataTable/hooks.js.map +1 -1
  143. package/dist/DataTable/index.js +120 -104
  144. package/dist/DataTable/index.js.map +1 -1
  145. package/dist/DataTable/selection/BaseSelectionStatus.js +29 -31
  146. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  147. package/dist/DataTable/selection/ControlledSelect.js +13 -9
  148. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  149. package/dist/DataTable/selection/ControlledSelectHeader.js +19 -15
  150. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  151. package/dist/DataTable/selection/ControlledSelectionStatus.js +34 -24
  152. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  153. package/dist/DataTable/selection/SelectionStatus.js +23 -23
  154. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  155. package/dist/DataTable/utils/getVisibleColumns.js +36 -44
  156. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  157. package/dist/Dropdown/deprecated/DropdownButton.js +9 -13
  158. package/dist/Dropdown/deprecated/DropdownButton.js.map +1 -1
  159. package/dist/Dropdown/deprecated/DropdownItem.js +7 -8
  160. package/dist/Dropdown/deprecated/DropdownItem.js.map +1 -1
  161. package/dist/Dropdown/deprecated/DropdownMenu.js +8 -12
  162. package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -1
  163. package/dist/Dropdown/deprecated/index.js +136 -103
  164. package/dist/Dropdown/deprecated/index.js.map +1 -1
  165. package/dist/Dropdown/index.js +32 -29
  166. package/dist/Dropdown/index.js.map +1 -1
  167. package/dist/Dropzone/DefaultContent.js +13 -13
  168. package/dist/Dropzone/DefaultContent.js.map +1 -1
  169. package/dist/Dropzone/DragError.js +1 -3
  170. package/dist/Dropzone/DragError.js.map +1 -1
  171. package/dist/Dropzone/GenericError.js +7 -7
  172. package/dist/Dropzone/GenericError.js.map +1 -1
  173. package/dist/Dropzone/UploadProgress.js +6 -8
  174. package/dist/Dropzone/UploadProgress.js.map +1 -1
  175. package/dist/Dropzone/index.js +145 -86
  176. package/dist/Dropzone/index.js.map +1 -1
  177. package/dist/Fieldset/index.js +82 -57
  178. package/dist/Fieldset/index.js.map +1 -1
  179. package/dist/Form/FormAutosuggest.js +137 -95
  180. package/dist/Form/FormAutosuggest.js.map +1 -1
  181. package/dist/Form/FormAutosuggestOption.js +4 -6
  182. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  183. package/dist/Form/FormCheckbox.js +35 -42
  184. package/dist/Form/FormCheckbox.js.map +1 -1
  185. package/dist/Form/FormCheckboxSet.js +13 -16
  186. package/dist/Form/FormCheckboxSet.js.map +1 -1
  187. package/dist/Form/FormCheckboxSetContext.js +39 -34
  188. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  189. package/dist/Form/FormControl.js +41 -35
  190. package/dist/Form/FormControl.js.map +1 -1
  191. package/dist/Form/FormControlDecorator.js +3 -5
  192. package/dist/Form/FormControlDecorator.js.map +1 -1
  193. package/dist/Form/FormControlDecoratorGroup.js +8 -10
  194. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  195. package/dist/Form/FormControlFeedback.js +12 -15
  196. package/dist/Form/FormControlFeedback.js.map +1 -1
  197. package/dist/Form/FormControlFloatingLabel.js +3 -6
  198. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  199. package/dist/Form/FormControlSet.js +8 -9
  200. package/dist/Form/FormControlSet.js.map +1 -1
  201. package/dist/Form/FormGroup.js +11 -12
  202. package/dist/Form/FormGroup.js.map +1 -1
  203. package/dist/Form/FormGroupContext.js +64 -39
  204. package/dist/Form/FormGroupContext.js.map +1 -1
  205. package/dist/Form/FormLabel.js +15 -17
  206. package/dist/Form/FormLabel.js.map +1 -1
  207. package/dist/Form/FormRadio.js +19 -22
  208. package/dist/Form/FormRadio.js.map +1 -1
  209. package/dist/Form/FormRadioSet.js +13 -16
  210. package/dist/Form/FormRadioSet.js.map +1 -1
  211. package/dist/Form/FormRadioSetContext.js +39 -34
  212. package/dist/Form/FormRadioSetContext.js.map +1 -1
  213. package/dist/Form/FormSwitch.js +19 -20
  214. package/dist/Form/FormSwitch.js.map +1 -1
  215. package/dist/Form/FormText.js +20 -29
  216. package/dist/Form/FormText.js.map +1 -1
  217. package/dist/Form/useCheckboxSetValues.js +46 -23
  218. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  219. package/dist/Hyperlink/index.js +32 -31
  220. package/dist/Hyperlink/index.js.map +1 -1
  221. package/dist/Hyperlink/index.scss +2 -2
  222. package/dist/Icon/index.js +38 -30
  223. package/dist/Icon/index.js.map +1 -1
  224. package/dist/IconButton/index.js +31 -33
  225. package/dist/IconButton/index.js.map +1 -1
  226. package/dist/IconButtonToggle/index.js +16 -16
  227. package/dist/IconButtonToggle/index.js.map +1 -1
  228. package/dist/Input/index.js +122 -92
  229. package/dist/Input/index.js.map +1 -1
  230. package/dist/InputSelect/index.js +78 -51
  231. package/dist/InputSelect/index.js.map +1 -1
  232. package/dist/InputText/index.js +11 -9
  233. package/dist/InputText/index.js.map +1 -1
  234. package/dist/Layout/index.js +33 -29
  235. package/dist/Layout/index.js.map +1 -1
  236. package/dist/ListBox/index.js +112 -80
  237. package/dist/ListBox/index.js.map +1 -1
  238. package/dist/ListBoxOption/index.js +68 -45
  239. package/dist/ListBoxOption/index.js.map +1 -1
  240. package/dist/MailtoLink/index.js +37 -34
  241. package/dist/MailtoLink/index.js.map +1 -1
  242. package/dist/Menu/MenuItem.js +13 -14
  243. package/dist/Menu/MenuItem.js.map +1 -1
  244. package/dist/Menu/SelectMenu.js +68 -44
  245. package/dist/Menu/SelectMenu.js.map +1 -1
  246. package/dist/Menu/index.js +10 -11
  247. package/dist/Menu/index.js.map +1 -1
  248. package/dist/Modal/AlertModal.js +5 -7
  249. package/dist/Modal/AlertModal.js.map +1 -1
  250. package/dist/Modal/FullscreenModal.js +6 -8
  251. package/dist/Modal/FullscreenModal.js.map +1 -1
  252. package/dist/Modal/MarketingModal.js +8 -10
  253. package/dist/Modal/MarketingModal.js.map +1 -1
  254. package/dist/Modal/ModalCloseButton.js +13 -15
  255. package/dist/Modal/ModalCloseButton.js.map +1 -1
  256. package/dist/Modal/ModalContext.js +13 -13
  257. package/dist/Modal/ModalContext.js.map +1 -1
  258. package/dist/Modal/ModalDialog.js +25 -23
  259. package/dist/Modal/ModalDialog.js.map +1 -1
  260. package/dist/Modal/ModalDialogBody.js +22 -11
  261. package/dist/Modal/ModalDialogBody.js.map +1 -1
  262. package/dist/Modal/ModalDialogFooter.js +6 -7
  263. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  264. package/dist/Modal/ModalDialogHeader.js +6 -7
  265. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  266. package/dist/Modal/ModalDialogHero.js +6 -7
  267. package/dist/Modal/ModalDialogHero.js.map +1 -1
  268. package/dist/Modal/ModalDialogHeroBackground.js +8 -9
  269. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  270. package/dist/Modal/ModalDialogHeroContent.js +6 -7
  271. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  272. package/dist/Modal/ModalDialogTitle.js +6 -7
  273. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  274. package/dist/Modal/ModalLayer.js +11 -17
  275. package/dist/Modal/ModalLayer.js.map +1 -1
  276. package/dist/Modal/ModalPopup.js +17 -17
  277. package/dist/Modal/ModalPopup.js.map +1 -1
  278. package/dist/Modal/PopperElement.js +25 -18
  279. package/dist/Modal/PopperElement.js.map +1 -1
  280. package/dist/Modal/Portal.js +40 -18
  281. package/dist/Modal/Portal.js.map +1 -1
  282. package/dist/Modal/StandardModal.js +6 -8
  283. package/dist/Modal/StandardModal.js.map +1 -1
  284. package/dist/Modal/index.js +226 -193
  285. package/dist/Modal/index.js.map +1 -1
  286. package/dist/Nav/index.js +3 -2
  287. package/dist/Nav/index.js.map +1 -1
  288. package/dist/Navbar/index.js +7 -6
  289. package/dist/Navbar/index.js.map +1 -1
  290. package/dist/OverflowScroll/OverflowScroll.js +45 -37
  291. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  292. package/dist/OverflowScroll/OverflowScrollContext.js +1 -1
  293. package/dist/OverflowScroll/OverflowScrollContext.js.map +1 -1
  294. package/dist/OverflowScroll/OverflowScrollItems.js +2 -4
  295. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  296. package/dist/Overlay/index.js +4 -4
  297. package/dist/Overlay/index.js.map +1 -1
  298. package/dist/PageBanner/index.js +11 -13
  299. package/dist/PageBanner/index.js.map +1 -1
  300. package/dist/Pagination/index.js +331 -296
  301. package/dist/Pagination/index.js.map +1 -1
  302. package/dist/Popover/index.js +18 -21
  303. package/dist/Popover/index.js.map +1 -1
  304. package/dist/ProductTour/Checkpoint.js +39 -30
  305. package/dist/ProductTour/Checkpoint.js.map +1 -1
  306. package/dist/ProductTour/CheckpointActionRow.js +18 -16
  307. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  308. package/dist/ProductTour/CheckpointBody.js +2 -4
  309. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  310. package/dist/ProductTour/CheckpointBreadcrumbs.js +16 -16
  311. package/dist/ProductTour/CheckpointBreadcrumbs.js.map +1 -1
  312. package/dist/ProductTour/CheckpointTitle.js +2 -4
  313. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  314. package/dist/ProductTour/index.js +66 -47
  315. package/dist/ProductTour/index.js.map +1 -1
  316. package/dist/ProductTour/messages.js +16 -0
  317. package/dist/ProgressBar/index.js +37 -35
  318. package/dist/ProgressBar/index.js.map +1 -1
  319. package/dist/RadioButtonGroup/index.js +133 -102
  320. package/dist/RadioButtonGroup/index.js.map +1 -1
  321. package/dist/Scrollable/index.js +30 -15
  322. package/dist/Scrollable/index.js.map +1 -1
  323. package/dist/SearchField/SearchFieldAdvanced.js +66 -51
  324. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  325. package/dist/SearchField/SearchFieldClearButton.js +7 -8
  326. package/dist/SearchField/SearchFieldClearButton.js.map +1 -1
  327. package/dist/SearchField/SearchFieldInput.js +8 -9
  328. package/dist/SearchField/SearchFieldInput.js.map +1 -1
  329. package/dist/SearchField/SearchFieldLabel.js +8 -11
  330. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  331. package/dist/SearchField/SearchFieldSubmitButton.js +12 -15
  332. package/dist/SearchField/SearchFieldSubmitButton.js.map +1 -1
  333. package/dist/SearchField/index.js +22 -23
  334. package/dist/SearchField/index.js.map +1 -1
  335. package/dist/SelectableBox/SelectableBoxSet.js +25 -26
  336. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  337. package/dist/SelectableBox/index.js +42 -38
  338. package/dist/SelectableBox/index.js.map +1 -1
  339. package/dist/Sheet/SheetContainer.js +38 -16
  340. package/dist/Sheet/SheetContainer.js.map +1 -1
  341. package/dist/Sheet/index.js +65 -43
  342. package/dist/Sheet/index.js.map +1 -1
  343. package/dist/Spinner/index.js +8 -9
  344. package/dist/Spinner/index.js.map +1 -1
  345. package/dist/Stack/index.js +9 -11
  346. package/dist/Stack/index.js.map +1 -1
  347. package/dist/StatefulButton/index.js +15 -17
  348. package/dist/StatefulButton/index.js.map +1 -1
  349. package/dist/StatusAlert/index.js +120 -82
  350. package/dist/StatusAlert/index.js.map +1 -1
  351. package/dist/Stepper/Stepper.js +2 -4
  352. package/dist/Stepper/Stepper.js.map +1 -1
  353. package/dist/Stepper/StepperActionRow.js +7 -10
  354. package/dist/Stepper/StepperActionRow.js.map +1 -1
  355. package/dist/Stepper/StepperContext.js +64 -32
  356. package/dist/Stepper/StepperContext.js.map +1 -1
  357. package/dist/Stepper/StepperHeader.js +23 -30
  358. package/dist/Stepper/StepperHeader.js.map +1 -1
  359. package/dist/Stepper/StepperHeaderStep.js +14 -17
  360. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  361. package/dist/Stepper/StepperStep.js +23 -24
  362. package/dist/Stepper/StepperStep.js.map +1 -1
  363. package/dist/Sticky/index.js +30 -22
  364. package/dist/Sticky/index.js.map +1 -1
  365. package/dist/Table/index.js +178 -109
  366. package/dist/Table/index.js.map +1 -1
  367. package/dist/Tabs/deprecated/index.js +99 -66
  368. package/dist/Tabs/deprecated/index.js.map +1 -1
  369. package/dist/Tabs/index.js +72 -56
  370. package/dist/Tabs/index.js.map +1 -1
  371. package/dist/TextArea/index.js +10 -8
  372. package/dist/TextArea/index.js.map +1 -1
  373. package/dist/Toast/ToastContainer.js +38 -16
  374. package/dist/Toast/ToastContainer.js.map +1 -1
  375. package/dist/Toast/index.js +33 -18
  376. package/dist/Toast/index.js.map +1 -1
  377. package/dist/Tooltip/index.js +8 -9
  378. package/dist/Tooltip/index.js.map +1 -1
  379. package/dist/TransitionReplace/DemoTransitionReplace.js +12 -3
  380. package/dist/TransitionReplace/DemoTransitionReplace.js.map +1 -1
  381. package/dist/TransitionReplace/index.js +136 -100
  382. package/dist/TransitionReplace/index.js.map +1 -1
  383. package/dist/Truncate/index.js +30 -24
  384. package/dist/Truncate/index.js.map +1 -1
  385. package/dist/ValidationFormGroup/index.js +38 -37
  386. package/dist/ValidationFormGroup/index.js.map +1 -1
  387. package/dist/ValidationMessage/index.js +76 -51
  388. package/dist/ValidationMessage/index.js.map +1 -1
  389. package/dist/asInput/index.js +251 -202
  390. package/dist/asInput/index.js.map +1 -1
  391. package/dist/hooks/useArrowKeyNavigation.js +46 -43
  392. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  393. package/dist/hooks/useIndexOfLastVisibleChild.js +50 -41
  394. package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
  395. package/dist/hooks/useIsVisible.js +20 -13
  396. package/dist/hooks/useIsVisible.js.map +1 -1
  397. package/dist/hooks/useToggle.js +18 -11
  398. package/dist/hooks/useToggle.js.map +1 -1
  399. package/dist/hooks/useWindowSize.js +17 -6
  400. package/dist/hooks/useWindowSize.js.map +1 -1
  401. package/dist/i18n/messages/ar.json +2 -1
  402. package/dist/i18n/messages/ca.json +2 -1
  403. package/dist/i18n/messages/es_419.json +2 -1
  404. package/dist/i18n/messages/es_AR.json +2 -1
  405. package/dist/i18n/messages/es_ES.json +2 -1
  406. package/dist/i18n/messages/fr.json +2 -1
  407. package/dist/i18n/messages/he.json +2 -1
  408. package/dist/i18n/messages/id.json +2 -1
  409. package/dist/i18n/messages/it_IT.json +2 -1
  410. package/dist/i18n/messages/ko_KR.json +2 -1
  411. package/dist/i18n/messages/pl.json +2 -1
  412. package/dist/i18n/messages/pt_BR.json +2 -1
  413. package/dist/i18n/messages/pt_PT.json +2 -1
  414. package/dist/i18n/messages/ru.json +2 -1
  415. package/dist/i18n/messages/th.json +2 -1
  416. package/dist/i18n/messages/tr_TR.json +2 -1
  417. package/dist/i18n/messages/uk.json +2 -1
  418. package/dist/i18n/messages/zh_CN.json +2 -1
  419. package/dist/paragon.css +1 -1
  420. package/dist/withDeprecatedProps.js +79 -58
  421. package/dist/withDeprecatedProps.js.map +1 -1
  422. package/package.json +1 -5
  423. package/src/Button/index.jsx +2 -2
  424. package/src/Container/index.jsx +4 -0
  425. package/src/Dropdown/index.jsx +4 -0
  426. package/src/Dropzone/index.jsx +1 -1
  427. package/src/Form/FormSwitch.jsx +3 -0
  428. package/src/Hyperlink/index.jsx +7 -6
  429. package/src/Hyperlink/index.scss +2 -2
  430. package/src/Icon/index.jsx +18 -11
  431. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +12 -10
  432. package/src/IconButton/index.jsx +2 -2
  433. package/src/Layout/index.jsx +1 -4
  434. package/src/Menu/MenuItem.jsx +2 -2
  435. package/src/Modal/ModalDialog.jsx +3 -0
  436. package/src/Modal/index.jsx +11 -6
  437. package/src/Overlay/README.md +1 -1
  438. package/src/Overlay/index.jsx +1 -1
  439. package/src/Popover/README.md +0 -1
  440. package/src/Popover/index.jsx +11 -11
  441. package/src/ProductTour/Checkpoint.jsx +9 -6
  442. package/src/ProductTour/messages.js +16 -0
  443. package/src/SearchField/SearchFieldAdvanced.jsx +12 -7
  444. package/src/SearchField/SearchFieldLabel.jsx +3 -3
  445. package/src/SearchField/index.jsx +0 -1
  446. package/src/Tabs/index.jsx +19 -13
  447. package/src/hooks/tests/useIndexOfLastVisibleChild.test.jsx +3 -3
  448. package/src/hooks/useIndexOfLastVisibleChild.jsx +36 -38
  449. package/src/hooks/useIndexOfLastVisibleChild.mdx +3 -3
  450. package/src/i18n/messages/ar.json +2 -1
  451. package/src/i18n/messages/ca.json +2 -1
  452. package/src/i18n/messages/es_419.json +2 -1
  453. package/src/i18n/messages/es_AR.json +2 -1
  454. package/src/i18n/messages/es_ES.json +2 -1
  455. package/src/i18n/messages/fr.json +2 -1
  456. package/src/i18n/messages/he.json +2 -1
  457. package/src/i18n/messages/id.json +2 -1
  458. package/src/i18n/messages/it_IT.json +2 -1
  459. package/src/i18n/messages/ko_KR.json +2 -1
  460. package/src/i18n/messages/pl.json +2 -1
  461. package/src/i18n/messages/pt_BR.json +2 -1
  462. package/src/i18n/messages/pt_PT.json +2 -1
  463. package/src/i18n/messages/ru.json +2 -1
  464. package/src/i18n/messages/th.json +2 -1
  465. package/src/i18n/messages/tr_TR.json +2 -1
  466. package/src/i18n/messages/uk.json +2 -1
  467. package/src/i18n/messages/zh_CN.json +2 -1
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
- import Popover from 'react-bootstrap/Popover';
4
+ import BasePopover from 'react-bootstrap/Popover';
5
5
  import BasePopoverTitle from 'react-bootstrap/PopoverTitle';
6
6
  import BasePopoverContent from 'react-bootstrap/PopoverContent';
7
7
 
@@ -13,18 +13,18 @@ const PLACEMENT_VARIANTS = [
13
13
  'right',
14
14
  ];
15
15
 
16
- const WrapperPopover = React.forwardRef(({
16
+ const Popover = React.forwardRef(({
17
17
  children,
18
18
  variant,
19
19
  ...props
20
20
  }, ref) => (
21
- <Popover
21
+ <BasePopover
22
22
  {...props}
23
23
  className={classNames({ [`popover-${variant}`]: !!variant }, props.className)}
24
24
  ref={ref}
25
25
  >
26
26
  {children}
27
- </Popover>
27
+ </BasePopover>
28
28
  ));
29
29
 
30
30
  function PopoverTitle(props) {
@@ -44,8 +44,8 @@ const commonPropTypes = {
44
44
  PopoverTitle.propTypes = commonPropTypes;
45
45
  PopoverContent.propTypes = commonPropTypes;
46
46
 
47
- WrapperPopover.propTypes = {
48
- ...Popover.propTypes,
47
+ Popover.propTypes = {
48
+ ...BasePopover.propTypes,
49
49
  /** An html id attribute, necessary for accessibility. */
50
50
  id: PropTypes.string.isRequired,
51
51
  /**
@@ -88,8 +88,8 @@ WrapperPopover.propTypes = {
88
88
  variant: PropTypes.string,
89
89
  };
90
90
 
91
- WrapperPopover.defaultProps = {
92
- ...Popover.defaultProps,
91
+ Popover.defaultProps = {
92
+ ...BasePopover.defaultProps,
93
93
  placement: 'right',
94
94
  title: undefined,
95
95
  arrowProps: undefined,
@@ -111,8 +111,8 @@ PopoverContent.defaultProps = {
111
111
  bsPrefix: 'popover-body',
112
112
  };
113
113
 
114
- WrapperPopover.Title = PopoverTitle;
115
- WrapperPopover.Content = PopoverContent;
114
+ Popover.Title = PopoverTitle;
115
+ Popover.Content = PopoverContent;
116
116
 
117
117
  export { PopoverTitle, PopoverContent };
118
- export default WrapperPopover;
118
+ export default Popover;
@@ -10,6 +10,7 @@ import CheckpointActionRow from './CheckpointActionRow';
10
10
  import CheckpointBody from './CheckpointBody';
11
11
  import CheckpointBreadcrumbs from './CheckpointBreadcrumbs';
12
12
  import CheckpointTitle from './CheckpointTitle';
13
+ import messages from './messages';
13
14
 
14
15
  const Checkpoint = React.forwardRef(({
15
16
  body,
@@ -99,10 +100,8 @@ const Checkpoint = React.forwardRef(({
99
100
  >
100
101
  <span className="sr-only">
101
102
  <FormattedMessage
102
- id="pgn.ProductTour.Checkpoint.position-text"
103
- defaultMessage="Top of step {step}"
104
- value={{ step: index + 1 }}
105
- description="Screen-reader message to indicate the user's position in a sequence of checkpoints."
103
+ {...messages.topPositionText}
104
+ values={{ step: index + 1 }}
106
105
  />
107
106
  </span>
108
107
  {(title || !isOnlyCheckpoint) && (
@@ -118,8 +117,12 @@ const Checkpoint = React.forwardRef(({
118
117
  {...props}
119
118
  />
120
119
  <div id="pgn__checkpoint-arrow" data-popper-arrow />
121
- {/* This text is not translated due to Paragon's lack of i18n support */}
122
- <span className="sr-only">Bottom of step {index + 1}</span>
120
+ <span className="sr-only">
121
+ <FormattedMessage
122
+ {...messages.bottomPositionText}
123
+ values={{ step: index + 1 }}
124
+ />
125
+ </span>
123
126
  </div>
124
127
  );
125
128
  });
@@ -0,0 +1,16 @@
1
+ import { defineMessages } from 'react-intl';
2
+
3
+ const messages = defineMessages({
4
+ topPositionText: {
5
+ id: 'pgn.ProductTour.Checkpoint.top-position-text',
6
+ defaultMessage: 'Top of step {step}',
7
+ description: 'Screen-reader message to notify user that they are located at the bottom of the product tour step.',
8
+ },
9
+ bottomPositionText: {
10
+ id: 'pgn.ProductTour.Checkpoint.bottom-position-text',
11
+ defaultMessage: 'Bottom of step {step}',
12
+ description: 'Screen-reader message to notify user that they are located at the bottom of the product tour step.',
13
+ },
14
+ });
15
+
16
+ export default messages;
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import React, {
3
2
  useRef, createContext, useState, useEffect,
4
3
  } from 'react';
@@ -138,27 +137,32 @@ SearchFieldAdvanced.propTypes = {
138
137
  onSubmit: PropTypes.func.isRequired,
139
138
  /** specifies a custom class name. */
140
139
  className: PropTypes.string,
141
- /** specifies a callback function for when the user loses focus in the `SearchField` component. The default is an empty function. For example:
140
+ /** specifies a callback function for when the user loses focus in the `SearchField` component.
141
+ * The default is an empty function. For example:
142
142
  ```jsx
143
143
  <SearchField onBlur={event => console.log(event)} />
144
144
  ``` */
145
145
  onBlur: PropTypes.func,
146
- /** specifies a callback function for when the value in `SearchField` is changed by the user. The default is an empty function. For example:
146
+ /** specifies a callback function for when the value in `SearchField` is changed by the user.
147
+ * The default is an empty function. For example:
147
148
  ```jsx
148
149
  <SearchField onChange={value => console.log(value)} />
149
150
  ``` */
150
151
  onChange: PropTypes.func,
151
- /** specifies a callback function for when the value in `SearchField` is cleared by the user. The default is an empty function. For example:
152
+ /** specifies a callback function for when the value in `SearchField` is cleared by the user.
153
+ * The default is an empty function. For example:
152
154
  ```jsx
153
155
  <SearchField onClear={() => console.log('search cleared')} />
154
156
  ``` */
155
157
  onClear: PropTypes.func,
156
- /** specifies a callback function for when the user focuses in the `SearchField` component. The default is an empty function. For example:
158
+ /** specifies a callback function for when the user focuses in the `SearchField` component.
159
+ * The default is an empty function. For example:
157
160
  ```jsx
158
161
  <SearchField onFocus={event => console.log(event)} />
159
162
  ``` */
160
163
  onFocus: PropTypes.func,
161
- /** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations). The default is `{ label: 'search', clearButton: 'clear search', searchButton: 'submit search' }`. */
164
+ /** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations).
165
+ * The default is `{ label: 'search', clearButton: 'clear search', searchButton: 'submit search' }`. */
162
166
  screenReaderText: PropTypes.shape({
163
167
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
164
168
  submitButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,
@@ -171,7 +175,8 @@ SearchFieldAdvanced.propTypes = {
171
175
  submit: PropTypes.element.isRequired,
172
176
  clear: PropTypes.element,
173
177
  }),
174
- /** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component more than once on a page. */
178
+ /** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component
179
+ * more than once on a page. */
175
180
  formAriaLabel: PropTypes.string,
176
181
  /** Specifies whether the `SearchField` is disabled. */
177
182
  disabled: PropTypes.bool,
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import React, { useContext } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
  import classNames from 'classnames';
@@ -21,8 +20,9 @@ function SearchFieldLabel({ children, ...props }) {
21
20
 
22
21
  SearchFieldLabel.propTypes = {
23
22
  /**
24
- * specifies the label to use for the input field (e.g., for i18n translations). Note: if `children` is not provided,
25
- * a screenreader-only label will be used in its placed based on the `screenReaderText.label` prop for `SearchField.Advanced`.
23
+ * specifies the label to use for the input field (e.g., for i18n translations).
24
+ * Note: if `children` is not provided, a screenreader-only label will be used in
25
+ * its placed based on the `screenReaderText.label` prop for `SearchField.Advanced`.
26
26
  */
27
27
  children: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
28
28
  };
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-len */
2
1
  import React, { useCallback } from 'react';
3
2
  import PropTypes from 'prop-types';
4
3
 
@@ -1,4 +1,10 @@
1
- import React, { useEffect, useMemo, useRef } from 'react';
1
+ import React, {
2
+ useEffect,
3
+ useMemo,
4
+ useRef,
5
+ useState,
6
+ useCallback,
7
+ } from 'react';
2
8
  import classNames from 'classnames';
3
9
  import PropTypes from 'prop-types';
4
10
  import BaseTabs from 'react-bootstrap/Tabs';
@@ -18,15 +24,15 @@ function Tabs({
18
24
  activeKey,
19
25
  ...props
20
26
  }) {
21
- const containerElementRef = useRef(null);
27
+ const [containerElementRef, setContainerElementRef] = useState(null);
22
28
  const overflowElementRef = useRef(null);
23
29
  const indexOfLastVisibleChild = useIndexOfLastVisibleChild(
24
- containerElementRef.current?.children[0],
30
+ containerElementRef?.firstChild,
25
31
  overflowElementRef.current?.parentNode,
26
32
  );
27
33
 
28
34
  useEffect(() => {
29
- if (containerElementRef.current) {
35
+ if (containerElementRef) {
30
36
  const observer = new MutationObserver((mutations => {
31
37
  mutations.forEach(mutation => {
32
38
  // React-Bootstrap attribute 'data-rb-event-key' is responsible for the tab identification
@@ -35,8 +41,8 @@ function Tabs({
35
41
  const isActive = mutation.target.getAttribute('aria-selected') === 'true';
36
42
  // datakey attribute is added manually to the dropdown
37
43
  // elements so that they correspond to the native tabs' eventKey
38
- const element = containerElementRef.current.querySelector(`[datakey='${eventKey}']`);
39
- const moreTab = containerElementRef.current.querySelector('.pgn__tab_more');
44
+ const element = containerElementRef.querySelector(`[datakey='${eventKey}']`);
45
+ const moreTab = containerElementRef.querySelector('.pgn__tab_more');
40
46
  if (isActive) {
41
47
  element?.classList.add('active');
42
48
  // Here we add active class to the 'More Tab' if element exists in the dropdown
@@ -50,13 +56,13 @@ function Tabs({
50
56
  }
51
57
  });
52
58
  }));
53
- observer.observe(containerElementRef.current, {
59
+ observer.observe(containerElementRef, {
54
60
  attributes: true, subtree: true, attributeFilter: ['aria-selected'],
55
61
  });
56
62
  return () => observer.disconnect();
57
63
  }
58
64
  return undefined;
59
- }, []);
65
+ }, [containerElementRef]);
60
66
 
61
67
  useEffect(() => {
62
68
  if (overflowElementRef.current?.parentNode) {
@@ -64,10 +70,10 @@ function Tabs({
64
70
  }
65
71
  }, [overflowElementRef.current?.parentNode]);
66
72
 
67
- const handleDropdownTabClick = (eventKey) => {
68
- const hiddenTab = containerElementRef.current.querySelector(`[data-rb-event-key='${eventKey}']`);
73
+ const handleDropdownTabClick = useCallback((eventKey) => {
74
+ const hiddenTab = containerElementRef.querySelector(`[data-rb-event-key='${eventKey}']`);
69
75
  hiddenTab.click();
70
- };
76
+ }, [containerElementRef]);
71
77
 
72
78
  const tabsChildren = useMemo(() => {
73
79
  const indexOfOverflowStart = indexOfLastVisibleChild + 1;
@@ -165,10 +171,10 @@ function Tabs({
165
171
  />
166
172
  ));
167
173
  return childrenList;
168
- }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText]);
174
+ }, [activeKey, children, defaultActiveKey, indexOfLastVisibleChild, moreTabText, handleDropdownTabClick]);
169
175
 
170
176
  return (
171
- <div ref={containerElementRef}>
177
+ <div ref={setContainerElementRef}>
172
178
  <BaseTabs
173
179
  defaultActiveKey={defaultActiveKey}
174
180
  activeKey={activeKey}
@@ -12,12 +12,12 @@ window.ResizeObserver = window.ResizeObserver
12
12
  }));
13
13
 
14
14
  function TestComponent() {
15
- const containerElementRef = React.useRef(null);
15
+ const [containerElementRef, setContainerElementRef] = React.useState(null);
16
16
  const overflowElementRef = React.useRef(null);
17
- const indexOfLastVisibleChild = useIndexOfLastVisibleChild(containerElementRef.current, overflowElementRef.current);
17
+ const indexOfLastVisibleChild = useIndexOfLastVisibleChild(containerElementRef, overflowElementRef.current);
18
18
 
19
19
  return (
20
- <div ref={containerElementRef} style={{ display: 'flex' }}>
20
+ <div ref={setContainerElementRef} style={{ display: 'flex' }}>
21
21
  <div style={{ width: '250px' }} className="element">Element 1</div>
22
22
  <div style={{ width: '250px' }} className="element">Element 2</div>
23
23
  <div style={{ width: '250px' }} className="element">Element 3</div>
@@ -1,7 +1,5 @@
1
1
  import { useLayoutEffect, useState } from 'react';
2
2
 
3
- import useWindowSize from './useWindowSize';
4
-
5
3
  /**
6
4
  * This hook will find the index of the last child of a containing element
7
5
  * that fits within its bounding rectangle. This is done by summing the widths
@@ -10,48 +8,48 @@ import useWindowSize from './useWindowSize';
10
8
  * @param {Element} containerElementRef - container element
11
9
  * @param {Element} overflowElementRef - overflow element
12
10
  *
13
- * The hook returns an array containing:
14
- * [indexOfLastVisibleChild, containerElementRef, overflowElementRef]
15
- *
16
- * indexOfLastVisibleChild - the index of the last visible child
17
- * containerElementRef - a ref to be added to the containing html node
18
- * overflowElementRef - a ref to be added to an html node inside the container
19
- * that is likely to be used to contain a "More" type dropdown or other
20
- * mechanism to reveal hidden children. The width of this element is always
21
- * included when determining which children will fit or not. Usage of this ref
22
- * is optional.
11
+ * The hook returns the index of the last visible child.
23
12
  */
24
13
  const useIndexOfLastVisibleChild = (containerElementRef, overflowElementRef) => {
25
14
  const [indexOfLastVisibleChild, setIndexOfLastVisibleChild] = useState(-1);
26
- const windowSize = useWindowSize();
27
15
 
28
16
  useLayoutEffect(() => {
29
- if (!containerElementRef) {
30
- return;
17
+ function updateLastVisibleChildIndex() {
18
+ // Get array of child nodes from NodeList form
19
+ const childNodesArr = Array.prototype.slice.call(containerElementRef.children);
20
+ const { nextIndexOfLastVisibleChild } = childNodesArr
21
+ // filter out the overflow element
22
+ .filter(childNode => childNode !== overflowElementRef)
23
+ // sum the widths to find the last visible element's index
24
+ .reduce((acc, childNode, index) => {
25
+ acc.sumWidth += childNode.getBoundingClientRect().width;
26
+ if (acc.sumWidth <= containerElementRef.getBoundingClientRect().width) {
27
+ acc.nextIndexOfLastVisibleChild = index;
28
+ }
29
+ return acc;
30
+ }, {
31
+ // Include the overflow element's width to begin with. Doing this means
32
+ // sometimes we'll show a dropdown with one item in it when it would fit,
33
+ // but allowing this case dramatically simplifies the calculations we need
34
+ // to do above.
35
+ sumWidth: overflowElementRef ? overflowElementRef.getBoundingClientRect().width : 0,
36
+ nextIndexOfLastVisibleChild: -1,
37
+ });
38
+
39
+ setIndexOfLastVisibleChild(nextIndexOfLastVisibleChild);
40
+ }
41
+
42
+ if (containerElementRef) {
43
+ updateLastVisibleChildIndex();
44
+
45
+ const resizeObserver = new ResizeObserver(() => updateLastVisibleChildIndex());
46
+ resizeObserver.observe(containerElementRef);
47
+
48
+ return () => resizeObserver.disconnect();
31
49
  }
32
- // Get array of child nodes from NodeList form
33
- const childNodesArr = Array.prototype.slice.call(containerElementRef.children);
34
- const { nextIndexOfLastVisibleChild } = childNodesArr
35
- // filter out the overflow element
36
- .filter(childNode => childNode !== overflowElementRef)
37
- // sum the widths to find the last visible element's index
38
- .reduce((acc, childNode, index) => {
39
- acc.sumWidth += childNode.getBoundingClientRect().width;
40
- if (acc.sumWidth <= containerElementRef.getBoundingClientRect().width) {
41
- acc.nextIndexOfLastVisibleChild = index;
42
- }
43
- return acc;
44
- }, {
45
- // Include the overflow element's width to begin with. Doing this means
46
- // sometimes we'll show a dropdown with one item in it when it would fit,
47
- // but allowing this case dramatically simplifies the calculations we need
48
- // to do above.
49
- sumWidth: overflowElementRef ? overflowElementRef.getBoundingClientRect().width : 0,
50
- nextIndexOfLastVisibleChild: -1,
51
- });
52
-
53
- setIndexOfLastVisibleChild(nextIndexOfLastVisibleChild);
54
- }, [windowSize, containerElementRef, overflowElementRef]);
50
+
51
+ return undefined;
52
+ }, [containerElementRef, overflowElementRef]);
55
53
 
56
54
  return indexOfLastVisibleChild;
57
55
  };
@@ -25,10 +25,10 @@ of the children until they exceed the width of the container.
25
25
  pointerEvents: 'none',
26
26
  visibility: 'hidden',
27
27
  };
28
- const containerElementRef = React.useRef(null);
28
+ const [containerElementRef, setContainerElementRef] = React.useState(null);
29
29
  const overflowElementRef = React.useRef(null);
30
30
  const indexOfLastVisibleChild = useIndexOfLastVisibleChild(
31
- containerElementRef.current,
31
+ containerElementRef,
32
32
  overflowElementRef.current,
33
33
  );
34
34
  const elements = ['Element 1', 'Element 2', 'Element 3', 'Element 4', 'Element 5', 'Element 6', 'Element 7'];
@@ -71,7 +71,7 @@ of the children until they exceed the width of the container.
71
71
  }, [indexOfLastVisibleChild]);
72
72
 
73
73
  return (
74
- <div className="d-flex" ref={containerElementRef}>
74
+ <div className="d-flex" ref={setContainerElementRef}>
75
75
  {children}
76
76
  </div>
77
77
  )
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "إغلاق قائمة الخيارات",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "فتح قائمة الخيارات",
30
30
  "pgn.Toast.closeLabel": "إغلاق ",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
30
30
  "pgn.Toast.closeLabel": "Cerrar",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
30
30
  "pgn.Toast.closeLabel": "Cerrar",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Cerrar el menú de opciones",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Abre el menú de opciones",
30
30
  "pgn.Toast.closeLabel": "Cerrar",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Chiudi",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Zamknij",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Fechar o menu de opções",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Abrir o menu de opções",
30
30
  "pgn.Toast.closeLabel": "Fechar",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Seçenekler menüsünü kapat",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Seçenekler menüsünü aç",
30
30
  "pgn.Toast.closeLabel": "Kapat",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }
@@ -28,5 +28,6 @@
28
28
  "pgn.FormAutosuggest.iconButtonClosed": "Close the options menu",
29
29
  "pgn.FormAutosuggest.iconButtonOpened": "Open the options menu",
30
30
  "pgn.Toast.closeLabel": "Close",
31
- "pgn.ProductTour.Checkpoint.position-text": "Top of step {step}"
31
+ "pgn.ProductTour.Checkpoint.top-position-text": "Top of step {step}",
32
+ "pgn.ProductTour.Checkpoint.bottom-position-text": "Bottom of step {step}"
32
33
  }