@openedx/paragon 22.13.0 → 22.14.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 (251) hide show
  1. package/dist/Alert/_variables.scss +2 -1
  2. package/dist/Annotation/index.js.map +1 -1
  3. package/dist/Annotation/index.scss +6 -5
  4. package/dist/Avatar/index.js.map +1 -1
  5. package/dist/AvatarButton/index.js.map +1 -1
  6. package/dist/Breadcrumb/index.js.map +1 -1
  7. package/dist/Bubble/index.js +1 -0
  8. package/dist/Bubble/index.js.map +1 -1
  9. package/dist/Bubble/index.scss +3 -2
  10. package/dist/Button/deprecated/index.js.map +1 -1
  11. package/dist/Button/index.scss +19 -18
  12. package/dist/Card/CardCarousel/CardCarouselHeader.js +2 -2
  13. package/dist/Card/CardCarousel/CardCarouselHeader.js.map +1 -1
  14. package/dist/Card/CardFooter.js.map +1 -1
  15. package/dist/Card/CardHeader.js +1 -1
  16. package/dist/Card/CardHeader.js.map +1 -1
  17. package/dist/Card/CardImageCap.js.map +1 -1
  18. package/dist/Card/CardStatus.js.map +1 -1
  19. package/dist/Card/_variables.scss +3 -2
  20. package/dist/Card/index.js.map +1 -1
  21. package/dist/Card/index.scss +10 -9
  22. package/dist/Chip/ChipIcon.d.ts +1 -1
  23. package/dist/Chip/index.js +1 -0
  24. package/dist/Chip/index.js.map +1 -1
  25. package/dist/ChipCarousel/index.js.map +1 -1
  26. package/dist/Collapsible/index.js.map +1 -1
  27. package/dist/ColorPicker/index.js +1 -1
  28. package/dist/ColorPicker/index.js.map +1 -1
  29. package/dist/ColorPicker/index.scss +2 -1
  30. package/dist/DataTable/CollapsibleButtonGroup.js +2 -2
  31. package/dist/DataTable/CollapsibleButtonGroup.js.map +1 -1
  32. package/dist/DataTable/DropdownFilters.js +1 -1
  33. package/dist/DataTable/DropdownFilters.js.map +1 -1
  34. package/dist/DataTable/TableRow.js.map +1 -1
  35. package/dist/DataTable/filters/CheckboxFilter.js.map +1 -1
  36. package/dist/DataTable/filters/DropdownFilter.js.map +1 -1
  37. package/dist/DataTable/filters/MultiSelectDropdownFilter.js.map +1 -1
  38. package/dist/DataTable/filters/TextFilter.js.map +1 -1
  39. package/dist/DataTable/index.scss +14 -13
  40. package/dist/DataTable/utils/getVisibleColumns.js +1 -1
  41. package/dist/DataTable/utils/getVisibleColumns.js.map +1 -1
  42. package/dist/Dropdown/_variables.scss +2 -1
  43. package/dist/Dropdown/deprecated/DropdownMenu.js +15 -19
  44. package/dist/Dropdown/deprecated/DropdownMenu.js.map +1 -1
  45. package/dist/Dropdown/deprecated/index.js +1 -1
  46. package/dist/Dropdown/deprecated/index.js.map +1 -1
  47. package/dist/Dropdown/index.js.map +1 -1
  48. package/dist/Dropzone/DefaultContent.js.map +1 -1
  49. package/dist/Dropzone/UploadProgress.js.map +1 -1
  50. package/dist/Dropzone/index.scss +3 -2
  51. package/dist/Fieldset/index.js.map +1 -1
  52. package/dist/Form/FormAutosuggest.js +1 -1
  53. package/dist/Form/FormAutosuggest.js.map +1 -1
  54. package/dist/Form/FormControl.js.map +1 -1
  55. package/dist/Form/FormControlDecorator.js.map +1 -1
  56. package/dist/Form/FormGroupContext.d.ts +1 -1
  57. package/dist/Form/FormGroupContext.js.map +1 -1
  58. package/dist/Form/FormText.js.map +1 -1
  59. package/dist/Form/_index.scss +9 -7
  60. package/dist/Form/_variables.scss +4 -2
  61. package/dist/Form/fieldUtils.js.map +1 -1
  62. package/dist/Hyperlink/index.js +1 -0
  63. package/dist/Hyperlink/index.js.map +1 -1
  64. package/dist/Hyperlink/index.scss +3 -1
  65. package/dist/Icon/index.js.map +1 -1
  66. package/dist/IconButton/index.d.ts +13 -8
  67. package/dist/IconButton/index.js.map +1 -1
  68. package/dist/IconButtonToggle/index.js.map +1 -1
  69. package/dist/IconButtonToggle/index.scss +3 -1
  70. package/dist/Input/index.js.map +1 -1
  71. package/dist/InputSelect/index.js.map +1 -1
  72. package/dist/Layout/index.js.map +1 -1
  73. package/dist/ListBox/index.js.map +1 -1
  74. package/dist/ListBoxOption/index.js.map +1 -1
  75. package/dist/Menu/SelectMenu.js +1 -1
  76. package/dist/Menu/SelectMenu.js.map +1 -1
  77. package/dist/Menu/index.js +1 -1
  78. package/dist/Menu/index.js.map +1 -1
  79. package/dist/Modal/ModalContext.d.ts +1 -1
  80. package/dist/Modal/ModalDialog.d.ts +1 -1
  81. package/dist/Modal/ModalDialog.js.map +1 -1
  82. package/dist/Modal/ModalDialogBody.js +1 -1
  83. package/dist/Modal/ModalDialogBody.js.map +1 -1
  84. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  85. package/dist/Modal/ModalLayer.d.ts +3 -3
  86. package/dist/Modal/ModalLayer.js.map +1 -1
  87. package/dist/Modal/ModalPopup.js.map +1 -1
  88. package/dist/Modal/_ModalDialog.scss +3 -1
  89. package/dist/Modal/index.js +3 -1
  90. package/dist/Modal/index.js.map +1 -1
  91. package/dist/Modal/index.scss +3 -5
  92. package/dist/Nav/_mixins.scss +3 -1
  93. package/dist/Overlay/index.d.ts +2 -2
  94. package/dist/PageBanner/index.js.map +1 -1
  95. package/dist/PageBanner/index.scss +2 -1
  96. package/dist/Pagination/PaginationContext.js.map +1 -1
  97. package/dist/Pagination/index.js.map +1 -1
  98. package/dist/Popover/_variables.scss +2 -1
  99. package/dist/Popover/index.js.map +1 -1
  100. package/dist/ProductTour/Checkpoint.scss +9 -8
  101. package/dist/ProductTour/index.js +1 -1
  102. package/dist/ProductTour/index.js.map +1 -1
  103. package/dist/ProgressBar/index.js.map +1 -1
  104. package/dist/Scrollable/index.js +1 -1
  105. package/dist/Scrollable/index.js.map +1 -1
  106. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  107. package/dist/SearchField/index.scss +2 -1
  108. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  109. package/dist/Sheet/index.js.map +1 -1
  110. package/dist/Stack/index.js.map +1 -1
  111. package/dist/StatefulButton/index.js.map +1 -1
  112. package/dist/StatusAlert/index.js.map +1 -1
  113. package/dist/Stepper/StepperHeader.js +1 -1
  114. package/dist/Stepper/StepperHeader.js.map +1 -1
  115. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  116. package/dist/Sticky/index.js.map +1 -1
  117. package/dist/Table/_variables.scss +2 -1
  118. package/dist/Tabs/deprecated/index.js.map +1 -1
  119. package/dist/Tabs/index.js +1 -1
  120. package/dist/Tabs/index.js.map +1 -1
  121. package/dist/Toast/ToastContainer.scss +1 -1
  122. package/dist/Toast/index.scss +2 -2
  123. package/dist/Truncate/index.js +1 -1
  124. package/dist/Truncate/index.js.map +1 -1
  125. package/dist/ValidationFormGroup/index.js.map +1 -1
  126. package/dist/asInput/index.js.map +1 -1
  127. package/dist/hooks/{useArrowKeyNavigation.js → useArrowKeyNavigationHook.js} +5 -1
  128. package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -0
  129. package/dist/hooks/{useIndexOfLastVisibleChild.js → useIndexOfLastVisibleChildHook.js} +5 -1
  130. package/dist/hooks/useIndexOfLastVisibleChildHook.js.map +1 -0
  131. package/dist/hooks/{useIsVisible.js → useIsVisibleHook.js} +1 -1
  132. package/dist/hooks/useIsVisibleHook.js.map +1 -0
  133. package/dist/hooks/{useToggle.js → useToggleHook.js} +5 -1
  134. package/dist/hooks/useToggleHook.js.map +1 -0
  135. package/dist/hooks/{useWindowSize.js → useWindowSizeHook.js} +1 -1
  136. package/dist/hooks/useWindowSizeHook.js.map +1 -0
  137. package/dist/index.d.ts +5 -5
  138. package/dist/index.js +5 -5
  139. package/dist/paragon.css +1 -45
  140. package/dist/utils/newId.js.map +1 -1
  141. package/dist/withDeprecatedProps.js.map +1 -1
  142. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/CHANGELOG.md +50 -0
  143. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/LICENSE +7 -0
  144. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/README.md +37 -0
  145. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.d.ts +20 -0
  146. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js +79 -0
  147. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js.map +1 -0
  148. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/package.json +40 -0
  149. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/tsconfig.json +4 -0
  150. package/icons/package.json +1 -1
  151. package/package.json +12 -19
  152. package/scss/core/_exports.module.scss +7 -6
  153. package/scss/core/_functions.scss +9 -7
  154. package/scss/core/_typography.scss +2 -1
  155. package/scss/core/_utilities.scss +2 -1
  156. package/scss/core/_variables.scss +98 -95
  157. package/src/Alert/_variables.scss +2 -1
  158. package/src/Annotation/index.scss +6 -5
  159. package/src/Breadcrumb/Breadcrumb.test.jsx +3 -2
  160. package/src/Bubble/index.scss +3 -2
  161. package/src/Bubble/index.tsx +1 -0
  162. package/src/Button/deprecated/Button.test.jsx +6 -4
  163. package/src/Button/index.scss +19 -18
  164. package/src/Card/CardCarousel/tests/CardCarouselControls.test.jsx +6 -4
  165. package/src/Card/_variables.scss +3 -2
  166. package/src/Card/index.scss +10 -9
  167. package/src/Chip/index.tsx +1 -0
  168. package/src/Collapsible/Collapsible.test.jsx +15 -7
  169. package/src/ColorPicker/ColorPicker.test.jsx +9 -16
  170. package/src/ColorPicker/index.jsx +1 -1
  171. package/src/ColorPicker/index.scss +2 -1
  172. package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
  173. package/src/DataTable/DropdownFilters.jsx +1 -1
  174. package/src/DataTable/dataviews.mdx +1 -8
  175. package/src/DataTable/index.scss +14 -13
  176. package/src/DataTable/selection/tests/ControlledSelectHeader.test.jsx +6 -4
  177. package/src/DataTable/tests/BulkActions.test.jsx +2 -4
  178. package/src/DataTable/tests/DataViewToggle.test.jsx +3 -7
  179. package/src/DataTable/tests/DropdownFilters.test.jsx +1 -1
  180. package/src/DataTable/tests/TableActions.test.jsx +1 -1
  181. package/src/Dropdown/_variables.scss +2 -1
  182. package/src/Dropdown/deprecated/Dropdown.test.jsx +43 -27
  183. package/src/Dropzone/README.md +3 -3
  184. package/src/Dropzone/index.scss +3 -2
  185. package/src/Dropzone/tests/__snapshots__/Dropzone.test.jsx.snap +10 -1
  186. package/src/Form/FormAutosuggest.jsx +1 -1
  187. package/src/Form/FormGroupContext.tsx +1 -1
  188. package/src/Form/_index.scss +9 -7
  189. package/src/Form/_variables.scss +4 -2
  190. package/src/Form/tests/FormAutosuggest.test.jsx +76 -57
  191. package/src/Form/tests/FormCheckboxSet.test.jsx +3 -2
  192. package/src/Form/tests/FormControl.test.jsx +9 -6
  193. package/src/Form/tests/FormRadioSet.test.jsx +3 -2
  194. package/src/Hyperlink/index.scss +3 -1
  195. package/src/Hyperlink/index.tsx +1 -0
  196. package/src/IconButtonToggle/IconButtonToggle.test.jsx +3 -2
  197. package/src/IconButtonToggle/index.scss +3 -1
  198. package/src/ListBox/ListBox.test.jsx +8 -4
  199. package/src/Menu/Menu.test.jsx +15 -10
  200. package/src/Menu/SelectMenu.jsx +1 -1
  201. package/src/Menu/index.jsx +1 -1
  202. package/src/Modal/ModalDialogBody.jsx +1 -1
  203. package/src/Modal/_ModalDialog.scss +3 -1
  204. package/src/Modal/index.jsx +2 -0
  205. package/src/Modal/index.scss +3 -5
  206. package/src/Modal/tests/ModalLayer.test.tsx +3 -2
  207. package/src/Nav/_mixins.scss +3 -1
  208. package/src/OverflowScroll/data/tests/useOverflowScroll.test.jsx +1 -2
  209. package/src/OverflowScroll/data/tests/useOverflowScrollActions.test.jsx +1 -1
  210. package/src/OverflowScroll/data/tests/useOverflowScrollElementAttributes.test.jsx +1 -1
  211. package/src/OverflowScroll/data/tests/useOverflowScrollEventListeners.test.jsx +1 -2
  212. package/src/PageBanner/index.scss +2 -1
  213. package/src/Pagination/Pagination.test.jsx +36 -28
  214. package/src/Popover/_variables.scss +2 -1
  215. package/src/ProductTour/Checkpoint.scss +9 -8
  216. package/src/ProductTour/Checkpoint.test.jsx +3 -2
  217. package/src/ProductTour/ProductTour.test.jsx +11 -24
  218. package/src/ProductTour/index.jsx +1 -1
  219. package/src/Scrollable/Scrollable.test.jsx +2 -2
  220. package/src/Scrollable/index.jsx +1 -1
  221. package/src/SearchField/index.scss +2 -1
  222. package/src/SelectableBox/tests/SelectableBox.test.jsx +3 -2
  223. package/src/StatusAlert/StatusAlert.test.jsx +6 -2
  224. package/src/Stepper/StepperHeader.jsx +1 -1
  225. package/src/Stepper/tests/Stepper.test.jsx +1 -1
  226. package/src/Table/_variables.scss +2 -1
  227. package/src/Tabs/Tabs.test.jsx +1 -1
  228. package/src/Tabs/deprecated/Tabs.test.jsx +6 -4
  229. package/src/Tabs/index.jsx +1 -1
  230. package/src/Toast/ToastContainer.scss +1 -1
  231. package/src/Toast/index.scss +2 -2
  232. package/src/Truncate/index.jsx +1 -1
  233. package/src/hooks/tests/useToggle.test.tsx +1 -1
  234. package/src/hooks/{useArrowKeyNavigation.tsx → useArrowKeyNavigationHook.tsx} +4 -0
  235. package/src/hooks/{useIndexOfLastVisibleChild.tsx → useIndexOfLastVisibleChildHook.tsx} +4 -0
  236. package/src/hooks/{useToggle.tsx → useToggleHook.tsx} +4 -0
  237. package/src/index.d.ts +5 -5
  238. package/src/index.js +5 -5
  239. package/dist/hooks/useArrowKeyNavigation.js.map +0 -1
  240. package/dist/hooks/useIndexOfLastVisibleChild.js.map +0 -1
  241. package/dist/hooks/useIsVisible.js.map +0 -1
  242. package/dist/hooks/useToggle.js.map +0 -1
  243. package/dist/hooks/useWindowSize.js.map +0 -1
  244. package/src/DataTable/tests/utils.js +0 -9
  245. /package/dist/hooks/{useArrowKeyNavigation.d.ts → useArrowKeyNavigationHook.d.ts} +0 -0
  246. /package/dist/hooks/{useIndexOfLastVisibleChild.d.ts → useIndexOfLastVisibleChildHook.d.ts} +0 -0
  247. /package/dist/hooks/{useIsVisible.d.ts → useIsVisibleHook.d.ts} +0 -0
  248. /package/dist/hooks/{useToggle.d.ts → useToggleHook.d.ts} +0 -0
  249. /package/dist/hooks/{useWindowSize.d.ts → useWindowSizeHook.d.ts} +0 -0
  250. /package/src/hooks/{useIsVisible.tsx → useIsVisibleHook.tsx} +0 -0
  251. /package/src/hooks/{useWindowSize.tsx → useWindowSizeHook.tsx} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"newId.js","names":["lastId","newId","prefix","arguments","length","undefined"],"sources":["../../src/utils/newId.ts"],"sourcesContent":["let lastId = 0;\n\nconst newId = (prefix = 'id') => {\n lastId += 1;\n return `${prefix}${lastId}`;\n};\n\nexport default newId;\n"],"mappings":"AAAA,IAAIA,MAAM,GAAG,CAAC;AAEd,MAAMC,KAAK,GAAG,SAAAA,CAAA,EAAmB;EAAA,IAAlBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAC1BH,MAAM,IAAI,CAAC;EACX,OAAQ,GAAEE,MAAO,GAAEF,MAAO,EAAC;AAC7B,CAAC;AAED,eAAeC,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"newId.js","names":["lastId","newId","prefix","arguments","length","undefined"],"sources":["../../src/utils/newId.ts"],"sourcesContent":["let lastId = 0;\n\nconst newId = (prefix = 'id') => {\n lastId += 1;\n return `${prefix}${lastId}`;\n};\n\nexport default newId;\n"],"mappings":"AAAA,IAAIA,MAAM,GAAG,CAAC;AAEd,MAAMC,KAAK,GAAG,SAAAA,CAAA,EAAmB;EAAA,IAAlBC,MAAM,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAC1BH,MAAM,IAAI,CAAC;EACX,OAAO,GAAGE,MAAM,GAAGF,MAAM,EAAE;AAC7B,CAAC;AAED,eAAeC,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"withDeprecatedProps.js","names":["React","DeprTypes","withDeprecatedProps","WrappedComponent","componentName","deprecatedProps","WithDeprecatedProps","Component","displayName","constructor","props","transformProps","bind","warn","message","process","env","NODE_ENV","console","acc","propName","undefined","deprType","newName","expect","transform","MOVED","REMOVED","FORMAT","MOVED_AND_FORMAT","render","children","transformedProps","Object","keys","reduce","createElement"],"sources":["../src/withDeprecatedProps.tsx"],"sourcesContent":["/* eslint no-console: 0 */\nimport React from 'react';\n\nexport enum DeprTypes {\n MOVED = 'MOVED',\n REMOVED = 'REMOVED',\n FORMAT = 'FORMAT',\n MOVED_AND_FORMAT = 'MOVED_AND_FORMAT',\n}\n\nexport interface DeprecatedProps extends Record<string, any> {\n deprType: DeprTypes,\n newName?: string,\n expect?: (propValue: any) => boolean,\n transform?: (propValue: any, allProps: Record<string, any>) => any,\n message?: string,\n}\n\nfunction withDeprecatedProps<T extends Record<string, any>>(\n WrappedComponent: React.ComponentType<any>,\n componentName: string,\n deprecatedProps: Record<string, DeprecatedProps>,\n) : any {\n class WithDeprecatedProps extends React.Component<T> {\n // eslint-disable-next-line react/static-property-placement\n public static displayName = `withDeprecatedProps(${componentName})`;\n\n constructor(props: T) {\n super(props);\n this.transformProps = this.transformProps.bind(this);\n }\n\n warn(message: string) {\n if (process.env.NODE_ENV === 'development') {\n if (console) { console.warn(`[Deprecated] ${message}`); }\n }\n }\n\n transformProps(acc: Record<string, any>, propName: string) : Record<string, any> {\n if (deprecatedProps[propName] === undefined) {\n acc[propName] = this.props[propName];\n return acc;\n }\n\n const {\n deprType,\n newName,\n expect,\n transform,\n message,\n } = deprecatedProps[propName];\n\n switch (deprType) {\n case DeprTypes.MOVED:\n this.warn(`${componentName}: The prop '${propName}' has been moved to '${newName}'.`);\n acc[newName!] = this.props[propName];\n break;\n case DeprTypes.REMOVED:\n this.warn(`${componentName}: The prop '${propName}' has been removed. '${message}'`);\n break;\n case DeprTypes.FORMAT:\n if (!expect!(this.props[propName])) {\n this.warn(`${componentName}: The prop '${propName}' expects a new format. ${message}`);\n acc[propName] = transform!(this.props[propName], this.props);\n } else {\n acc[propName] = this.props[propName];\n }\n break;\n case DeprTypes.MOVED_AND_FORMAT:\n this.warn(`${componentName}: The prop '${propName}' has been moved to '${newName}' and expects a new format. ${message}`);\n acc[newName!] = transform!(this.props[propName], this.props);\n break;\n default:\n acc[propName] = this.props[propName];\n break;\n }\n\n return acc;\n }\n\n render() {\n const { children, ...transformedProps } = Object\n .keys(this.props)\n .reduce(this.transformProps, {});\n\n return (\n <WrappedComponent {...transformedProps as T}>\n {this.props.children || children}\n </WrappedComponent>\n );\n }\n }\n\n return WithDeprecatedProps;\n}\n\nexport default withDeprecatedProps;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"withDeprecatedProps.js","names":["React","DeprTypes","withDeprecatedProps","WrappedComponent","componentName","deprecatedProps","WithDeprecatedProps","Component","displayName","constructor","props","transformProps","bind","warn","message","process","env","NODE_ENV","console","acc","propName","undefined","deprType","newName","expect","transform","MOVED","REMOVED","FORMAT","MOVED_AND_FORMAT","render","children","transformedProps","Object","keys","reduce","createElement"],"sources":["../src/withDeprecatedProps.tsx"],"sourcesContent":["/* eslint no-console: 0 */\nimport React from 'react';\n\nexport enum DeprTypes {\n MOVED = 'MOVED',\n REMOVED = 'REMOVED',\n FORMAT = 'FORMAT',\n MOVED_AND_FORMAT = 'MOVED_AND_FORMAT',\n}\n\nexport interface DeprecatedProps extends Record<string, any> {\n deprType: DeprTypes,\n newName?: string,\n expect?: (propValue: any) => boolean,\n transform?: (propValue: any, allProps: Record<string, any>) => any,\n message?: string,\n}\n\nfunction withDeprecatedProps<T extends Record<string, any>>(\n WrappedComponent: React.ComponentType<any>,\n componentName: string,\n deprecatedProps: Record<string, DeprecatedProps>,\n) : any {\n class WithDeprecatedProps extends React.Component<T> {\n // eslint-disable-next-line react/static-property-placement\n public static displayName = `withDeprecatedProps(${componentName})`;\n\n constructor(props: T) {\n super(props);\n this.transformProps = this.transformProps.bind(this);\n }\n\n warn(message: string) {\n if (process.env.NODE_ENV === 'development') {\n if (console) { console.warn(`[Deprecated] ${message}`); }\n }\n }\n\n transformProps(acc: Record<string, any>, propName: string) : Record<string, any> {\n if (deprecatedProps[propName] === undefined) {\n acc[propName] = this.props[propName];\n return acc;\n }\n\n const {\n deprType,\n newName,\n expect,\n transform,\n message,\n } = deprecatedProps[propName];\n\n switch (deprType) {\n case DeprTypes.MOVED:\n this.warn(`${componentName}: The prop '${propName}' has been moved to '${newName}'.`);\n acc[newName!] = this.props[propName];\n break;\n case DeprTypes.REMOVED:\n this.warn(`${componentName}: The prop '${propName}' has been removed. '${message}'`);\n break;\n case DeprTypes.FORMAT:\n if (!expect!(this.props[propName])) {\n this.warn(`${componentName}: The prop '${propName}' expects a new format. ${message}`);\n acc[propName] = transform!(this.props[propName], this.props);\n } else {\n acc[propName] = this.props[propName];\n }\n break;\n case DeprTypes.MOVED_AND_FORMAT:\n this.warn(`${componentName}: The prop '${propName}' has been moved to '${newName}' and expects a new format. ${message}`);\n acc[newName!] = transform!(this.props[propName], this.props);\n break;\n default:\n acc[propName] = this.props[propName];\n break;\n }\n\n return acc;\n }\n\n render() {\n const { children, ...transformedProps } = Object\n .keys(this.props)\n .reduce(this.transformProps, {});\n\n return (\n <WrappedComponent {...transformedProps as T}>\n {this.props.children || children}\n </WrappedComponent>\n );\n }\n }\n\n return WithDeprecatedProps;\n}\n\nexport default withDeprecatedProps;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [6.5.1](https://github.com/gregberge/svgr/compare/v6.5.0...v6.5.1) (2022-10-27)
7
+
8
+ **Note:** Version bump only for package @svgr/babel-plugin-add-jsx-attribute
9
+
10
+ # [6.5.0](https://github.com/gregberge/svgr/compare/v6.4.0...v6.5.0) (2022-10-14)
11
+
12
+ **Note:** Version bump only for package @svgr/babel-plugin-add-jsx-attribute
13
+
14
+ ## [6.3.1](https://github.com/gregberge/svgr/compare/v6.3.0...v6.3.1) (2022-07-22)
15
+
16
+ ### Bug Fixes
17
+
18
+ - fix exports compat with ESM ([#749](https://github.com/gregberge/svgr/issues/749)) ([f3e304c](https://github.com/gregberge/svgr/commit/f3e304c166282f042ecd4d6c396a0798a7f0b490))
19
+
20
+ # [6.3.0](https://github.com/gregberge/svgr/compare/v6.2.1...v6.3.0) (2022-07-18)
21
+
22
+ ### Bug Fixes
23
+
24
+ - **package.json:** fix exports ([#745](https://github.com/gregberge/svgr/issues/745)) ([2a368d1](https://github.com/gregberge/svgr/commit/2a368d1305949ec6426c7c7312c04224071ec2bd))
25
+
26
+ # [5.4.0](https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-add-jsx-attribute/compare/v5.3.1...v5.4.0) (2020-04-27)
27
+
28
+ **Note:** Version bump only for package @svgr/babel-plugin-add-jsx-attribute
29
+
30
+ ## [5.0.1](https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-add-jsx-attribute/compare/v5.0.0...v5.0.1) (2019-12-29)
31
+
32
+ ### Bug Fixes
33
+
34
+ - fix engines in package.json ([a45d6fc](https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-add-jsx-attribute/commit/a45d6fc8b43402bec60ed4e9273f90fdc65a23a7))
35
+
36
+ # [4.2.0](https://github.com/gregberge/svgr/tree/master/packages/babel-plugin-add-jsx-attribute/compare/v4.1.0...v4.2.0) (2019-04-11)
37
+
38
+ **Note:** Version bump only for package @svgr/babel-plugin-add-jsx-attribute
39
+
40
+ # [4.0.0](https://github.com/gregberge/svgr/compare/v3.1.0...v4.0.0) (2018-11-04)
41
+
42
+ ### Features
43
+
44
+ - **v4:** new architecture ([ac8b8ca](https://github.com/gregberge/svgr/commit/ac8b8ca))
45
+
46
+ ### BREAKING CHANGES
47
+
48
+ - **v4:** - `template` option must now returns a Babel AST
49
+
50
+ * `@svgr/core` does not include svgo & prettier by default
@@ -0,0 +1,7 @@
1
+ Copyright 2017 Smooth Code
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
+
5
+ The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,37 @@
1
+ # @svgr/babel-plugin-add-jsx-attribute
2
+
3
+ ## Install
4
+
5
+ ```
6
+ npm install --save-dev @svgr/babel-plugin-add-jsx-attribute
7
+ ```
8
+
9
+ ## Usage
10
+
11
+ **.babelrc**
12
+
13
+ ```json
14
+ {
15
+ "plugins": [
16
+ [
17
+ "@svgr/babel-plugin-add-jsx-attribute",
18
+ {
19
+ "elements": ["svg"],
20
+ "attributes": [
21
+ {
22
+ "name": "width",
23
+ "value": "200",
24
+ "spread": false,
25
+ "literal": false,
26
+ "position": "end"
27
+ }
28
+ ]
29
+ }
30
+ ]
31
+ ]
32
+ }
33
+ ```
34
+
35
+ ## License
36
+
37
+ MIT
@@ -0,0 +1,20 @@
1
+ import { ConfigAPI, NodePath, types } from '@babel/core';
2
+
3
+ interface Attribute {
4
+ name: string;
5
+ value?: boolean | number | string | null;
6
+ spread?: boolean;
7
+ literal?: boolean;
8
+ position?: 'start' | 'end';
9
+ }
10
+ interface Options {
11
+ elements: string[];
12
+ attributes: Attribute[];
13
+ }
14
+ declare const addJSXAttribute: (_: ConfigAPI, opts: Options) => {
15
+ visitor: {
16
+ JSXOpeningElement(path: NodePath<types.JSXOpeningElement>): void;
17
+ };
18
+ };
19
+
20
+ export { Attribute, Options, addJSXAttribute as default };
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ var core = require('@babel/core');
4
+
5
+ const positionMethod = {
6
+ start: "unshiftContainer",
7
+ end: "pushContainer"
8
+ };
9
+ const addJSXAttribute = (_, opts) => {
10
+ function getAttributeValue({
11
+ literal,
12
+ value
13
+ }) {
14
+ if (typeof value === "boolean") {
15
+ return core.types.jsxExpressionContainer(core.types.booleanLiteral(value));
16
+ }
17
+ if (typeof value === "number") {
18
+ return core.types.jsxExpressionContainer(core.types.numericLiteral(value));
19
+ }
20
+ if (typeof value === "string" && literal) {
21
+ return core.types.jsxExpressionContainer(
22
+ core.template.ast(value).expression
23
+ );
24
+ }
25
+ if (typeof value === "string") {
26
+ return core.types.stringLiteral(value);
27
+ }
28
+ return null;
29
+ }
30
+ function getAttribute({ spread, name, value, literal }) {
31
+ if (spread) {
32
+ return core.types.jsxSpreadAttribute(core.types.identifier(name));
33
+ }
34
+ return core.types.jsxAttribute(
35
+ core.types.jsxIdentifier(name),
36
+ getAttributeValue({ value, literal })
37
+ );
38
+ }
39
+ return {
40
+ visitor: {
41
+ JSXOpeningElement(path) {
42
+ if (!core.types.isJSXIdentifier(path.node.name))
43
+ return;
44
+ if (!opts.elements.includes(path.node.name.name))
45
+ return;
46
+ opts.attributes.forEach(
47
+ ({
48
+ name,
49
+ value = null,
50
+ spread = false,
51
+ literal = false,
52
+ position = "end"
53
+ }) => {
54
+ const method = positionMethod[position];
55
+ const newAttribute = getAttribute({ spread, name, value, literal });
56
+ const attributes = path.get("attributes");
57
+ const isEqualAttribute = (attribute) => {
58
+ if (spread)
59
+ return attribute.isJSXSpreadAttribute() && attribute.get("argument").isIdentifier({ name });
60
+ return attribute.isJSXAttribute() && attribute.get("name").isJSXIdentifier({ name });
61
+ };
62
+ const replaced = attributes.some((attribute) => {
63
+ if (!isEqualAttribute(attribute))
64
+ return false;
65
+ attribute.replaceWith(newAttribute);
66
+ return true;
67
+ });
68
+ if (!replaced) {
69
+ path[method]("attributes", newAttribute);
70
+ }
71
+ }
72
+ );
73
+ }
74
+ }
75
+ };
76
+ };
77
+
78
+ module.exports = addJSXAttribute;
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport { ConfigAPI, types as t, NodePath, template } from '@babel/core'\n\nexport interface Attribute {\n name: string\n value?: boolean | number | string | null\n spread?: boolean\n literal?: boolean\n position?: 'start' | 'end'\n}\n\nexport interface Options {\n elements: string[]\n attributes: Attribute[]\n}\n\nconst positionMethod = {\n start: 'unshiftContainer',\n end: 'pushContainer',\n} as const\n\nconst addJSXAttribute = (_: ConfigAPI, opts: Options) => {\n function getAttributeValue({\n literal,\n value,\n }: {\n literal?: Attribute['literal']\n value: Attribute['value']\n }) {\n if (typeof value === 'boolean') {\n return t.jsxExpressionContainer(t.booleanLiteral(value))\n }\n\n if (typeof value === 'number') {\n return t.jsxExpressionContainer(t.numericLiteral(value))\n }\n\n if (typeof value === 'string' && literal) {\n return t.jsxExpressionContainer(\n (template.ast(value) as t.ExpressionStatement).expression,\n )\n }\n\n if (typeof value === 'string') {\n return t.stringLiteral(value)\n }\n\n return null\n }\n\n function getAttribute({ spread, name, value, literal }: Attribute) {\n if (spread) {\n return t.jsxSpreadAttribute(t.identifier(name))\n }\n\n return t.jsxAttribute(\n t.jsxIdentifier(name),\n getAttributeValue({ value, literal }),\n )\n }\n\n return {\n visitor: {\n JSXOpeningElement(path: NodePath<t.JSXOpeningElement>) {\n if (!t.isJSXIdentifier(path.node.name)) return\n if (!opts.elements.includes(path.node.name.name)) return\n\n opts.attributes.forEach(\n ({\n name,\n value = null,\n spread = false,\n literal = false,\n position = 'end',\n }) => {\n const method = positionMethod[position]\n const newAttribute = getAttribute({ spread, name, value, literal })\n const attributes = path.get('attributes')\n\n const isEqualAttribute = (\n attribute: NodePath<t.JSXSpreadAttribute | t.JSXAttribute>,\n ) => {\n if (spread)\n return (\n attribute.isJSXSpreadAttribute() &&\n attribute.get('argument').isIdentifier({ name })\n )\n return (\n attribute.isJSXAttribute() &&\n attribute.get('name').isJSXIdentifier({ name })\n )\n }\n\n const replaced = attributes.some((attribute) => {\n if (!isEqualAttribute(attribute)) return false\n attribute.replaceWith(newAttribute)\n return true\n })\n\n if (!replaced) {\n path[method]('attributes', newAttribute)\n }\n },\n )\n },\n },\n }\n}\n\nexport default addJSXAttribute\n"],"names":["t","template"],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@svgr/babel-plugin-add-jsx-attribute",
3
+ "description": "Add JSX attribute",
4
+ "version": "6.5.1",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./dist/index.d.ts",
10
+ "default": "./dist/index.js"
11
+ },
12
+ "./package.json": "./package.json"
13
+ },
14
+ "repository": "https://github.com/gregberge/svgr/tree/main/packages/babel-plugin-add-jsx-attribute",
15
+ "author": "Greg Bergé <berge.greg@gmail.com>",
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "keywords": [
20
+ "babel-plugin"
21
+ ],
22
+ "engines": {
23
+ "node": ">=10"
24
+ },
25
+ "homepage": "https://react-svgr.com",
26
+ "funding": {
27
+ "type": "github",
28
+ "url": "https://github.com/sponsors/gregberge"
29
+ },
30
+ "license": "MIT",
31
+ "peerDependencies": {
32
+ "@babel/core": "^7.0.0-0"
33
+ },
34
+ "scripts": {
35
+ "reset": "rm -rf dist",
36
+ "build": "rollup -c ../../build/rollup.config.js",
37
+ "prepublishOnly": "npm run reset && npm run build"
38
+ },
39
+ "gitHead": "d5efedd372999692f84d30072e502b5a6b8fe734"
40
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "extends": "../../tsconfig",
3
+ "include": ["src"]
4
+ }
@@ -21,7 +21,7 @@
21
21
  "bootstrap-icons": "^1.11.3"
22
22
  },
23
23
  "peerDependencies": {
24
- "react": "^16.8.6 || ^17.0.2"
24
+ "react": "^16.8.6 || ^17 || ^18"
25
25
  },
26
26
  "exports": {
27
27
  ".": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openedx/paragon",
3
- "version": "22.13.0",
3
+ "version": "22.14.0",
4
4
  "description": "Accessible, responsive UI component library based on Bootstrap.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -82,8 +82,8 @@
82
82
  "uuid": "^9.0.0"
83
83
  },
84
84
  "peerDependencies": {
85
- "react": "^16.8.6 || ^17.0.0",
86
- "react-dom": "^16.8.6 || ^17.0.0",
85
+ "react": "^16.8.6 || ^17 || ^18",
86
+ "react-dom": "^16.8.6 || ^17 || ^18",
87
87
  "react-intl": "^5.25.1 || ^6.4.0"
88
88
  },
89
89
  "devDependencies": {
@@ -93,20 +93,19 @@
93
93
  "@babel/preset-env": "^7.16.8",
94
94
  "@babel/preset-react": "^7.16.7",
95
95
  "@babel/preset-typescript": "^7.16.7",
96
- "@edx/browserslist-config": "^1.2.0",
96
+ "@edx/browserslist-config": "1.3.0",
97
97
  "@edx/eslint-config": "^4.3.0",
98
98
  "@edx/stylelint-config-edx": "^2.3.0",
99
99
  "@edx/typescript-config": "^1.0.1",
100
100
  "@formatjs/cli": "^5.0.2",
101
101
  "@semantic-release/changelog": "^6.0.1",
102
102
  "@semantic-release/git": "^10.0.1",
103
- "@testing-library/jest-dom": "^6.1.4",
104
- "@testing-library/react": "^12.1.4",
105
- "@testing-library/react-hooks": "^8.0.1",
106
- "@testing-library/user-event": "^13.5.0",
103
+ "@testing-library/jest-dom": "^6.6",
104
+ "@testing-library/react": "^16.1",
105
+ "@testing-library/user-event": "^14.5",
107
106
  "@types/jest": "^29.5.10",
108
- "@types/react": "^17.0.80",
109
- "@types/react-dom": "^17.0.11",
107
+ "@types/react": "^18",
108
+ "@types/react-dom": "^18",
110
109
  "@types/react-responsive": "^8.0.8",
111
110
  "@types/react-table": "^7.7.19",
112
111
  "@types/react-test-renderer": "^18.0.0",
@@ -119,12 +118,7 @@
119
118
  "babel-loader": "^8.2.4",
120
119
  "commander": "^9.3.0",
121
120
  "eslint": "8.18.0",
122
- "eslint-config-airbnb": "19.0.4",
123
- "eslint-config-airbnb-typescript": "^17.0.0",
124
- "eslint-plugin-import": "2.27.5",
125
121
  "eslint-plugin-jsx-a11y": "6.7.1",
126
- "eslint-plugin-react": "7.32.2",
127
- "eslint-plugin-react-hooks": "4.6.0",
128
122
  "husky": "^9.0.11",
129
123
  "identity-obj-proxy": "^3.0.0",
130
124
  "jest": "^29.7.0",
@@ -132,13 +126,12 @@
132
126
  "jest-environment-jsdom": "^29.7.0",
133
127
  "lint-staged": "^15.2.0",
134
128
  "markdown-loader-jest": "^0.1.1",
135
- "react": "^17.0.0",
136
- "react-dom": "^17.0.0",
137
- "react-test-renderer": "^17.0.0",
129
+ "react": "^18",
130
+ "react-test-renderer": "^18",
138
131
  "regenerator-runtime": "^0.13.9",
139
132
  "sass": "^1.32.13",
140
133
  "semantic-release": "^20.1.3",
141
- "stylelint": "^14.7.1",
134
+ "stylelint": "^15.11.0",
142
135
  "ts-jest": "^29.1.2",
143
136
  "typescript": "^4.7.4"
144
137
  },
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  // Grid breakpoints
2
3
  //
3
4
  // Define the minimum dimensions at which your layout will change,
@@ -13,10 +14,10 @@ $grid-breakpoints: (
13
14
  ) !default;
14
15
 
15
16
  :export {
16
- xs: map-get($grid-breakpoints, "xs");
17
- sm: map-get($grid-breakpoints, "sm");
18
- md: map-get($grid-breakpoints, "md");
19
- lg: map-get($grid-breakpoints, "lg");
20
- xl: map-get($grid-breakpoints, "xl");
21
- xxl: map-get($grid-breakpoints, "xxl");
17
+ xs: map.get($grid-breakpoints, "xs");
18
+ sm: map.get($grid-breakpoints, "sm");
19
+ md: map.get($grid-breakpoints, "md");
20
+ lg: map.get($grid-breakpoints, "lg");
21
+ xl: map.get($grid-breakpoints, "xl");
22
+ xxl: map.get($grid-breakpoints, "xxl");
22
23
  }
@@ -1,3 +1,5 @@
1
+ @use "sass:map";
2
+ @use "sass:meta";
1
3
  @import "~bootstrap/scss/functions";
2
4
 
3
5
  //
@@ -15,20 +17,20 @@
15
17
  $base-color: #808080 !default;
16
18
  $color-level: 500 !default;
17
19
 
18
- @if map-has-key($theme-colors, $color-name) {
19
- $base-color: map-get($theme-colors, $color-name);
20
+ @if map.has-key($theme-colors, $color-name) {
21
+ $base-color: map.get($theme-colors, $color-name);
20
22
  }
21
23
 
22
- @if type-of($variant) == "number" {
24
+ @if meta.type-of($variant) == "number" {
23
25
  $color-level: $variant;
24
26
  }
25
27
 
26
- @else if map-has-key($element-color-levels, $variant) {
27
- $color-level: map-get($element-color-levels, $variant);
28
+ @else if map.has-key($element-color-levels, $variant) {
29
+ $color-level: map.get($element-color-levels, $variant);
28
30
  }
29
31
 
30
- @if map-has-key($theme-color-levels, "#{$color-name}-#{$color-level}") {
31
- @return map-get($theme-color-levels, "#{$color-name}-#{$color-level}");
32
+ @if map.has-key($theme-color-levels, "#{$color-name}-#{$color-level}") {
33
+ @return map.get($theme-color-levels, "#{$color-name}-#{$color-level}");
32
34
  }
33
35
 
34
36
  @return $base-color;
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @import "~bootstrap/scss/type";
2
3
 
3
4
  @mixin mobile-type {
@@ -40,7 +41,7 @@
40
41
  }
41
42
  }
42
43
 
43
- @media (max-width: map-get($grid-breakpoints, "sm")) {
44
+ @media (max-width: map.get($grid-breakpoints, "sm")) {
44
45
  @include mobile-type;
45
46
  }
46
47
 
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @import "~bootstrap/scss/utilities";
2
3
 
3
4
  // Add background, border, and text color utilities
@@ -81,7 +82,7 @@ $color-levels: 100, 200, 300, 400, 500, 600, 700, 800, 900;
81
82
 
82
83
  // Define classes for z-index
83
84
  $indexes: () !default;
84
- $indexes: map-merge(
85
+ $indexes: map.merge(
85
86
  (
86
87
  0: 0,
87
88
  1: 200,