@openedx/paragon 22.0.0-alpha.24 → 22.0.0

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 (946) hide show
  1. package/README.md +16 -46
  2. package/bin/paragon-scripts.js +16 -123
  3. package/dist/ActionRow/_index.scss +4 -2
  4. package/dist/ActionRow/_variables.scss +2 -0
  5. package/dist/ActionRow/index.js +7 -8
  6. package/dist/ActionRow/index.js.map +1 -1
  7. package/dist/Alert/_variables.scss +24 -0
  8. package/dist/Alert/index.js +33 -25
  9. package/dist/Alert/index.js.map +1 -1
  10. package/dist/Alert/index.scss +32 -41
  11. package/dist/Annotation/_variables.scss +18 -0
  12. package/dist/Annotation/index.js +7 -9
  13. package/dist/Annotation/index.js.map +1 -1
  14. package/dist/Annotation/index.scss +103 -130
  15. package/dist/Avatar/_variables.scss +10 -0
  16. package/dist/Avatar/index.js +5 -7
  17. package/dist/Avatar/index.js.map +1 -1
  18. package/dist/Avatar/index.scss +20 -18
  19. package/dist/AvatarButton/_variables.scss +3 -0
  20. package/dist/AvatarButton/index.js +10 -12
  21. package/dist/AvatarButton/index.js.map +1 -1
  22. package/dist/AvatarButton/index.scss +5 -3
  23. package/dist/Badge/_variables.scss +16 -0
  24. package/dist/Badge/index.js +6 -4
  25. package/dist/Badge/index.js.map +1 -1
  26. package/dist/Badge/index.scss +2 -112
  27. package/dist/Breadcrumb/BreadcrumbLink.js +11 -14
  28. package/dist/Breadcrumb/BreadcrumbLink.js.map +1 -1
  29. package/dist/Breadcrumb/_variables.scss +27 -0
  30. package/dist/Breadcrumb/index.js +29 -29
  31. package/dist/Breadcrumb/index.js.map +1 -1
  32. package/dist/Breadcrumb/index.scss +16 -14
  33. package/dist/Bubble/_variables.scss +8 -0
  34. package/dist/Bubble/index.js +11 -13
  35. package/dist/Bubble/index.js.map +1 -1
  36. package/dist/Bubble/index.scss +12 -25
  37. package/dist/Button/_variables.scss +52 -0
  38. package/dist/Button/deprecated/index.js +149 -0
  39. package/dist/Button/deprecated/index.js.map +1 -0
  40. package/dist/Button/index.js +12 -11
  41. package/dist/Button/index.js.map +1 -1
  42. package/dist/Button/index.scss +370 -855
  43. package/dist/Card/CardBody.js +4 -6
  44. package/dist/Card/CardBody.js.map +1 -1
  45. package/dist/Card/CardCarousel/CardCarousel.js +11 -13
  46. package/dist/Card/CardCarousel/CardCarousel.js.map +1 -1
  47. package/dist/Card/CardCarousel/CardCarouselControls.js +6 -7
  48. package/dist/Card/CardCarousel/CardCarouselControls.js.map +1 -1
  49. package/dist/Card/CardCarousel/CardCarouselHeader.js +9 -12
  50. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  51. package/dist/Card/CardCarousel/CardCarouselItems.js +6 -9
  52. package/dist/Card/CardCarousel/CardCarouselItems.js.map +1 -1
  53. package/dist/Card/CardCarousel/CardCarouselProvider.js +27 -28
  54. package/dist/Card/CardCarousel/CardCarouselProvider.js.map +1 -1
  55. package/dist/Card/CardCarousel/CardCarouselSubtitle.js +4 -6
  56. package/dist/Card/CardCarousel/CardCarouselSubtitle.js.map +1 -1
  57. package/dist/Card/CardCarousel/CardCarouselTitle.js +4 -6
  58. package/dist/Card/CardCarousel/CardCarouselTitle.js.map +1 -1
  59. package/dist/Card/CardContext.js +8 -10
  60. package/dist/Card/CardContext.js.map +1 -1
  61. package/dist/Card/CardDeck.js +19 -17
  62. package/dist/Card/CardDeck.js.map +1 -1
  63. package/dist/Card/CardDivider.js +3 -5
  64. package/dist/Card/CardDivider.js.map +1 -1
  65. package/dist/Card/CardFooter.js +15 -18
  66. package/dist/Card/CardFooter.js.map +1 -1
  67. package/dist/Card/CardGrid.js +13 -11
  68. package/dist/Card/CardGrid.js.map +1 -1
  69. package/dist/Card/CardHeader.js +17 -22
  70. package/dist/Card/CardHeader.js.map +1 -1
  71. package/dist/Card/CardImageCap.js +48 -33
  72. package/dist/Card/CardImageCap.js.map +1 -1
  73. package/dist/Card/CardSection.js +11 -14
  74. package/dist/Card/CardSection.js.map +1 -1
  75. package/dist/Card/CardStatus.js +11 -14
  76. package/dist/Card/CardStatus.js.map +1 -1
  77. package/dist/Card/_variables.scss +55 -0
  78. package/dist/Card/index.js +18 -20
  79. package/dist/Card/index.js.map +1 -1
  80. package/dist/Card/index.scss +79 -78
  81. package/dist/Carousel/_variables.scss +27 -0
  82. package/dist/Carousel/index.js +17 -11
  83. package/dist/Carousel/index.js.map +1 -1
  84. package/dist/Carousel/index.scss +2 -168
  85. package/dist/CheckBox/index.js +102 -0
  86. package/dist/CheckBox/index.js.map +1 -0
  87. package/dist/CheckBoxGroup/index.js +15 -0
  88. package/dist/CheckBoxGroup/index.js.map +1 -0
  89. package/dist/Chip/ChipIcon.js +47 -0
  90. package/dist/Chip/ChipIcon.js.map +1 -0
  91. package/dist/Chip/_variables.scss +28 -0
  92. package/dist/Chip/constants.js +5 -0
  93. package/dist/Chip/index.js +66 -40
  94. package/dist/Chip/index.js.map +1 -1
  95. package/dist/Chip/index.scss +102 -61
  96. package/dist/Chip/mixins.scss +42 -0
  97. package/dist/ChipCarousel/_variables.scss +3 -0
  98. package/dist/ChipCarousel/index.js +29 -30
  99. package/dist/ChipCarousel/index.js.map +1 -1
  100. package/dist/ChipCarousel/index.scss +4 -1
  101. package/dist/CloseButton/_variables.scss +6 -0
  102. package/dist/CloseButton/index.scss +2 -31
  103. package/dist/Code/_variables.scss +17 -0
  104. package/dist/Code/index.scss +2 -47
  105. package/dist/Collapsible/CollapsibleAdvanced.js +82 -62
  106. package/dist/Collapsible/CollapsibleAdvanced.js.map +1 -1
  107. package/dist/Collapsible/CollapsibleBody.js +13 -15
  108. package/dist/Collapsible/CollapsibleBody.js.map +1 -1
  109. package/dist/Collapsible/CollapsibleTrigger.js +18 -20
  110. package/dist/Collapsible/CollapsibleTrigger.js.map +1 -1
  111. package/dist/Collapsible/CollapsibleVisible.js +6 -9
  112. package/dist/Collapsible/CollapsibleVisible.js.map +1 -1
  113. package/dist/Collapsible/_variables.scss +12 -0
  114. package/dist/Collapsible/index.js +17 -18
  115. package/dist/Collapsible/index.js.map +1 -1
  116. package/dist/Collapsible/index.scss +15 -15
  117. package/dist/ColorPicker/_variables.scss +2 -0
  118. package/dist/ColorPicker/index.js +58 -33
  119. package/dist/ColorPicker/index.js.map +1 -1
  120. package/dist/ColorPicker/index.scss +11 -9
  121. package/dist/Container/_variables.scss +5 -0
  122. package/dist/Container/index.js +8 -9
  123. package/dist/Container/index.js.map +1 -1
  124. package/dist/DataTable/ActionDisplay.js +8 -9
  125. package/dist/DataTable/ActionDisplay.js.map +1 -1
  126. package/dist/DataTable/BulkActions.js +23 -20
  127. package/dist/DataTable/BulkActions.js.map +1 -1
  128. package/dist/DataTable/CardView.js +46 -43
  129. package/dist/DataTable/CardView.js.map +1 -1
  130. package/dist/DataTable/CollapsibleButtonGroup.js +59 -41
  131. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  132. package/dist/DataTable/DataTableContext.js +1 -1
  133. package/dist/DataTable/DataTableContext.js.map +1 -1
  134. package/dist/DataTable/DataTableLayout.js +6 -9
  135. package/dist/DataTable/DataTableLayout.js.map +1 -1
  136. package/dist/DataTable/DataViewToggle.js +25 -20
  137. package/dist/DataTable/DataViewToggle.js.map +1 -1
  138. package/dist/DataTable/DropdownFilters.js +41 -28
  139. package/dist/DataTable/DropdownFilters.js.map +1 -1
  140. package/dist/DataTable/EmptyTable.js +6 -9
  141. package/dist/DataTable/EmptyTable.js.map +1 -1
  142. package/dist/DataTable/ExpandAll.js +2 -4
  143. package/dist/DataTable/ExpandAll.js.map +1 -1
  144. package/dist/DataTable/ExpandRow.js +2 -4
  145. package/dist/DataTable/ExpandRow.js.map +1 -1
  146. package/dist/DataTable/FilterStatus.js +18 -17
  147. package/dist/DataTable/FilterStatus.js.map +1 -1
  148. package/dist/DataTable/RowStatus.js +15 -18
  149. package/dist/DataTable/RowStatus.js.map +1 -1
  150. package/dist/DataTable/SidebarFilters.js +16 -13
  151. package/dist/DataTable/SidebarFilters.js.map +1 -1
  152. package/dist/DataTable/SmartStatus.js +14 -16
  153. package/dist/DataTable/SmartStatus.js.map +1 -1
  154. package/dist/DataTable/Table.js +17 -19
  155. package/dist/DataTable/Table.js.map +1 -1
  156. package/dist/DataTable/TableActions.js +11 -13
  157. package/dist/DataTable/TableActions.js.map +1 -1
  158. package/dist/DataTable/TableCell.js +6 -10
  159. package/dist/DataTable/TableCell.js.map +1 -1
  160. package/dist/DataTable/TableControlBar.js +7 -12
  161. package/dist/DataTable/TableControlBar.js.map +1 -1
  162. package/dist/DataTable/TableFilters.js +14 -12
  163. package/dist/DataTable/TableFilters.js.map +1 -1
  164. package/dist/DataTable/TableFooter.js +5 -8
  165. package/dist/DataTable/TableFooter.js.map +1 -1
  166. package/dist/DataTable/TableHeaderCell.js +11 -15
  167. package/dist/DataTable/TableHeaderCell.js.map +1 -1
  168. package/dist/DataTable/TableHeaderRow.js +6 -4
  169. package/dist/DataTable/TableHeaderRow.js.map +1 -1
  170. package/dist/DataTable/TablePagination.js +15 -9
  171. package/dist/DataTable/TablePagination.js.map +1 -1
  172. package/dist/DataTable/TablePaginationMinimal.js +14 -8
  173. package/dist/DataTable/TablePaginationMinimal.js.map +1 -1
  174. package/dist/DataTable/TableRow.js +15 -18
  175. package/dist/DataTable/TableRow.js.map +1 -1
  176. package/dist/DataTable/_variables.scss +11 -0
  177. package/dist/DataTable/filters/CheckboxFilter.js +23 -22
  178. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  179. package/dist/DataTable/filters/DropdownFilter.js +14 -19
  180. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  181. package/dist/DataTable/filters/MultiSelectDropdownFilter.js +19 -20
  182. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  183. package/dist/DataTable/filters/TextFilter.js +15 -18
  184. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  185. package/dist/DataTable/hooks.js +29 -25
  186. package/dist/DataTable/hooks.js.map +1 -1
  187. package/dist/DataTable/index.js +120 -104
  188. package/dist/DataTable/index.js.map +1 -1
  189. package/dist/DataTable/index.scss +50 -48
  190. package/dist/DataTable/selection/BaseSelectionStatus.js +29 -31
  191. package/dist/DataTable/selection/BaseSelectionStatus.js.map +1 -1
  192. package/dist/DataTable/selection/ControlledSelect.js +13 -9
  193. package/dist/DataTable/selection/ControlledSelect.js.map +1 -1
  194. package/dist/DataTable/selection/ControlledSelectHeader.js +19 -15
  195. package/dist/DataTable/selection/ControlledSelectHeader.js.map +1 -1
  196. package/dist/DataTable/selection/ControlledSelectionStatus.js +34 -24
  197. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  198. package/dist/DataTable/selection/SelectionStatus.js +23 -23
  199. package/dist/DataTable/selection/SelectionStatus.js.map +1 -1
  200. package/dist/DataTable/utils/getVisibleColumns.js +36 -44
  201. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  202. package/dist/Dropdown/_variables.scss +33 -0
  203. package/dist/Dropdown/deprecated/DropdownButton.js +44 -0
  204. package/dist/Dropdown/deprecated/DropdownButton.js.map +1 -0
  205. package/dist/Dropdown/deprecated/DropdownItem.js +33 -0
  206. package/dist/Dropdown/deprecated/DropdownItem.js.map +1 -0
  207. package/dist/Dropdown/deprecated/DropdownMenu.js +46 -0
  208. package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -0
  209. package/dist/Dropdown/deprecated/index.js +242 -0
  210. package/dist/Dropdown/deprecated/index.js.map +1 -0
  211. package/dist/Dropdown/index.js +34 -29
  212. package/dist/Dropdown/index.js.map +1 -1
  213. package/dist/Dropdown/index.scss +12 -11
  214. package/dist/Dropzone/DefaultContent.js +13 -13
  215. package/dist/Dropzone/DefaultContent.js.map +1 -1
  216. package/dist/Dropzone/DragError.js +1 -3
  217. package/dist/Dropzone/DragError.js.map +1 -1
  218. package/dist/Dropzone/GenericError.js +7 -7
  219. package/dist/Dropzone/GenericError.js.map +1 -1
  220. package/dist/Dropzone/UploadProgress.js +6 -8
  221. package/dist/Dropzone/UploadProgress.js.map +1 -1
  222. package/dist/Dropzone/_variables.scss +9 -0
  223. package/dist/Dropzone/index.js +144 -85
  224. package/dist/Dropzone/index.js.map +1 -1
  225. package/dist/Dropzone/index.scss +14 -12
  226. package/dist/Fieldset/index.js +117 -0
  227. package/dist/Fieldset/index.js.map +1 -0
  228. package/dist/Fieldset/index.scss +12 -0
  229. package/dist/Form/FormAutosuggest.js +284 -154
  230. package/dist/Form/FormAutosuggest.js.map +1 -1
  231. package/dist/Form/FormAutosuggestOption.js +4 -6
  232. package/dist/Form/FormAutosuggestOption.js.map +1 -1
  233. package/dist/Form/FormCheckbox.js +35 -42
  234. package/dist/Form/FormCheckbox.js.map +1 -1
  235. package/dist/Form/FormCheckboxSet.js +13 -16
  236. package/dist/Form/FormCheckboxSet.js.map +1 -1
  237. package/dist/Form/FormCheckboxSetContext.js +39 -34
  238. package/dist/Form/FormCheckboxSetContext.js.map +1 -1
  239. package/dist/Form/FormControl.js +41 -35
  240. package/dist/Form/FormControl.js.map +1 -1
  241. package/dist/Form/FormControlDecorator.js +3 -5
  242. package/dist/Form/FormControlDecorator.js.map +1 -1
  243. package/dist/Form/FormControlDecoratorGroup.js +8 -10
  244. package/dist/Form/FormControlDecoratorGroup.js.map +1 -1
  245. package/dist/Form/FormControlFeedback.js +12 -15
  246. package/dist/Form/FormControlFeedback.js.map +1 -1
  247. package/dist/Form/FormControlFloatingLabel.js +3 -6
  248. package/dist/Form/FormControlFloatingLabel.js.map +1 -1
  249. package/dist/Form/FormControlSet.js +8 -9
  250. package/dist/Form/FormControlSet.js.map +1 -1
  251. package/dist/Form/FormGroup.js +11 -12
  252. package/dist/Form/FormGroup.js.map +1 -1
  253. package/dist/Form/FormGroupContext.js +64 -39
  254. package/dist/Form/FormGroupContext.js.map +1 -1
  255. package/dist/Form/FormLabel.js +15 -17
  256. package/dist/Form/FormLabel.js.map +1 -1
  257. package/dist/Form/FormRadio.js +19 -22
  258. package/dist/Form/FormRadio.js.map +1 -1
  259. package/dist/Form/FormRadioSet.js +13 -16
  260. package/dist/Form/FormRadioSet.js.map +1 -1
  261. package/dist/Form/FormRadioSetContext.js +39 -34
  262. package/dist/Form/FormRadioSetContext.js.map +1 -1
  263. package/dist/Form/FormSwitch.js +16 -20
  264. package/dist/Form/FormSwitch.js.map +1 -1
  265. package/dist/Form/FormText.js +20 -29
  266. package/dist/Form/FormText.js.map +1 -1
  267. package/dist/Form/_FormText.scss +8 -8
  268. package/dist/Form/_index.scss +146 -168
  269. package/dist/Form/_mixins.scss +3 -216
  270. package/dist/Form/_variables.scss +267 -0
  271. package/dist/Form/useCheckboxSetValues.js +46 -23
  272. package/dist/Form/useCheckboxSetValues.js.map +1 -1
  273. package/dist/Hyperlink/index.js +25 -25
  274. package/dist/Hyperlink/index.js.map +1 -1
  275. package/dist/Hyperlink/index.scss +3 -3
  276. package/dist/Icon/_variables.scss +7 -0
  277. package/dist/Icon/index.js +21 -20
  278. package/dist/Icon/index.js.map +1 -1
  279. package/dist/Icon/index.scss +12 -10
  280. package/dist/IconButton/index.js +39 -35
  281. package/dist/IconButton/index.js.map +1 -1
  282. package/dist/IconButton/index.scss +74 -387
  283. package/dist/IconButtonToggle/index.js +16 -16
  284. package/dist/IconButtonToggle/index.js.map +1 -1
  285. package/dist/IconButtonToggle/index.scss +1 -1
  286. package/dist/Image/_variables.scss +13 -0
  287. package/dist/Image/index.scss +2 -53
  288. package/dist/Input/index.js +166 -0
  289. package/dist/Input/index.js.map +1 -0
  290. package/dist/InputSelect/index.js +105 -0
  291. package/dist/InputSelect/index.js.map +1 -0
  292. package/dist/InputText/index.js +45 -0
  293. package/dist/InputText/index.js.map +1 -0
  294. package/dist/Layout/index.js +33 -29
  295. package/dist/Layout/index.js.map +1 -1
  296. package/dist/ListBox/index.js +148 -0
  297. package/dist/ListBox/index.js.map +1 -0
  298. package/dist/ListBoxOption/index.js +94 -0
  299. package/dist/ListBoxOption/index.js.map +1 -0
  300. package/dist/MailtoLink/index.js +37 -34
  301. package/dist/MailtoLink/index.js.map +1 -1
  302. package/dist/Menu/MenuItem.js +11 -12
  303. package/dist/Menu/MenuItem.js.map +1 -1
  304. package/dist/Menu/SelectMenu.js +68 -44
  305. package/dist/Menu/SelectMenu.js.map +1 -1
  306. package/dist/Menu/_variables.scss +24 -0
  307. package/dist/Menu/index.js +10 -11
  308. package/dist/Menu/index.js.map +1 -1
  309. package/dist/Menu/index.scss +27 -25
  310. package/dist/Modal/AlertModal.js +5 -7
  311. package/dist/Modal/AlertModal.js.map +1 -1
  312. package/dist/Modal/FullscreenModal.js +6 -8
  313. package/dist/Modal/FullscreenModal.js.map +1 -1
  314. package/dist/Modal/MarketingModal.js +8 -10
  315. package/dist/Modal/MarketingModal.js.map +1 -1
  316. package/dist/Modal/ModalCloseButton.js +13 -15
  317. package/dist/Modal/ModalCloseButton.js.map +1 -1
  318. package/dist/Modal/ModalContext.js +13 -13
  319. package/dist/Modal/ModalContext.js.map +1 -1
  320. package/dist/Modal/ModalDialog.js +22 -23
  321. package/dist/Modal/ModalDialog.js.map +1 -1
  322. package/dist/Modal/ModalDialogBody.js +22 -11
  323. package/dist/Modal/ModalDialogBody.js.map +1 -1
  324. package/dist/Modal/ModalDialogFooter.js +6 -7
  325. package/dist/Modal/ModalDialogFooter.js.map +1 -1
  326. package/dist/Modal/ModalDialogHeader.js +6 -7
  327. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  328. package/dist/Modal/ModalDialogHero.js +6 -7
  329. package/dist/Modal/ModalDialogHero.js.map +1 -1
  330. package/dist/Modal/ModalDialogHeroBackground.js +8 -9
  331. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  332. package/dist/Modal/ModalDialogHeroContent.js +6 -7
  333. package/dist/Modal/ModalDialogHeroContent.js.map +1 -1
  334. package/dist/Modal/ModalDialogTitle.js +6 -7
  335. package/dist/Modal/ModalDialogTitle.js.map +1 -1
  336. package/dist/Modal/ModalLayer.js +11 -17
  337. package/dist/Modal/ModalLayer.js.map +1 -1
  338. package/dist/Modal/ModalPopup.js +17 -17
  339. package/dist/Modal/ModalPopup.js.map +1 -1
  340. package/dist/Modal/PopperElement.js +25 -18
  341. package/dist/Modal/PopperElement.js.map +1 -1
  342. package/dist/Modal/Portal.js +40 -18
  343. package/dist/Modal/Portal.js.map +1 -1
  344. package/dist/Modal/StandardModal.js +6 -8
  345. package/dist/Modal/StandardModal.js.map +1 -1
  346. package/dist/Modal/_ModalDialog.scss +48 -50
  347. package/dist/Modal/_variables.scss +50 -0
  348. package/dist/Modal/index.js +293 -0
  349. package/dist/Modal/index.js.map +1 -0
  350. package/dist/Modal/index.scss +73 -6
  351. package/dist/Nav/_mixins.scss +4 -4
  352. package/dist/Nav/_variables.scss +58 -0
  353. package/dist/Nav/index.js +3 -2
  354. package/dist/Nav/index.js.map +1 -1
  355. package/dist/Nav/index.scss +66 -70
  356. package/dist/Navbar/_variables.scss +40 -0
  357. package/dist/Navbar/index.js +7 -6
  358. package/dist/Navbar/index.js.map +1 -1
  359. package/dist/Navbar/index.scss +2 -276
  360. package/dist/OverflowScroll/OverflowScroll.js +45 -37
  361. package/dist/OverflowScroll/OverflowScroll.js.map +1 -1
  362. package/dist/OverflowScroll/OverflowScrollContext.js +1 -1
  363. package/dist/OverflowScroll/OverflowScrollContext.js.map +1 -1
  364. package/dist/OverflowScroll/OverflowScrollItems.js +2 -4
  365. package/dist/OverflowScroll/OverflowScrollItems.js.map +1 -1
  366. package/dist/OverflowScroll/_variables.scss +5 -0
  367. package/dist/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  368. package/dist/OverflowScroll/index.scss +1 -0
  369. package/dist/Overlay/index.js +6 -5
  370. package/dist/Overlay/index.js.map +1 -1
  371. package/dist/PageBanner/index.js +11 -13
  372. package/dist/PageBanner/index.js.map +1 -1
  373. package/dist/PageBanner/index.scss +21 -17
  374. package/dist/Pagination/DefaultPagination.js +34 -0
  375. package/dist/Pagination/DefaultPagination.js.map +1 -0
  376. package/dist/Pagination/MinimalPagination.js +8 -0
  377. package/dist/Pagination/MinimalPagination.js.map +1 -0
  378. package/dist/Pagination/PaginationContext.js +200 -0
  379. package/dist/Pagination/PaginationContext.js.map +1 -0
  380. package/dist/Pagination/ReducedPagination.js +8 -0
  381. package/dist/Pagination/ReducedPagination.js.map +1 -0
  382. package/dist/Pagination/_variables.scss +19 -0
  383. package/dist/Pagination/constants.js +15 -1
  384. package/dist/Pagination/getPaginationRange.js +4 -0
  385. package/dist/Pagination/index.js +44 -358
  386. package/dist/Pagination/index.js.map +1 -1
  387. package/dist/Pagination/index.scss +120 -226
  388. package/dist/Pagination/subcomponents/Ellipsis.js +11 -0
  389. package/dist/Pagination/subcomponents/Ellipsis.js.map +1 -0
  390. package/dist/Pagination/subcomponents/NextPageButton.js +57 -0
  391. package/dist/Pagination/subcomponents/NextPageButton.js.map +1 -0
  392. package/dist/Pagination/subcomponents/PageButton.js +31 -0
  393. package/dist/Pagination/subcomponents/PageButton.js.map +1 -0
  394. package/dist/Pagination/subcomponents/PageOfCountButton.js +17 -0
  395. package/dist/Pagination/subcomponents/PageOfCountButton.js.map +1 -0
  396. package/dist/Pagination/subcomponents/PaginationDropdown.js +34 -0
  397. package/dist/Pagination/subcomponents/PaginationDropdown.js.map +1 -0
  398. package/dist/Pagination/subcomponents/PreviousPageButton.js +57 -0
  399. package/dist/Pagination/subcomponents/PreviousPageButton.js.map +1 -0
  400. package/dist/Pagination/subcomponents/ScreenReaderText.js +13 -0
  401. package/dist/Pagination/subcomponents/ScreenReaderText.js.map +1 -0
  402. package/dist/Pagination/subcomponents/index.js +7 -0
  403. package/dist/Popover/_variables.scss +36 -0
  404. package/dist/Popover/index.js +11 -14
  405. package/dist/Popover/index.js.map +1 -1
  406. package/dist/Popover/index.scss +10 -9
  407. package/dist/ProductTour/Checkpoint.js +29 -22
  408. package/dist/ProductTour/Checkpoint.js.map +1 -1
  409. package/dist/ProductTour/Checkpoint.scss +43 -71
  410. package/dist/ProductTour/CheckpointActionRow.js +18 -16
  411. package/dist/ProductTour/CheckpointActionRow.js.map +1 -1
  412. package/dist/ProductTour/CheckpointBody.js +2 -4
  413. package/dist/ProductTour/CheckpointBody.js.map +1 -1
  414. package/dist/ProductTour/CheckpointBreadcrumbs.js +16 -16
  415. package/dist/ProductTour/CheckpointBreadcrumbs.js.map +1 -1
  416. package/dist/ProductTour/CheckpointTitle.js +2 -4
  417. package/dist/ProductTour/CheckpointTitle.js.map +1 -1
  418. package/dist/ProductTour/_variables.scss +15 -0
  419. package/dist/ProductTour/index.js +66 -47
  420. package/dist/ProductTour/index.js.map +1 -1
  421. package/dist/ProgressBar/_variables.scss +23 -0
  422. package/dist/ProgressBar/index.js +37 -35
  423. package/dist/ProgressBar/index.js.map +1 -1
  424. package/dist/ProgressBar/index.scss +36 -28
  425. package/dist/RadioButtonGroup/index.js +188 -0
  426. package/dist/RadioButtonGroup/index.js.map +1 -0
  427. package/dist/Scrollable/index.js +30 -15
  428. package/dist/Scrollable/index.js.map +1 -1
  429. package/dist/Scrollable/index.scss +2 -2
  430. package/dist/SearchField/SearchFieldAdvanced.js +56 -51
  431. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  432. package/dist/SearchField/SearchFieldClearButton.js +19 -20
  433. package/dist/SearchField/SearchFieldClearButton.js.map +1 -1
  434. package/dist/SearchField/SearchFieldInput.js +10 -11
  435. package/dist/SearchField/SearchFieldInput.js.map +1 -1
  436. package/dist/SearchField/SearchFieldLabel.js +5 -8
  437. package/dist/SearchField/SearchFieldLabel.js.map +1 -1
  438. package/dist/SearchField/SearchFieldSubmitButton.js +23 -23
  439. package/dist/SearchField/SearchFieldSubmitButton.js.map +1 -1
  440. package/dist/SearchField/_variables.scss +14 -0
  441. package/dist/SearchField/index.js +26 -31
  442. package/dist/SearchField/index.js.map +1 -1
  443. package/dist/SearchField/index.scss +23 -31
  444. package/dist/SelectableBox/SelectableBoxSet.js +25 -26
  445. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  446. package/dist/SelectableBox/_variables.scss +5 -0
  447. package/dist/SelectableBox/index.js +42 -38
  448. package/dist/SelectableBox/index.js.map +1 -1
  449. package/dist/SelectableBox/index.scss +13 -11
  450. package/dist/Sheet/SheetContainer.js +38 -16
  451. package/dist/Sheet/SheetContainer.js.map +1 -1
  452. package/dist/Sheet/index.js +65 -43
  453. package/dist/Sheet/index.js.map +1 -1
  454. package/dist/Sheet/index.scss +10 -10
  455. package/dist/Spinner/_variables.scss +9 -0
  456. package/dist/Spinner/index.js +8 -9
  457. package/dist/Spinner/index.js.map +1 -1
  458. package/dist/Spinner/index.scss +2 -57
  459. package/dist/Stack/_variables.scss +1 -0
  460. package/dist/Stack/index.js +9 -11
  461. package/dist/Stack/index.js.map +1 -1
  462. package/dist/Stack/index.scss +3 -1
  463. package/dist/StatefulButton/index.js +15 -17
  464. package/dist/StatefulButton/index.js.map +1 -1
  465. package/dist/StatusAlert/index.js +168 -0
  466. package/dist/StatusAlert/index.js.map +1 -0
  467. package/dist/Stepper/Stepper.js +2 -4
  468. package/dist/Stepper/Stepper.js.map +1 -1
  469. package/dist/Stepper/StepperActionRow.js +7 -10
  470. package/dist/Stepper/StepperActionRow.js.map +1 -1
  471. package/dist/Stepper/StepperContext.js +64 -32
  472. package/dist/Stepper/StepperContext.js.map +1 -1
  473. package/dist/Stepper/StepperHeader.js +23 -30
  474. package/dist/Stepper/StepperHeader.js.map +1 -1
  475. package/dist/Stepper/StepperHeaderStep.js +14 -17
  476. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  477. package/dist/Stepper/StepperStep.js +23 -24
  478. package/dist/Stepper/StepperStep.js.map +1 -1
  479. package/dist/Stepper/_variables.scss +18 -0
  480. package/dist/Stepper/index.scss +20 -19
  481. package/dist/Sticky/_variables.scss +3 -0
  482. package/dist/Sticky/index.js +30 -22
  483. package/dist/Sticky/index.js.map +1 -1
  484. package/dist/Sticky/index.scss +6 -4
  485. package/dist/Table/_variables.scss +34 -0
  486. package/dist/Table/index.js +267 -0
  487. package/dist/Table/index.js.map +1 -0
  488. package/dist/Table/index.scss +12 -0
  489. package/dist/Tabs/_variables.scss +24 -0
  490. package/dist/Tabs/deprecated/Tabs.scss +3 -0
  491. package/dist/Tabs/deprecated/index.js +123 -0
  492. package/dist/Tabs/deprecated/index.js.map +1 -0
  493. package/dist/Tabs/index.js +67 -49
  494. package/dist/Tabs/index.js.map +1 -1
  495. package/dist/Tabs/index.scss +25 -26
  496. package/dist/TextArea/index.js +44 -0
  497. package/dist/TextArea/index.js.map +1 -0
  498. package/dist/Toast/ToastContainer.js +38 -16
  499. package/dist/Toast/ToastContainer.js.map +1 -1
  500. package/dist/Toast/ToastContainer.scss +11 -9
  501. package/dist/Toast/_variables.scss +19 -0
  502. package/dist/Toast/index.js +33 -18
  503. package/dist/Toast/index.js.map +1 -1
  504. package/dist/Toast/index.scss +10 -9
  505. package/dist/Tooltip/_variables.scss +21 -0
  506. package/dist/Tooltip/index.js +8 -9
  507. package/dist/Tooltip/index.js.map +1 -1
  508. package/dist/Tooltip/index.scss +10 -136
  509. package/dist/TransitionReplace/DemoTransitionReplace.js +12 -3
  510. package/dist/TransitionReplace/DemoTransitionReplace.js.map +1 -1
  511. package/dist/TransitionReplace/index.js +136 -100
  512. package/dist/TransitionReplace/index.js.map +1 -1
  513. package/dist/Truncate/index.js +30 -24
  514. package/dist/Truncate/index.js.map +1 -1
  515. package/dist/ValidationFormGroup/index.js +106 -0
  516. package/dist/ValidationFormGroup/index.js.map +1 -0
  517. package/dist/ValidationMessage/index.js +76 -51
  518. package/dist/ValidationMessage/index.js.map +1 -1
  519. package/dist/ValidationMessage/index.scss +1 -1
  520. package/dist/asInput/index.js +251 -202
  521. package/dist/asInput/index.js.map +1 -1
  522. package/dist/hooks/useArrowKeyNavigation.js +46 -43
  523. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  524. package/dist/hooks/useIndexOfLastVisibleChild.js +40 -26
  525. package/dist/hooks/useIndexOfLastVisibleChild.js.map +1 -1
  526. package/dist/hooks/useIsVisible.js +20 -13
  527. package/dist/hooks/useIsVisible.js.map +1 -1
  528. package/dist/hooks/useToggle.js +18 -11
  529. package/dist/hooks/useToggle.js.map +1 -1
  530. package/dist/hooks/useWindowSize.js +17 -6
  531. package/dist/hooks/useWindowSize.js.map +1 -1
  532. package/dist/index.js +14 -0
  533. package/dist/index.scss +4 -0
  534. package/dist/paragon.css +45 -0
  535. package/dist/utils/breakpoints.js +1 -1
  536. package/dist/utils/propTypes/utils.js +17 -2
  537. package/dist/withDeprecatedProps.js +79 -58
  538. package/dist/withDeprecatedProps.js.map +1 -1
  539. package/lib/help.js +23 -36
  540. package/lib/migrate-to-openedx-scope.js +62 -0
  541. package/package.json +20 -33
  542. package/{styles/scss → scss}/core/_functions.scss +1 -1
  543. package/scss/core/_grid.scss +21 -0
  544. package/{styles/scss → scss}/core/_utilities.scss +11 -17
  545. package/scss/core/_variables.scss +875 -0
  546. package/scss/core/core.scss +21 -0
  547. package/{styles/scss → scss}/core/utilities-only.scss +0 -1
  548. package/src/ActionRow/_index.scss +4 -2
  549. package/src/ActionRow/_variables.scss +2 -0
  550. package/src/Alert/_variables.scss +24 -0
  551. package/src/Alert/index.scss +32 -41
  552. package/src/Annotation/_variables.scss +18 -0
  553. package/src/Annotation/index.scss +103 -130
  554. package/src/Avatar/_variables.scss +10 -0
  555. package/src/Avatar/index.scss +20 -18
  556. package/src/AvatarButton/_variables.scss +3 -0
  557. package/src/AvatarButton/index.scss +5 -3
  558. package/src/Badge/_variables.scss +16 -0
  559. package/src/Badge/index.scss +2 -112
  560. package/src/Breadcrumb/_variables.scss +27 -0
  561. package/src/Breadcrumb/index.scss +16 -14
  562. package/src/Bubble/_variables.scss +8 -0
  563. package/src/Bubble/index.scss +12 -25
  564. package/src/Button/README.md +84 -0
  565. package/src/Button/_variables.scss +52 -0
  566. package/src/Button/deprecated/Button.test.jsx +34 -0
  567. package/src/Button/deprecated/index.jsx +145 -0
  568. package/src/Button/index.jsx +5 -2
  569. package/src/Button/index.scss +370 -855
  570. package/src/Card/_variables.scss +55 -0
  571. package/src/Card/index.scss +79 -78
  572. package/src/Carousel/_variables.scss +27 -0
  573. package/src/Carousel/index.scss +2 -168
  574. package/src/CheckBox/CheckBox.test.jsx +65 -0
  575. package/src/CheckBox/README.md +93 -0
  576. package/src/CheckBox/index.jsx +80 -0
  577. package/src/CheckBoxGroup/CheckBoxGroup.test.jsx +33 -0
  578. package/src/CheckBoxGroup/README.md +35 -0
  579. package/src/CheckBoxGroup/index.jsx +19 -0
  580. package/src/Chip/Chip.test.jsx +82 -16
  581. package/src/Chip/ChipIcon.tsx +54 -0
  582. package/src/Chip/README.md +116 -11
  583. package/src/Chip/__snapshots__/Chip.test.jsx.snap +84 -90
  584. package/src/Chip/_variables.scss +28 -0
  585. package/src/Chip/constants.js +5 -0
  586. package/src/Chip/index.scss +102 -61
  587. package/src/Chip/index.tsx +79 -46
  588. package/src/Chip/mixins.scss +42 -0
  589. package/src/ChipCarousel/_variables.scss +3 -0
  590. package/src/ChipCarousel/index.scss +4 -1
  591. package/src/CloseButton/_variables.scss +6 -0
  592. package/src/CloseButton/index.scss +2 -31
  593. package/src/Code/_variables.scss +17 -0
  594. package/src/Code/index.scss +2 -47
  595. package/src/Collapsible/_variables.scss +12 -0
  596. package/src/Collapsible/index.scss +15 -15
  597. package/src/ColorPicker/_variables.scss +2 -0
  598. package/src/ColorPicker/index.scss +11 -9
  599. package/src/Container/_variables.scss +5 -0
  600. package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
  601. package/src/DataTable/TablePagination.jsx +7 -2
  602. package/src/DataTable/TablePaginationMinimal.jsx +5 -0
  603. package/src/DataTable/_variables.scss +11 -0
  604. package/src/DataTable/filters/TextFilter.jsx +4 -5
  605. package/src/DataTable/index.scss +50 -48
  606. package/src/DataTable/tests/TablePagination.test.jsx +6 -6
  607. package/src/Dropdown/README.md +93 -0
  608. package/src/Dropdown/_variables.scss +33 -0
  609. package/src/Dropdown/deprecated/Dropdown.test.jsx +238 -0
  610. package/src/Dropdown/deprecated/DropdownButton.jsx +52 -0
  611. package/src/Dropdown/deprecated/DropdownItem.jsx +34 -0
  612. package/src/Dropdown/deprecated/DropdownMenu.jsx +50 -0
  613. package/src/Dropdown/deprecated/__snapshots__/Dropdown.test.jsx.snap +229 -0
  614. package/src/Dropdown/deprecated/index.jsx +222 -0
  615. package/src/Dropdown/index.jsx +2 -0
  616. package/src/Dropdown/index.scss +12 -11
  617. package/src/Dropzone/_variables.scss +9 -0
  618. package/src/Dropzone/index.scss +14 -12
  619. package/src/Fieldset/Fieldset.test.jsx +101 -0
  620. package/src/Fieldset/README.md +146 -0
  621. package/src/Fieldset/index.jsx +107 -0
  622. package/src/Fieldset/index.scss +12 -0
  623. package/src/Form/FormAutosuggest.jsx +332 -254
  624. package/src/Form/_FormText.scss +8 -8
  625. package/src/Form/_index.scss +146 -168
  626. package/src/Form/_mixins.scss +3 -216
  627. package/src/Form/_variables.scss +267 -0
  628. package/src/Form/form-autosuggest.mdx +114 -57
  629. package/src/Form/tests/FormAutosuggest.test.jsx +63 -16
  630. package/src/Hyperlink/index.scss +3 -3
  631. package/src/Icon/README.md +3 -3
  632. package/src/Icon/_variables.scss +7 -0
  633. package/src/Icon/index.jsx +1 -1
  634. package/src/Icon/index.scss +12 -10
  635. package/src/IconButton/README.md +15 -1
  636. package/src/IconButton/__snapshots__/IconButton.test.jsx.snap +28 -5
  637. package/src/IconButton/index.jsx +14 -7
  638. package/src/IconButton/index.scss +74 -387
  639. package/src/IconButtonToggle/index.scss +1 -1
  640. package/src/Image/_variables.scss +13 -0
  641. package/src/Image/index.scss +2 -53
  642. package/src/Input/README.md +74 -0
  643. package/src/Input/__snapshots__/input.test.jsx.snap +53 -0
  644. package/src/Input/index.jsx +151 -0
  645. package/src/Input/input.test.jsx +85 -0
  646. package/src/InputSelect/README.md +136 -0
  647. package/src/InputSelect/index.jsx +92 -0
  648. package/src/InputText/InputText.test.jsx +74 -0
  649. package/src/InputText/README.md +293 -0
  650. package/src/InputText/index.jsx +49 -0
  651. package/src/ListBox/ListBox.test.jsx +161 -0
  652. package/src/ListBox/README.md +185 -0
  653. package/src/ListBox/index.jsx +115 -0
  654. package/src/ListBoxOption/ListBoxOption.test.jsx +154 -0
  655. package/src/ListBoxOption/index.jsx +78 -0
  656. package/src/Menu/_variables.scss +24 -0
  657. package/src/Menu/index.scss +27 -25
  658. package/src/Modal/README.md +148 -0
  659. package/src/Modal/_ModalDialog.scss +48 -50
  660. package/src/Modal/_variables.scss +50 -0
  661. package/src/Modal/index.jsx +319 -0
  662. package/src/Modal/index.scss +73 -6
  663. package/src/Modal/tests/Modal.test.jsx +261 -0
  664. package/src/Nav/_mixins.scss +4 -4
  665. package/src/Nav/_variables.scss +58 -0
  666. package/src/Nav/index.scss +66 -70
  667. package/src/Navbar/_variables.scss +40 -0
  668. package/src/Navbar/index.scss +2 -276
  669. package/src/OverflowScroll/_variables.scss +5 -0
  670. package/src/OverflowScroll/data/useOverflowScrollElementAttributes.js +3 -3
  671. package/src/OverflowScroll/index.scss +1 -0
  672. package/src/Overlay/index.jsx +3 -2
  673. package/src/PageBanner/index.scss +21 -17
  674. package/src/Pagination/DefaultPagination.jsx +43 -0
  675. package/src/Pagination/MinimalPagination.jsx +11 -0
  676. package/src/Pagination/Pagination.test.jsx +201 -156
  677. package/src/Pagination/PaginationContext.jsx +191 -0
  678. package/src/Pagination/README.md +86 -22
  679. package/src/Pagination/ReducedPagination.jsx +12 -0
  680. package/src/Pagination/__snapshots__/Pagination.test.jsx.snap +301 -0
  681. package/src/Pagination/_variables.scss +19 -0
  682. package/src/Pagination/constants.js +15 -1
  683. package/src/Pagination/getPaginationRange.js +4 -0
  684. package/src/Pagination/index.jsx +48 -420
  685. package/src/Pagination/index.scss +120 -226
  686. package/src/Pagination/subcomponents/Ellipsis.jsx +13 -0
  687. package/src/Pagination/subcomponents/NextPageButton.jsx +64 -0
  688. package/src/Pagination/subcomponents/PageButton.jsx +33 -0
  689. package/src/Pagination/subcomponents/PageOfCountButton.jsx +25 -0
  690. package/src/Pagination/subcomponents/PaginationDropdown.jsx +37 -0
  691. package/src/Pagination/subcomponents/PreviousPageButton.jsx +64 -0
  692. package/src/Pagination/subcomponents/ScreenReaderText.jsx +17 -0
  693. package/src/Pagination/subcomponents/index.js +7 -0
  694. package/src/Popover/_variables.scss +36 -0
  695. package/src/Popover/index.scss +10 -9
  696. package/src/ProductTour/Checkpoint.scss +43 -71
  697. package/src/ProductTour/_variables.scss +15 -0
  698. package/src/ProgressBar/_variables.scss +23 -0
  699. package/src/ProgressBar/index.scss +36 -28
  700. package/src/RadioButtonGroup/README.md +50 -0
  701. package/src/RadioButtonGroup/RadioButtonGroup.test.jsx +127 -0
  702. package/src/RadioButtonGroup/index.jsx +185 -0
  703. package/src/Scrollable/index.scss +2 -2
  704. package/src/SearchField/SearchField.test.jsx +1 -1
  705. package/src/SearchField/SearchFieldAdvanced.jsx +2 -4
  706. package/src/SearchField/SearchFieldClearButton.jsx +13 -5
  707. package/src/SearchField/SearchFieldInput.jsx +2 -2
  708. package/src/SearchField/SearchFieldSubmitButton.jsx +10 -8
  709. package/src/SearchField/__snapshots__/SearchField.test.jsx.snap +29 -33
  710. package/src/SearchField/_variables.scss +14 -0
  711. package/src/SearchField/index.jsx +4 -6
  712. package/src/SearchField/index.scss +23 -31
  713. package/src/SelectableBox/_variables.scss +5 -0
  714. package/src/SelectableBox/index.scss +13 -11
  715. package/src/Sheet/index.scss +10 -10
  716. package/src/Spinner/_variables.scss +9 -0
  717. package/src/Spinner/index.scss +2 -57
  718. package/src/Stack/_variables.scss +1 -0
  719. package/src/Stack/index.scss +3 -1
  720. package/src/StatusAlert/README.md +149 -0
  721. package/src/StatusAlert/StatusAlert.test.jsx +150 -0
  722. package/src/StatusAlert/index.jsx +144 -0
  723. package/src/Stepper/_variables.scss +18 -0
  724. package/src/Stepper/index.scss +20 -19
  725. package/src/Sticky/_variables.scss +3 -0
  726. package/src/Sticky/index.scss +6 -4
  727. package/src/Table/README.md +506 -0
  728. package/src/Table/Table.test.jsx +367 -0
  729. package/src/Table/_variables.scss +34 -0
  730. package/src/Table/index.jsx +264 -0
  731. package/src/Table/index.scss +12 -0
  732. package/src/Tabs/README.md +3 -1
  733. package/src/Tabs/_variables.scss +24 -0
  734. package/src/Tabs/deprecated/Tabs.scss +3 -0
  735. package/src/Tabs/deprecated/Tabs.test.jsx +50 -0
  736. package/src/Tabs/deprecated/index.jsx +117 -0
  737. package/src/Tabs/index.jsx +3 -0
  738. package/src/Tabs/index.scss +25 -26
  739. package/src/TextArea/README.md +63 -0
  740. package/src/TextArea/index.jsx +48 -0
  741. package/src/Toast/ToastContainer.scss +11 -9
  742. package/src/Toast/_variables.scss +19 -0
  743. package/src/Toast/index.scss +10 -9
  744. package/src/Tooltip/_variables.scss +21 -0
  745. package/src/Tooltip/index.scss +10 -136
  746. package/src/TransitionReplace/README.md +4 -4
  747. package/src/ValidationFormGroup/README.md +116 -0
  748. package/src/ValidationFormGroup/ValidationFormGroup.test.jsx +146 -0
  749. package/src/ValidationFormGroup/__snapshots__/ValidationFormGroup.test.jsx.snap +161 -0
  750. package/src/ValidationFormGroup/index.jsx +114 -0
  751. package/src/ValidationMessage/index.scss +1 -1
  752. package/src/index.js +14 -0
  753. package/src/index.scss +4 -0
  754. package/src/utils/breakpoints.js +1 -1
  755. package/src/utils/propTypes/utils.js +17 -2
  756. package/dist/Annotation/_mixins.scss +0 -104
  757. package/dist/Button/_mixins.scss +0 -14
  758. package/dist/Button/button-group.scss +0 -126
  759. package/dist/Card/card-bootstrap.scss +0 -168
  760. package/dist/Dropdown/dropdown-bootstrap.scss +0 -181
  761. package/dist/Form/_bootstrap-custom-forms.scss +0 -551
  762. package/dist/Form/_bootstrap-forms.scss +0 -381
  763. package/dist/Form/_input-group.scss +0 -188
  764. package/dist/IconButton/_mixins.scss +0 -4
  765. package/dist/Pagination/pagination-bootstrap.scss +0 -83
  766. package/dist/Popover/popover-bootstrap.scss +0 -198
  767. package/dist/ProgressBar/_mixins.scss +0 -22
  768. package/dist/ProgressBar/bootstrap-progress.scss +0 -49
  769. package/dist/Toast/bootstrap-toast.scss +0 -46
  770. package/dist/core.css +0 -16778
  771. package/dist/core.css.map +0 -1
  772. package/dist/core.min.css +0 -2
  773. package/dist/light.css +0 -4090
  774. package/dist/light.css.map +0 -1
  775. package/dist/light.min.css +0 -2
  776. package/dist/theme-urls.json +0 -21
  777. package/lib/build-scss.js +0 -188
  778. package/lib/build-tokens.js +0 -119
  779. package/lib/replace-variables.js +0 -38
  780. package/lib/utils.js +0 -9
  781. package/src/Annotation/_mixins.scss +0 -104
  782. package/src/Button/_mixins.scss +0 -14
  783. package/src/Button/button-group.scss +0 -126
  784. package/src/Card/card-bootstrap.scss +0 -168
  785. package/src/Dropdown/dropdown-bootstrap.scss +0 -181
  786. package/src/Form/_bootstrap-custom-forms.scss +0 -551
  787. package/src/Form/_bootstrap-forms.scss +0 -381
  788. package/src/Form/_input-group.scss +0 -188
  789. package/src/IconButton/_mixins.scss +0 -4
  790. package/src/Pagination/pagination-bootstrap.scss +0 -83
  791. package/src/Popover/popover-bootstrap.scss +0 -198
  792. package/src/ProgressBar/_mixins.scss +0 -22
  793. package/src/ProgressBar/bootstrap-progress.scss +0 -49
  794. package/src/Toast/bootstrap-toast.scss +0 -46
  795. package/styles/css/core/custom-media-breakpoints.css +0 -17
  796. package/styles/css/core/index.css +0 -2
  797. package/styles/css/core/variables.css +0 -606
  798. package/styles/css/themes/light/index.css +0 -2
  799. package/styles/css/themes/light/utility-classes.css +0 -2454
  800. package/styles/css/themes/light/variables.css +0 -1636
  801. package/styles/scss/core/_grid.scss +0 -21
  802. package/styles/scss/core/_variables.scss +0 -869
  803. package/styles/scss/core/bootstrap-override/_functions.scss +0 -104
  804. package/styles/scss/core/bootstrap-override/_mixins.scss +0 -4
  805. package/styles/scss/core/bootstrap-override/_utilities.scss +0 -4
  806. package/styles/scss/core/bootstrap-override/bootstrap.scss +0 -2
  807. package/styles/scss/core/bootstrap-override/mixins/_grid-framework.scss +0 -80
  808. package/styles/scss/core/bootstrap-override/mixins/_grid.scss +0 -69
  809. package/styles/scss/core/bootstrap-override/mixins/_list-group.scss +0 -22
  810. package/styles/scss/core/bootstrap-override/utilities/_background.scss +0 -7
  811. package/styles/scss/core/bootstrap-override/utilities/_borders.scss +0 -67
  812. package/styles/scss/core/bootstrap-override/utilities/_spacing.scss +0 -70
  813. package/styles/scss/core/bootstrap-override/utilities/_text.scss +0 -68
  814. package/styles/scss/core/core.scss +0 -21
  815. package/tokens/README.md +0 -158
  816. package/tokens/css-utilities.js +0 -56
  817. package/tokens/map-scss-to-css.js +0 -24
  818. package/tokens/replace-variables.js +0 -32
  819. package/tokens/sass-helpers.js +0 -98
  820. package/tokens/src/core/alias/size.json +0 -15
  821. package/tokens/src/core/components/ActionRow.json +0 -10
  822. package/tokens/src/core/components/Alert.json +0 -30
  823. package/tokens/src/core/components/Annotation.json +0 -25
  824. package/tokens/src/core/components/Avatar.json +0 -17
  825. package/tokens/src/core/components/AvatarButton.json +0 -11
  826. package/tokens/src/core/components/Badge.json +0 -33
  827. package/tokens/src/core/components/Breadcrumb.json +0 -37
  828. package/tokens/src/core/components/Bubble.json +0 -10
  829. package/tokens/src/core/components/Button/core.json +0 -105
  830. package/tokens/src/core/components/Card.json +0 -91
  831. package/tokens/src/core/components/Carousel.json +0 -37
  832. package/tokens/src/core/components/Chip.json +0 -19
  833. package/tokens/src/core/components/ChipCarousel.json +0 -9
  834. package/tokens/src/core/components/CloseButton.json +0 -14
  835. package/tokens/src/core/components/Code.json +0 -34
  836. package/tokens/src/core/components/Collapsible.json +0 -29
  837. package/tokens/src/core/components/ColorPicker.json +0 -8
  838. package/tokens/src/core/components/Container.json +0 -13
  839. package/tokens/src/core/components/DataTable.json +0 -27
  840. package/tokens/src/core/components/Dropdown.json +0 -67
  841. package/tokens/src/core/components/Dropzone.json +0 -21
  842. package/tokens/src/core/components/Form/other.json +0 -14
  843. package/tokens/src/core/components/Form/size.json +0 -233
  844. package/tokens/src/core/components/Form/spacing.json +0 -155
  845. package/tokens/src/core/components/Form/transition.json +0 -16
  846. package/tokens/src/core/components/Form/typography.json +0 -122
  847. package/tokens/src/core/components/Icon.json +0 -11
  848. package/tokens/src/core/components/IconButton.json +0 -15
  849. package/tokens/src/core/components/Image.json +0 -28
  850. package/tokens/src/core/components/Menu.json +0 -48
  851. package/tokens/src/core/components/Modal.json +0 -47
  852. package/tokens/src/core/components/Nav.json +0 -55
  853. package/tokens/src/core/components/Navbar.json +0 -70
  854. package/tokens/src/core/components/Pagination.json +0 -70
  855. package/tokens/src/core/components/Popover.json +0 -48
  856. package/tokens/src/core/components/ProductTour.json +0 -37
  857. package/tokens/src/core/components/ProgressBar.json +0 -39
  858. package/tokens/src/core/components/SearchField.json +0 -23
  859. package/tokens/src/core/components/SelectableBox.json +0 -9
  860. package/tokens/src/core/components/Sheet.json +0 -10
  861. package/tokens/src/core/components/Spinner.json +0 -19
  862. package/tokens/src/core/components/Stack.json +0 -7
  863. package/tokens/src/core/components/Stepper.json +0 -42
  864. package/tokens/src/core/components/Sticky.json +0 -7
  865. package/tokens/src/core/components/Tab.json +0 -19
  866. package/tokens/src/core/components/Tabs.json +0 -19
  867. package/tokens/src/core/components/Toast.json +0 -30
  868. package/tokens/src/core/components/Tooltip.json +0 -33
  869. package/tokens/src/core/components/general/caret.json +0 -13
  870. package/tokens/src/core/components/general/headings.json +0 -16
  871. package/tokens/src/core/components/general/hr.json +0 -10
  872. package/tokens/src/core/components/general/input.json +0 -51
  873. package/tokens/src/core/components/general/link.json +0 -30
  874. package/tokens/src/core/components/general/list.json +0 -26
  875. package/tokens/src/core/components/general/text.json +0 -24
  876. package/tokens/src/core/global/breakpoints.json +0 -12
  877. package/tokens/src/core/global/display.json +0 -21
  878. package/tokens/src/core/global/elevation.json +0 -19
  879. package/tokens/src/core/global/other.json +0 -4
  880. package/tokens/src/core/global/spacing.json +0 -35
  881. package/tokens/src/core/global/transition.json +0 -14
  882. package/tokens/src/core/global/typography.json +0 -91
  883. package/tokens/src/core/utilities/color.json +0 -12
  884. package/tokens/src/themes/light/alias/color.json +0 -114
  885. package/tokens/src/themes/light/components/Alert.json +0 -47
  886. package/tokens/src/themes/light/components/Annotation.json +0 -29
  887. package/tokens/src/themes/light/components/Avatar.json +0 -7
  888. package/tokens/src/themes/light/components/Badge.json +0 -186
  889. package/tokens/src/themes/light/components/Breadcrumb.json +0 -14
  890. package/tokens/src/themes/light/components/Bubble.json +0 -18
  891. package/tokens/src/themes/light/components/Button/brand.json +0 -260
  892. package/tokens/src/themes/light/components/Button/core.json +0 -24
  893. package/tokens/src/themes/light/components/Button/danger.json +0 -247
  894. package/tokens/src/themes/light/components/Button/dark.json +0 -230
  895. package/tokens/src/themes/light/components/Button/info.json +0 -238
  896. package/tokens/src/themes/light/components/Button/light.json +0 -236
  897. package/tokens/src/themes/light/components/Button/primary.json +0 -250
  898. package/tokens/src/themes/light/components/Button/secondary.json +0 -278
  899. package/tokens/src/themes/light/components/Button/success.json +0 -253
  900. package/tokens/src/themes/light/components/Button/tertiary.json +0 -109
  901. package/tokens/src/themes/light/components/Button/warning.json +0 -276
  902. package/tokens/src/themes/light/components/Card.json +0 -40
  903. package/tokens/src/themes/light/components/Carousel.json +0 -45
  904. package/tokens/src/themes/light/components/Chip.json +0 -19
  905. package/tokens/src/themes/light/components/CloseButton.json +0 -10
  906. package/tokens/src/themes/light/components/Code.json +0 -23
  907. package/tokens/src/themes/light/components/DataTable.json +0 -26
  908. package/tokens/src/themes/light/components/Dropdown.json +0 -41
  909. package/tokens/src/themes/light/components/Dropzone.json +0 -23
  910. package/tokens/src/themes/light/components/Form/color.json +0 -270
  911. package/tokens/src/themes/light/components/Form/elevation.json +0 -76
  912. package/tokens/src/themes/light/components/Form/other.json +0 -131
  913. package/tokens/src/themes/light/components/IconButton.json +0 -451
  914. package/tokens/src/themes/light/components/Image.json +0 -18
  915. package/tokens/src/themes/light/components/Menu.json +0 -30
  916. package/tokens/src/themes/light/components/Modal.json +0 -37
  917. package/tokens/src/themes/light/components/Nav.json +0 -166
  918. package/tokens/src/themes/light/components/Navbar.json +0 -136
  919. package/tokens/src/themes/light/components/OverflowScroll.json +0 -9
  920. package/tokens/src/themes/light/components/PageBanner.json +0 -24
  921. package/tokens/src/themes/light/components/Pagination.json +0 -40
  922. package/tokens/src/themes/light/components/Popover.json +0 -55
  923. package/tokens/src/themes/light/components/ProductTour.json +0 -35
  924. package/tokens/src/themes/light/components/ProgressBar.json +0 -20
  925. package/tokens/src/themes/light/components/Scrollable.json +0 -14
  926. package/tokens/src/themes/light/components/SearchField.json +0 -25
  927. package/tokens/src/themes/light/components/Sheet.json +0 -22
  928. package/tokens/src/themes/light/components/Stepper.json +0 -34
  929. package/tokens/src/themes/light/components/Sticky.json +0 -18
  930. package/tokens/src/themes/light/components/Tab.json +0 -62
  931. package/tokens/src/themes/light/components/Toast.json +0 -33
  932. package/tokens/src/themes/light/components/Tooltip.json +0 -30
  933. package/tokens/src/themes/light/components/general/body.json +0 -8
  934. package/tokens/src/themes/light/components/general/headings.json +0 -7
  935. package/tokens/src/themes/light/components/general/hr.json +0 -15
  936. package/tokens/src/themes/light/components/general/input.json +0 -18
  937. package/tokens/src/themes/light/components/general/link.json +0 -109
  938. package/tokens/src/themes/light/components/general/list.json +0 -38
  939. package/tokens/src/themes/light/components/general/text.json +0 -6
  940. package/tokens/src/themes/light/global/color.json +0 -1661
  941. package/tokens/src/themes/light/global/elevation.json +0 -201
  942. package/tokens/src/themes/light/global/other.json +0 -4
  943. package/tokens/style-dictionary.js +0 -223
  944. package/tokens/utils.js +0 -210
  945. /package/{styles/scss → scss}/core/_exports.module.scss +0 -0
  946. /package/{styles/scss → scss}/core/_typography.scss +0 -0
