@openedx/paragon 23.14.1 → 23.14.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/README.md +80 -14
  2. package/dist/ActionRow/index.d.ts +18 -0
  3. package/dist/ActionRow/index.js +6 -24
  4. package/dist/ActionRow/index.js.map +1 -1
  5. package/dist/Alert/index.js +21 -24
  6. package/dist/Alert/index.js.map +1 -1
  7. package/dist/Annotation/index.d.ts +13 -0
  8. package/dist/Annotation/index.js +11 -30
  9. package/dist/Annotation/index.js.map +1 -1
  10. package/dist/Avatar/index.d.ts +11 -0
  11. package/dist/Avatar/index.js +7 -21
  12. package/dist/Avatar/index.js.map +1 -1
  13. package/dist/AvatarButton/index.d.ts +17 -0
  14. package/dist/AvatarButton/index.js +11 -33
  15. package/dist/AvatarButton/index.js.map +1 -1
  16. package/dist/Breadcrumb/BreadcrumbLink.js +5 -6
  17. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  18. package/dist/Breadcrumb/index.js +11 -12
  19. package/dist/Breadcrumb/index.js.map +1 -1
  20. package/dist/Bubble/index.d.ts +6 -2
  21. package/dist/Bubble/index.js +14 -39
  22. package/dist/Bubble/index.js.map +1 -1
  23. package/dist/Button/index.d.ts +42 -7
  24. package/dist/Button/index.js +43 -115
  25. package/dist/Button/index.js.map +1 -1
  26. package/dist/Card/BaseCard.js +11 -12
  27. package/dist/Card/BaseCard.js.map +1 -1
  28. package/dist/Card/CardBody.js +9 -12
  29. package/dist/Card/CardBody.js.map +1 -1
  30. package/dist/Card/CardCarousel/CardCarousel.js +13 -14
  31. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  32. package/dist/Card/CardCarousel/CardCarouselHeader.js +4 -5
  33. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  34. package/dist/Card/CardCarousel/CardCarouselItems.js +3 -4
  35. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  36. package/dist/Card/CardCarousel/CardCarouselProvider.js +7 -8
  37. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  38. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +5 -6
  39. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  40. package/dist/Card/CardCarousel/CardCarouselTitle.js +5 -6
  41. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  42. package/dist/Card/CardCarousel/messages.d.ts +13 -0
  43. package/dist/Card/CardCarousel/messages.js +4 -5
  44. package/dist/Card/CardCarousel/messages.js.map +1 -0
  45. package/dist/Card/CardContext.js +6 -7
  46. package/dist/Card/CardContext.js.map +1 -1
  47. package/dist/Card/CardDeck.js +9 -10
  48. package/dist/Card/CardDeck.js.map +1 -1
  49. package/dist/Card/CardDivider.js +8 -11
  50. package/dist/Card/CardDivider.js.map +1 -1
  51. package/dist/Card/CardFooter.js +9 -10
  52. package/dist/Card/CardFooter.js.map +1 -1
  53. package/dist/Card/CardGrid.js +6 -7
  54. package/dist/Card/CardGrid.js.map +1 -1
  55. package/dist/Card/CardHeader.js +9 -10
  56. package/dist/Card/CardHeader.js.map +1 -1
  57. package/dist/Card/CardImageCap.js +15 -16
  58. package/dist/Card/CardImageCap.js.map +1 -1
  59. package/dist/Card/CardSection.js +9 -10
  60. package/dist/Card/CardSection.js.map +1 -1
  61. package/dist/Card/CardStatus.js +9 -10
  62. package/dist/Card/CardStatus.js.map +1 -1
  63. package/dist/Card/index.js +9 -10
  64. package/dist/Card/index.js.map +1 -1
  65. package/dist/Chip/ChipIcon.js +8 -9
  66. package/dist/Chip/ChipIcon.js.map +1 -1
  67. package/dist/Chip/index.d.ts +22 -0
  68. package/dist/Chip/index.js +15 -70
  69. package/dist/Chip/index.js.map +1 -1
  70. package/dist/ChipCarousel/index.js +49 -53
  71. package/dist/ChipCarousel/index.js.map +1 -1
  72. package/dist/ChipCarousel/messages.d.ts +13 -0
  73. package/dist/ChipCarousel/messages.js +4 -5
  74. package/dist/ChipCarousel/messages.js.map +1 -0
  75. package/dist/CloseButton/index.js.map +1 -1
  76. package/dist/Collapse/index.js.map +1 -1
  77. package/dist/Collapsible/CollapsibleBody.js +6 -7
  78. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  79. package/dist/Collapsible/CollapsibleTrigger.js +9 -10
  80. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  81. package/dist/Collapsible/CollapsibleVisible.js +5 -6
  82. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  83. package/dist/ColorPicker/index.js +6 -7
  84. package/dist/ColorPicker/index.js.map +1 -1
  85. package/dist/Container/index.js +9 -12
  86. package/dist/Container/index.js.map +1 -1
  87. package/dist/DataTable/BulkActions.js +4 -5
  88. package/dist/DataTable/BulkActions.js.map +1 -1
  89. package/dist/DataTable/CardView.js +16 -18
  90. package/dist/DataTable/CardView.js.map +1 -1
  91. package/dist/DataTable/CollapsibleButtonGroup.js +5 -6
  92. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  93. package/dist/DataTable/DataTableLayout.js +5 -6
  94. package/dist/DataTable/DataTableLayout.js.map +1 -1
  95. package/dist/DataTable/DropdownFilters.js +7 -2
  96. package/dist/DataTable/DropdownFilters.js.map +1 -1
  97. package/dist/DataTable/EmptyTable.js +5 -6
  98. package/dist/DataTable/EmptyTable.js.map +1 -1
  99. package/dist/DataTable/ExpandAll.js +4 -5
  100. package/dist/DataTable/ExpandAll.js.map +1 -1
  101. package/dist/DataTable/ExpandRow.js +3 -4
  102. package/dist/DataTable/ExpandRow.js.map +1 -1
  103. package/dist/DataTable/FilterStatus.js +8 -9
  104. package/dist/DataTable/FilterStatus.js.map +1 -1
  105. package/dist/DataTable/RowStatus.js +4 -5
  106. package/dist/DataTable/RowStatus.js.map +1 -1
  107. package/dist/DataTable/SidebarFilters.js +3 -4
  108. package/dist/DataTable/SidebarFilters.js.map +1 -1
  109. package/dist/DataTable/Table.js +3 -4
  110. package/dist/DataTable/Table.js.map +1 -1
  111. package/dist/DataTable/TableActions.js +3 -4
  112. package/dist/DataTable/TableActions.js.map +1 -1
  113. package/dist/DataTable/TableCell.js +5 -6
  114. package/dist/DataTable/TableCell.js.map +1 -1
  115. package/dist/DataTable/TableControlBar.js +3 -4
  116. package/dist/DataTable/TableControlBar.js.map +1 -1
  117. package/dist/DataTable/TableFilters.js +6 -7
  118. package/dist/DataTable/TableFilters.js.map +1 -1
  119. package/dist/DataTable/TableFooter.js +4 -5
  120. package/dist/DataTable/TableFooter.js.map +1 -1
  121. package/dist/DataTable/TableHeaderCell.js +13 -15
  122. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  123. package/dist/DataTable/TableHeaderRow.js +3 -4
  124. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  125. package/dist/DataTable/TableRow.js +3 -4
  126. package/dist/DataTable/TableRow.js.map +1 -1
  127. package/dist/DataTable/filters/CheckboxFilter.js +25 -29
  128. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  129. package/dist/DataTable/filters/DropdownFilter.js +16 -20
  130. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  131. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +25 -29
  132. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  133. package/dist/DataTable/filters/TextFilter.js +8 -9
  134. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  135. package/dist/DataTable/hooks.js +11 -13
  136. package/dist/DataTable/hooks.js.map +1 -1
  137. package/dist/DataTable/index.js +42 -36
  138. package/dist/DataTable/index.js.map +1 -1
  139. package/dist/DataTable/messages.d.ts +13 -0
  140. package/dist/DataTable/messages.js +7 -3
  141. package/dist/DataTable/messages.js.map +1 -0
  142. package/dist/DataTable/selection/BaseSelectionStatus.js +11 -12
  143. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  144. package/dist/DataTable/selection/ControlledSelect.js +3 -4
  145. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  146. package/dist/DataTable/selection/ControlledSelectHeader.js +3 -4
  147. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  148. package/dist/DataTable/selection/ControlledSelectionStatus.js +4 -5
  149. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  150. package/dist/DataTable/selection/SelectionStatus.js +4 -5
  151. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  152. package/dist/DataTable/utils/getVisibleColumns.js +9 -13
  153. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  154. package/dist/Dropdown/index.js +17 -20
  155. package/dist/Dropdown/index.js.map +1 -1
  156. package/dist/Dropzone/DefaultContent.js +5 -6
  157. package/dist/Dropzone/DefaultContent.js.map +1 -1
  158. package/dist/Dropzone/DragError.js +3 -4
  159. package/dist/Dropzone/DragError.js.map +1 -1
  160. package/dist/Dropzone/GenericError.js +4 -5
  161. package/dist/Dropzone/GenericError.js.map +1 -1
  162. package/dist/Dropzone/UploadProgress.js +6 -7
  163. package/dist/Dropzone/UploadProgress.js.map +1 -1
  164. package/dist/Dropzone/index.js +14 -15
  165. package/dist/Dropzone/index.js.map +1 -1
  166. package/dist/Dropzone/messages.d.ts +53 -0
  167. package/dist/Dropzone/messages.js +12 -13
  168. package/dist/Dropzone/messages.js.map +1 -0
  169. package/dist/Fade/index.js.map +1 -1
  170. package/dist/Form/FormAutosuggest.js +18 -20
  171. package/dist/Form/FormAutosuggest.js.map +1 -1
  172. package/dist/Form/FormAutosuggestOption.js +6 -7
  173. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  174. package/dist/Form/FormCheckbox.js +16 -18
  175. package/dist/Form/FormCheckbox.js.map +1 -1
  176. package/dist/Form/FormCheckboxSet.js +11 -12
  177. package/dist/Form/FormCheckboxSet.js.map +1 -1
  178. package/dist/Form/FormCheckboxSetContext.js +9 -10
  179. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  180. package/dist/Form/FormControl.js +12 -13
  181. package/dist/Form/FormControl.js.map +1 -1
  182. package/dist/Form/FormControlDecorator.js +4 -5
  183. package/dist/Form/FormControlDecorator.js.map +1 -1
  184. package/dist/Form/FormControlDecoratorGroup.js +8 -9
  185. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  186. package/dist/Form/FormControlFeedback.js +4 -5
  187. package/dist/Form/FormControlFeedback.js.map +1 -1
  188. package/dist/Form/FormControlFloatingLabel.js +3 -4
  189. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  190. package/dist/Form/FormControlSet.js +7 -8
  191. package/dist/Form/FormControlSet.js.map +1 -1
  192. package/dist/Form/FormGroup.js +9 -10
  193. package/dist/Form/FormGroup.js.map +1 -1
  194. package/dist/Form/FormGroupContext.js +7 -8
  195. package/dist/Form/FormGroupContext.js.map +1 -1
  196. package/dist/Form/FormLabel.d.ts +2 -11
  197. package/dist/Form/FormLabel.js +5 -15
  198. package/dist/Form/FormLabel.js.map +1 -1
  199. package/dist/Form/FormRadio.js +28 -31
  200. package/dist/Form/FormRadio.js.map +1 -1
  201. package/dist/Form/FormRadioSet.js +11 -12
  202. package/dist/Form/FormRadioSet.js.map +1 -1
  203. package/dist/Form/FormRadioSetContext.js +9 -10
  204. package/dist/Form/FormRadioSetContext.js.map +1 -1
  205. package/dist/Form/FormSwitch.js +25 -29
  206. package/dist/Form/FormSwitch.js.map +1 -1
  207. package/dist/Form/FormText.js +16 -19
  208. package/dist/Form/FormText.js.map +1 -1
  209. package/dist/Form/fieldUtils.js +11 -22
  210. package/dist/Form/fieldUtils.js.map +1 -1
  211. package/dist/Form/useCheckboxSetValues.js +1 -2
  212. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  213. package/dist/Hyperlink/index.js +17 -21
  214. package/dist/Hyperlink/index.js.map +1 -1
  215. package/dist/Icon/index.js +10 -11
  216. package/dist/Icon/index.js.map +1 -1
  217. package/dist/IconButton/index.d.ts +8 -304
  218. package/dist/IconButton/index.js +21 -84
  219. package/dist/IconButton/index.js.map +1 -1
  220. package/dist/IconButtonToggle/index.js +5 -6
  221. package/dist/IconButtonToggle/index.js.map +1 -1
  222. package/dist/Image/index.js.map +1 -1
  223. package/dist/Layout/index.js +4 -5
  224. package/dist/Layout/index.js.map +1 -1
  225. package/dist/Media/index.js.map +1 -1
  226. package/dist/Menu/MenuItem.js +8 -9
  227. package/dist/Menu/MenuItem.js.map +1 -1
  228. package/dist/Menu/SelectMenu.js +8 -9
  229. package/dist/Menu/SelectMenu.js.map +1 -1
  230. package/dist/Menu/index.js +6 -7
  231. package/dist/Menu/index.js.map +1 -1
  232. package/dist/Modal/AlertModal.js +6 -7
  233. package/dist/Modal/AlertModal.js.map +1 -1
  234. package/dist/Modal/FullscreenModal.js +7 -8
  235. package/dist/Modal/FullscreenModal.js.map +1 -1
  236. package/dist/Modal/MarketingModal.js +9 -10
  237. package/dist/Modal/MarketingModal.js.map +1 -1
  238. package/dist/Modal/ModalCloseButton.js +5 -6
  239. package/dist/Modal/ModalCloseButton.js.map +1 -1
  240. package/dist/Modal/ModalContext.js +6 -7
  241. package/dist/Modal/ModalContext.js.map +1 -1
  242. package/dist/Modal/ModalDialog.d.ts +6 -65
  243. package/dist/Modal/ModalDialog.js +16 -81
  244. package/dist/Modal/ModalDialog.js.map +1 -1
  245. package/dist/Modal/ModalDialogBody.js +5 -6
  246. package/dist/Modal/ModalDialogBody.js.map +1 -1
  247. package/dist/Modal/ModalDialogFooter.js +5 -6
  248. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  249. package/dist/Modal/ModalDialogHeader.js +9 -12
  250. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  251. package/dist/Modal/ModalDialogHero.js +5 -6
  252. package/dist/Modal/ModalDialogHero.js.map +1 -1
  253. package/dist/Modal/ModalDialogHeroBackground.js +6 -7
  254. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  255. package/dist/Modal/ModalDialogHeroContent.js +5 -6
  256. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  257. package/dist/Modal/ModalDialogTitle.js +5 -6
  258. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  259. package/dist/Modal/ModalLayer.d.ts +0 -25
  260. package/dist/Modal/ModalLayer.js +13 -35
  261. package/dist/Modal/ModalLayer.js.map +1 -1
  262. package/dist/Modal/ModalPopup.js +11 -12
  263. package/dist/Modal/ModalPopup.js.map +1 -1
  264. package/dist/Modal/PopperElement.js +7 -8
  265. package/dist/Modal/PopperElement.js.map +1 -1
  266. package/dist/Modal/StandardModal.js +7 -8
  267. package/dist/Modal/StandardModal.js.map +1 -1
  268. package/dist/OverflowScroll/OverflowScroll.js +12 -13
  269. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  270. package/dist/OverflowScroll/OverflowScrollItems.js +3 -4
  271. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  272. package/dist/Overlay/index.d.ts +2 -2
  273. package/dist/PageBanner/index.js +9 -10
  274. package/dist/PageBanner/index.js.map +1 -1
  275. package/dist/Pagination/PaginationContext.js +12 -13
  276. package/dist/Pagination/PaginationContext.js.map +1 -1
  277. package/dist/Pagination/subcomponents/PageButton.js +3 -4
  278. package/dist/Pagination/subcomponents/PageButton.js.map +1 -1
  279. package/dist/Popover/index.js +11 -14
  280. package/dist/Popover/index.js.map +1 -1
  281. package/dist/ProductTour/Checkpoint.js +12 -13
  282. package/dist/ProductTour/Checkpoint.js.map +1 -1
  283. package/dist/ProductTour/CheckpointActionRow.js +10 -11
  284. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  285. package/dist/ProductTour/CheckpointBody.js +3 -4
  286. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  287. package/dist/ProductTour/CheckpointHeader.js +7 -8
  288. package/dist/ProductTour/CheckpointHeader.js.map +1 -1
  289. package/dist/ProductTour/CheckpointTitle.js +6 -9
  290. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  291. package/dist/ProductTour/index.js +3 -4
  292. package/dist/ProductTour/index.js.map +1 -1
  293. package/dist/ProductTour/messages.d.ts +23 -0
  294. package/dist/ProductTour/messages.js +6 -7
  295. package/dist/ProductTour/messages.js.map +1 -0
  296. package/dist/ProgressBar/index.js +11 -12
  297. package/dist/ProgressBar/index.js.map +1 -1
  298. package/dist/ResponsiveEmbed/index.js.map +1 -1
  299. package/dist/Scrollable/index.js +4 -5
  300. package/dist/Scrollable/index.js.map +1 -1
  301. package/dist/SearchField/SearchFieldLabel.js +4 -5
  302. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  303. package/dist/SelectableBox/SelectableBoxSet.js +13 -14
  304. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  305. package/dist/SelectableBox/index.js +14 -15
  306. package/dist/SelectableBox/index.js.map +1 -1
  307. package/dist/Skeleton/index.js.map +1 -1
  308. package/dist/Spinner/index.d.ts +11 -0
  309. package/dist/Spinner/index.js +6 -17
  310. package/dist/Spinner/index.js.map +1 -1
  311. package/dist/Stack/index.js +12 -15
  312. package/dist/Stack/index.js.map +1 -1
  313. package/dist/StatefulButton/index.js +9 -10
  314. package/dist/StatefulButton/index.js.map +1 -1
  315. package/dist/Stepper/Stepper.js +4 -5
  316. package/dist/Stepper/Stepper.js.map +1 -1
  317. package/dist/Stepper/StepperActionRow.js +6 -7
  318. package/dist/Stepper/StepperActionRow.js.map +1 -1
  319. package/dist/Stepper/StepperContext.js +4 -5
  320. package/dist/Stepper/StepperContext.js.map +1 -1
  321. package/dist/Stepper/StepperHeader.js +23 -31
  322. package/dist/Stepper/StepperHeader.js.map +1 -1
  323. package/dist/Stepper/StepperHeaderStep.js +8 -9
  324. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  325. package/dist/Stepper/StepperStep.js +10 -11
  326. package/dist/Stepper/StepperStep.js.map +1 -1
  327. package/dist/Sticky/index.js +8 -12
  328. package/dist/Sticky/index.js.map +1 -1
  329. package/dist/Tabs/index.js +8 -9
  330. package/dist/Tabs/index.js.map +1 -1
  331. package/dist/Toast/ToastContainer.js +3 -4
  332. package/dist/Toast/ToastContainer.js.map +1 -1
  333. package/dist/Toast/index.d.ts +20 -41
  334. package/dist/Toast/index.js +11 -48
  335. package/dist/Toast/index.js.map +1 -1
  336. package/dist/ToggleButton/index.js.map +1 -1
  337. package/dist/Tooltip/index.js +11 -14
  338. package/dist/Tooltip/index.js.map +1 -1
  339. package/dist/Truncate/index.js +9 -10
  340. package/dist/Truncate/index.js.map +1 -1
  341. package/dist/asInput/index.js +9 -13
  342. package/dist/asInput/index.js.map +1 -1
  343. package/dist/hooks/useArrowKeyNavigationHook.js +17 -21
  344. package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -1
  345. package/dist/hooks/useIsVisibleHook.js +4 -6
  346. package/dist/hooks/useIsVisibleHook.js.map +1 -1
  347. package/dist/hooks/useToggleHook.js +1 -3
  348. package/dist/hooks/useToggleHook.js.map +1 -1
  349. package/dist/index.d.ts +5 -5
  350. package/dist/index.js +5 -10
  351. package/dist/index.js.map +1 -1
  352. package/dist/theme-urls.json +6 -6
  353. package/dist/utils/newId.js +1 -2
  354. package/dist/utils/newId.js.map +1 -1
  355. package/package.json +2 -2
  356. package/src/ActionRow/{index.jsx → index.tsx} +14 -22
  357. package/src/Annotation/{index.jsx → index.tsx} +15 -22
  358. package/src/Avatar/{index.jsx → index.tsx} +13 -19
  359. package/src/AvatarButton/{index.jsx → index.tsx} +23 -31
  360. package/src/Bubble/index.tsx +12 -32
  361. package/src/Button/index.tsx +68 -93
  362. package/src/Chip/index.tsx +26 -59
  363. package/src/CloseButton/index.tsx +1 -0
  364. package/src/Collapse/index.tsx +1 -0
  365. package/src/DataTable/DropdownFilters.jsx +9 -2
  366. package/src/DataTable/README.md +19 -18
  367. package/src/DataTable/index.jsx +6 -1
  368. package/src/DataTable/{messages.js → messages.ts} +5 -0
  369. package/src/DataTable/tests/DataTable.test.jsx +51 -1
  370. package/src/DataTable/tests/DropdownFilters.test.jsx +11 -7
  371. package/src/Fade/index.tsx +1 -0
  372. package/src/Form/FormLabel.tsx +2 -10
  373. package/src/IconButton/index.tsx +17 -81
  374. package/src/Image/index.tsx +2 -0
  375. package/src/Media/index.tsx +1 -0
  376. package/src/Modal/ModalDialog.tsx +6 -66
  377. package/src/Modal/ModalLayer.tsx +0 -22
  378. package/src/Modal/modal-popup.mdx +1 -1
  379. package/src/ProductTour/ProductTour.test.jsx +0 -1
  380. package/src/ResponsiveEmbed/index.tsx +1 -0
  381. package/src/Skeleton/index.tsx +1 -0
  382. package/src/Spinner/{index.jsx → index.tsx} +10 -15
  383. package/src/Toast/index.tsx +21 -40
  384. package/src/ToggleButton/index.tsx +2 -0
  385. package/src/index.ts +5 -10
  386. /package/{src/CloseButton/index.jsx → dist/CloseButton/index.d.ts} +0 -0
  387. /package/{src/Collapse/index.jsx → dist/Collapse/index.d.ts} +0 -0
  388. /package/{src/Fade/index.jsx → dist/Fade/index.d.ts} +0 -0
  389. /package/{src/Image/index.jsx → dist/Image/index.d.ts} +0 -0
  390. /package/{src/Media/index.jsx → dist/Media/index.d.ts} +0 -0
  391. /package/{src/ResponsiveEmbed/index.jsx → dist/ResponsiveEmbed/index.d.ts} +0 -0
  392. /package/{src/Skeleton/index.jsx → dist/Skeleton/index.d.ts} +0 -0
  393. /package/{src/ToggleButton/index.jsx → dist/ToggleButton/index.d.ts} +0 -0
  394. /package/src/Card/CardCarousel/{messages.js → messages.ts} +0 -0
  395. /package/src/ChipCarousel/{messages.js → messages.ts} +0 -0
  396. /package/src/Dropzone/{messages.js → messages.ts} +0 -0
  397. /package/src/ProductTour/{messages.js → messages.ts} +0 -0
  398. /package/src/Spinner/{Spinner.test.jsx → Spinner.test.tsx} +0 -0
  399. /package/src/Spinner/__snapshots__/{Spinner.test.jsx.snap → Spinner.test.tsx.snap} +0 -0
