@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
@@ -12,24 +12,23 @@ import IconButton from '../IconButton';
12
12
  import Spinner from '../Spinner';
13
13
  import useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';
14
14
  import messages from './messages';
15
- const FormAutosuggest = /*#__PURE__*/forwardRef((_ref, ref) => {
16
- let {
17
- children,
18
- arrowKeyNavigationSelector,
19
- ignoredArrowKeysNames,
20
- screenReaderText,
21
- value,
22
- isLoading,
23
- isValueRequired,
24
- valueRequiredErrorMessageText,
25
- isSelectionRequired,
26
- selectionRequiredErrorMessageText,
27
- hasCustomError,
28
- customErrorMessageText,
29
- onChange,
30
- helpMessage,
31
- ...props
32
- } = _ref;
15
+ const FormAutosuggest = /*#__PURE__*/forwardRef(({
16
+ children,
17
+ arrowKeyNavigationSelector,
18
+ ignoredArrowKeysNames,
19
+ screenReaderText,
20
+ value,
21
+ isLoading,
22
+ isValueRequired,
23
+ valueRequiredErrorMessageText,
24
+ isSelectionRequired,
25
+ selectionRequiredErrorMessageText,
26
+ hasCustomError,
27
+ customErrorMessageText,
28
+ onChange,
29
+ helpMessage,
30
+ ...props
31
+ }, ref) => {
33
32
  const intl = useIntl();
34
33
  const formControlRef = useRef();
35
34
  const parentRef = useArrowKeyNavigation({
@@ -71,8 +70,7 @@ const FormAutosuggest = /*#__PURE__*/forwardRef((_ref, ref) => {
71
70
  onClick(e);
72
71
  }
73
72
  };
74
- function getItems() {
75
- let strToFind = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
73
+ function getItems(strToFind = '') {
76
74
  let childrenOpt = React.Children.map(children, child => {
77
75
  const {
78
76
  children: childChildren,
@@ -1 +1 @@
1
- {"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","forwardRef","useImperativeHandle","PropTypes","v4","uuidv4","useIntl","requiredWhen","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","_ref","ref","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","isValueRequired","valueRequiredErrorMessageText","isSelectionRequired","selectionRequiredErrorMessageText","hasCustomError","customErrorMessageText","onChange","helpMessage","props","intl","formControlRef","parentRef","selectors","ignoredKeys","isDropdownExpanded","setIsDropdownExpanded","isActive","setIsActive","hasValue","setHasValue","hasSelection","setHasSelection","displayValue","setDisplayValue","userProvidedText","dropdownItems","setDropdownItems","activeMenuItemId","setActiveMenuItemId","isValid","setIsValid","errorMessage","setErrorMessage","handleMenuItemFocus","menuItemId","collapseDropdown","handleItemSelect","e","onClick","selectedValue","currentTarget","getAttribute","selectedId","id","selectionValue","selectionId","getItems","strToFind","arguments","length","undefined","childrenOpt","Children","map","child","childChildren","rest","cloneElement","onFocus","filter","opt","toLowerCase","includes","expandDropdown","toggleDropdown","iconToggle","createElement","className","tabIndex","src","iconAs","size","variant","alt","formatMessage","iconButtonClosed","iconButtonOpened","enterControl","updateErrorStateAndErrorMessage","leaveControl","keyDownHandler","key","preventDefault","current","focus","handleDocumentClick","contains","target","document","addEventListener","removeEventListener","handleTextboxClick","handleTextInput","filteredItems","matchingDropdownItem","find","o","getControlProps","controlProps","controlId","isInvalid","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","shape","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef, forwardRef, useImperativeHandle,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { requiredWhen } from '../utils/propTypes';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';\nimport messages from './messages';\n\nconst FormAutosuggest = forwardRef(\n (\n {\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n isValueRequired,\n valueRequiredErrorMessageText,\n isSelectionRequired,\n selectionRequiredErrorMessageText,\n hasCustomError,\n customErrorMessageText,\n onChange,\n helpMessage,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isDropdownExpanded, setIsDropdownExpanded] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [hasValue, setHasValue] = useState(false);\n const [hasSelection, setHasSelection] = useState(false);\n const [displayValue, setDisplayValue] = useState(value?.userProvidedText || '');\n const [dropdownItems, setDropdownItems] = useState([]);\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n const [isValid, setIsValid] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const collapseDropdown = () => {\n setDropdownItems([]);\n setIsDropdownExpanded(false);\n setActiveMenuItemId(null);\n };\n\n const handleItemSelect = (e, onClick) => {\n const selectedValue = e.currentTarget.getAttribute('data-value');\n const selectedId = e.currentTarget.id;\n\n setHasValue(true);\n setHasSelection(true);\n setDisplayValue(selectedValue);\n\n if (onChange && (!value || (value && selectedValue !== value.selectionValue))) {\n onChange({\n userProvidedText: selectedValue,\n selectionValue: selectedValue,\n selectionId: selectedId,\n });\n }\n\n collapseDropdown();\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n const { children: childChildren, onClick, ...rest } = child.props;\n const menuItemId = child.props.id ?? uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n children: childChildren,\n 'data-value': childChildren,\n onClick: (e) => handleItemSelect(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const expandDropdown = () => {\n setDropdownItems(getItems(displayValue));\n setIsValid(true);\n setErrorMessage('');\n setIsDropdownExpanded(true);\n };\n\n const toggleDropdown = () => {\n if (isDropdownExpanded) {\n collapseDropdown();\n } else {\n expandDropdown();\n }\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabIndex=\"-1\"\n src={isDropdownExpanded ? KeyboardArrowUp : KeyboardArrowDown}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isDropdownExpanded\n ? intl.formatMessage(messages.iconButtonClosed)\n : intl.formatMessage(messages.iconButtonOpened)}\n onClick={toggleDropdown}\n />\n );\n\n const enterControl = () => {\n setIsActive(true);\n };\n\n const updateErrorStateAndErrorMessage = () => {\n if (hasCustomError) {\n setIsValid(false);\n setErrorMessage(customErrorMessageText);\n return;\n }\n\n if (isValueRequired && !hasValue) {\n setIsValid(false);\n setErrorMessage(valueRequiredErrorMessageText);\n return;\n }\n\n if (hasValue && isSelectionRequired && !hasSelection) {\n setIsValid(false);\n setErrorMessage(selectionRequiredErrorMessageText);\n return;\n }\n\n setIsValid(true);\n setErrorMessage('');\n };\n\n useImperativeHandle(ref, () => ({\n // expose updateErrorStateAndErrorMessage so consumers can trigger validation\n // when changing the value of the control externally\n updateErrorStateAndErrorMessage,\n }));\n\n const leaveControl = () => {\n setIsActive(false);\n collapseDropdown();\n updateErrorStateAndErrorMessage();\n };\n\n const keyDownHandler = e => {\n if (!isActive) {\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n collapseDropdown();\n return;\n }\n\n if (e.key === 'Tab') {\n leaveControl();\n }\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n setDisplayValue(value ? value.userProvidedText ?? '' : '');\n setHasValue(!!value && !!value.userProvidedText);\n setHasSelection(!!value && !!value.selectionValue);\n }, [value]);\n\n const handleTextboxClick = () => {\n expandDropdown();\n };\n\n const handleTextInput = (e) => {\n const userProvidedText = e.target.value;\n\n // If the user has removed all text from the textbox\n if (!userProvidedText.length) {\n // reset to a \"no text, nothing selected\" state\n setDisplayValue('');\n setHasValue(false);\n setHasSelection(false);\n\n // clear and close the dropdown\n setDropdownItems([]);\n collapseDropdown();\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send a default empty object\n onChange({\n userProvidedText: '',\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // the user has entered text, we have a value\n setHasValue(true);\n\n // filter dropdown based on entered text\n const filteredItems = getItems(userProvidedText);\n setDropdownItems(filteredItems);\n\n // check for matches in the dropdown\n const matchingDropdownItem = filteredItems.find((o) => (\n o.props.children.toLowerCase() === userProvidedText.toLowerCase()\n ));\n\n // if we didn't find a match\n if (!matchingDropdownItem) {\n // no match means no selection\n setHasSelection(false);\n\n // set the text in the state\n setDisplayValue(userProvidedText);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the user provided text only\n onChange({\n userProvidedText,\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // we found a match, we have a selection!\n setHasSelection(true);\n\n // set the display value based on the item in the dropdown\n // this matters because we match case insensitively\n setDisplayValue(matchingDropdownItem.props.children);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the selected item values\n onChange({\n userProvidedText: matchingDropdownItem.props.children,\n selectionValue: matchingDropdownItem.props.children,\n selectionId: matchingDropdownItem.props.id,\n });\n }\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef} onFocus={enterControl}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${dropdownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!isValid}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(dropdownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={displayValue}\n aria-invalid={errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleTextInput}\n onClick={handleTextboxClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && isValid && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {!isValid && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessage}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : dropdownItems.length > 0 && dropdownItems}\n </ul>\n </div>\n );\n },\n);\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n isValueRequired: false,\n valueRequiredErrorMessageText: null,\n isSelectionRequired: false,\n selectionRequiredErrorMessageText: null,\n hasCustomError: false,\n customErrorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\n /**\n * Specifies the CSS selector string that indicates to which elements\n * the user can navigate using the arrow keys\n */\n arrowKeyNavigationSelector: PropTypes.string,\n /** Specifies ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.shape({\n userProvidedText: PropTypes.string,\n selectionValue: PropTypes.string,\n selectionId: PropTypes.string,\n }),\n /** Specifies if empty values trigger an error state */\n isValueRequired: PropTypes.bool,\n /** Informs user they must input a value. */\n valueRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isValueRequired'),\n /** Specifies if freeform values trigger an error state */\n isSelectionRequired: PropTypes.bool,\n /** Informs user they must make a selection. */\n selectionRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isSelectionRequired'),\n /** Specifies the control is in a consumer provided error state */\n hasCustomError: PropTypes.bool,\n /** Informs user of other errors. */\n customErrorMessageText: requiredWhen(PropTypes.string, 'hasCustomError'),\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormAutosuggest.js","names":["React","useEffect","useState","useRef","forwardRef","useImperativeHandle","PropTypes","v4","uuidv4","useIntl","requiredWhen","KeyboardArrowUp","KeyboardArrowDown","Icon","FormGroupContextProvider","useFormGroupContext","FormControl","FormControlFeedback","IconButton","Spinner","useArrowKeyNavigation","messages","FormAutosuggest","children","arrowKeyNavigationSelector","ignoredArrowKeysNames","screenReaderText","value","isLoading","isValueRequired","valueRequiredErrorMessageText","isSelectionRequired","selectionRequiredErrorMessageText","hasCustomError","customErrorMessageText","onChange","helpMessage","props","ref","intl","formControlRef","parentRef","selectors","ignoredKeys","isDropdownExpanded","setIsDropdownExpanded","isActive","setIsActive","hasValue","setHasValue","hasSelection","setHasSelection","displayValue","setDisplayValue","userProvidedText","dropdownItems","setDropdownItems","activeMenuItemId","setActiveMenuItemId","isValid","setIsValid","errorMessage","setErrorMessage","handleMenuItemFocus","menuItemId","collapseDropdown","handleItemSelect","e","onClick","selectedValue","currentTarget","getAttribute","selectedId","id","selectionValue","selectionId","getItems","strToFind","childrenOpt","Children","map","child","childChildren","rest","cloneElement","onFocus","length","filter","opt","toLowerCase","includes","expandDropdown","toggleDropdown","iconToggle","createElement","className","tabIndex","src","iconAs","size","variant","alt","formatMessage","iconButtonClosed","iconButtonOpened","enterControl","updateErrorStateAndErrorMessage","leaveControl","keyDownHandler","key","preventDefault","current","focus","handleDocumentClick","contains","target","document","addEventListener","removeEventListener","handleTextboxClick","handleTextInput","filteredItems","matchingDropdownItem","find","o","getControlProps","controlProps","controlId","isInvalid","toString","role","autoComplete","trailingElement","type","name","animation","defaultProps","floatingLabel","placeholder","readOnly","propTypes","string","arrayOf","bool","func","shape","node"],"sources":["../../src/Form/FormAutosuggest.jsx"],"sourcesContent":["import React, {\n useEffect, useState, useRef, forwardRef, useImperativeHandle,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuidv4 } from 'uuid';\nimport { useIntl } from 'react-intl';\nimport { requiredWhen } from '../utils/propTypes';\nimport { KeyboardArrowUp, KeyboardArrowDown } from '../../icons';\nimport Icon from '../Icon';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormControl from './FormControl';\nimport FormControlFeedback from './FormControlFeedback';\nimport IconButton from '../IconButton';\nimport Spinner from '../Spinner';\nimport useArrowKeyNavigation from '../hooks/useArrowKeyNavigationHook';\nimport messages from './messages';\n\nconst FormAutosuggest = forwardRef(\n (\n {\n children,\n arrowKeyNavigationSelector,\n ignoredArrowKeysNames,\n screenReaderText,\n value,\n isLoading,\n isValueRequired,\n valueRequiredErrorMessageText,\n isSelectionRequired,\n selectionRequiredErrorMessageText,\n hasCustomError,\n customErrorMessageText,\n onChange,\n helpMessage,\n ...props\n },\n ref,\n ) => {\n const intl = useIntl();\n const formControlRef = useRef();\n const parentRef = useArrowKeyNavigation({\n selectors: arrowKeyNavigationSelector,\n ignoredKeys: ignoredArrowKeysNames,\n });\n const [isDropdownExpanded, setIsDropdownExpanded] = useState(false);\n const [isActive, setIsActive] = useState(false);\n const [hasValue, setHasValue] = useState(false);\n const [hasSelection, setHasSelection] = useState(false);\n const [displayValue, setDisplayValue] = useState(value?.userProvidedText || '');\n const [dropdownItems, setDropdownItems] = useState([]);\n const [activeMenuItemId, setActiveMenuItemId] = useState(null);\n const [isValid, setIsValid] = useState(true);\n const [errorMessage, setErrorMessage] = useState('');\n\n const handleMenuItemFocus = (menuItemId) => {\n setActiveMenuItemId(menuItemId);\n };\n\n const collapseDropdown = () => {\n setDropdownItems([]);\n setIsDropdownExpanded(false);\n setActiveMenuItemId(null);\n };\n\n const handleItemSelect = (e, onClick) => {\n const selectedValue = e.currentTarget.getAttribute('data-value');\n const selectedId = e.currentTarget.id;\n\n setHasValue(true);\n setHasSelection(true);\n setDisplayValue(selectedValue);\n\n if (onChange && (!value || (value && selectedValue !== value.selectionValue))) {\n onChange({\n userProvidedText: selectedValue,\n selectionValue: selectedValue,\n selectionId: selectedId,\n });\n }\n\n collapseDropdown();\n\n if (onClick) {\n onClick(e);\n }\n };\n\n function getItems(strToFind = '') {\n let childrenOpt = React.Children.map(children, (child) => {\n const { children: childChildren, onClick, ...rest } = child.props;\n const menuItemId = child.props.id ?? uuidv4();\n\n return React.cloneElement(child, {\n ...rest,\n children: childChildren,\n 'data-value': childChildren,\n onClick: (e) => handleItemSelect(e, onClick),\n id: menuItemId,\n onFocus: () => handleMenuItemFocus(menuItemId),\n });\n });\n\n if (strToFind.length > 0) {\n childrenOpt = childrenOpt\n .filter((opt) => (opt.props.children.toLowerCase().includes(strToFind.toLowerCase())));\n }\n\n return childrenOpt;\n }\n\n const expandDropdown = () => {\n setDropdownItems(getItems(displayValue));\n setIsValid(true);\n setErrorMessage('');\n setIsDropdownExpanded(true);\n };\n\n const toggleDropdown = () => {\n if (isDropdownExpanded) {\n collapseDropdown();\n } else {\n expandDropdown();\n }\n };\n\n const iconToggle = (\n <IconButton\n className=\"pgn__form-autosuggest__icon-button\"\n data-testid=\"autosuggest-iconbutton\"\n tabIndex=\"-1\"\n src={isDropdownExpanded ? KeyboardArrowUp : KeyboardArrowDown}\n iconAs={Icon}\n size=\"sm\"\n variant=\"secondary\"\n alt={isDropdownExpanded\n ? intl.formatMessage(messages.iconButtonClosed)\n : intl.formatMessage(messages.iconButtonOpened)}\n onClick={toggleDropdown}\n />\n );\n\n const enterControl = () => {\n setIsActive(true);\n };\n\n const updateErrorStateAndErrorMessage = () => {\n if (hasCustomError) {\n setIsValid(false);\n setErrorMessage(customErrorMessageText);\n return;\n }\n\n if (isValueRequired && !hasValue) {\n setIsValid(false);\n setErrorMessage(valueRequiredErrorMessageText);\n return;\n }\n\n if (hasValue && isSelectionRequired && !hasSelection) {\n setIsValid(false);\n setErrorMessage(selectionRequiredErrorMessageText);\n return;\n }\n\n setIsValid(true);\n setErrorMessage('');\n };\n\n useImperativeHandle(ref, () => ({\n // expose updateErrorStateAndErrorMessage so consumers can trigger validation\n // when changing the value of the control externally\n updateErrorStateAndErrorMessage,\n }));\n\n const leaveControl = () => {\n setIsActive(false);\n collapseDropdown();\n updateErrorStateAndErrorMessage();\n };\n\n const keyDownHandler = e => {\n if (!isActive) {\n return;\n }\n\n if (e.key === 'Escape') {\n e.preventDefault();\n\n if (formControlRef) {\n formControlRef.current.focus();\n }\n\n collapseDropdown();\n return;\n }\n\n if (e.key === 'Tab') {\n leaveControl();\n }\n };\n\n const handleDocumentClick = (e) => {\n if (parentRef.current && !parentRef.current.contains(e.target) && isActive) {\n leaveControl();\n }\n };\n\n useEffect(() => {\n document.addEventListener('keydown', keyDownHandler);\n document.addEventListener('click', handleDocumentClick, true);\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n document.removeEventListener('keydown', keyDownHandler);\n };\n });\n\n useEffect(() => {\n setDisplayValue(value ? value.userProvidedText ?? '' : '');\n setHasValue(!!value && !!value.userProvidedText);\n setHasSelection(!!value && !!value.selectionValue);\n }, [value]);\n\n const handleTextboxClick = () => {\n expandDropdown();\n };\n\n const handleTextInput = (e) => {\n const userProvidedText = e.target.value;\n\n // If the user has removed all text from the textbox\n if (!userProvidedText.length) {\n // reset to a \"no text, nothing selected\" state\n setDisplayValue('');\n setHasValue(false);\n setHasSelection(false);\n\n // clear and close the dropdown\n setDropdownItems([]);\n collapseDropdown();\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send a default empty object\n onChange({\n userProvidedText: '',\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // the user has entered text, we have a value\n setHasValue(true);\n\n // filter dropdown based on entered text\n const filteredItems = getItems(userProvidedText);\n setDropdownItems(filteredItems);\n\n // check for matches in the dropdown\n const matchingDropdownItem = filteredItems.find((o) => (\n o.props.children.toLowerCase() === userProvidedText.toLowerCase()\n ));\n\n // if we didn't find a match\n if (!matchingDropdownItem) {\n // no match means no selection\n setHasSelection(false);\n\n // set the text in the state\n setDisplayValue(userProvidedText);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the user provided text only\n onChange({\n userProvidedText,\n selectionValue: '',\n selectionId: '',\n });\n }\n return;\n }\n\n // we found a match, we have a selection!\n setHasSelection(true);\n\n // set the display value based on the item in the dropdown\n // this matters because we match case insensitively\n setDisplayValue(matchingDropdownItem.props.children);\n\n // if the consumer has provided an onChange handler\n if (onChange) {\n // send an object with the selected item values\n onChange({\n userProvidedText: matchingDropdownItem.props.children,\n selectionValue: matchingDropdownItem.props.children,\n selectionId: matchingDropdownItem.props.id,\n });\n }\n };\n\n const { getControlProps } = useFormGroupContext();\n const controlProps = getControlProps(props);\n\n return (\n <div className=\"pgn__form-autosuggest__wrapper\" ref={parentRef} onFocus={enterControl}>\n <div aria-live=\"assertive\" className=\"sr-only\" data-testid=\"autosuggest-screen-reader-options-count\">\n {`${dropdownItems.length} options found`}\n </div>\n <FormGroupContextProvider\n controlId={controlProps.id}\n isInvalid={!isValid}\n >\n <FormControl\n ref={formControlRef}\n aria-expanded={(dropdownItems.length > 0).toString()}\n aria-owns=\"pgn__form-autosuggest__dropdown-box\"\n role=\"combobox\"\n aria-autocomplete=\"list\"\n autoComplete=\"off\"\n value={displayValue}\n aria-invalid={errorMessage}\n aria-activedescendant={activeMenuItemId}\n onChange={handleTextInput}\n onClick={handleTextboxClick}\n trailingElement={iconToggle}\n data-testid=\"autosuggest-textbox-input\"\n {...controlProps}\n />\n\n {helpMessage && isValid && (\n <FormControlFeedback type=\"default\">\n {helpMessage}\n </FormControlFeedback>\n )}\n\n {!isValid && (\n <FormControlFeedback type=\"invalid\" feedback-for={controlProps.name}>\n {errorMessage}\n </FormControlFeedback>\n )}\n </FormGroupContextProvider>\n <ul\n id=\"pgn__form-autosuggest__dropdown-box\"\n className=\"pgn__form-autosuggest__dropdown\"\n role=\"listbox\"\n >\n {isLoading ? (\n <div className=\"pgn__form-autosuggest__dropdown-loading\">\n <Spinner\n animation=\"border\"\n variant=\"dark\"\n screenReaderText={screenReaderText}\n data-testid=\"autosuggest-loading-spinner\"\n />\n </div>\n ) : dropdownItems.length > 0 && dropdownItems}\n </ul>\n </div>\n );\n },\n);\n\nFormAutosuggest.defaultProps = {\n arrowKeyNavigationSelector: 'a:not(:disabled),li:not(:disabled, .btn-icon),input:not(:disabled)',\n ignoredArrowKeysNames: ['ArrowRight', 'ArrowLeft'],\n isLoading: false,\n className: null,\n floatingLabel: null,\n onChange: null,\n helpMessage: '',\n placeholder: '',\n value: null,\n isValueRequired: false,\n valueRequiredErrorMessageText: null,\n isSelectionRequired: false,\n selectionRequiredErrorMessageText: null,\n hasCustomError: false,\n customErrorMessageText: null,\n readOnly: false,\n children: null,\n name: 'form-autosuggest',\n screenReaderText: 'loading',\n};\n\nFormAutosuggest.propTypes = {\n /**\n * Specifies the CSS selector string that indicates to which elements\n * the user can navigate using the arrow keys\n */\n arrowKeyNavigationSelector: PropTypes.string,\n /** Specifies ignored hook keys. */\n ignoredArrowKeysNames: PropTypes.arrayOf(PropTypes.string),\n /** Specifies loading state. */\n isLoading: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.string,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies help information for the user. */\n helpMessage: PropTypes.string,\n /** Specifies the placeholder text for the input. */\n placeholder: PropTypes.string,\n /** Specifies values for the input. */\n value: PropTypes.shape({\n userProvidedText: PropTypes.string,\n selectionValue: PropTypes.string,\n selectionId: PropTypes.string,\n }),\n /** Specifies if empty values trigger an error state */\n isValueRequired: PropTypes.bool,\n /** Informs user they must input a value. */\n valueRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isValueRequired'),\n /** Specifies if freeform values trigger an error state */\n isSelectionRequired: PropTypes.bool,\n /** Informs user they must make a selection. */\n selectionRequiredErrorMessageText: requiredWhen(PropTypes.string, 'isSelectionRequired'),\n /** Specifies the control is in a consumer provided error state */\n hasCustomError: PropTypes.bool,\n /** Informs user of other errors. */\n customErrorMessageText: requiredWhen(PropTypes.string, 'hasCustomError'),\n /** Specifies the name of the base input element. */\n name: PropTypes.string,\n /** Selected list item is read-only. */\n readOnly: PropTypes.bool,\n /** Specifies the content of the `FormAutosuggest`. */\n children: PropTypes.node,\n /** Specifies the screen reader text */\n screenReaderText: PropTypes.string,\n};\n\nexport default FormAutosuggest;\n"],"mappings":"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","ignoreList":[]}
@@ -2,13 +2,12 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import MenuItem from '../Menu/MenuItem';
5
- function FormAutosuggestOption(_ref) {
6
- let {
7
- children,
8
- className,
9
- onClick,
10
- ...props
11
- } = _ref;
5
+ function FormAutosuggestOption({
6
+ children,
7
+ className,
8
+ onClick,
9
+ ...props
10
+ }) {
12
11
  return /*#__PURE__*/React.createElement(MenuItem, {
13
12
  as: "li",
14
13
  "data-testid": "autosuggest-optionitem",
@@ -1 +1 @@
1
- {"version":3,"file":"FormAutosuggestOption.js","names":["React","PropTypes","classNames","MenuItem","FormAutosuggestOption","_ref","children","className","onClick","props","createElement","as","role","tabIndex","defaultProps","propTypes","string","func"],"sources":["../../src/Form/FormAutosuggestOption.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport MenuItem from '../Menu/MenuItem';\n\nfunction FormAutosuggestOption({\n children,\n className,\n onClick,\n ...props\n}) {\n return (\n <MenuItem\n as=\"li\"\n data-testid=\"autosuggest-optionitem\"\n role=\"option\"\n tabIndex=\"-1\"\n onClick={onClick}\n className={classNames(className, 'dropdown-item')}\n {...props}\n >\n {children}\n </MenuItem>\n );\n}\n\nFormAutosuggestOption.defaultProps = {\n className: null,\n children: null,\n onClick: null,\n};\n\nFormAutosuggestOption.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies the text-content of the `FormAutosuggestOption`. */\n children: PropTypes.string,\n /** A click handler for the `FormAutosuggestOption` */\n onClick: PropTypes.func,\n};\n\nexport default FormAutosuggestOption;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,kBAAkB;AAEvC,SAASC,qBAAqBA,CAAAC,IAAA,EAK3B;EAAA,IAL4B;IAC7BC,QAAQ;IACRC,SAAS;IACTC,OAAO;IACP,GAAGC;EACL,CAAC,GAAAJ,IAAA;EACC,oBACEL,KAAA,CAAAU,aAAA,CAACP,QAAQ;IACPQ,EAAE,EAAC,IAAI;IACP,eAAY,wBAAwB;IACpCC,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAC,IAAI;IACbL,OAAO,EAAEA,OAAQ;IACjBD,SAAS,EAAEL,UAAU,CAACK,SAAS,EAAE,eAAe,CAAE;IAAA,GAC9CE;EAAK,GAERH,QACO,CAAC;AAEf;AAEAF,qBAAqB,CAACU,YAAY,GAAG;EACnCP,SAAS,EAAE,IAAI;EACfD,QAAQ,EAAE,IAAI;EACdE,OAAO,EAAE;AACX,CAAC;AAEDJ,qBAAqB,CAACW,SAAS,GAAG;EAChC;EACAR,SAAS,EAAEN,SAAS,CAACe,MAAM;EAC3B;EACAV,QAAQ,EAAEL,SAAS,CAACe,MAAM;EAC1B;EACAR,OAAO,EAAEP,SAAS,CAACgB;AACrB,CAAC;AAED,eAAeb,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"FormAutosuggestOption.js","names":["React","PropTypes","classNames","MenuItem","FormAutosuggestOption","children","className","onClick","props","createElement","as","role","tabIndex","defaultProps","propTypes","string","func"],"sources":["../../src/Form/FormAutosuggestOption.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport MenuItem from '../Menu/MenuItem';\n\nfunction FormAutosuggestOption({\n children,\n className,\n onClick,\n ...props\n}) {\n return (\n <MenuItem\n as=\"li\"\n data-testid=\"autosuggest-optionitem\"\n role=\"option\"\n tabIndex=\"-1\"\n onClick={onClick}\n className={classNames(className, 'dropdown-item')}\n {...props}\n >\n {children}\n </MenuItem>\n );\n}\n\nFormAutosuggestOption.defaultProps = {\n className: null,\n children: null,\n onClick: null,\n};\n\nFormAutosuggestOption.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies the text-content of the `FormAutosuggestOption`. */\n children: PropTypes.string,\n /** A click handler for the `FormAutosuggestOption` */\n onClick: PropTypes.func,\n};\n\nexport default FormAutosuggestOption;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,QAAQ,MAAM,kBAAkB;AAEvC,SAASC,qBAAqBA,CAAC;EAC7BC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACP,GAAGC;AACL,CAAC,EAAE;EACD,oBACER,KAAA,CAAAS,aAAA,CAACN,QAAQ;IACPO,EAAE,EAAC,IAAI;IACP,eAAY,wBAAwB;IACpCC,IAAI,EAAC,QAAQ;IACbC,QAAQ,EAAC,IAAI;IACbL,OAAO,EAAEA,OAAQ;IACjBD,SAAS,EAAEJ,UAAU,CAACI,SAAS,EAAE,eAAe,CAAE;IAAA,GAC9CE;EAAK,GAERH,QACO,CAAC;AAEf;AAEAD,qBAAqB,CAACS,YAAY,GAAG;EACnCP,SAAS,EAAE,IAAI;EACfD,QAAQ,EAAE,IAAI;EACdE,OAAO,EAAE;AACX,CAAC;AAEDH,qBAAqB,CAACU,SAAS,GAAG;EAChC;EACAR,SAAS,EAAEL,SAAS,CAACc,MAAM;EAC3B;EACAV,QAAQ,EAAEJ,SAAS,CAACc,MAAM;EAC1B;EACAR,OAAO,EAAEN,SAAS,CAACe;AACrB,CAAC;AAED,eAAeZ,qBAAqB","ignoreList":[]}
@@ -5,11 +5,10 @@ import { useCheckboxSetContext } from './FormCheckboxSetContext';
5
5
  import { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';
6
6
  import FormLabel from './FormLabel';
7
7
  import FormControlFeedback from './FormControlFeedback';
8
- const CheckboxControl = /*#__PURE__*/React.forwardRef((_ref, ref) => {
9
- let {
10
- isIndeterminate,
11
- ...props
12
- } = _ref;
8
+ const CheckboxControl = /*#__PURE__*/React.forwardRef(({
9
+ isIndeterminate,
10
+ ...props
11
+ }, ref) => {
13
12
  const {
14
13
  getCheckboxControlProps,
15
14
  hasCheckboxSetProvider
@@ -48,19 +47,18 @@ CheckboxControl.defaultProps = {
48
47
  isIndeterminate: false,
49
48
  className: undefined
50
49
  };
51
- const FormCheckbox = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
52
- let {
53
- children,
54
- className,
55
- controlClassName,
56
- labelClassName,
57
- description,
58
- isInvalid,
59
- isValid,
60
- controlAs,
61
- floatLabelLeft,
62
- ...props
63
- } = _ref2;
50
+ const FormCheckbox = /*#__PURE__*/React.forwardRef(({
51
+ children,
52
+ className,
53
+ controlClassName,
54
+ labelClassName,
55
+ description,
56
+ isInvalid,
57
+ isValid,
58
+ controlAs,
59
+ floatLabelLeft,
60
+ ...props
61
+ }, ref) => {
64
62
  const {
65
63
  hasCheckboxSetProvider
66
64
  } = useCheckboxSetContext();
@@ -1 +1 @@
1
- {"version":3,"file":"FormCheckbox.js","names":["React","PropTypes","classNames","useCheckboxSetContext","FormGroupContextProvider","useFormGroupContext","FormLabel","FormControlFeedback","CheckboxControl","forwardRef","_ref","ref","isIndeterminate","props","getCheckboxControlProps","hasCheckboxSetProvider","defaultRef","useRef","resolvedRef","getControlProps","checkboxProps","className","useEffect","current","indeterminate","createElement","type","propTypes","bool","string","defaultProps","undefined","FormCheckbox","_ref2","children","controlClassName","labelClassName","description","isInvalid","isValid","controlAs","floatLabelLeft","hasFormGroupProvider","useSetIsControlGroupEffect","shouldActAsGroup","groupProps","role","control","controlId","id","disabled","hasIcon","node","isRequired","elementType"],"sources":["../../src/Form/FormCheckbox.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useCheckboxSetContext } from './FormCheckboxSetContext';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormLabel from './FormLabel';\nimport FormControlFeedback from './FormControlFeedback';\n\nconst CheckboxControl = React.forwardRef(\n ({ isIndeterminate, ...props }, ref) => {\n const { getCheckboxControlProps, hasCheckboxSetProvider } = useCheckboxSetContext();\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n const { getControlProps } = useFormGroupContext();\n let checkboxProps = getControlProps({\n ...props,\n className: classNames('pgn__form-checkbox-input', props.className),\n });\n\n if (hasCheckboxSetProvider) {\n checkboxProps = getCheckboxControlProps(checkboxProps);\n }\n\n React.useEffect(() => {\n // this if(resolvedRef.current) prevents console errors in testing\n if (resolvedRef.current) {\n resolvedRef.current.indeterminate = isIndeterminate;\n }\n }, [resolvedRef, isIndeterminate]);\n\n return (\n <input\n type=\"checkbox\"\n {...checkboxProps}\n ref={resolvedRef}\n />\n );\n },\n);\n\nCheckboxControl.propTypes = {\n /** Specifies whether the checkbox should be rendered in indeterminate state. */\n isIndeterminate: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n};\n\nCheckboxControl.defaultProps = {\n isIndeterminate: false,\n className: undefined,\n};\n\nconst FormCheckbox = React.forwardRef(({\n children,\n className,\n controlClassName,\n labelClassName,\n description,\n isInvalid,\n isValid,\n controlAs,\n floatLabelLeft,\n ...props\n}, ref) => {\n const { hasCheckboxSetProvider } = useCheckboxSetContext();\n const { hasFormGroupProvider, useSetIsControlGroupEffect, getControlProps } = useFormGroupContext();\n useSetIsControlGroupEffect(true);\n const shouldActAsGroup = hasFormGroupProvider && !hasCheckboxSetProvider;\n const groupProps = shouldActAsGroup ? {\n ...getControlProps({}),\n role: 'group',\n } : {};\n\n const control = React.createElement(controlAs, { ...props, className: controlClassName, ref });\n return (\n <FormGroupContextProvider\n controlId={props.id}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n <div\n className={classNames('pgn__form-checkbox', className, {\n 'pgn__form-control-valid': isValid,\n 'pgn__form-control-invalid': isInvalid,\n 'pgn__form-control-disabled': props.disabled,\n 'pgn__form-control-label-left': !!floatLabelLeft,\n })}\n {...groupProps}\n >\n {control}\n <div>\n <FormLabel className={labelClassName}>\n {children}\n </FormLabel>\n {description && (\n <FormControlFeedback hasIcon={false}>\n {description}\n </FormControlFeedback>\n )}\n </div>\n </div>\n </FormGroupContextProvider>\n );\n});\n\nFormCheckbox.propTypes = {\n /** Specifies id of the FormCheckbox component. */\n id: PropTypes.string,\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 class name for control component. */\n controlClassName: PropTypes.string,\n /** Specifies class name for label component. */\n labelClassName: PropTypes.string,\n /** Specifies description to show under the checkbox. */\n description: PropTypes.node,\n /** Specifies whether to display checkbox in invalid state, this affects styling. */\n isInvalid: PropTypes.bool,\n /** Specifies whether to display checkbox in valid state, this affects styling. */\n isValid: PropTypes.bool,\n /** Specifies control element. */\n controlAs: PropTypes.elementType,\n /** Specifies whether the floating label should be aligned to the left. */\n floatLabelLeft: PropTypes.bool,\n /** Specifies whether the `FormCheckbox` is disabled. */\n disabled: PropTypes.bool,\n};\n\nFormCheckbox.defaultProps = {\n id: undefined,\n className: undefined,\n controlClassName: undefined,\n labelClassName: undefined,\n description: undefined,\n isInvalid: false,\n isValid: false,\n controlAs: CheckboxControl,\n floatLabelLeft: false,\n disabled: false,\n};\n\nexport { CheckboxControl };\nexport default FormCheckbox;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormCheckbox.js","names":["React","PropTypes","classNames","useCheckboxSetContext","FormGroupContextProvider","useFormGroupContext","FormLabel","FormControlFeedback","CheckboxControl","forwardRef","isIndeterminate","props","ref","getCheckboxControlProps","hasCheckboxSetProvider","defaultRef","useRef","resolvedRef","getControlProps","checkboxProps","className","useEffect","current","indeterminate","createElement","type","propTypes","bool","string","defaultProps","undefined","FormCheckbox","children","controlClassName","labelClassName","description","isInvalid","isValid","controlAs","floatLabelLeft","hasFormGroupProvider","useSetIsControlGroupEffect","shouldActAsGroup","groupProps","role","control","controlId","id","disabled","hasIcon","node","isRequired","elementType"],"sources":["../../src/Form/FormCheckbox.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useCheckboxSetContext } from './FormCheckboxSetContext';\nimport { FormGroupContextProvider, useFormGroupContext } from './FormGroupContext';\nimport FormLabel from './FormLabel';\nimport FormControlFeedback from './FormControlFeedback';\n\nconst CheckboxControl = React.forwardRef(\n ({ isIndeterminate, ...props }, ref) => {\n const { getCheckboxControlProps, hasCheckboxSetProvider } = useCheckboxSetContext();\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n const { getControlProps } = useFormGroupContext();\n let checkboxProps = getControlProps({\n ...props,\n className: classNames('pgn__form-checkbox-input', props.className),\n });\n\n if (hasCheckboxSetProvider) {\n checkboxProps = getCheckboxControlProps(checkboxProps);\n }\n\n React.useEffect(() => {\n // this if(resolvedRef.current) prevents console errors in testing\n if (resolvedRef.current) {\n resolvedRef.current.indeterminate = isIndeterminate;\n }\n }, [resolvedRef, isIndeterminate]);\n\n return (\n <input\n type=\"checkbox\"\n {...checkboxProps}\n ref={resolvedRef}\n />\n );\n },\n);\n\nCheckboxControl.propTypes = {\n /** Specifies whether the checkbox should be rendered in indeterminate state. */\n isIndeterminate: PropTypes.bool,\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n};\n\nCheckboxControl.defaultProps = {\n isIndeterminate: false,\n className: undefined,\n};\n\nconst FormCheckbox = React.forwardRef(({\n children,\n className,\n controlClassName,\n labelClassName,\n description,\n isInvalid,\n isValid,\n controlAs,\n floatLabelLeft,\n ...props\n}, ref) => {\n const { hasCheckboxSetProvider } = useCheckboxSetContext();\n const { hasFormGroupProvider, useSetIsControlGroupEffect, getControlProps } = useFormGroupContext();\n useSetIsControlGroupEffect(true);\n const shouldActAsGroup = hasFormGroupProvider && !hasCheckboxSetProvider;\n const groupProps = shouldActAsGroup ? {\n ...getControlProps({}),\n role: 'group',\n } : {};\n\n const control = React.createElement(controlAs, { ...props, className: controlClassName, ref });\n return (\n <FormGroupContextProvider\n controlId={props.id}\n isInvalid={isInvalid}\n isValid={isValid}\n >\n <div\n className={classNames('pgn__form-checkbox', className, {\n 'pgn__form-control-valid': isValid,\n 'pgn__form-control-invalid': isInvalid,\n 'pgn__form-control-disabled': props.disabled,\n 'pgn__form-control-label-left': !!floatLabelLeft,\n })}\n {...groupProps}\n >\n {control}\n <div>\n <FormLabel className={labelClassName}>\n {children}\n </FormLabel>\n {description && (\n <FormControlFeedback hasIcon={false}>\n {description}\n </FormControlFeedback>\n )}\n </div>\n </div>\n </FormGroupContextProvider>\n );\n});\n\nFormCheckbox.propTypes = {\n /** Specifies id of the FormCheckbox component. */\n id: PropTypes.string,\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 class name for control component. */\n controlClassName: PropTypes.string,\n /** Specifies class name for label component. */\n labelClassName: PropTypes.string,\n /** Specifies description to show under the checkbox. */\n description: PropTypes.node,\n /** Specifies whether to display checkbox in invalid state, this affects styling. */\n isInvalid: PropTypes.bool,\n /** Specifies whether to display checkbox in valid state, this affects styling. */\n isValid: PropTypes.bool,\n /** Specifies control element. */\n controlAs: PropTypes.elementType,\n /** Specifies whether the floating label should be aligned to the left. */\n floatLabelLeft: PropTypes.bool,\n /** Specifies whether the `FormCheckbox` is disabled. */\n disabled: PropTypes.bool,\n};\n\nFormCheckbox.defaultProps = {\n id: undefined,\n className: undefined,\n controlClassName: undefined,\n labelClassName: undefined,\n description: undefined,\n isInvalid: false,\n isValid: false,\n controlAs: CheckboxControl,\n floatLabelLeft: false,\n disabled: false,\n};\n\nexport { CheckboxControl };\nexport default FormCheckbox;\n"],"mappings":"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","ignoreList":[]}
@@ -3,18 +3,17 @@ import PropTypes from 'prop-types';
3
3
  import { useFormGroupContext } from './FormGroupContext';
4
4
  import { FormCheckboxSetContextProvider } from './FormCheckboxSetContext';
5
5
  import FormControlSet from './FormControlSet';
6
- function FormCheckboxSet(_ref) {
7
- let {
8
- children,
9
- name,
10
- value,
11
- defaultValue,
12
- isInline,
13
- onChange,
14
- onFocus,
15
- onBlur,
16
- ...props
17
- } = _ref;
6
+ function FormCheckboxSet({
7
+ children,
8
+ name,
9
+ value,
10
+ defaultValue,
11
+ isInline,
12
+ onChange,
13
+ onFocus,
14
+ onBlur,
15
+ ...props
16
+ }) {
18
17
  const {
19
18
  getControlProps,
20
19
  useSetIsControlGroupEffect
@@ -1 +1 @@
1
- {"version":3,"file":"FormCheckboxSet.js","names":["React","PropTypes","useFormGroupContext","FormCheckboxSetContextProvider","FormControlSet","FormCheckboxSet","_ref","children","name","value","defaultValue","isInline","onChange","onFocus","onBlur","props","getControlProps","useSetIsControlGroupEffect","controlProps","createElement","role","propTypes","node","isRequired","className","string","arrayOf","bool","func","defaultProps","undefined"],"sources":["../../src/Form/FormCheckboxSet.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormGroupContext } from './FormGroupContext';\nimport { FormCheckboxSetContextProvider } from './FormCheckboxSetContext';\nimport FormControlSet from './FormControlSet';\n\nfunction FormCheckboxSet({\n children,\n name,\n value,\n defaultValue,\n isInline,\n onChange,\n onFocus,\n onBlur,\n ...props\n}) {\n const { getControlProps, useSetIsControlGroupEffect } = useFormGroupContext();\n useSetIsControlGroupEffect(true);\n const controlProps = getControlProps(props);\n return (\n <FormCheckboxSetContextProvider\n name={name}\n value={value}\n defaultValue={defaultValue}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n >\n <FormControlSet role=\"group\" isInline={isInline} {...controlProps}>\n {children}\n </FormControlSet>\n </FormCheckboxSetContextProvider>\n );\n}\n\nFormCheckboxSet.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 name for the component. */\n name: PropTypes.string.isRequired,\n /** Specifies values for the checkboxes. */\n value: PropTypes.arrayOf(PropTypes.string),\n /** Specifies default values for the checkboxes. */\n defaultValue: PropTypes.arrayOf(PropTypes.string),\n /** Specifies whether to display components with inline styling. */\n isInline: PropTypes.bool,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies onFocus event handler. */\n onFocus: PropTypes.func,\n /** Specifies onBlur event handler. */\n onBlur: PropTypes.func,\n};\n\nFormCheckboxSet.defaultProps = {\n className: undefined,\n value: undefined,\n defaultValue: undefined,\n isInline: false,\n onChange: undefined,\n onFocus: undefined,\n onBlur: undefined,\n};\n\nexport default FormCheckboxSet;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,SAASC,eAAeA,CAAAC,IAAA,EAUrB;EAAA,IAVsB;IACvBC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,QAAQ;IACRC,OAAO;IACPC,MAAM;IACN,GAAGC;EACL,CAAC,GAAAT,IAAA;EACC,MAAM;IAAEU,eAAe;IAAEC;EAA2B,CAAC,GAAGf,mBAAmB,CAAC,CAAC;EAC7Ee,0BAA0B,CAAC,IAAI,CAAC;EAChC,MAAMC,YAAY,GAAGF,eAAe,CAACD,KAAK,CAAC;EAC3C,oBACEf,KAAA,CAAAmB,aAAA,CAAChB,8BAA8B;IAC7BK,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA,YAAa;IAC3BG,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfF,QAAQ,EAAEA;EAAS,gBAEnBZ,KAAA,CAAAmB,aAAA,CAACf,cAAc;IAACgB,IAAI,EAAC,OAAO;IAACT,QAAQ,EAAEA,QAAS;IAAA,GAAKO;EAAY,GAC9DX,QACa,CACc,CAAC;AAErC;AAEAF,eAAe,CAACgB,SAAS,GAAG;EAC1B;EACAd,QAAQ,EAAEN,SAAS,CAACqB,IAAI,CAACC,UAAU;EACnC;EACAC,SAAS,EAAEvB,SAAS,CAACwB,MAAM;EAC3B;EACAjB,IAAI,EAAEP,SAAS,CAACwB,MAAM,CAACF,UAAU;EACjC;EACAd,KAAK,EAAER,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAACwB,MAAM,CAAC;EAC1C;EACAf,YAAY,EAAET,SAAS,CAACyB,OAAO,CAACzB,SAAS,CAACwB,MAAM,CAAC;EACjD;EACAd,QAAQ,EAAEV,SAAS,CAAC0B,IAAI;EACxB;EACAf,QAAQ,EAAEX,SAAS,CAAC2B,IAAI;EACxB;EACAf,OAAO,EAAEZ,SAAS,CAAC2B,IAAI;EACvB;EACAd,MAAM,EAAEb,SAAS,CAAC2B;AACpB,CAAC;AAEDvB,eAAe,CAACwB,YAAY,GAAG;EAC7BL,SAAS,EAAEM,SAAS;EACpBrB,KAAK,EAAEqB,SAAS;EAChBpB,YAAY,EAAEoB,SAAS;EACvBnB,QAAQ,EAAE,KAAK;EACfC,QAAQ,EAAEkB,SAAS;EACnBjB,OAAO,EAAEiB,SAAS;EAClBhB,MAAM,EAAEgB;AACV,CAAC;AAED,eAAezB,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"FormCheckboxSet.js","names":["React","PropTypes","useFormGroupContext","FormCheckboxSetContextProvider","FormControlSet","FormCheckboxSet","children","name","value","defaultValue","isInline","onChange","onFocus","onBlur","props","getControlProps","useSetIsControlGroupEffect","controlProps","createElement","role","propTypes","node","isRequired","className","string","arrayOf","bool","func","defaultProps","undefined"],"sources":["../../src/Form/FormCheckboxSet.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useFormGroupContext } from './FormGroupContext';\nimport { FormCheckboxSetContextProvider } from './FormCheckboxSetContext';\nimport FormControlSet from './FormControlSet';\n\nfunction FormCheckboxSet({\n children,\n name,\n value,\n defaultValue,\n isInline,\n onChange,\n onFocus,\n onBlur,\n ...props\n}) {\n const { getControlProps, useSetIsControlGroupEffect } = useFormGroupContext();\n useSetIsControlGroupEffect(true);\n const controlProps = getControlProps(props);\n return (\n <FormCheckboxSetContextProvider\n name={name}\n value={value}\n defaultValue={defaultValue}\n onFocus={onFocus}\n onBlur={onBlur}\n onChange={onChange}\n >\n <FormControlSet role=\"group\" isInline={isInline} {...controlProps}>\n {children}\n </FormControlSet>\n </FormCheckboxSetContextProvider>\n );\n}\n\nFormCheckboxSet.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 name for the component. */\n name: PropTypes.string.isRequired,\n /** Specifies values for the checkboxes. */\n value: PropTypes.arrayOf(PropTypes.string),\n /** Specifies default values for the checkboxes. */\n defaultValue: PropTypes.arrayOf(PropTypes.string),\n /** Specifies whether to display components with inline styling. */\n isInline: PropTypes.bool,\n /** Specifies onChange event handler. */\n onChange: PropTypes.func,\n /** Specifies onFocus event handler. */\n onFocus: PropTypes.func,\n /** Specifies onBlur event handler. */\n onBlur: PropTypes.func,\n};\n\nFormCheckboxSet.defaultProps = {\n className: undefined,\n value: undefined,\n defaultValue: undefined,\n isInline: false,\n onChange: undefined,\n onFocus: undefined,\n onBlur: undefined,\n};\n\nexport default FormCheckboxSet;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,mBAAmB,QAAQ,oBAAoB;AACxD,SAASC,8BAA8B,QAAQ,0BAA0B;AACzE,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,SAASC,eAAeA,CAAC;EACvBC,QAAQ;EACRC,IAAI;EACJC,KAAK;EACLC,YAAY;EACZC,QAAQ;EACRC,QAAQ;EACRC,OAAO;EACPC,MAAM;EACN,GAAGC;AACL,CAAC,EAAE;EACD,MAAM;IAAEC,eAAe;IAAEC;EAA2B,CAAC,GAAGd,mBAAmB,CAAC,CAAC;EAC7Ec,0BAA0B,CAAC,IAAI,CAAC;EAChC,MAAMC,YAAY,GAAGF,eAAe,CAACD,KAAK,CAAC;EAC3C,oBACEd,KAAA,CAAAkB,aAAA,CAACf,8BAA8B;IAC7BI,IAAI,EAAEA,IAAK;IACXC,KAAK,EAAEA,KAAM;IACbC,YAAY,EAAEA,YAAa;IAC3BG,OAAO,EAAEA,OAAQ;IACjBC,MAAM,EAAEA,MAAO;IACfF,QAAQ,EAAEA;EAAS,gBAEnBX,KAAA,CAAAkB,aAAA,CAACd,cAAc;IAACe,IAAI,EAAC,OAAO;IAACT,QAAQ,EAAEA,QAAS;IAAA,GAAKO;EAAY,GAC9DX,QACa,CACc,CAAC;AAErC;AAEAD,eAAe,CAACe,SAAS,GAAG;EAC1B;EACAd,QAAQ,EAAEL,SAAS,CAACoB,IAAI,CAACC,UAAU;EACnC;EACAC,SAAS,EAAEtB,SAAS,CAACuB,MAAM;EAC3B;EACAjB,IAAI,EAAEN,SAAS,CAACuB,MAAM,CAACF,UAAU;EACjC;EACAd,KAAK,EAAEP,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACuB,MAAM,CAAC;EAC1C;EACAf,YAAY,EAAER,SAAS,CAACwB,OAAO,CAACxB,SAAS,CAACuB,MAAM,CAAC;EACjD;EACAd,QAAQ,EAAET,SAAS,CAACyB,IAAI;EACxB;EACAf,QAAQ,EAAEV,SAAS,CAAC0B,IAAI;EACxB;EACAf,OAAO,EAAEX,SAAS,CAAC0B,IAAI;EACvB;EACAd,MAAM,EAAEZ,SAAS,CAAC0B;AACpB,CAAC;AAEDtB,eAAe,CAACuB,YAAY,GAAG;EAC7BL,SAAS,EAAEM,SAAS;EACpBrB,KAAK,EAAEqB,SAAS;EAChBpB,YAAY,EAAEoB,SAAS;EACvBnB,QAAQ,EAAE,KAAK;EACfC,QAAQ,EAAEkB,SAAS;EACnBjB,OAAO,EAAEiB,SAAS;EAClBhB,MAAM,EAAEgB;AACV,CAAC;AAED,eAAexB,eAAe","ignoreList":[]}
@@ -7,16 +7,15 @@ const FormCheckboxSetContext = /*#__PURE__*/React.createContext({
7
7
  hasCheckboxSetProvider: false
8
8
  });
9
9
  const useCheckboxSetContext = () => useContext(FormCheckboxSetContext);
10
- function FormCheckboxSetContextProvider(_ref) {
11
- let {
12
- children,
13
- name,
14
- onBlur,
15
- onFocus,
16
- onChange,
17
- value,
18
- defaultValue
19
- } = _ref;
10
+ function FormCheckboxSetContextProvider({
11
+ children,
12
+ name,
13
+ onBlur,
14
+ onFocus,
15
+ onChange,
16
+ value,
17
+ defaultValue
18
+ }) {
20
19
  const isControlled = !defaultValue && Array.isArray(value);
21
20
  const getCheckboxControlProps = checkboxProps => ({
22
21
  ...checkboxProps,
@@ -1 +1 @@
1
- {"version":3,"file":"FormCheckboxSetContext.js","names":["React","useContext","PropTypes","callAllHandlers","identityFn","props","FormCheckboxSetContext","createContext","getCheckboxControlProps","hasCheckboxSetProvider","useCheckboxSetContext","FormCheckboxSetContextProvider","_ref","children","name","onBlur","onFocus","onChange","value","defaultValue","isControlled","Array","isArray","checkboxProps","checked","includes","undefined","defaultChecked","contextValue","createElement","Provider","propTypes","node","isRequired","string","func","arrayOf","defaultProps"],"sources":["../../src/Form/FormCheckboxSetContext.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { callAllHandlers } from './fieldUtils';\n\nconst identityFn = props => props;\n\nconst FormCheckboxSetContext = React.createContext({\n getCheckboxControlProps: identityFn,\n hasCheckboxSetProvider: false,\n});\n\nconst useCheckboxSetContext = () => useContext(FormCheckboxSetContext);\n\nfunction FormCheckboxSetContextProvider({\n children,\n name,\n onBlur,\n onFocus,\n onChange,\n value,\n defaultValue,\n}) {\n const isControlled = !defaultValue && Array.isArray(value);\n const getCheckboxControlProps = (checkboxProps) => ({\n ...checkboxProps,\n name,\n /* istanbul ignore next */\n onBlur: checkboxProps.onBlur ? callAllHandlers(onBlur, checkboxProps.onBlur) : onBlur,\n /* istanbul ignore next */\n onFocus: checkboxProps.onFocus ? callAllHandlers(onFocus, checkboxProps.onFocus) : onFocus,\n /* istanbul ignore next */\n onChange: checkboxProps.onChange ? callAllHandlers(onChange, checkboxProps.onChange) : onChange,\n checked: isControlled ? value.includes(checkboxProps.value) : undefined,\n defaultChecked: isControlled ? undefined : (defaultValue && defaultValue.includes(checkboxProps.value)),\n });\n const contextValue = {\n name,\n value,\n defaultValue,\n getCheckboxControlProps,\n onBlur,\n onFocus,\n onChange,\n hasCheckboxSetProvider: true,\n };\n return (\n <FormCheckboxSetContext.Provider value={contextValue}>\n {children}\n </FormCheckboxSetContext.Provider>\n );\n}\n\nFormCheckboxSetContextProvider.propTypes = {\n children: PropTypes.node.isRequired,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onChange: PropTypes.func,\n value: PropTypes.arrayOf(PropTypes.string),\n defaultValue: PropTypes.arrayOf(PropTypes.string),\n};\n\nFormCheckboxSetContextProvider.defaultProps = {\n onBlur: undefined,\n name: undefined,\n onFocus: undefined,\n onChange: undefined,\n value: undefined,\n defaultValue: undefined,\n};\n\nexport default FormCheckboxSetContext;\nexport {\n useCheckboxSetContext,\n FormCheckboxSetContextProvider,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,cAAc;AAE9C,MAAMC,UAAU,GAAGC,KAAK,IAAIA,KAAK;AAEjC,MAAMC,sBAAsB,gBAAGN,KAAK,CAACO,aAAa,CAAC;EACjDC,uBAAuB,EAAEJ,UAAU;EACnCK,sBAAsB,EAAE;AAC1B,CAAC,CAAC;AAEF,MAAMC,qBAAqB,GAAGA,CAAA,KAAMT,UAAU,CAACK,sBAAsB,CAAC;AAEtE,SAASK,8BAA8BA,CAAAC,IAAA,EAQpC;EAAA,IARqC;IACtCC,QAAQ;IACRC,IAAI;IACJC,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRC,KAAK;IACLC;EACF,CAAC,GAAAP,IAAA;EACC,MAAMQ,YAAY,GAAG,CAACD,YAAY,IAAIE,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC;EAC1D,MAAMV,uBAAuB,GAAIe,aAAa,KAAM;IAClD,GAAGA,aAAa;IAChBT,IAAI;IACJ;IACAC,MAAM,EAAEQ,aAAa,CAACR,MAAM,GAAGZ,eAAe,CAACY,MAAM,EAAEQ,aAAa,CAACR,MAAM,CAAC,GAAGA,MAAM;IACrF;IACAC,OAAO,EAAEO,aAAa,CAACP,OAAO,GAAGb,eAAe,CAACa,OAAO,EAAEO,aAAa,CAACP,OAAO,CAAC,GAAGA,OAAO;IAC1F;IACAC,QAAQ,EAAEM,aAAa,CAACN,QAAQ,GAAGd,eAAe,CAACc,QAAQ,EAAEM,aAAa,CAACN,QAAQ,CAAC,GAAGA,QAAQ;IAC/FO,OAAO,EAAEJ,YAAY,GAAGF,KAAK,CAACO,QAAQ,CAACF,aAAa,CAACL,KAAK,CAAC,GAAGQ,SAAS;IACvEC,cAAc,EAAEP,YAAY,GAAGM,SAAS,GAAIP,YAAY,IAAIA,YAAY,CAACM,QAAQ,CAACF,aAAa,CAACL,KAAK;EACvG,CAAC,CAAC;EACF,MAAMU,YAAY,GAAG;IACnBd,IAAI;IACJI,KAAK;IACLC,YAAY;IACZX,uBAAuB;IACvBO,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRR,sBAAsB,EAAE;EAC1B,CAAC;EACD,oBACET,KAAA,CAAA6B,aAAA,CAACvB,sBAAsB,CAACwB,QAAQ;IAACZ,KAAK,EAAEU;EAAa,GAClDf,QAC8B,CAAC;AAEtC;AAEAF,8BAA8B,CAACoB,SAAS,GAAG;EACzClB,QAAQ,EAAEX,SAAS,CAAC8B,IAAI,CAACC,UAAU;EACnCnB,IAAI,EAAEZ,SAAS,CAACgC,MAAM;EACtBnB,MAAM,EAAEb,SAAS,CAACiC,IAAI;EACtBnB,OAAO,EAAEd,SAAS,CAACiC,IAAI;EACvBlB,QAAQ,EAAEf,SAAS,CAACiC,IAAI;EACxBjB,KAAK,EAAEhB,SAAS,CAACkC,OAAO,CAAClC,SAAS,CAACgC,MAAM,CAAC;EAC1Cf,YAAY,EAAEjB,SAAS,CAACkC,OAAO,CAAClC,SAAS,CAACgC,MAAM;AAClD,CAAC;AAEDvB,8BAA8B,CAAC0B,YAAY,GAAG;EAC5CtB,MAAM,EAAEW,SAAS;EACjBZ,IAAI,EAAEY,SAAS;EACfV,OAAO,EAAEU,SAAS;EAClBT,QAAQ,EAAES,SAAS;EACnBR,KAAK,EAAEQ,SAAS;EAChBP,YAAY,EAAEO;AAChB,CAAC;AAED,eAAepB,sBAAsB;AACrC,SACEI,qBAAqB,EACrBC,8BAA8B","ignoreList":[]}
1
+ {"version":3,"file":"FormCheckboxSetContext.js","names":["React","useContext","PropTypes","callAllHandlers","identityFn","props","FormCheckboxSetContext","createContext","getCheckboxControlProps","hasCheckboxSetProvider","useCheckboxSetContext","FormCheckboxSetContextProvider","children","name","onBlur","onFocus","onChange","value","defaultValue","isControlled","Array","isArray","checkboxProps","checked","includes","undefined","defaultChecked","contextValue","createElement","Provider","propTypes","node","isRequired","string","func","arrayOf","defaultProps"],"sources":["../../src/Form/FormCheckboxSetContext.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { callAllHandlers } from './fieldUtils';\n\nconst identityFn = props => props;\n\nconst FormCheckboxSetContext = React.createContext({\n getCheckboxControlProps: identityFn,\n hasCheckboxSetProvider: false,\n});\n\nconst useCheckboxSetContext = () => useContext(FormCheckboxSetContext);\n\nfunction FormCheckboxSetContextProvider({\n children,\n name,\n onBlur,\n onFocus,\n onChange,\n value,\n defaultValue,\n}) {\n const isControlled = !defaultValue && Array.isArray(value);\n const getCheckboxControlProps = (checkboxProps) => ({\n ...checkboxProps,\n name,\n /* istanbul ignore next */\n onBlur: checkboxProps.onBlur ? callAllHandlers(onBlur, checkboxProps.onBlur) : onBlur,\n /* istanbul ignore next */\n onFocus: checkboxProps.onFocus ? callAllHandlers(onFocus, checkboxProps.onFocus) : onFocus,\n /* istanbul ignore next */\n onChange: checkboxProps.onChange ? callAllHandlers(onChange, checkboxProps.onChange) : onChange,\n checked: isControlled ? value.includes(checkboxProps.value) : undefined,\n defaultChecked: isControlled ? undefined : (defaultValue && defaultValue.includes(checkboxProps.value)),\n });\n const contextValue = {\n name,\n value,\n defaultValue,\n getCheckboxControlProps,\n onBlur,\n onFocus,\n onChange,\n hasCheckboxSetProvider: true,\n };\n return (\n <FormCheckboxSetContext.Provider value={contextValue}>\n {children}\n </FormCheckboxSetContext.Provider>\n );\n}\n\nFormCheckboxSetContextProvider.propTypes = {\n children: PropTypes.node.isRequired,\n name: PropTypes.string,\n onBlur: PropTypes.func,\n onFocus: PropTypes.func,\n onChange: PropTypes.func,\n value: PropTypes.arrayOf(PropTypes.string),\n defaultValue: PropTypes.arrayOf(PropTypes.string),\n};\n\nFormCheckboxSetContextProvider.defaultProps = {\n onBlur: undefined,\n name: undefined,\n onFocus: undefined,\n onChange: undefined,\n value: undefined,\n defaultValue: undefined,\n};\n\nexport default FormCheckboxSetContext;\nexport {\n useCheckboxSetContext,\n FormCheckboxSetContextProvider,\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,SAASC,eAAe,QAAQ,cAAc;AAE9C,MAAMC,UAAU,GAAGC,KAAK,IAAIA,KAAK;AAEjC,MAAMC,sBAAsB,gBAAGN,KAAK,CAACO,aAAa,CAAC;EACjDC,uBAAuB,EAAEJ,UAAU;EACnCK,sBAAsB,EAAE;AAC1B,CAAC,CAAC;AAEF,MAAMC,qBAAqB,GAAGA,CAAA,KAAMT,UAAU,CAACK,sBAAsB,CAAC;AAEtE,SAASK,8BAA8BA,CAAC;EACtCC,QAAQ;EACRC,IAAI;EACJC,MAAM;EACNC,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC;AACF,CAAC,EAAE;EACD,MAAMC,YAAY,GAAG,CAACD,YAAY,IAAIE,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC;EAC1D,MAAMT,uBAAuB,GAAIc,aAAa,KAAM;IAClD,GAAGA,aAAa;IAChBT,IAAI;IACJ;IACAC,MAAM,EAAEQ,aAAa,CAACR,MAAM,GAAGX,eAAe,CAACW,MAAM,EAAEQ,aAAa,CAACR,MAAM,CAAC,GAAGA,MAAM;IACrF;IACAC,OAAO,EAAEO,aAAa,CAACP,OAAO,GAAGZ,eAAe,CAACY,OAAO,EAAEO,aAAa,CAACP,OAAO,CAAC,GAAGA,OAAO;IAC1F;IACAC,QAAQ,EAAEM,aAAa,CAACN,QAAQ,GAAGb,eAAe,CAACa,QAAQ,EAAEM,aAAa,CAACN,QAAQ,CAAC,GAAGA,QAAQ;IAC/FO,OAAO,EAAEJ,YAAY,GAAGF,KAAK,CAACO,QAAQ,CAACF,aAAa,CAACL,KAAK,CAAC,GAAGQ,SAAS;IACvEC,cAAc,EAAEP,YAAY,GAAGM,SAAS,GAAIP,YAAY,IAAIA,YAAY,CAACM,QAAQ,CAACF,aAAa,CAACL,KAAK;EACvG,CAAC,CAAC;EACF,MAAMU,YAAY,GAAG;IACnBd,IAAI;IACJI,KAAK;IACLC,YAAY;IACZV,uBAAuB;IACvBM,MAAM;IACNC,OAAO;IACPC,QAAQ;IACRP,sBAAsB,EAAE;EAC1B,CAAC;EACD,oBACET,KAAA,CAAA4B,aAAA,CAACtB,sBAAsB,CAACuB,QAAQ;IAACZ,KAAK,EAAEU;EAAa,GAClDf,QAC8B,CAAC;AAEtC;AAEAD,8BAA8B,CAACmB,SAAS,GAAG;EACzClB,QAAQ,EAAEV,SAAS,CAAC6B,IAAI,CAACC,UAAU;EACnCnB,IAAI,EAAEX,SAAS,CAAC+B,MAAM;EACtBnB,MAAM,EAAEZ,SAAS,CAACgC,IAAI;EACtBnB,OAAO,EAAEb,SAAS,CAACgC,IAAI;EACvBlB,QAAQ,EAAEd,SAAS,CAACgC,IAAI;EACxBjB,KAAK,EAAEf,SAAS,CAACiC,OAAO,CAACjC,SAAS,CAAC+B,MAAM,CAAC;EAC1Cf,YAAY,EAAEhB,SAAS,CAACiC,OAAO,CAACjC,SAAS,CAAC+B,MAAM;AAClD,CAAC;AAEDtB,8BAA8B,CAACyB,YAAY,GAAG;EAC5CtB,MAAM,EAAEW,SAAS;EACjBZ,IAAI,EAAEY,SAAS;EACfV,OAAO,EAAEU,SAAS;EAClBT,QAAQ,EAAES,SAAS;EACnBR,KAAK,EAAEQ,SAAS;EAChBP,YAAY,EAAEO;AAChB,CAAC;AAED,eAAenB,sBAAsB;AACrC,SACEI,qBAAqB,EACrBC,8BAA8B","ignoreList":[]}
@@ -7,19 +7,18 @@ import { useFormGroupContext } from './FormGroupContext';
7
7
  import FormControlFeedback from './FormControlFeedback';
8
8
  import FormControlDecoratorGroup from './FormControlDecoratorGroup';
9
9
  import { callAllHandlers, useHasValue } from './fieldUtils';
10
- const FormControl = /*#__PURE__*/React.forwardRef((_ref, ref) => {
11
- let {
12
- as,
13
- className,
14
- controlClassName,
15
- leadingElement,
16
- trailingElement,
17
- floatingLabel,
18
- autoResize,
19
- onChange,
20
- inputMask,
21
- ...props
22
- } = _ref;
10
+ const FormControl = /*#__PURE__*/React.forwardRef(({
11
+ as,
12
+ className,
13
+ controlClassName,
14
+ leadingElement,
15
+ trailingElement,
16
+ floatingLabel,
17
+ autoResize,
18
+ onChange,
19
+ inputMask,
20
+ ...props
21
+ }, ref) => {
23
22
  const {
24
23
  isInvalid,
25
24
  isValid,
@@ -1 +1 @@
1
- {"version":3,"file":"FormControl.js","names":["React","useCallback","useEffect","PropTypes","classNames","RBFormControl","IMaskInput","useFormGroupContext","FormControlFeedback","FormControlDecoratorGroup","callAllHandlers","useHasValue","FormControl","forwardRef","_ref","ref","as","className","controlClassName","leadingElement","trailingElement","floatingLabel","autoResize","onChange","inputMask","props","isInvalid","isValid","getControlProps","formGroupContext","inputRef","useRef","resolvedRef","size","hasValue","checkInputEventValue","defaultValue","value","handleResize","current","initialHeight","offsets","offsetHeight","clientHeight","style","height","scrollHeight","controlProps","onBlur","handleOnChange","e","createElement","mask","SIZE_CHOICES","Feedback","Description","propTypes","string","elementType","func","oneOfType","number","id","oneOf","node","plaintext","bool","defaultProps","undefined"],"sources":["../../src/Form/FormControl.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport RBFormControl from 'react-bootstrap/FormControl';\nimport { IMaskInput } from 'react-imask';\nimport { useFormGroupContext } from './FormGroupContext';\nimport FormControlFeedback from './FormControlFeedback';\nimport FormControlDecoratorGroup from './FormControlDecoratorGroup';\n\nimport { callAllHandlers, useHasValue } from './fieldUtils';\n\nconst FormControl = React.forwardRef(({\n as,\n className,\n controlClassName,\n leadingElement,\n trailingElement,\n floatingLabel,\n autoResize,\n onChange,\n inputMask,\n ...props\n}, ref) => {\n const {\n isInvalid,\n isValid,\n getControlProps,\n ...formGroupContext\n } = useFormGroupContext();\n const inputRef = React.useRef();\n const resolvedRef = ref || inputRef;\n const size = props.size || formGroupContext.size;\n\n const [hasValue, checkInputEventValue] = useHasValue({\n defaultValue: props.defaultValue,\n value: props.value,\n });\n\n const handleResize = useCallback(() => {\n if (as === 'textarea' && autoResize) {\n if (!resolvedRef.current.initialHeight && !resolvedRef.current.offsets) {\n resolvedRef.current.initialHeight = resolvedRef.current.offsetHeight;\n resolvedRef.current.offsets = resolvedRef.current.offsetHeight - resolvedRef.current.clientHeight;\n }\n resolvedRef.current.style.height = `${resolvedRef.current.initialHeight}px`;\n resolvedRef.current.style.height = `${resolvedRef.current.scrollHeight + resolvedRef.current.offsets}px`;\n }\n }, [as, autoResize, resolvedRef]);\n\n useEffect(() => {\n handleResize();\n }, [handleResize]);\n\n const controlProps = getControlProps({\n ...props,\n // eslint-disable-next-line react/prop-types\n onBlur: callAllHandlers(checkInputEventValue, props.onBlur),\n });\n\n const handleOnChange = (e) => {\n handleResize();\n if (onChange) {\n onChange(e);\n }\n };\n\n return (\n <FormControlDecoratorGroup\n size={size}\n leadingElement={leadingElement}\n trailingElement={trailingElement}\n floatingLabel={floatingLabel}\n className={className}\n >\n <RBFormControl\n as={inputMask ? IMaskInput : as}\n ref={resolvedRef}\n size={size}\n isInvalid={isInvalid}\n isValid={isValid}\n className={classNames(controlClassName, {\n 'has-value': hasValue,\n })}\n onChange={handleOnChange}\n mask={inputMask}\n {...controlProps}\n />\n </FormControlDecoratorGroup>\n );\n});\n\nconst SIZE_CHOICES = ['sm', 'lg'];\n\nFormControl.Feedback = FormControlFeedback;\nFormControl.Description = FormControlFeedback;\n\nFormControl.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies base element for the control component. */\n as: PropTypes.elementType,\n /** Specifies function that is triggered on input value change. */\n onChange: PropTypes.func,\n /** Specifies default value of the input component. */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Specifies current value of the input component. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Specifies id of the control component. */\n id: PropTypes.string,\n /** Specifies class name for the control component. */\n controlClassName: PropTypes.string,\n /** Specifies size for the control component. */\n size: PropTypes.oneOf(SIZE_CHOICES),\n /** Specifies leading element to display for the input component. */\n leadingElement: PropTypes.node,\n /** Specifies trailing element to display for the input component. */\n trailingElement: PropTypes.node,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.node,\n /** Specifies whether to render input as plain text. */\n plaintext: PropTypes.bool,\n /** Specifies whether to display control in valid state, this affects styling. */\n isValid: PropTypes.bool,\n /** Specifies whether to display control in invalid state, this affects styling. */\n isInvalid: PropTypes.bool,\n /** Only for `as=\"textarea\"`. Specifies whether the input can be resized according to the height of content. */\n autoResize: PropTypes.bool,\n /** Specifies what format to use for the input mask. */\n inputMask: PropTypes.string,\n};\n\nFormControl.defaultProps = {\n as: 'input',\n className: undefined,\n id: undefined,\n controlClassName: undefined,\n onChange: undefined,\n defaultValue: undefined,\n value: undefined,\n size: undefined,\n leadingElement: undefined,\n trailingElement: undefined,\n floatingLabel: undefined,\n plaintext: false,\n isValid: undefined,\n isInvalid: undefined,\n autoResize: false,\n inputMask: undefined,\n};\n\nexport default FormControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"FormControl.js","names":["React","useCallback","useEffect","PropTypes","classNames","RBFormControl","IMaskInput","useFormGroupContext","FormControlFeedback","FormControlDecoratorGroup","callAllHandlers","useHasValue","FormControl","forwardRef","as","className","controlClassName","leadingElement","trailingElement","floatingLabel","autoResize","onChange","inputMask","props","ref","isInvalid","isValid","getControlProps","formGroupContext","inputRef","useRef","resolvedRef","size","hasValue","checkInputEventValue","defaultValue","value","handleResize","current","initialHeight","offsets","offsetHeight","clientHeight","style","height","scrollHeight","controlProps","onBlur","handleOnChange","e","createElement","mask","SIZE_CHOICES","Feedback","Description","propTypes","string","elementType","func","oneOfType","number","id","oneOf","node","plaintext","bool","defaultProps","undefined"],"sources":["../../src/Form/FormControl.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport RBFormControl from 'react-bootstrap/FormControl';\nimport { IMaskInput } from 'react-imask';\nimport { useFormGroupContext } from './FormGroupContext';\nimport FormControlFeedback from './FormControlFeedback';\nimport FormControlDecoratorGroup from './FormControlDecoratorGroup';\n\nimport { callAllHandlers, useHasValue } from './fieldUtils';\n\nconst FormControl = React.forwardRef(({\n as,\n className,\n controlClassName,\n leadingElement,\n trailingElement,\n floatingLabel,\n autoResize,\n onChange,\n inputMask,\n ...props\n}, ref) => {\n const {\n isInvalid,\n isValid,\n getControlProps,\n ...formGroupContext\n } = useFormGroupContext();\n const inputRef = React.useRef();\n const resolvedRef = ref || inputRef;\n const size = props.size || formGroupContext.size;\n\n const [hasValue, checkInputEventValue] = useHasValue({\n defaultValue: props.defaultValue,\n value: props.value,\n });\n\n const handleResize = useCallback(() => {\n if (as === 'textarea' && autoResize) {\n if (!resolvedRef.current.initialHeight && !resolvedRef.current.offsets) {\n resolvedRef.current.initialHeight = resolvedRef.current.offsetHeight;\n resolvedRef.current.offsets = resolvedRef.current.offsetHeight - resolvedRef.current.clientHeight;\n }\n resolvedRef.current.style.height = `${resolvedRef.current.initialHeight}px`;\n resolvedRef.current.style.height = `${resolvedRef.current.scrollHeight + resolvedRef.current.offsets}px`;\n }\n }, [as, autoResize, resolvedRef]);\n\n useEffect(() => {\n handleResize();\n }, [handleResize]);\n\n const controlProps = getControlProps({\n ...props,\n // eslint-disable-next-line react/prop-types\n onBlur: callAllHandlers(checkInputEventValue, props.onBlur),\n });\n\n const handleOnChange = (e) => {\n handleResize();\n if (onChange) {\n onChange(e);\n }\n };\n\n return (\n <FormControlDecoratorGroup\n size={size}\n leadingElement={leadingElement}\n trailingElement={trailingElement}\n floatingLabel={floatingLabel}\n className={className}\n >\n <RBFormControl\n as={inputMask ? IMaskInput : as}\n ref={resolvedRef}\n size={size}\n isInvalid={isInvalid}\n isValid={isValid}\n className={classNames(controlClassName, {\n 'has-value': hasValue,\n })}\n onChange={handleOnChange}\n mask={inputMask}\n {...controlProps}\n />\n </FormControlDecoratorGroup>\n );\n});\n\nconst SIZE_CHOICES = ['sm', 'lg'];\n\nFormControl.Feedback = FormControlFeedback;\nFormControl.Description = FormControlFeedback;\n\nFormControl.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** Specifies base element for the control component. */\n as: PropTypes.elementType,\n /** Specifies function that is triggered on input value change. */\n onChange: PropTypes.func,\n /** Specifies default value of the input component. */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Specifies current value of the input component. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Specifies id of the control component. */\n id: PropTypes.string,\n /** Specifies class name for the control component. */\n controlClassName: PropTypes.string,\n /** Specifies size for the control component. */\n size: PropTypes.oneOf(SIZE_CHOICES),\n /** Specifies leading element to display for the input component. */\n leadingElement: PropTypes.node,\n /** Specifies trailing element to display for the input component. */\n trailingElement: PropTypes.node,\n /** Specifies floating label to display for the input component. */\n floatingLabel: PropTypes.node,\n /** Specifies whether to render input as plain text. */\n plaintext: PropTypes.bool,\n /** Specifies whether to display control in valid state, this affects styling. */\n isValid: PropTypes.bool,\n /** Specifies whether to display control in invalid state, this affects styling. */\n isInvalid: PropTypes.bool,\n /** Only for `as=\"textarea\"`. Specifies whether the input can be resized according to the height of content. */\n autoResize: PropTypes.bool,\n /** Specifies what format to use for the input mask. */\n inputMask: PropTypes.string,\n};\n\nFormControl.defaultProps = {\n as: 'input',\n className: undefined,\n id: undefined,\n controlClassName: undefined,\n onChange: undefined,\n defaultValue: undefined,\n value: undefined,\n size: undefined,\n leadingElement: undefined,\n trailingElement: undefined,\n floatingLabel: undefined,\n plaintext: false,\n isValid: undefined,\n isInvalid: undefined,\n autoResize: false,\n inputMask: undefined,\n};\n\nexport default FormControl;\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,9 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- function FormControlDecorator(_ref) {
4
- let {
5
- children,
6
- location
7
- } = _ref;
3
+ function FormControlDecorator({
4
+ children,
5
+ location
6
+ }) {
8
7
  return /*#__PURE__*/React.createElement("div", {
9
8
  className: `pgn__form-control-decorator pgn__form-control-decorator-${location}`
10
9
  }, children);
@@ -1 +1 @@
1
- {"version":3,"file":"FormControlDecorator.js","names":["React","PropTypes","FormControlDecorator","_ref","children","location","createElement","className","propTypes","node","isRequired","oneOf","defaultProps"],"sources":["../../src/Form/FormControlDecorator.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction FormControlDecorator({ children, location }) {\n return (\n <div className={`pgn__form-control-decorator pgn__form-control-decorator-${location}`}>\n {children}\n </div>\n );\n}\n\nFormControlDecorator.propTypes = {\n children: PropTypes.node.isRequired,\n location: PropTypes.oneOf(['leading', 'trailing']),\n};\n\nFormControlDecorator.defaultProps = {\n location: 'leading',\n};\n\nexport default FormControlDecorator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,oBAAoBA,CAAAC,IAAA,EAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAS,CAAC,GAAAF,IAAA;EAClD,oBACEH,KAAA,CAAAM,aAAA;IAAKC,SAAS,EAAE,2DAA2DF,QAAQ;EAAG,GACnFD,QACE,CAAC;AAEV;AAEAF,oBAAoB,CAACM,SAAS,GAAG;EAC/BJ,QAAQ,EAAEH,SAAS,CAACQ,IAAI,CAACC,UAAU;EACnCL,QAAQ,EAAEJ,SAAS,CAACU,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC;AACnD,CAAC;AAEDT,oBAAoB,CAACU,YAAY,GAAG;EAClCP,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeH,oBAAoB","ignoreList":[]}
1
+ {"version":3,"file":"FormControlDecorator.js","names":["React","PropTypes","FormControlDecorator","children","location","createElement","className","propTypes","node","isRequired","oneOf","defaultProps"],"sources":["../../src/Form/FormControlDecorator.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\n\nfunction FormControlDecorator({ children, location }) {\n return (\n <div className={`pgn__form-control-decorator pgn__form-control-decorator-${location}`}>\n {children}\n </div>\n );\n}\n\nFormControlDecorator.propTypes = {\n children: PropTypes.node.isRequired,\n location: PropTypes.oneOf(['leading', 'trailing']),\n};\n\nFormControlDecorator.defaultProps = {\n location: 'leading',\n};\n\nexport default FormControlDecorator;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAElC,SAASC,oBAAoBA,CAAC;EAAEC,QAAQ;EAAEC;AAAS,CAAC,EAAE;EACpD,oBACEJ,KAAA,CAAAK,aAAA;IAAKC,SAAS,EAAE,2DAA2DF,QAAQ;EAAG,GACnFD,QACE,CAAC;AAEV;AAEAD,oBAAoB,CAACK,SAAS,GAAG;EAC/BJ,QAAQ,EAAEF,SAAS,CAACO,IAAI,CAACC,UAAU;EACnCL,QAAQ,EAAEH,SAAS,CAACS,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC;AACnD,CAAC;AAEDR,oBAAoB,CAACS,YAAY,GAAG;EAClCP,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeF,oBAAoB","ignoreList":[]}
@@ -9,15 +9,14 @@ import FormControlDecorator from './FormControlDecorator';
9
9
  /**
10
10
  * Decorates a textual input.
11
11
  */
12
- function FormControlDecoratorGroup(_ref) {
13
- let {
14
- children,
15
- leadingElement,
16
- trailingElement,
17
- floatingLabel,
18
- className,
19
- ...props
20
- } = _ref;
12
+ function FormControlDecoratorGroup({
13
+ children,
14
+ leadingElement,
15
+ trailingElement,
16
+ floatingLabel,
17
+ className,
18
+ ...props
19
+ }) {
21
20
  const formGroupContext = useFormGroupContext(props);
22
21
  const size = props.size || formGroupContext.size;
23
22
  return /*#__PURE__*/React.createElement("div", {