@@ -19,52 +19,79 @@ Form auto-suggest enables users to manually select or type to find matching opti
19
19
 
20
20
  ```jsx live
21
21
  () => {
22
- const [selected, setSelected] = useState('');
22
+ const [value, setValue] = useState({});
23
+ const [isValueRequired, setIsValueRequired] = useState(false);
24
+ const [isSelectionRequired, setIsSelectionRequired] = useState(false);
25
+ const [hasCustomValidation, setHasCustomValidation] = useState(false);
23
26
 
24
- return (
25
- <Form.Group>
26
- <Form.Label>
27
- <h4>Programming language</h4>
28
- </Form.Label>
29
- <Form.Autosuggest
30
- aria-label="form autosuggest"
31
- helpMessage="Select language"
32
- errorMessageText="Error, no selected value"
33
- value={selected}
34
- onSelected={(value) => setSelected(value)}
35
- >
36
- <Form.AutosuggestOption>JavaScript</Form.AutosuggestOption>
37
- <Form.AutosuggestOption>Python</Form.AutosuggestOption>
38
- <Form.AutosuggestOption>Rube</Form.AutosuggestOption>
39
- <Form.AutosuggestOption onClick={(e) => alert(e.currentTarget.getAttribute('data-value'))}>
40
- Option with custom onClick
41
- </Form.AutosuggestOption>
42
- </Form.Autosuggest>
43
- </Form.Group>
44
- );
45
- };
46
- ```
47
-
48
- ## Search Usage
27
+ const hasCustomError = () => (hasCustomValidation ? value.selectionId !== 'c-option-id' : false);
49
28
 