package/README.md CHANGED
@@ -136,6 +136,72 @@ Note that if you are using ``@edx/frontend-platform``'s ``AppProvider`` componen
136
136
  });
137
137
  ```
138
138
 
139
+ ## Available Scripts
140
+
141
+ Paragon provides a comprehensive set of npm scripts to help with development, testing, building, and maintenance tasks. Here's a detailed explanation of each available script:
142
+
143
+ ### Build Scripts
144
+
145
+ - **`npm run build`** - Builds the entire Paragon design system using the Makefile. This compiles TypeScript, SCSS, and creates the distribution files in the `dist/` directory.
146
+
147
+ - **`npm run build-docs`** - Builds the documentation website specifically. This is useful when generating a static version of the docs for deployment.
148
+
149
+ - **`npm run build-types`** - Generates TypeScript declaration files (`.d.ts`). This is essential for providing type information to TypeScript consumers.
150
+
151
+ ### Development Scripts
152
+
153
+ - **`npm start`** - Starts the documentation website development server. This is the primary way to view and interact with Paragon components during development.
154
+
155
+ - **`npm run generate-component`** - Launches the component generator tool. This interactive CLI helps create new components with all the necessary files and boilerplate code.
156
+
157
+ - **`npm run example:start`** - Starts the example application, which allows testing Paragon components in a micro-frontend (MFE) environment.
158
+
159
+ - **`npm run example:start:with-theme`** - Starts the example application with theme support, useful for testing branded components.
160
+
161
+ ### Testing Scripts
162
+
163
+ - **`npm run test`** - Runs the full test suite with coverage reporting using Jest.
164
+
165
+ - **`npm run test:watch`** - Runs tests in watch mode, automatically re-running tests when files change.
166
+
167
+ - **`npm run debug-test`** - Runs tests with Node.js inspector enabled, allowing debugging tests in Chrome DevTools.
168
+
169
+ - **`npm run snapshot`** - Updates Jest snapshot files. Run this when intentional changes to component rendering should be reflected in snapshots.
170
+
171
+ ### Code Quality Scripts
172
+
173
+ - **`npm run lint`** - Runs both ESLint (for JavaScript/TypeScript) and Stylelint (for SCSS) to check code quality and enforce coding standards.
174
+
175
+ - **`npm run stylelint`** - Runs Stylelint specifically on SCSS files to ensure consistent styling conventions.
176
+
177
+ - **`npm run type-check`** - Performs TypeScript type checking without emitting files.
178
+
179
+ - **`npm run type-check:watch`** - Runs TypeScript type checking in watch mode, continuously monitoring for type errors during development.
180
+
181
+ ### Internationalization Scripts
182
+
183
+ - **`npm run i18n_extract`** - Extracts internationalization strings from React components and generates a JSON file for translation services like Transifex.
184
+
185
+ - **`npm run i18n_compile`** - Compiles translated messages back into the format expected by react-intl.
186
+
187
+ ### Documentation and Playroom Scripts
188
+
189
+ - **`npm run playroom:start`** - Starts Playroom, a tool for developing and testing components in isolation with live code editing.
190
+
191
+ - **`npm run playroom:build`** - Builds a static version of Playroom for deployment.
192
+
193
+ ### Release and Maintenance Scripts
194
+
195
+ - **`npm run semantic-release`** - Runs the semantic release process, which automatically determines version bumps, creates Git tags, and publishes to npm based on commit messages.
196
+
197
+ - **`npm run generate-changelog`** - Generates a changelog file based on commit history and semantic versioning.
198
+
199
+ - **`npm run commit`** - Runs the commitizen CLI, which helps create properly formatted commit messages that work with semantic-release.
200
+
201
+ - **`npm run prepublishOnly`** - Automatically runs before npm publish to ensure the library is built before distribution.
202
+
203
+ - **`npm run prepare`** - Sets up Git hooks (via Husky) for pre-commit linting and other checks.
204
+
139
205
  ## Contributing
140
206
 
141
207
  The branch to target with your PR depends on the type of change you are contributing to Paragon.
@@ -163,7 +229,7 @@ If you want to test the changes with local MFE setup, you need to create a "modu
163
229
  ```javascript