50
- ```jsx live
51
- () => {
52
- const [selected, setSelected] = useState('');
29
+ const autosuggestRef = useRef();
30
+ const forceUpdateErrorState = () => {
31
+ autosuggestRef.current.updateErrorStateAndErrorMessage();
32
+ };
53
33
 
54
34
  return (
55
- <Form.Autosuggest
56
- placeholder="Type 'T'"
57
- aria-label="form autosuggest"
58
- errorMessageText="Error, no selected value"
59
- helpMessage="Select language"
60
- value={selected}
61
- onSelected={(value) => setSelected(value)}
62
- >
63
- <Form.AutosuggestOption>PHP</Form.AutosuggestOption>
64
- <Form.AutosuggestOption>Java</Form.AutosuggestOption>
65
- <Form.AutosuggestOption>Turbo Pascal</Form.AutosuggestOption>
66
- <Form.AutosuggestOption>Flask</Form.AutosuggestOption>
67
- </Form.Autosuggest>
35
+ <>
36
+ <Form.Group>
37
+ <Form.Label>
38
+ <h4>Programming language</h4>
39
+ </Form.Label>
40
+ <Form.Autosuggest
41
+ ref={autosuggestRef}
42
+ aria-label="form autosuggest"
43
+ helpMessage="Select language"
44
+ value={value}
45
+ onChange={(v) => setValue(v)}
46
+ isValueRequired={isValueRequired}
47
+ valueRequiredErrorMessageText="Error: value required"
48
+ isSelectionRequired={isSelectionRequired}
49
+ selectionRequiredErrorMessageText="Error: selection required"
50
+ hasCustomError={hasCustomError()}
51
+ customErrorMessageText="Error: selected language less than 50 years old"
52
+ >
53
+ <Form.AutosuggestOption id="javascript-option-id">JavaScript</Form.AutosuggestOption>
54
+ <Form.AutosuggestOption id="python-option-id">Python</Form.AutosuggestOption>
55
+ <Form.AutosuggestOption id="ruby-option-id">Ruby</Form.AutosuggestOption>
56
+ <Form.AutosuggestOption id="c-option-id">C</Form.AutosuggestOption>
57
+ </Form.Autosuggest>
58
+ </Form.Group>
59
+ <Form.Group>
60
+ <Form.CheckboxSet isInline>
61
+ <Form.Checkbox checked={isValueRequired} onChange={e => setIsValueRequired(e.target.checked)}>Value Required</Form.Checkbox>
62
+ <Form.Checkbox checked={isSelectionRequired} onChange={e => setIsSelectionRequired(e.target.checked)}>Selection Required</Form.Checkbox>
63
+ <Form.Checkbox checked={hasCustomValidation} onChange={e => setHasCustomValidation(e.target.checked)}>Custom Validation</Form.Checkbox>
64
+ </Form.CheckboxSet>
65
+ </Form.Group>
66
+ <Collapsible styling="basic" title="Value details">
67
+ <Row>
68
+ <Col xs={3}><pre>userProvidedText:</pre></Col>
69
+ <Col><pre>{value.userProvidedText}</pre></Col>
70
+ </Row>
71
+ <Row>
72
+ <Col xs={3}><pre>selectionValue:</pre></Col>
73
+ <Col><pre>{value.selectionValue}</pre></Col>
74
+ </Row>
75
+ <Row>
76
+ <Col xs={3}><pre>selectionId:</pre></Col>
77
+ <Col><pre>{value.selectionId}</pre></Col>
78
+ </Row>
79
+ </Collapsible>
80
+ <Collapsible styling="basic" title="External modification">
81
+ <Form.Group className="mb-3">
82
+ <Form.Label>User provided text</Form.Label>
83
+ <Form.Control
84
+ onChange={(e) => setValue({
85
+ userProvidedText: e.target.value,
86
+ selectionValue: '',
87
+ selectionId: '',
88
+ })}
89
+ value={value.userProvidedText}
90
+ />
91
+ </Form.Group>
92
+ <Button onClick={forceUpdateErrorState}>Trigger validation</Button>
93
+ </Collapsible>
94
+ </>
68
95
  );
69
96
  };
70
97
  ```
@@ -73,6 +100,9 @@ Form auto-suggest enables users to manually select or type to find matching opti
73
100
 
74
101
  ```jsx live
75
102
  () => {
103
+ const [userProvidedText, setUserProvidedText] = useState('');
104
+ const [selectionValue, setSelectionValue] = useState('');
105
+ const [selectionId, setSelectionId] = useState('');
76
106
  const [data, setData] = useState([]);
77
107
  const [showLoading, setShowLoading] = useState(false);
78
108
 
@@ -88,8 +118,10 @@ Form auto-suggest enables users to manually select or type to find matching opti
88
118
  });
89
119
  }, []);
90
120
 
91
- const searchCoffee = (title) => {
92
- setShowLoading(true);
121
+ const searchCoffee = (title, id) => {
122
+ if (!id) {
123
+ setShowLoading(true);
124
+ }
93
125
  fetch('https://api.sampleapis.com/coffee/hot')
94
126
  .then(data => data.json())
95
127
  .then(items => setTimeout(() => {
@@ -100,20 +132,45 @@ Form auto-suggest enables users to manually select or type to find matching opti
100
132
  }, 1500));
101
133
  };
102
134
 
135
+ const valueChanged = (value) => {
136
+ if (userProvidedText !== value.userProvidedText) {
137
+ searchCoffee(value.userProvidedText, value.selectionId);
138
+ }
139
+ setUserProvidedText(value.userProvidedText);
140
+ setSelectionValue(value.selectionValue);
141
+ setSelectionId(value.selectionId);
142
+ };
143
+
103
144
  return (
104
- <Form.Group>
105
- <Form.Label>
106
- <h4>Café API</h4>
107
- </Form.Label>
108
- <Form.Autosuggest
109
- isLoading={showLoading}
110
- placeholder="This is placeholder"
111
- screenReaderText="Loading..."
112
- onChange={searchCoffee}
113
- >
114
- {data.map((item, index) => <Form.AutosuggestOption key={index}>{item.title}</Form.AutosuggestOption>)}
115
- </Form.Autosuggest>
116
- </Form.Group>
145
+ <>
146
+ <Form.Group>
147
+ <Form.Label>
148
+ <h4>Café API</h4>
149
+ </Form.Label>
150
+ <Form.Autosuggest
151
+ isLoading={showLoading}
152
+ placeholder="This is placeholder"
153
+ screenReaderText="Loading..."
154
+ onChange={valueChanged}
155
+ >
156
+ {data.map((item, index) => <Form.AutosuggestOption key={index}>{item.title}</Form.AutosuggestOption>)}
157
+ </Form.Autosuggest>
158
+ </Form.Group>
159
+ <Collapsible styling="basic" title="Value details">
160
+ <Row>
161
+ <Col xs={3}><pre>userProvidedText:</pre></Col>
162
+ <Col><pre>{userProvidedText}</pre></Col>
163
+ </Row>
164
+ <Row>
165
+ <Col xs={3}><pre>selectionValue:</pre></Col>
166
+ <Col><pre>{selectionValue}</pre></Col>
167
+ </Row>
168
+ <Row>
169
+ <Col xs={3}><pre>selectionId:</pre></Col>
170
+ <Col><pre>{selectionId}</pre></Col>
171
+ </Row>
172
+ </Collapsible>
173
+ </>
117
174
  );
118
175
  };
119
176
  ```