164
230
  module.exports = {
165
231
  /*
166
- Modules you want to use from local source code. Adding a module here means that when
232
+ Modules you want to use from local source code. Adding a module here means that when
167
233
  your MFE runs its build, it'll resolve the source from peer directories of the app.
168
234
 
169
235
  moduleName: the name you use to import code from the module.
@@ -188,26 +254,26 @@ Then, when importing Paragon's core SCSS in your MFE the import needs to begin w
188
254
  When developing a new component you should generally follow three rules:
189
255
  1. The component should not have **any** hardcoded strings as it would be impossible for consumers to translate it
190
256
  2. Internationalize all default values of props that expect strings, i.e.
191
-
257
+
192
258
  - For places where you need to display a string, and it's okay if it is a React element use ``FormattedMessage``, e.g. (see [Alert](src/Alert/index.jsx) component for a full example)
193
-
259
+
194
260
  ```javascript
195
261
  import { FormattedMessage } from 'react-intl';
196
-
197
- <FormattedMessage
262
+
263
+ <FormattedMessage
198
264
  id="pgn.Alert.closeLabel"
199
265
  defaultMessage="Dismiss"
200
266
  description="Label of a close button on Alert component"
201
267
  />
202
268
  ```
203
-
269
+
204
270
  - For places where the display string has to be a plain JavaScript string use ``formatMessage``, this would require access to ``intl`` object from ``react-intl``, e.g.
205
-
271
+
206
272
  - For class components use ``injectIntl`` HOC
207
273
 
208
274
  ```javascript
209
275
  import { injectIntl } from 'react-intl';
210
-
276
+
211
277
  class MyClassComponent extends React.Component {
212
278
  render() {
213
279
  const { altText, intl } = this.props;
@@ -216,7 +282,7 @@ When developing a new component you should generally follow three rules:
216
282
  defaultMessage: 'Close',
217
283
  description: 'Close label for Toast component',
218
284
  });
219
-
285
+
220
286
  return (
221
287
  <IconButton
222
288
  alt={intlCloseLabel}
@@ -226,15 +292,15 @@ When developing a new component you should generally follow three rules:
226
292
  )
227
293
  }
228
294
  }
229
-
295
+
230
296
  export default injectIntl(MyClassComponent);
231
297
  ```
232
298
 
233
299
  - For functional components use ``useIntl`` hook
234
300
 
235
- ```javascript
301
+ ```javascript
236
302
  import { useIntl } from 'react-intl';
237
-
303
+
238
304
  const MyFunctionComponent = ({ altText }) => {
239
305
  const intls = useIntl();
240
306
  const intlAltText = altText || intl.formatMessage({
@@ -242,7 +308,7 @@ When developing a new component you should generally follow three rules:
242
308
  defaultMessage: 'Close',
243
309
  description: 'Close label for Toast component',
244
310
  });
245
-
311
+
246
312
  return (
247
313
  <IconButton
248
314
  alt={intlCloseLabel}
@@ -254,7 +320,7 @@ When developing a new component you should generally follow three rules:
254
320
 
255
321
  export default MyFunctionComponent;
256
322
  ```
257
-
323
+
258
324
  **Notes on the format above**:
259
325
  - `id` is required and must be a dot-separated string of the format `pgn.<componentName>.<subcomponentName>.<propName>`
260
326
  - The `defaultMessage` is required, and should be the English display string.
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ interface ActionRowProps extends React.HTMLAttributes<HTMLElement> {
3
+ /** Specifies the base element */
4
+ as?: React.ElementType;
5
+ /** Specifies the contents of the row */
6
+ children: React.ReactNode;
7
+ /** Specifies class name to append to the base element */
8
+ className?: string;
9
+ /** Specifies whether row should be displayed horizontally */
10
+ isStacked?: boolean;
11
+ }
12
+ declare function ActionRow({ as, isStacked, children, ...props }: ActionRowProps): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
13
+ declare namespace ActionRow {
14
+ var Spacer: typeof ActionRowSpacer;
15
+ }
16
+ declare function ActionRowSpacer(): import("react/jsx-runtime").JSX.Element;
17
+ export { ActionRowSpacer };
18
+ export default ActionRow;
@@ -1,13 +1,11 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import classNames from 'classnames';
4
- function ActionRow(_ref) {
5
- let {
6
- as,
7
- isStacked,
8
- children,
9
- ...props
10
- } = _ref;
3
+ function ActionRow({
4
+ as = 'div',
5
+ isStacked = false,
6
+ children,
7
+ ...props
8
+ }) {
11
9
  return /*#__PURE__*/React.createElement(as, {
12
10
  ...props,
13
11
  className: classNames(props.className, {
@@ -16,22 +14,6 @@ function ActionRow(_ref) {
16
14
  })
17
15
  }, children);
18
16
  }
19
- ActionRow.propTypes = {
20
- /** Specifies the base element */
21
- as: PropTypes.elementType,
22
- /** Specifies class name to append to the base element */
23
- className: PropTypes.string,
24
- /** Specifies the contents of the row */
25
- children: PropTypes.node,
26
- /** Specifies whether row should be displayed horizontally */
27
- isStacked: PropTypes.bool
28
- };
29
- ActionRow.defaultProps = {
30
- as: 'div',
31
- className: undefined,
32
- children: null,
33
- isStacked: false
34
- };
35
17
  function ActionRowSpacer() {
36
18
  return /*#__PURE__*/React.createElement("span", {
37
19
  className: "pgn__action-row-spacer"
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","ActionRow","_ref","as","isStacked","children","props","createElement","className","propTypes","elementType","string","node","bool","defaultProps","undefined","ActionRowSpacer","Spacer"],"sources":["../../src/ActionRow/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nfunction ActionRow({\n as,\n isStacked,\n children,\n ...props\n}) {\n return React.createElement(\n as,\n {\n ...props,\n className: classNames(props.className, {\n 'pgn__action-row': !isStacked,\n 'pgn__action-row-stacked': isStacked,\n }),\n },\n children,\n );\n}\n\nActionRow.propTypes = {\n /** Specifies the base element */\n as: PropTypes.elementType,\n /** Specifies class name to append to the base element */\n className: PropTypes.string,\n /** Specifies the contents of the row */\n children: PropTypes.node,\n /** Specifies whether row should be displayed horizontally */\n isStacked: PropTypes.bool,\n};\n\nActionRow.defaultProps = {\n as: 'div',\n className: undefined,\n children: null,\n isStacked: false,\n};\n\nfunction ActionRowSpacer() {\n return <span className=\"pgn__action-row-spacer\" />;\n}\n\nActionRow.Spacer = ActionRowSpacer;\n\nexport { ActionRowSpacer };\nexport default ActionRow;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,SAASC,SAASA,CAAAC,IAAA,EAKf;EAAA,IALgB;IACjBC,EAAE;IACFC,SAAS;IACTC,QAAQ;IACR,GAAGC;EACL,CAAC,GAAAJ,IAAA;EACC,oBAAOJ,KAAK,CAACS,aAAa,CACxBJ,EAAE,EACF;IACE,GAAGG,KAAK;IACRE,SAAS,EAAER,UAAU,CAACM,KAAK,CAACE,SAAS,EAAE;MACrC,iBAAiB,EAAE,CAACJ,SAAS;MAC7B,yBAAyB,EAAEA;IAC7B,CAAC;EACH,CAAC,EACDC,QACF,CAAC;AACH;AAEAJ,SAAS,CAACQ,SAAS,GAAG;EACpB;EACAN,EAAE,EAAEJ,SAAS,CAACW,WAAW;EACzB;EACAF,SAAS,EAAET,SAAS,CAACY,MAAM;EAC3B;EACAN,QAAQ,EAAEN,SAAS,CAACa,IAAI;EACxB;EACAR,SAAS,EAAEL,SAAS,CAACc;AACvB,CAAC;AAEDZ,SAAS,CAACa,YAAY,GAAG;EACvBX,EAAE,EAAE,KAAK;EACTK,SAAS,EAAEO,SAAS;EACpBV,QAAQ,EAAE,IAAI;EACdD,SAAS,EAAE;AACb,CAAC;AAED,SAASY,eAAeA,CAAA,EAAG;EACzB,oBAAOlB,KAAA,CAAAS,aAAA;IAAMC,SAAS,EAAC;EAAwB,CAAE,CAAC;AACpD;AAEAP,SAAS,CAACgB,MAAM,GAAGD,eAAe;AAElC,SAASA,eAAe;AACxB,eAAef,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","ActionRow","as","isStacked","children","props","createElement","className","ActionRowSpacer","Spacer"],"sources":["../../src/ActionRow/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\n\ninterface ActionRowProps extends React.HTMLAttributes<HTMLElement> {\n /** Specifies the base element */\n as?: React.ElementType;\n /** Specifies the contents of the row */\n children: React.ReactNode;\n /** Specifies class name to append to the base element */\n className?: string;\n /** Specifies whether row should be displayed horizontally */\n isStacked?: boolean;\n}\n\nfunction ActionRow({\n as = 'div',\n isStacked = false,\n children,\n ...props\n}: ActionRowProps) {\n return React.createElement(\n as,\n {\n ...props,\n className: classNames(props.className, {\n 'pgn__action-row': !isStacked,\n 'pgn__action-row-stacked': isStacked,\n }),\n },\n children,\n );\n}\n\nfunction ActionRowSpacer() {\n return <span className=\"pgn__action-row-spacer\" />;\n}\n\nActionRow.Spacer = ActionRowSpacer;\n\nexport { ActionRowSpacer };\nexport default ActionRow;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AAanC,SAASC,SAASA,CAAC;EACjBC,EAAE,GAAG,KAAK;EACVC,SAAS,GAAG,KAAK;EACjBC,QAAQ;EACR,GAAGC;AACW,CAAC,EAAE;EACjB,oBAAON,KAAK,CAACO,aAAa,CACxBJ,EAAE,EACF;IACE,GAAGG,KAAK;IACRE,SAAS,EAAEP,UAAU,CAACK,KAAK,CAACE,SAAS,EAAE;MACrC,iBAAiB,EAAE,CAACJ,SAAS;MAC7B,yBAAyB,EAAEA;IAC7B,CAAC;EACH,CAAC,EACDC,QACF,CAAC;AACH;AAEA,SAASI,eAAeA,CAAA,EAAG;EACzB,oBAAOT,KAAA,CAAAO,aAAA;IAAMC,SAAS,EAAC;EAAwB,CAAE,CAAC;AACpD;AAEAN,SAAS,CAACQ,MAAM,GAAGD,eAAe;AAElC,SAASA,eAAe;AACxB,eAAeP,SAAS","ignoreList":[]}
@@ -11,18 +11,17 @@ import Button from '../Button';
11
11
  // @ts-ignore for now - this needs to be converted to TypeScript
12
12
  import ActionRow from '../ActionRow';
13
13
  export const ALERT_CLOSE_LABEL_TEXT = 'Dismiss';
14
- const Alert = /*#__PURE__*/forwardRef((_ref, ref) => {
15
- let {
16
- children,
17
- icon,
18
- actions,
19
- dismissible = false,
20
- onClose = () => {},
21
- closeLabel,
22
- stacked = false,
23
- show = true,
24
- ...props
25
- } = _ref;
14
+ const Alert = /*#__PURE__*/forwardRef(({
15
+ children,
16
+ icon,
17
+ actions,
18
+ dismissible = false,
19
+ onClose = () => {},
20
+ closeLabel,
21
+ stacked = false,
22
+ show = true,
23
+ ...props
24
+ }, ref) => {
26
25
  const [isStacked, setIsStacked] = useState(stacked);
27
26
  const isExtraSmall = useMediaQuery({
28
27
  maxWidth: breakpoints.extraSmall.maxWidth
@@ -75,24 +74,22 @@ const Alert = /*#__PURE__*/forwardRef((_ref, ref) => {
75
74
  // so there seems to be no other way of providing correct default prop for base element
76
75
  const DivStyledAsH4 = divWithClassName('h4');
77
76
  DivStyledAsH4.displayName = 'DivStyledAsH4';
78
- function AlertHeading(_ref2) {
79
- let {
80
- as = DivStyledAsH4,
81
- bsPrefix = 'alert-heading',
82
- ...props
83
- } = _ref2;
77
+ function AlertHeading({
78
+ as = DivStyledAsH4,
79
+ bsPrefix = 'alert-heading',
80
+ ...props
81
+ }) {
84
82
  return /*#__PURE__*/React.createElement(BaseAlert.Heading, {
85
83
  as,
86
84
  bsPrefix,
87
85
  ...props
88
86
  });
89
87
  }
90
- function AlertLink(_ref3) {
91
- let {
92
- as = 'a',
93
- bsPrefix = 'alert-link',
94
- ...props
95
- } = _ref3;
88
+ function AlertLink({
89
+ as = 'a',
90
+ bsPrefix = 'alert-link',
91
+ ...props
92
+ }) {
96
93
  return /*#__PURE__*/React.createElement(BaseAlert.Link, {
97
94
  as,
98
95
  bsPrefix,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","forwardRef","cloneElement","classNames","Alert","BaseAlert","divWithClassName","FormattedMessage","useMediaQuery","Icon","breakpoints","Button","ActionRow","ALERT_CLOSE_LABEL_TEXT","_ref","ref","children","icon","actions","dismissible","onClose","closeLabel","stacked","show","props","isStacked","setIsStacked","isExtraSmall","maxWidth","extraSmall","actionButtonSize","cloneActionElement","Action","addtlActionProps","size","key","createElement","className","src","length","Spacer","variant","onClick","id","defaultMessage","description","map","DivStyledAsH4","displayName","AlertHeading","_ref2","as","bsPrefix","Heading","AlertLink","_ref3","Link"],"sources":["../../src/Alert/index.tsx"],"sourcesContent":["/* eslint-disable react/require-default-props */\nimport React, {\n useCallback,\n useEffect,\n useState,\n ReactNode,\n ElementType,\n forwardRef,\n FC,\n ForwardRefExoticComponent,\n RefAttributes,\n cloneElement,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n Alert as BaseAlert,\n AlertProps as BaseAlertProps,\n} from 'react-bootstrap';\nimport { type TransitionComponent } from 'react-bootstrap/helpers';\nimport divWithClassName from 'react-bootstrap/divWithClassName';\nimport { FormattedMessage } from 'react-intl';\nimport { useMediaQuery } from 'react-responsive';\nimport Icon, { IconProps } from '../Icon';\nimport breakpoints from '../utils/breakpoints';\nimport Button from '../Button';\n// @ts-ignore for now - this needs to be converted to TypeScript\nimport ActionRow from '../ActionRow';\n\nexport const ALERT_CLOSE_LABEL_TEXT = 'Dismiss';\n\nexport type AlertVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light';\n\nexport type BaseProps = Omit<BaseAlertProps, 'children' | 'variant' | 'closeLabel'>;\n\nexport interface AlertProps extends BaseProps {\n /** Specifies class name to append to the base element */\n className?: string;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n /** Specifies variant to use. */\n variant?: AlertVariant;\n /**\n * Animate the entering and exiting of the Alert. `true` will use the `<Fade>` transition,\n * more detailed customization is also provided.\n */\n transition?: boolean | TransitionComponent;\n children?: ReactNode;\n /** Icon that will be shown in the alert */\n icon?: React.ComponentType<IconProps>;\n /** Whether the alert is shown. */\n show?: boolean;\n /** Whether the alert is dismissible. Defaults to false. */\n dismissible?: boolean;\n /** Optional callback function for when the alert it dismissed. */\n onClose?: () => void;\n /** Optional list of action elements. May include, at most, 2 actions, or 1 if dismissible is true. */\n actions?: React.ReactElement[];\n /** Position of the dismiss and call-to-action buttons. Defaults to `false`. */\n stacked?: boolean;\n /** Sets the text for alert close button, defaults to 'Dismiss'. */\n closeLabel?: string | ReactNode;\n}\n\nexport interface AlertHeadingProps {\n /** Specifies the base element */\n as?: ElementType;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n children?: ReactNode;\n}\n\nexport interface AlertLinkProps {\n /** Specifies the base element */\n as?: ElementType;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n children?: ReactNode;\n // eslint-disable-next-line react/no-unused-prop-types\n href?: string;\n}\n\nexport interface AlertComponent extends ForwardRefExoticComponent<AlertProps & RefAttributes<HTMLDivElement>> {\n Heading: FC<AlertHeadingProps>;\n Link: FC<AlertLinkProps>;\n}\n\nconst Alert = forwardRef(({\n children,\n icon,\n actions,\n dismissible = false,\n onClose = () => {},\n closeLabel,\n stacked = false,\n show = true,\n ...props\n}: AlertProps, ref: React.ForwardedRef<HTMLDivElement>) => {\n const [isStacked, setIsStacked] = useState(stacked);\n const isExtraSmall = useMediaQuery({ maxWidth: breakpoints.extraSmall.maxWidth });\n const actionButtonSize = 'sm';\n\n useEffect(() => {\n if (isExtraSmall) {\n setIsStacked(true);\n } else {\n setIsStacked(stacked);\n }\n }, [isExtraSmall, stacked]);\n\n const cloneActionElement = useCallback(\n (Action: React.ReactElement) => {\n const addtlActionProps = { size: actionButtonSize, key: Action.props.children };\n return cloneElement(Action, addtlActionProps);\n },\n [],\n );\n\n return (\n <BaseAlert\n {...props}\n className={classNames('alert-content', props.className)}\n show={show}\n ref={ref}\n >\n {icon && <Icon src={icon} className=\"alert-icon\" />}\n <div\n className={classNames({\n 'pgn__alert-message-wrapper': !isStacked,\n 'pgn__alert-message-wrapper-stacked': isStacked,\n })}\n >\n <div className=\"alert-message-content\">\n {children}\n </div>\n {(dismissible || (actions && actions.length > 0)) && (\n <ActionRow className=\"pgn__alert-actions\">\n <ActionRow.Spacer />\n {dismissible && (\n <Button\n size={actionButtonSize}\n variant=\"tertiary\"\n onClick={onClose}\n >\n {closeLabel || (\n <FormattedMessage\n id=\"pgn.Alert.closeLabel\"\n defaultMessage=\"Dismiss\"\n description=\"Label of a close button on Alert component\"\n />\n )}\n </Button>\n )}\n {actions && actions.map(cloneActionElement)}\n </ActionRow>\n )}\n </div>\n </BaseAlert>\n );\n}) as AlertComponent;\n\n// This is needed to display a default prop for Alert.Heading element\n// Copied from react-bootstrap since BaseAlert.Heading component doesn't have defaultProps,\n// so there seems to be no other way of providing correct default prop for base element\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\n\nfunction AlertHeading({\n as = DivStyledAsH4,\n bsPrefix = 'alert-heading',\n ...props\n}: AlertHeadingProps): JSX.Element {\n return <BaseAlert.Heading {...{ as, bsPrefix, ...props }} />;\n}\n\nfunction AlertLink({\n as = 'a',\n bsPrefix = 'alert-link',\n ...props\n}: AlertLinkProps): JSX.Element {\n return <BaseAlert.Link {...{ as, bsPrefix, ...props }} />;\n}\n\nAlert.Heading = AlertHeading;\nAlert.Link = AlertLink;\n\nexport default Alert;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","useState","forwardRef","cloneElement","classNames","Alert","BaseAlert","divWithClassName","FormattedMessage","useMediaQuery","Icon","breakpoints","Button","ActionRow","ALERT_CLOSE_LABEL_TEXT","children","icon","actions","dismissible","onClose","closeLabel","stacked","show","props","ref","isStacked","setIsStacked","isExtraSmall","maxWidth","extraSmall","actionButtonSize","cloneActionElement","Action","addtlActionProps","size","key","createElement","className","src","length","Spacer","variant","onClick","id","defaultMessage","description","map","DivStyledAsH4","displayName","AlertHeading","as","bsPrefix","Heading","AlertLink","Link"],"sources":["../../src/Alert/index.tsx"],"sourcesContent":["/* eslint-disable react/require-default-props */\nimport React, {\n useCallback,\n useEffect,\n useState,\n ReactNode,\n ElementType,\n forwardRef,\n FC,\n ForwardRefExoticComponent,\n RefAttributes,\n cloneElement,\n} from 'react';\nimport classNames from 'classnames';\nimport {\n Alert as BaseAlert,\n AlertProps as BaseAlertProps,\n} from 'react-bootstrap';\nimport { type TransitionComponent } from 'react-bootstrap/helpers';\nimport divWithClassName from 'react-bootstrap/divWithClassName';\nimport { FormattedMessage } from 'react-intl';\nimport { useMediaQuery } from 'react-responsive';\nimport Icon, { IconProps } from '../Icon';\nimport breakpoints from '../utils/breakpoints';\nimport Button from '../Button';\n// @ts-ignore for now - this needs to be converted to TypeScript\nimport ActionRow from '../ActionRow';\n\nexport const ALERT_CLOSE_LABEL_TEXT = 'Dismiss';\n\nexport type AlertVariant = 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info' | 'dark' | 'light';\n\nexport type BaseProps = Omit<BaseAlertProps, 'children' | 'variant' | 'closeLabel'>;\n\nexport interface AlertProps extends BaseProps {\n /** Specifies class name to append to the base element */\n className?: string;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n /** Specifies variant to use. */\n variant?: AlertVariant;\n /**\n * Animate the entering and exiting of the Alert. `true` will use the `<Fade>` transition,\n * more detailed customization is also provided.\n */\n transition?: boolean | TransitionComponent;\n children?: ReactNode;\n /** Icon that will be shown in the alert */\n icon?: React.ComponentType<IconProps>;\n /** Whether the alert is shown. */\n show?: boolean;\n /** Whether the alert is dismissible. Defaults to false. */\n dismissible?: boolean;\n /** Optional callback function for when the alert it dismissed. */\n onClose?: () => void;\n /** Optional list of action elements. May include, at most, 2 actions, or 1 if dismissible is true. */\n actions?: React.ReactElement[];\n /** Position of the dismiss and call-to-action buttons. Defaults to `false`. */\n stacked?: boolean;\n /** Sets the text for alert close button, defaults to 'Dismiss'. */\n closeLabel?: string | ReactNode;\n}\n\nexport interface AlertHeadingProps {\n /** Specifies the base element */\n as?: ElementType;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n children?: ReactNode;\n}\n\nexport interface AlertLinkProps {\n /** Specifies the base element */\n as?: ElementType;\n /** Overrides underlying component base CSS class name */\n bsPrefix?: string;\n // eslint-disable-next-line react/no-unused-prop-types\n children?: ReactNode;\n // eslint-disable-next-line react/no-unused-prop-types\n href?: string;\n}\n\nexport interface AlertComponent extends ForwardRefExoticComponent<AlertProps & RefAttributes<HTMLDivElement>> {\n Heading: FC<AlertHeadingProps>;\n Link: FC<AlertLinkProps>;\n}\n\nconst Alert = forwardRef(({\n children,\n icon,\n actions,\n dismissible = false,\n onClose = () => {},\n closeLabel,\n stacked = false,\n show = true,\n ...props\n}: AlertProps, ref: React.ForwardedRef<HTMLDivElement>) => {\n const [isStacked, setIsStacked] = useState(stacked);\n const isExtraSmall = useMediaQuery({ maxWidth: breakpoints.extraSmall.maxWidth });\n const actionButtonSize = 'sm';\n\n useEffect(() => {\n if (isExtraSmall) {\n setIsStacked(true);\n } else {\n setIsStacked(stacked);\n }\n }, [isExtraSmall, stacked]);\n\n const cloneActionElement = useCallback(\n (Action: React.ReactElement) => {\n const addtlActionProps = { size: actionButtonSize, key: Action.props.children };\n return cloneElement(Action, addtlActionProps);\n },\n [],\n );\n\n return (\n <BaseAlert\n {...props}\n className={classNames('alert-content', props.className)}\n show={show}\n ref={ref}\n >\n {icon && <Icon src={icon} className=\"alert-icon\" />}\n <div\n className={classNames({\n 'pgn__alert-message-wrapper': !isStacked,\n 'pgn__alert-message-wrapper-stacked': isStacked,\n })}\n >\n <div className=\"alert-message-content\">\n {children}\n </div>\n {(dismissible || (actions && actions.length > 0)) && (\n <ActionRow className=\"pgn__alert-actions\">\n <ActionRow.Spacer />\n {dismissible && (\n <Button\n size={actionButtonSize}\n variant=\"tertiary\"\n onClick={onClose}\n >\n {closeLabel || (\n <FormattedMessage\n id=\"pgn.Alert.closeLabel\"\n defaultMessage=\"Dismiss\"\n description=\"Label of a close button on Alert component\"\n />\n )}\n </Button>\n )}\n {actions && actions.map(cloneActionElement)}\n </ActionRow>\n )}\n </div>\n </BaseAlert>\n );\n}) as AlertComponent;\n\n// This is needed to display a default prop for Alert.Heading element\n// Copied from react-bootstrap since BaseAlert.Heading component doesn't have defaultProps,\n// so there seems to be no other way of providing correct default prop for base element\nconst DivStyledAsH4 = divWithClassName('h4');\nDivStyledAsH4.displayName = 'DivStyledAsH4';\n\nfunction AlertHeading({\n as = DivStyledAsH4,\n bsPrefix = 'alert-heading',\n ...props\n}: AlertHeadingProps): JSX.Element {\n return <BaseAlert.Heading {...{ as, bsPrefix, ...props }} />;\n}\n\nfunction AlertLink({\n as = 'a',\n bsPrefix = 'alert-link',\n ...props\n}: AlertLinkProps): JSX.Element {\n return <BaseAlert.Link {...{ as, bsPrefix, ...props }} />;\n}\n\nAlert.Heading = AlertHeading;\nAlert.Link = AlertLink;\n\nexport default Alert;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ interface AnnotationProps extends React.HTMLAttributes<HTMLSpanElement> {
3
+ /** Specifies contents of the component. */
4
+ children: React.ReactNode;
5
+ /** Specifies class name to append to the base element. */
6
+ className?: string;
7
+ /** Specifies variant to use. */
8
+ variant?: 'error' | 'success' | 'warning' | 'light' | 'dark';
9
+ /** Specifies arrow position. */
10
+ arrowPlacement?: 'top' | 'right' | 'bottom' | 'left';
11
+ }
12
+ declare const Annotation: React.ForwardRefExoticComponent<AnnotationProps & React.RefAttributes<HTMLSpanElement>>;
13
+ export default Annotation;
@@ -1,34 +1,15 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import classNames from 'classnames';
4
- const Annotation = /*#__PURE__*/React.forwardRef((_ref, ref) => {
5
- let {
6
- className,
7
- variant,
8
- children,
9
- arrowPlacement,
10
- ...props
11
- } = _ref;
12
- return /*#__PURE__*/React.createElement("span", {
13
- className: classNames(className, 'pgn__annotation', `pgn__annotation-${variant}-${arrowPlacement}`),
14
- ref: ref,
15
- ...props
16
- }, children);
17
- });
18
- Annotation.defaultProps = {
19
- className: undefined,
20
- variant: 'success',
21
- arrowPlacement: 'bottom'
22
- };
23
- Annotation.propTypes = {
24
- /** Specifies contents of the component. */
25
- children: PropTypes.node.isRequired,
26
- /** Specifies class name to append to the base element. */
27
- className: PropTypes.string,
28
- /** Specifies variant to use. */
29
- variant: PropTypes.oneOf(['error', 'success', 'warning', 'light', 'dark']),
30
- /** Specifies arrow position. */
31
- arrowPlacement: PropTypes.oneOf(['top', 'right', 'bottom', 'left'])
32
- };
3
+ const Annotation = /*#__PURE__*/React.forwardRef(({
4
+ className,
5
+ variant = 'success',
6
+ children,
7
+ arrowPlacement = 'bottom',
8
+ ...props
9
+ }, ref) => /*#__PURE__*/React.createElement("span", {
10
+ className: classNames(className, 'pgn__annotation', `pgn__annotation-${variant}-${arrowPlacement}`),
11
+ ref: ref,
12
+ ...props
13
+ }, children));
33
14
  export default Annotation;
34
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Annotation","forwardRef","_ref","ref","className","variant","children","arrowPlacement","props","createElement","defaultProps","undefined","propTypes","node","isRequired","string","oneOf"],"sources":["../../src/Annotation/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst Annotation = React.forwardRef(({\n className,\n variant,\n children,\n arrowPlacement,\n ...props\n}, ref) => (\n <span\n className={classNames(\n className,\n 'pgn__annotation',\n `pgn__annotation-${variant}-${arrowPlacement}`,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </span>\n));\n\nAnnotation.defaultProps = {\n className: undefined,\n variant: 'success',\n arrowPlacement: 'bottom',\n};\n\nAnnotation.propTypes = {\n /** Specifies contents of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies variant to use. */\n variant: PropTypes.oneOf(['error', 'success', 'warning', 'light', 'dark']),\n /** Specifies arrow position. */\n arrowPlacement: PropTypes.oneOf(['top', 'right', 'bottom', 'left']),\n};\n\nexport default Annotation;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,UAAU,gBAAGH,KAAK,CAACI,UAAU,CAAC,CAAAC,IAAA,EAMjCC,GAAG;EAAA,IAN+B;IACnCC,SAAS;IACTC,OAAO;IACPC,QAAQ;IACRC,cAAc;IACd,GAAGC;EACL,CAAC,GAAAN,IAAA;EAAA,oBACCL,KAAA,CAAAY,aAAA;IACEL,SAAS,EAAEL,UAAU,CACnBK,SAAS,EACT,iBAAiB,EACjB,mBAAmBC,OAAO,IAAIE,cAAc,EAC9C,CAAE;IACFJ,GAAG,EAAEA,GAAI;IAAA,GACLK;EAAK,GAERF,QACG,CAAC;AAAA,CACR,CAAC;AAEFN,UAAU,CAACU,YAAY,GAAG;EACxBN,SAAS,EAAEO,SAAS;EACpBN,OAAO,EAAE,SAAS;EAClBE,cAAc,EAAE;AAClB,CAAC;AAEDP,UAAU,CAACY,SAAS,GAAG;EACrB;EACAN,QAAQ,EAAER,SAAS,CAACe,IAAI,CAACC,UAAU;EACnC;EACAV,SAAS,EAAEN,SAAS,CAACiB,MAAM;EAC3B;EACAV,OAAO,EAAEP,SAAS,CAACkB,KAAK,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;EAC1E;EACAT,cAAc,EAAET,SAAS,CAACkB,KAAK,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;AACpE,CAAC;AAED,eAAehB,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","Annotation","forwardRef","className","variant","children","arrowPlacement","props","ref","createElement"],"sources":["../../src/Annotation/index.tsx"],"sourcesContent":["import React, { ForwardedRef } from 'react';\nimport classNames from 'classnames';\n\ninterface AnnotationProps extends React.HTMLAttributes<HTMLSpanElement> {\n /** Specifies contents of the component. */\n children: React.ReactNode;\n /** Specifies class name to append to the base element. */\n className?: string;\n /** Specifies variant to use. */\n variant?: 'error' | 'success' | 'warning' | 'light' | 'dark';\n /** Specifies arrow position. */\n arrowPlacement?: 'top' | 'right' | 'bottom' | 'left';\n}\n\nconst Annotation = React.forwardRef(({\n className,\n variant = 'success',\n children,\n arrowPlacement = 'bottom',\n ...props\n} : AnnotationProps, ref : ForwardedRef<HTMLSpanElement>) => (\n <span\n className={classNames(\n className,\n 'pgn__annotation',\n `pgn__annotation-${variant}-${arrowPlacement}`,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </span>\n));\n\nexport default Annotation;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAwB,OAAO;AAC3C,OAAOC,UAAU,MAAM,YAAY;AAanC,MAAMC,UAAU,gBAAGF,KAAK,CAACG,UAAU,CAAC,CAAC;EACnCC,SAAS;EACTC,OAAO,GAAG,SAAS;EACnBC,QAAQ;EACRC,cAAc,GAAG,QAAQ;EACzB,GAAGC;AACa,CAAC,EAAEC,GAAmC,kBACtDT,KAAA,CAAAU,aAAA;EACEN,SAAS,EAAEH,UAAU,CACnBG,SAAS,EACT,iBAAiB,EACjB,mBAAmBC,OAAO,IAAIE,cAAc,EAC9C,CAAE;EACFE,GAAG,EAAEA,GAAI;EAAA,GACLD;AAAK,GAERF,QACG,CACP,CAAC;AAEF,eAAeJ,UAAU","ignoreList":[]}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ export interface AvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {
3
+ /** Alt text. Usually the user's name */
4
+ alt?: string;
5
+ /** Size of the avatar */
6
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'huge';
7
+ /** Image src of the avatar image */
8
+ src?: string;
9
+ }
10
+ declare function Avatar({ alt, size, src, ...attrs }: AvatarProps): import("react/jsx-runtime").JSX.Element;
11
+ export default Avatar;
@@ -1,14 +1,13 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import classNames from 'classnames';
3
+ // @ts-ignore
4
4
  import defaultAvatar from './default-avatar.svg';
5
- function Avatar(_ref) {
6
- let {
7
- alt,
8
- size,
9
- src,
10
- ...attrs
11
- } = _ref;
5
+ function Avatar({
6
+ alt = '',
7
+ size = 'md',
8
+ src,
9
+ ...attrs
10
+ }) {
12
11
  return /*#__PURE__*/React.createElement("img", {
13
12
  ...attrs,
14
13
  className: classNames('pgn__avatar', `pgn__avatar-${size}`, attrs.className),
@@ -16,18 +15,5 @@ function Avatar(_ref) {
16
15
  alt: alt
17
16
  });
18
17
  }
19
- Avatar.propTypes = {
20
- /** Alt text. Usually the user's name */
21
- alt: PropTypes.string,
22
- /** Size of the avatar */
23
- size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl', 'huge']),
24
- /** Image src of the avatar image */
25
- src: PropTypes.string
26
- };
27
- Avatar.defaultProps = {
28
- alt: '',
29
- size: 'md',
30
- src: undefined
31
- };
32
18
  export default Avatar;
33
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","defaultAvatar","Avatar","_ref","alt","size","src","attrs","createElement","className","propTypes","string","oneOf","defaultProps","undefined"],"sources":["../../src/Avatar/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport defaultAvatar from './default-avatar.svg';\n\nfunction Avatar({\n alt,\n size,\n src,\n ...attrs\n}) {\n return (\n <img\n {...attrs}\n className={classNames(\n 'pgn__avatar',\n `pgn__avatar-${size}`,\n attrs.className,\n )}\n src={src || defaultAvatar}\n alt={alt}\n />\n );\n}\n\nAvatar.propTypes = {\n /** Alt text. Usually the user's name */\n alt: PropTypes.string,\n /** Size of the avatar */\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl', 'huge']),\n /** Image src of the avatar image */\n src: PropTypes.string,\n};\n\nAvatar.defaultProps = {\n alt: '',\n size: 'md',\n src: undefined,\n};\n\nexport default Avatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,aAAa,MAAM,sBAAsB;AAEhD,SAASC,MAAMA,CAAAC,IAAA,EAKZ;EAAA,IALa;IACdC,GAAG;IACHC,IAAI;IACJC,GAAG;IACH,GAAGC;EACL,CAAC,GAAAJ,IAAA;EACC,oBACEL,KAAA,CAAAU,aAAA;IAAA,GACMD,KAAK;IACTE,SAAS,EAAET,UAAU,CACnB,aAAa,EACb,eAAeK,IAAI,EAAE,EACrBE,KAAK,CAACE,SACR,CAAE;IACFH,GAAG,EAAEA,GAAG,IAAIL,aAAc;IAC1BG,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN;AAEAF,MAAM,CAACQ,SAAS,GAAG;EACjB;EACAN,GAAG,EAAEL,SAAS,CAACY,MAAM;EACrB;EACAN,IAAI,EAAEN,SAAS,CAACa,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;EACpE;EACAN,GAAG,EAAEP,SAAS,CAACY;AACjB,CAAC;AAEDT,MAAM,CAACW,YAAY,GAAG;EACpBT,GAAG,EAAE,EAAE;EACPC,IAAI,EAAE,IAAI;EACVC,GAAG,EAAEQ;AACP,CAAC;AAED,eAAeZ,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","defaultAvatar","Avatar","alt","size","src","attrs","createElement","className"],"sources":["../../src/Avatar/index.tsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\n// @ts-ignore\nimport defaultAvatar from './default-avatar.svg';\n\nexport interface AvatarProps extends React.ImgHTMLAttributes<HTMLImageElement> {\n /** Alt text. Usually the user's name */\n alt?: string;\n /** Size of the avatar */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | 'huge';\n /** Image src of the avatar image */\n src?: string;\n}\n\nfunction Avatar({\n alt = '',\n size = 'md',\n src,\n ...attrs\n}: AvatarProps) {\n return (\n <img\n {...attrs}\n className={classNames(\n 'pgn__avatar',\n `pgn__avatar-${size}`,\n attrs.className,\n )}\n src={src || defaultAvatar}\n alt={alt}\n />\n );\n}\n\nexport default Avatar;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC;AACA,OAAOC,aAAa,MAAM,sBAAsB;AAWhD,SAASC,MAAMA,CAAC;EACdC,GAAG,GAAG,EAAE;EACRC,IAAI,GAAG,IAAI;EACXC,GAAG;EACH,GAAGC;AACQ,CAAC,EAAE;EACd,oBACEP,KAAA,CAAAQ,aAAA;IAAA,GACMD,KAAK;IACTE,SAAS,EAAER,UAAU,CACnB,aAAa,EACb,eAAeI,IAAI,EAAE,EACrBE,KAAK,CAACE,SACR,CAAE;IACFH,GAAG,EAAEA,GAAG,IAAIJ,aAAc;IAC1BE,GAAG,EAAEA;EAAI,CACV,CAAC;AAEN;AAEA,eAAeD,MAAM","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ interface AvatarButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ /** The button text */
4
+ children?: string;
5
+ /** A class name to append to the button */
6
+ className?: string;
7
+ /** Show the label or only the avatar */
8
+ showLabel?: boolean;
9
+ /** The button size */
10
+ size?: 'sm' | 'md' | 'lg';
11
+ /** Image src of the avatar image */
12
+ src?: string;
13
+ /** The button style variant to use */
14
+ variant?: string;
15
+ }
16
+ declare const AvatarButton: React.ForwardRefExoticComponent<AvatarButtonProps & React.RefAttributes<HTMLButtonElement>>;
17
+ export default AvatarButton;
@@ -1,5 +1,4 @@
1
1
  import React from 'react';
2
- import PropTypes from 'prop-types';
3
2
  import classNames from 'classnames';
4
3
  import Button from '../Button';
5
4
  import Avatar from '../Avatar';
@@ -8,15 +7,15 @@ const buttonSizesToAvatarSize = {
8
7
  md: 'sm',
9
8
  lg: 'md'
10
9
  };
11
- const AvatarButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
12
- let {
13
- children,
14
- className,
15
- showLabel,
16
- size,
17
- src,
18
- ...attrs
19
- } = _ref;
10
+ const AvatarButton = /*#__PURE__*/React.forwardRef(({
11
+ children,
12
+ className,
13
+ showLabel = true,
14
+ size = 'md',
15
+ src,
16
+ variant = 'tertiary',
17
+ ...attrs
18
+ }, ref) => {
20
19
  const avatarSize = buttonSizesToAvatarSize[size] || 'sm';
21
20
  return /*#__PURE__*/React.createElement(Button, {
22
21
  ...attrs,
@@ -26,34 +25,13 @@ const AvatarButton = /*#__PURE__*/React.forwardRef((_ref, ref) => {
26
25
  'pgn__avatar-button-hide-label': !showLabel
27
26
  }),
28
27
  size: size,
29
- ref: ref
28
+ ref: ref,
29
+ variant: variant
30
30
  }, /*#__PURE__*/React.createElement(Avatar, {
31
31
  src: src,
32
32
  alt: showLabel ? '' : children,
33
33
  size: avatarSize
34
34
  }), showLabel && children);
35
35
  });
36
- AvatarButton.propTypes = {
37
- /** The button text */
38
- children: PropTypes.string,
39
- /** A class name to append to the button */
40
- className: PropTypes.string,
41
- /** Show the label or only the avatar */
42
- showLabel: PropTypes.bool,
43
- /** The button size */
44
- size: PropTypes.oneOf(['sm', 'md', 'lg']),
45
- /** Image src of the avatar image */
46
- src: PropTypes.string,
47
- /** The button style variant to use */
48
- variant: PropTypes.string
49
- };
50
- AvatarButton.defaultProps = {
51
- children: undefined,
52
- className: undefined,
53
- showLabel: true,
54
- size: 'md',
55
- src: undefined,
56
- variant: 'tertiary'
57
- };
58
36
  export default AvatarButton;
59
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Button","Avatar","buttonSizesToAvatarSize","sm","md","lg","AvatarButton","forwardRef","_ref","ref","children","className","showLabel","size","src","attrs","avatarSize","createElement","alt","propTypes","string","bool","oneOf","variant","defaultProps","undefined"],"sources":["../../src/AvatarButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '../Button';\nimport Avatar from '../Avatar';\n\nconst buttonSizesToAvatarSize = {\n sm: 'xs',\n md: 'sm',\n lg: 'md',\n};\n\nconst AvatarButton = React.forwardRef(({\n children,\n className,\n showLabel,\n size,\n src,\n ...attrs\n}, ref) => {\n const avatarSize = buttonSizesToAvatarSize[size] || 'sm';\n return (\n <Button\n {...attrs}\n className={classNames(\n 'btn-avatar', // the public class name for custom styling\n 'pgn__avatar-button-avatar',\n `pgn__avatar-button-avatar-${size}`,\n className,\n { 'pgn__avatar-button-hide-label': !showLabel },\n )}\n size={size}\n ref={ref}\n >\n <Avatar src={src} alt={showLabel ? '' : children} size={avatarSize} />\n {showLabel && children}\n </Button>\n );\n});\n\nAvatarButton.propTypes = {\n /** The button text */\n children: PropTypes.string,\n /** A class name to append to the button */\n className: PropTypes.string,\n /** Show the label or only the avatar */\n showLabel: PropTypes.bool,\n /** The button size */\n size: PropTypes.oneOf(['sm', 'md', 'lg']),\n /** Image src of the avatar image */\n src: PropTypes.string,\n /** The button style variant to use */\n variant: PropTypes.string,\n};\n\nAvatarButton.defaultProps = {\n children: undefined,\n className: undefined,\n showLabel: true,\n size: 'md',\n src: undefined,\n variant: 'tertiary',\n};\n\nexport default AvatarButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,MAAM,MAAM,WAAW;AAE9B,MAAMC,uBAAuB,GAAG;EAC9BC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,YAAY,gBAAGT,KAAK,CAACU,UAAU,CAAC,CAAAC,IAAA,EAOnCC,GAAG,KAAK;EAAA,IAP4B;IACrCC,QAAQ;IACRC,SAAS;IACTC,SAAS;IACTC,IAAI;IACJC,GAAG;IACH,GAAGC;EACL,CAAC,GAAAP,IAAA;EACC,MAAMQ,UAAU,GAAGd,uBAAuB,CAACW,IAAI,CAAC,IAAI,IAAI;EACxD,oBACEhB,KAAA,CAAAoB,aAAA,CAACjB,MAAM;IAAA,GACDe,KAAK;IACTJ,SAAS,EAAEZ,UAAU,CACnB,YAAY;IAAE;IACd,2BAA2B,EAC3B,6BAA6Bc,IAAI,EAAE,EACnCF,SAAS,EACT;MAAE,+BAA+B,EAAE,CAACC;IAAU,CAChD,CAAE;IACFC,IAAI,EAAEA,IAAK;IACXJ,GAAG,EAAEA;EAAI,gBAETZ,KAAA,CAAAoB,aAAA,CAAChB,MAAM;IAACa,GAAG,EAAEA,GAAI;IAACI,GAAG,EAAEN,SAAS,GAAG,EAAE,GAAGF,QAAS;IAACG,IAAI,EAAEG;EAAW,CAAE,CAAC,EACrEJ,SAAS,IAAIF,QACR,CAAC;AAEb,CAAC,CAAC;AAEFJ,YAAY,CAACa,SAAS,GAAG;EACvB;EACAT,QAAQ,EAAEZ,SAAS,CAACsB,MAAM;EAC1B;EACAT,SAAS,EAAEb,SAAS,CAACsB,MAAM;EAC3B;EACAR,SAAS,EAAEd,SAAS,CAACuB,IAAI;EACzB;EACAR,IAAI,EAAEf,SAAS,CAACwB,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;EACzC;EACAR,GAAG,EAAEhB,SAAS,CAACsB,MAAM;EACrB;EACAG,OAAO,EAAEzB,SAAS,CAACsB;AACrB,CAAC;AAEDd,YAAY,CAACkB,YAAY,GAAG;EAC1Bd,QAAQ,EAAEe,SAAS;EACnBd,SAAS,EAAEc,SAAS;EACpBb,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,IAAI;EACVC,GAAG,EAAEW,SAAS;EACdF,OAAO,EAAE;AACX,CAAC;AAED,eAAejB,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","Button","Avatar","buttonSizesToAvatarSize","sm","md","lg","AvatarButton","forwardRef","children","className","showLabel","size","src","variant","attrs","ref","avatarSize","createElement","alt"],"sources":["../../src/AvatarButton/index.tsx"],"sourcesContent":["import React, { ForwardedRef } from 'react';\nimport classNames from 'classnames';\nimport Button from '../Button';\nimport Avatar, { AvatarProps } from '../Avatar';\n\nconst buttonSizesToAvatarSize = {\n sm: 'xs',\n md: 'sm',\n lg: 'md',\n};\n\ninterface AvatarButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n /** The button text */\n children?: string;\n /** A class name to append to the button */\n className?: string;\n /** Show the label or only the avatar */\n showLabel?: boolean;\n /** The button size */\n size?: 'sm' | 'md' | 'lg';\n /** Image src of the avatar image */\n src?: string;\n /** The button style variant to use */\n variant?: string;\n}\n\nconst AvatarButton = React.forwardRef(({\n children,\n className,\n showLabel = true,\n size = 'md',\n src,\n variant = 'tertiary',\n ...attrs\n}: AvatarButtonProps, ref: ForwardedRef<HTMLButtonElement>) => {\n const avatarSize = buttonSizesToAvatarSize[size] || 'sm';\n return (\n <Button\n {...attrs}\n className={classNames(\n 'btn-avatar', // the public class name for custom styling\n 'pgn__avatar-button-avatar',\n `pgn__avatar-button-avatar-${size}`,\n className,\n { 'pgn__avatar-button-hide-label': !showLabel },\n )}\n size={size}\n ref={ref}\n variant={variant}\n >\n <Avatar src={src} alt={showLabel ? '' : children} size={avatarSize as AvatarProps['size']} />\n {showLabel && children}\n </Button>\n );\n});\n\nexport default AvatarButton;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAwB,OAAO;AAC3C,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,MAAM,MAAM,WAAW;AAC9B,OAAOC,MAAM,MAAuB,WAAW;AAE/C,MAAMC,uBAAuB,GAAG;EAC9BC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE;AACN,CAAC;AAiBD,MAAMC,YAAY,gBAAGR,KAAK,CAACS,UAAU,CAAC,CAAC;EACrCC,QAAQ;EACRC,SAAS;EACTC,SAAS,GAAG,IAAI;EAChBC,IAAI,GAAG,IAAI;EACXC,GAAG;EACHC,OAAO,GAAG,UAAU;EACpB,GAAGC;AACc,CAAC,EAAEC,GAAoC,KAAK;EAC7D,MAAMC,UAAU,GAAGd,uBAAuB,CAACS,IAAI,CAAC,IAAI,IAAI;EACxD,oBACEb,KAAA,CAAAmB,aAAA,CAACjB,MAAM;IAAA,GACDc,KAAK;IACTL,SAAS,EAAEV,UAAU,CACnB,YAAY;IAAE;IACd,2BAA2B,EAC3B,6BAA6BY,IAAI,EAAE,EACnCF,SAAS,EACT;MAAE,+BAA+B,EAAE,CAACC;IAAU,CAChD,CAAE;IACFC,IAAI,EAAEA,IAAK;IACXI,GAAG,EAAEA,GAAI;IACTF,OAAO,EAAEA;EAAQ,gBAEjBf,KAAA,CAAAmB,aAAA,CAAChB,MAAM;IAACW,GAAG,EAAEA,GAAI;IAACM,GAAG,EAAER,SAAS,GAAG,EAAE,GAAGF,QAAS;IAACG,IAAI,EAAEK;EAAkC,CAAE,CAAC,EAC5FN,SAAS,IAAIF,QACR,CAAC;AAEb,CAAC,CAAC;AAEF,eAAeF,YAAY","ignoreList":[]}
@@ -1,12 +1,11 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
- export default function BreadcrumbLink(_ref) {
5
- let {
6
- as,
7
- clickHandler,
8
- linkProps
9
- } = _ref;
4
+ export default function BreadcrumbLink({
5
+ as,
6
+ clickHandler,
7
+ linkProps
8
+ }) {
10
9
  const {
11
10
  label,
12
11
  url,