@@ -23,10 +23,15 @@ function FormAutosuggestTestComponent(props) {
23
23
  name="FormAutosuggest"
24
24
  floatingLabel="floatingLabel text"
25
25
  helpMessage="Example help message"
26
- errorMessageText="Example error message"
27
- onSelected={props.onSelected}
26
+ valueRequiredErrorMessageText="Example value required error message"
27
+ selectionRequiredErrorMessageText="Example selection required error message"
28
+ customErrorMessageText="Example custom error message"
29
+ onChange={props.onChange}
30
+ isValueRequired={props.isValueRequired}
31
+ isSelectionRequired={props.isSelectionRequired}
32
+ hasCustomError={props.hasCustomError}
28
33
  >
29
- <FormAutosuggestOption>Option 1</FormAutosuggestOption>
34
+ <FormAutosuggestOption id="option-1-id">Option 1</FormAutosuggestOption>
30
35
  <FormAutosuggestOption onClick={props.onClick}>Option 2</FormAutosuggestOption>
31
36
  <FormAutosuggestOption>Learn from more than 160 member universities</FormAutosuggestOption>
32
37
  </FormAutosuggestWrapper>
@@ -47,15 +52,19 @@ function FormAutosuggestLabelTestComponent() {
47
52
  }
48
53
 
49
54
  FormAutosuggestTestComponent.defaultProps = {
50
- onSelected: jest.fn(),
55
+ onChange: jest.fn(),
51
56
  onClick: jest.fn(),
57
+ isValueRequired: false,
58
+ isSelectionRequired: false,
59
+ hasCustomError: false,
52
60
  };
53
61
 
54
62
  FormAutosuggestTestComponent.propTypes = {
55
- /** Specifies onSelected event handler. */
56
- onSelected: PropTypes.func,
57
- /** Specifies onClick event handler. */
63
+ onChange: PropTypes.func,
58
64
  onClick: PropTypes.func,
65
+ isValueRequired: PropTypes.bool,
66
+ isSelectionRequired: PropTypes.bool,
67
+ hasCustomError: PropTypes.bool,
59
68
  };
60
69
 
61
70
  describe('render behavior', () => {
@@ -76,7 +85,7 @@ describe('render behavior', () => {
76
85
  });
77
86
 
78
87
  it('renders the auto-populated value if it exists', () => {
79
- render(<FormAutosuggestWrapper value="Test Value" />);
88
+ render(<FormAutosuggestWrapper value={{ userProvidedText: 'Test Value' }} />);
80
89
  expect(screen.getByDisplayValue('Test Value')).toBeInTheDocument();
81
90
  });
82
91
 
@@ -88,15 +97,42 @@ describe('render behavior', () => {
88
97
  expect(list.length).toBe(3);
89
98
  });
90
99
 
91
- it('renders with error msg', () => {
92
- const { getByText, getByTestId } = render(<FormAutosuggestTestComponent />);
100
+ it('renders with value required error msg', () => {
101
+ const { getByText, getByTestId } = render(<FormAutosuggestTestComponent isValueRequired />);
102
+ const input = getByTestId('autosuggest-textbox-input');
103
+
104
+ // if you click into the input and click outside, you should see the error message
105
+ userEvent.click(input);
106
+ userEvent.click(document.body);
107
+
108
+ const formControlFeedback = getByText('Example value required error message');
109
+
110
+ expect(formControlFeedback).toBeInTheDocument();
111
+ });
112
+
113
+ it('renders with selection required error msg', () => {
114
+ const { getByText, getByTestId } = render(<FormAutosuggestTestComponent isSelectionRequired />);
115
+ const input = getByTestId('autosuggest-textbox-input');
116
+
117
+ // if you click into the input and click outside, you should see the error message
118
+ userEvent.click(input);
119
+ userEvent.type(input, '1');
120
+ userEvent.click(document.body);
121
+
122
+ const formControlFeedback = getByText('Example selection required error message');
123
+
124
+ expect(formControlFeedback).toBeInTheDocument();
125
+ });
126
+
127
+ it('renders with custom error msg', () => {
128
+ const { getByText, getByTestId } = render(<FormAutosuggestTestComponent hasCustomError />);
93
129
  const input = getByTestId('autosuggest-textbox-input');
94
130
 
95
131
  // if you click into the input and click outside, you should see the error message
96
132
  userEvent.click(input);
97
133
  userEvent.click(document.body);
98
134
 
99
- const formControlFeedback = getByText('Example error message');
135
+ const formControlFeedback = getByText('Example custom error message');
100
136
 
101
137
  expect(formControlFeedback).toBeInTheDocument();
102
138
  });
@@ -147,17 +183,28 @@ describe('controlled behavior', () => {
147
183
  expect(input.value).toEqual('Option 1');
148
184
  });
149
185
 
150
- it('calls onSelected based on clicked option', () => {
151
- const onSelected = jest.fn();
152
- const { getByText, getByTestId } = render(<FormAutosuggestTestComponent onSelected={onSelected} />);
186
+ it('calls onChange based on clicked option', () => {
187
+ const onChange = jest.fn();
188
+ const { getByText, getByTestId } = render(<FormAutosuggestTestComponent onChange={onChange} />);
153
189
  const input = getByTestId('autosuggest-textbox-input');
154
190
 
155
191
  userEvent.click(input);
156
192
  const menuItem = getByText('Option 1');
157
193
  userEvent.click(menuItem);
158
194
 
159
- expect(onSelected).toHaveBeenCalledWith('Option 1');
160
- expect(onSelected).toHaveBeenCalledTimes(1);
195
+ expect(onChange).toHaveBeenCalledWith({ selectionId: 'option-1-id', selectionValue: 'Option 1', userProvidedText: 'Option 1' });
196
+ expect(onChange).toHaveBeenCalledTimes(1);
197
+ });
198
+
199
+ it('calls onChange when the textbox is cleared', () => {
200
+ const onChange = jest.fn();
201
+ const { getByTestId } = render(<FormAutosuggestTestComponent onChange={onChange} />);
202
+ const input = getByTestId('autosuggest-textbox-input');
203
+
204
+ userEvent.type(input, '1');
205
+ userEvent.type(input, '{backspace}');
206
+
207
+ expect(onChange).toHaveBeenCalledWith({ selectionId: '', selectionValue: '', userProvidedText: '' });
161
208
  });
162
209
 
163
210
  it('calls the function passed to onClick when an option with it is selected', () => {
@@ -1,9 +1,9 @@
1
1
  .pgn__hyperlink {
2
+ display: inline-flex;
3
+ align-items: center;
2
4
  text-align: start;
3
5
 
4
6
  &__external-icon {
5
- display: inline-block;
6
- vertical-align: middle;
7
- margin-inline-start: var(--pgn-spacing-spacer-2);
7
+ margin-inline-start: map_get($spacers, 2);
8
8
  }
9
9
  }
@@ -11,13 +11,13 @@ devStatus: 'Done'
11
11
  notes: |
12
12
  ---
13
13
 
14
- Displays an svg icon from `@edx/paragon/icons`. See [Icons Foundation Documentation](/foundations/icons) for a list of all available icons.
14
+ Displays an svg icon from `@openedx/paragon/icons`. See [Icons Foundation Documentation](/foundations/icons) for a list of all available icons.
15
15
 
16
16
  ## Basic Usage
17
17
 
18
18
  ```jsx live
19
19
  // Included in this live jsx scope:
20
- // import { Add, AddCircle } from '@edx/paragon/icons';
20
+ // import { Add, AddCircle } from '@openedx/paragon/icons';
21
21
  <Icon src={Add} />
22
22
  ```
23
23
  ### With HTML attributes
@@ -26,7 +26,7 @@ HTML attributes can be passed to this component allowing for customization of th
26
26
 
27
27
  ```jsx live
28
28
  // Included in this live jsx scope:
29
- // import { Add, AddCircle } from '@edx/paragon/icons';
29
+ // import { Add, AddCircle } from '@openedx/paragon/icons';
30
30
  <div className="d-flex align-items-center bg-dark">
31
31
  <Icon src={Add} className="mx-3 text-white" />
32
32
  <Icon src={Add} className="mx-3 text-white" size="xs" />
@@ -0,0 +1,7 @@
1
+ // Icons sizes
2
+
3
+ $icon-inline: .8em !default;
4
+ $icon-xs: 1rem !default;
5
+ $icon-sm: 1.25rem !default;
6
+ $icon-md: 1.5rem !default;
7
+ $icon-lg: 1.75rem !default;
@@ -72,7 +72,7 @@ function Icon({
72
72
  Icon.propTypes = {
73
73
  /**
74
74
  * An icon component to render.
75
- * Example import of a Paragon icon component: `import { Check } from '@edx/paragon/icons';`
75
+ * Example import of a Paragon icon component: `import { Check } from '@openedx/paragon/icons';`
76
76
  */
77
77
  src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
78
78
  /** HTML element attributes to pass through to the underlying svg element */
@@ -1,3 +1,5 @@
1
+ @import "variables";
2
+
1
3
  .pgn__icon {
2
4
  display: block;
3
5
  height: 1.5rem; // 24px, Assumes base font size to be 16px
@@ -6,28 +8,28 @@
6
8
  flex-shrink: 0;
7
9
 
8
10
  &.pgn__icon__inline {
9
- width: var(--pgn-size-icon-inline);
10
- height: var(--pgn-size-icon-inline);
11
+ width: $icon-inline;
12
+ height: $icon-inline;
11
13
  }
12
14
 
13
15
  &.pgn__icon__xs {
14
- width: var(--pgn-size-icon-xs);
15
- height: var(--pgn-size-icon-xs);
16
+ width: $icon-xs;
17
+ height: $icon-xs;
16
18
  }
17
19
 
18
20
  &.pgn__icon__sm {
19
- width: var(--pgn-size-icon-sm);
20
- height: var(--pgn-size-icon-sm);
21
+ width: $icon-sm;
22
+ height: $icon-sm;
21
23
  }
22
24
 
23
25
  &.pgn__icon__md {
24
- width: var(--pgn-size-icon-md);
25
- height: var(--pgn-size-icon-md);
26
+ width: $icon-md;
27
+ height: $icon-md;
26
28
  }
27
29
 
28
30
  &.pgn__icon__lg {
29
- width: var(--pgn-size-icon-lg);
30
- height: var(--pgn-size-icon-lg);
31
+ width: $icon-lg;
32
+ height: $icon-lg;
31
33
  }
32
34
  }
33
35
 
@@ -20,7 +20,7 @@ notes: ''
20
20
  return (
21
21
  <div className="d-flex flex-wrap">
22
22
  {variants.map((variant) => (
23
- <IconButton key={variant} src={Close} alt="Close" onClick={() => {}} variant={variant} className="mr-2" />
23
+ <IconButton key={variant} src={Close} iconAs={Icon} alt="Close" onClick={() => {}} variant={variant} className="mr-2" />
24
24
  ))}
25
25
  </div>
26
26
  );
@@ -40,6 +40,7 @@ notes: ''
40
40
  tooltipPlacement='top'
41
41
  tooltipContent={<div>a nice tooltip of {variant}!</div>}
42
42
  src={Close}
43
+ iconAs={Icon}
43
44
  alt="Close"
44
45
  onClick={() => {}}
45
46
  variant={variant}
@@ -63,6 +64,7 @@ notes: ''
63
64
  isActive
64
65
  key={variant}
65
66
  src={Close}
67
+ iconAs={Icon}
66
68
  alt="Close"
67
69
  onClick={() => {}}
68
70
  variant={variant}
@@ -87,6 +89,7 @@ notes: ''
87
89
  isActive
88
90
  key={variant}
89
91
  src={Close}
92
+ iconAs={Icon}
90
93
  alt="Close"
91
94
  onClick={() => {}}
92
95
  variant={variant}
@@ -106,6 +109,7 @@ notes: ''
106
109
  <div className="p-1 bg-brand">
107
110
  <IconButton
108
111
  src={MenuIcon}
112
+ iconAs={Icon}
109
113
  alt="Menu"
110
114
  onClick={() => console.log("You clicked the menu button")}
111
115
  variant="brand"
@@ -115,6 +119,7 @@ notes: ''
115
119
  <div className="p-1 bg-primary">
116
120
  <IconButton
117
121
  src={MenuIcon}
122
+ iconAs={Icon}
118
123
  alt="Menu"
119
124
  onClick={() => console.log("You clicked the menu button")}
120
125
  variant="primary"
@@ -124,6 +129,7 @@ notes: ''
124
129
  <div className="p-1 bg-secondary">
125
130
  <IconButton
126
131
  src={MenuIcon}
132
+ iconAs={Icon}
127
133
  alt="Menu"
128
134
  onClick={() => console.log("You clicked the menu button")}
129
135
  variant="secondary"
@@ -133,6 +139,7 @@ notes: ''
133
139
  <div className="p-1 bg-success">
134
140
  <IconButton
135
141
  src={MenuIcon}
142
+ iconAs={Icon}
136
143
  alt="Menu"
137
144
  onClick={() => console.log("You clicked the menu button")}
138
145
  variant="success"
@@ -142,6 +149,7 @@ notes: ''
142
149
  <div className="p-1 bg-warning">
143
150
  <IconButton
144
151
  src={MenuIcon}
152
+ iconAs={Icon}
145
153
  alt="Menu"
146
154
  onClick={() => console.log("You clicked the menu button")}
147
155
  variant="warning"
@@ -151,6 +159,7 @@ notes: ''
151
159
  <div className="p-1 bg-danger">
152
160
  <IconButton
153
161
  src={MenuIcon}
162
+ iconAs={Icon}
154
163
  alt="Menu"
155
164
  onClick={() => console.log("You clicked the menu button")}
156
165
  variant="danger"
@@ -160,6 +169,7 @@ notes: ''
160
169
  <div className="p-1 bg-light">
161
170
  <IconButton
162
171
  src={MenuIcon}
172
+ iconAs={Icon}
163
173
  alt="Menu"
164
174
  onClick={() => console.log("You clicked the menu button")}
165
175
  variant="light"
@@ -169,6 +179,7 @@ notes: ''
169
179
  <div className="p-1" style={{ background: "black" }}>
170
180
  <IconButton
171
181
  src={MenuIcon}
182
+ iconAs={Icon}
172
183
  alt="Menu"
173
184
  onClick={() => console.log("You clicked the menu button")}
174
185
  variant="black"
@@ -186,6 +197,7 @@ notes: ''
186
197
  Small
187
198
  <IconButton
188
199
  src={MenuIcon}
200
+ iconAs={Icon}
189
201
  alt="Menu"
190
202
  onClick={() => {}}
191
203
  variant="primary"
@@ -196,6 +208,7 @@ notes: ''
196
208
  Inline:
197
209
  <IconButton
198
210
  src={MenuIcon}
211
+ iconAs={Icon}
199
212
  alt="Menu"
200
213
  onClick={() => {}}
201
214
  variant="primary"
@@ -207,6 +220,7 @@ notes: ''
207
220
  For example, applying className="x-small" will make the Icon Button look like this:
208
221
  <IconButton
209
222
  src={Favorite}
223
+ iconAs={Icon}
210
224
  alt="Favorite"
211
225
  onClick={() => {}}
212
226
  variant="primary"
@@ -10,11 +10,34 @@ exports[`<IconButton /> renders with required props 1`] = `
10
10
  <span
11
11
  className="btn-icon__icon-container"
12
12
  >
13
- <span
14
- aria-hidden={true}
15
- className="btn-icon__icon"
16
- id="Icon1"
17
- />
13
+ <svg
14
+ aria-hidden="true"
15
+ className="svg-inline--fa fa-InfoOutlineIcon btn-icon__icon"
16
+ data-icon="InfoOutlineIcon"
17
+ data-prefix="pgn"
18
+ focusable="false"
19
+ role="img"
20
+ src={null}
21
+ style={Object {}}
22
+ viewBox="0 0 function SvgInfoOutline(props) {
23
+ return /*#__PURE__*/React.createElement(\\"svg\\", _extends({
24
+ width: 24,
25
+ height: 24,
26
+ viewBox: \\"0 0 24 24\\",
27
+ fill: \\"none\\",
28
+ xmlns: \\"http://www.w3.org/2000/svg\\"
29
+ }, props), /*#__PURE__*/React.createElement(\\"path\\", {
30
+ d: \\"M11 7h2v2h-2V7Zm0 4h2v6h-2v-6Zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2Zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8Z\\",
31
+ fill: \\"currentColor\\"
32
+ }));
33
+ } undefined"
34
+ xmlns="http://www.w3.org/2000/svg"
35
+ >
36
+ <path
37
+ fill="currentColor"
38
+ style={Object {}}
39
+ />
40
+ </svg>
18
41
  </span>
19
42
  </button>
20
43
  `;
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
 
5
- import Icon from '../Icon';
5
+ import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
6
6
  import { OverlayTrigger } from '../Overlay';
7
7
  import Tooltip from '../Tooltip';
8
8
 
@@ -22,8 +22,14 @@ const IconButton = React.forwardRef(({
22
22
  }, ref) => {
23
23
  const invert = invertColors ? 'inverse-' : '';
24
24
  const activeStyle = isActive ? `${variant}-` : '';
25
- const IconComponent = iconAs;
26
-
25
+ if (!iconAs && process.env.NODE_ENV === 'development' && console) {
26
+ const msg = '[Deprecated] IconButton: you have not provided a value for iconAs prop and '
27
+ + 'are using a default one - FontAwesomeIcon, the default value is going to be changed soon '
28
+ + 'as Paragon is moving away from FontAwesome, please use Paragon\'s icons instead.';
29
+ // eslint-disable-next-line no-console
30
+ console.warn(msg);
31
+ }
32
+ const IconComponent = iconAs || FontAwesomeIcon;
27
33
  return (
28
34
  <button
29
35
  aria-label={alt}
@@ -53,7 +59,7 @@ const IconButton = React.forwardRef(({
53
59
  });
54
60
 
55
61
  IconButton.defaultProps = {
56
- iconAs: Icon,
62
+ iconAs: undefined,
57
63
  src: null,
58
64
  icon: undefined,
59
65
  iconClassNames: undefined,
@@ -68,10 +74,11 @@ IconButton.defaultProps = {
68
74
  IconButton.propTypes = {
69
75
  /** A custom class name. */
70
76
  className: PropTypes.string,
71
- /** Component that renders the icon, currently defaults to `Icon` */
77
+ /** Component that renders the icon, currently defaults to `FontAwesomeIcon`,
78
+ * but is going to be deprecated soon, please use Paragon's icons instead. */
72
79
  iconAs: PropTypes.elementType,
73
80
  /** An icon component to render. Example import of a Paragon icon component:
74
- * `import { Check } from '@edx/paragon/dist/icon';`
81
+ * `import { Check } from '@openedx/paragon/dist/icon';`
75
82
  * */
76
83
  src: PropTypes.oneOfType([PropTypes.element, PropTypes.elementType]),
77
84
  /** Alt text for your icon. For best practice, avoid using alt text to describe
@@ -80,7 +87,7 @@ IconButton.propTypes = {
80
87
  alt: PropTypes.string.isRequired,
81
88
  /** Changes icon styles for dark background */
82
89
  invertColors: PropTypes.bool,
83
- /** Accepts a [Paragon icon](https://paragon-openedx.netlify.app/foundations/icons) */
90
+ /** Accepts a React fontawesome icon. */
84
91
  icon: PropTypes.shape({
85
92
  prefix: PropTypes.string,
86
93
  iconName: PropTypes.string,