@openedx/paragon 23.0.0-alpha.3 → 23.0.0-alpha.5

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 (258) hide show
  1. package/bin/paragon-scripts.js +10 -0
  2. package/dist/Annotation/index.scss +16 -0
  3. package/dist/Card/CardDeck.js +0 -2
  4. package/dist/Card/CardDeck.js.map +1 -1
  5. package/dist/Card/index.scss +8 -6
  6. package/dist/Carousel/index.scss +24 -1
  7. package/dist/Chip/ChipIcon.d.ts +1 -1
  8. package/dist/CloseButton/index.scss +8 -0
  9. package/dist/ColorPicker/index.scss +1 -1
  10. package/dist/Container/index.d.ts +16 -0
  11. package/dist/Container/index.js +15 -13
  12. package/dist/Container/index.js.map +1 -1
  13. package/dist/DataTable/index.scss +12 -0
  14. package/dist/Dropdown/dropdown-bootstrap.scss +6 -0
  15. package/dist/Dropzone/index.scss +34 -0
  16. package/dist/Form/_FormText.scss +1 -1
  17. package/dist/Form/_bootstrap-custom-forms.scss +40 -0
  18. package/dist/Form/_index.scss +9 -0
  19. package/dist/Form/_mixins.scss +22 -0
  20. package/dist/IconButton/index.d.ts +1 -1
  21. package/dist/IconButton/index.js +1 -1
  22. package/dist/IconButton/index.js.map +1 -1
  23. package/dist/IconButton/index.scss +146 -0
  24. package/dist/Menu/SelectMenu.js +9 -4
  25. package/dist/Menu/SelectMenu.js.map +1 -1
  26. package/dist/Menu/index.scss +8 -0
  27. package/dist/Modal/ModalContext.d.ts +15 -0
  28. package/dist/Modal/ModalContext.js +7 -14
  29. package/dist/Modal/ModalContext.js.map +1 -1
  30. package/dist/Modal/ModalDialog.d.ts +110 -0
  31. package/dist/Modal/ModalDialog.js +30 -24
  32. package/dist/Modal/ModalDialog.js.map +1 -1
  33. package/dist/Modal/ModalDialogHeader.d.ts +10 -0
  34. package/dist/Modal/ModalDialogHeader.js +6 -7
  35. package/dist/Modal/ModalDialogHeader.js.map +1 -1
  36. package/dist/Modal/ModalLayer.d.ts +53 -0
  37. package/dist/Modal/ModalLayer.js +5 -14
  38. package/dist/Modal/ModalLayer.js.map +1 -1
  39. package/dist/Modal/Portal.d.ts +11 -0
  40. package/dist/Modal/Portal.js +5 -6
  41. package/dist/Modal/Portal.js.map +1 -1
  42. package/dist/Modal/_ModalDialog.scss +22 -2
  43. package/dist/Nav/index.scss +8 -0
  44. package/dist/Overlay/index.d.ts +2 -2
  45. package/dist/PageBanner/index.scss +2 -2
  46. package/dist/Pagination/pagination-bootstrap.scss +9 -0
  47. package/dist/Popover/index.scss +1 -1
  48. package/dist/ProductTour/Checkpoint.scss +1 -1
  49. package/dist/ProgressBar/bootstrap-progress.scss +20 -5
  50. package/dist/ProgressBar/index.scss +3 -3
  51. package/dist/Stepper/index.scss +1 -1
  52. package/dist/Sticky/index.scss +12 -0
  53. package/dist/Toast/index.scss +13 -1
  54. package/dist/Tooltip/index.scss +16 -0
  55. package/dist/core.css +913 -470
  56. package/dist/core.css.map +1 -1
  57. package/dist/core.min.css +1 -1
  58. package/dist/hooks/useArrowKeyNavigation.js +2 -3
  59. package/dist/hooks/useArrowKeyNavigation.js.map +1 -1
  60. package/dist/index.d.ts +19 -5
  61. package/dist/index.js +5 -5
  62. package/dist/light.css +2035 -1315
  63. package/dist/light.css.map +1 -1
  64. package/dist/light.min.css +1 -1
  65. package/icons/es5/Newsstand.js +15 -0
  66. package/icons/es5/index.js +1 -0
  67. package/icons/es5/index.ts +1 -0
  68. package/icons/jsx/Newsstand.jsx +17 -0
  69. package/icons/jsx/index.jsx +1 -0
  70. package/icons/svg/newsstand.svg +1 -0
  71. package/lib/build-tokens.js +67 -31
  72. package/package.json +8 -5
  73. package/src/Annotation/index.scss +16 -0
  74. package/src/Card/CardDeck.jsx +0 -3
  75. package/src/Card/README.md +0 -31
  76. package/src/Card/index.scss +8 -6
  77. package/src/Carousel/index.scss +24 -1
  78. package/src/CloseButton/index.scss +8 -0
  79. package/src/ColorPicker/index.scss +1 -1
  80. package/src/Container/{Container.test.jsx → Container.test.tsx} +14 -8
  81. package/src/Container/README.md +4 -0
  82. package/src/Container/index.tsx +64 -0
  83. package/src/DataTable/index.scss +12 -0
  84. package/src/DataTable/selection/tests/ControlledSelectHeader.test.jsx +7 -7
  85. package/src/Dropdown/dropdown-bootstrap.scss +6 -0
  86. package/src/Dropzone/index.scss +34 -0
  87. package/src/Form/_FormText.scss +1 -1
  88. package/src/Form/_bootstrap-custom-forms.scss +40 -0
  89. package/src/Form/_index.scss +9 -0
  90. package/src/Form/_mixins.scss +22 -0
  91. package/src/IconButton/index.scss +146 -0
  92. package/src/IconButton/index.tsx +1 -1
  93. package/src/Menu/SelectMenu.jsx +5 -0
  94. package/src/Menu/SelectMenu.test.jsx +6 -0
  95. package/src/Menu/index.scss +8 -0
  96. package/src/Menu/select-menu.md +8 -0
  97. package/src/Modal/{ModalContext.jsx → ModalContext.tsx} +19 -16
  98. package/src/Modal/{ModalDialog.jsx → ModalDialog.tsx} +57 -26
  99. package/src/Modal/{ModalDialogHeader.jsx → ModalDialogHeader.tsx} +17 -11
  100. package/src/Modal/{ModalLayer.jsx → ModalLayer.tsx} +17 -17
  101. package/src/Modal/{Portal.jsx → Portal.tsx} +10 -7
  102. package/src/Modal/_ModalDialog.scss +22 -2
  103. package/src/Modal/modal-dialog.mdx +95 -6
  104. package/src/Modal/tests/{ModalDialog.test.jsx → ModalDialog.test.tsx} +18 -10
  105. package/src/Modal/tests/{ModalLayer.test.jsx → ModalLayer.test.tsx} +5 -5
  106. package/src/Modal/tests/{Portal.test.jsx → Portal.test.tsx} +3 -3
  107. package/src/Nav/index.scss +8 -0
  108. package/src/PageBanner/index.scss +2 -2
  109. package/src/Pagination/pagination-bootstrap.scss +9 -0
  110. package/src/Popover/index.scss +1 -1
  111. package/src/ProductTour/Checkpoint.scss +1 -1
  112. package/src/ProgressBar/bootstrap-progress.scss +20 -5
  113. package/src/ProgressBar/index.scss +3 -3
  114. package/src/Stepper/index.scss +1 -1
  115. package/src/Sticky/index.scss +12 -0
  116. package/src/Toast/index.scss +13 -1
  117. package/src/Tooltip/index.scss +16 -0
  118. package/src/hooks/useArrowKeyNavigation.jsx +1 -2
  119. package/src/index.d.ts +19 -5
  120. package/src/index.js +5 -5
  121. package/styles/css/core/abstraction-variables.css +44 -0
  122. package/styles/css/core/custom-media-breakpoints.css +3 -4
  123. package/styles/css/core/index.css +2 -1
  124. package/styles/css/core/variables.css +494 -430
  125. package/styles/css/themes/light/abstraction-variables.css +304 -0
  126. package/styles/css/themes/light/index.css +1 -0
  127. package/styles/css/themes/light/utility-classes.css +2 -3
  128. package/styles/css/themes/light/variables.css +1753 -1334
  129. package/styles/scss/core/_typography.scss +16 -4
  130. package/styles/scss/core/_utilities.scss +7 -3
  131. package/styles/scss/core/_variables.scss +43 -30
  132. package/styles/scss/core/core.scss +1 -0
  133. package/tokens/src/core/alias/size.json +6 -5
  134. package/tokens/src/core/components/ActionRow.json +3 -2
  135. package/tokens/src/core/components/Alert.json +12 -10
  136. package/tokens/src/core/components/Annotation.json +9 -7
  137. package/tokens/src/core/components/Avatar.json +9 -9
  138. package/tokens/src/core/components/AvatarButton.json +4 -3
  139. package/tokens/src/core/components/Badge.json +12 -9
  140. package/tokens/src/core/components/Breadcrumb.json +7 -5
  141. package/tokens/src/core/components/Bubble.json +4 -3
  142. package/tokens/src/core/components/Button/core.json +35 -59
  143. package/tokens/src/core/components/Card.json +33 -44
  144. package/tokens/src/core/components/Carousel.json +39 -13
  145. package/tokens/src/core/components/Chip.json +13 -21
  146. package/tokens/src/core/components/ChipCarousel.json +4 -5
  147. package/tokens/src/core/components/CloseButton.json +2 -6
  148. package/tokens/src/core/components/Code.json +9 -8
  149. package/tokens/src/core/components/Collapsible.json +10 -13
  150. package/tokens/src/core/components/ColorPicker.json +3 -2
  151. package/tokens/src/core/components/Container.json +6 -5
  152. package/tokens/src/core/components/DataTable.json +17 -9
  153. package/tokens/src/core/components/Dropdown.json +24 -29
  154. package/tokens/src/core/components/Dropzone.json +5 -7
  155. package/tokens/src/core/components/Form/other.json +5 -4
  156. package/tokens/src/core/components/Form/size.json +72 -119
  157. package/tokens/src/core/components/Form/spacing.json +39 -83
  158. package/tokens/src/core/components/Form/transition.json +43 -7
  159. package/tokens/src/core/components/Form/typography.json +24 -88
  160. package/tokens/src/core/components/Icon.json +6 -5
  161. package/tokens/src/core/components/IconButton.json +4 -7
  162. package/tokens/src/core/components/Image.json +7 -6
  163. package/tokens/src/core/components/Menu.json +14 -12
  164. package/tokens/src/core/components/Modal.json +26 -21
  165. package/tokens/src/core/components/Nav.json +14 -16
  166. package/tokens/src/core/components/Navbar.json +15 -30
  167. package/tokens/src/core/components/Pagination.json +23 -24
  168. package/tokens/src/core/components/Popover.json +18 -14
  169. package/tokens/src/core/components/ProductTour.json +8 -14
  170. package/tokens/src/core/components/ProgressBar.json +29 -14
  171. package/tokens/src/core/components/SearchField.json +7 -9
  172. package/tokens/src/core/components/SelectableBox.json +4 -3
  173. package/tokens/src/core/components/Sheet.json +3 -2
  174. package/tokens/src/core/components/Spinner.json +9 -7
  175. package/tokens/src/core/components/Stack.json +2 -1
  176. package/tokens/src/core/components/Stepper.json +12 -14
  177. package/tokens/src/core/components/Sticky.json +2 -1
  178. package/tokens/src/core/components/Tab.json +8 -7
  179. package/tokens/src/core/components/Tabs.json +5 -5
  180. package/tokens/src/core/components/Toast.json +11 -8
  181. package/tokens/src/core/components/Tooltip.json +13 -11
  182. package/tokens/src/core/components/general/caret.json +5 -3
  183. package/tokens/src/core/components/general/headings.json +5 -4
  184. package/tokens/src/core/components/general/hr.json +3 -2
  185. package/tokens/src/core/components/general/input.json +19 -19
  186. package/tokens/src/core/components/general/link.json +13 -12
  187. package/tokens/src/core/components/general/list.json +9 -6
  188. package/tokens/src/core/components/general/text.json +6 -12
  189. package/tokens/src/core/global/breakpoints.json +25 -6
  190. package/tokens/src/core/global/elevation.json +55 -13
  191. package/tokens/src/core/global/other.json +5 -1
  192. package/tokens/src/core/global/spacing.json +70 -17
  193. package/tokens/src/core/global/transition.json +41 -4
  194. package/tokens/src/core/global/typography.json +248 -53
  195. package/tokens/src/core/utilities/color.json +35 -4
  196. package/tokens/src/themes/light/alias/color.json +276 -75
  197. package/tokens/src/themes/light/components/Alert.json +15 -26
  198. package/tokens/src/themes/light/components/Annotation.json +27 -13
  199. package/tokens/src/themes/light/components/Avatar.json +2 -1
  200. package/tokens/src/themes/light/components/Badge.json +57 -122
  201. package/tokens/src/themes/light/components/Breadcrumb.json +6 -5
  202. package/tokens/src/themes/light/components/Bubble.json +9 -8
  203. package/tokens/src/themes/light/components/Button/brand.json +171 -119
  204. package/tokens/src/themes/light/components/Button/core.json +8 -9
  205. package/tokens/src/themes/light/components/Button/danger.json +171 -112
  206. package/tokens/src/themes/light/components/Button/dark.json +188 -106
  207. package/tokens/src/themes/light/components/Button/info.json +186 -112
  208. package/tokens/src/themes/light/components/Button/light.json +186 -110
  209. package/tokens/src/themes/light/components/Button/primary.json +178 -116
  210. package/tokens/src/themes/light/components/Button/secondary.json +166 -132
  211. package/tokens/src/themes/light/components/Button/success.json +176 -117
  212. package/tokens/src/themes/light/components/Button/tertiary.json +34 -60
  213. package/tokens/src/themes/light/components/Button/warning.json +164 -128
  214. package/tokens/src/themes/light/components/Card.json +10 -21
  215. package/tokens/src/themes/light/components/Carousel.json +12 -11
  216. package/tokens/src/themes/light/components/Chip.json +14 -26
  217. package/tokens/src/themes/light/components/CloseButton.json +12 -2
  218. package/tokens/src/themes/light/components/Code.json +7 -9
  219. package/tokens/src/themes/light/components/DataTable.json +7 -11
  220. package/tokens/src/themes/light/components/Dropdown.json +17 -20
  221. package/tokens/src/themes/light/components/Dropzone.json +49 -11
  222. package/tokens/src/themes/light/components/Form/color.json +101 -155
  223. package/tokens/src/themes/light/components/Form/elevation.json +38 -42
  224. package/tokens/src/themes/light/components/Form/other.json +44 -41
  225. package/tokens/src/themes/light/components/IconButton.json +408 -256
  226. package/tokens/src/themes/light/components/Image.json +7 -4
  227. package/tokens/src/themes/light/components/Menu.json +12 -10
  228. package/tokens/src/themes/light/components/Modal.json +22 -12
  229. package/tokens/src/themes/light/components/Nav.json +82 -94
  230. package/tokens/src/themes/light/components/Navbar.json +32 -76
  231. package/tokens/src/themes/light/components/OverflowScroll.json +3 -1
  232. package/tokens/src/themes/light/components/PageBanner.json +11 -10
  233. package/tokens/src/themes/light/components/Pagination.json +19 -23
  234. package/tokens/src/themes/light/components/Popover.json +22 -27
  235. package/tokens/src/themes/light/components/ProductTour.json +9 -20
  236. package/tokens/src/themes/light/components/ProgressBar.json +12 -10
  237. package/tokens/src/themes/light/components/Scrollable.json +3 -3
  238. package/tokens/src/themes/light/components/SearchField.json +9 -9
  239. package/tokens/src/themes/light/components/Sheet.json +6 -7
  240. package/tokens/src/themes/light/components/Stepper.json +12 -17
  241. package/tokens/src/themes/light/components/Sticky.json +31 -6
  242. package/tokens/src/themes/light/components/Tab.json +47 -24
  243. package/tokens/src/themes/light/components/Toast.json +26 -14
  244. package/tokens/src/themes/light/components/Tooltip.json +25 -10
  245. package/tokens/src/themes/light/components/general/body.json +3 -2
  246. package/tokens/src/themes/light/components/general/headings.json +2 -1
  247. package/tokens/src/themes/light/components/general/hr.json +3 -6
  248. package/tokens/src/themes/light/components/general/input.json +11 -4
  249. package/tokens/src/themes/light/components/general/link.json +34 -43
  250. package/tokens/src/themes/light/components/general/list.json +15 -19
  251. package/tokens/src/themes/light/components/general/text.json +5 -6
  252. package/tokens/src/themes/light/global/color.json +1592 -867
  253. package/tokens/src/themes/light/global/elevation.json +481 -93
  254. package/tokens/style-dictionary.js +342 -144
  255. package/tokens/utils.js +176 -6
  256. package/src/Container/index.jsx +0 -49
  257. package/tokens/src/core/global/display.json +0 -22
  258. /package/src/Truncate/{Truncate.test.js → utils.test.js} +0 -0
@@ -85,11 +85,21 @@ const COMMANDS = {
85
85
  description: 'Include only source design tokens in the build.',
86
86
  defaultValue: false,
87
87
  },
88
+ {
89
+ name: '--output-token-references',
90
+ description: 'Include references for tokens with aliases to other tokens in the build output.',
91
+ defaultValue: true,
92
+ },
88
93
  {
89
94
  name: '-t, --themes',
90
95
  description: 'Specify themes to include in the token build.',
91
96
  defaultValue: 'light',
92
97
  },
98
+ {
99
+ name: '-v, --verbose',
100
+ description: 'Enable verbose logging.',
101
+ defaultValue: false,
102
+ },
93
103
  ],
94
104
  },
95
105
  'replace-variables': {
@@ -1,5 +1,21 @@
1
1
  @import "mixins";
2
2
 
3
+ :root {
4
+ --pgn-elevation-annotation-box-shadow:
5
+ drop-shadow(
6
+ var(--pgn-elevation-annotation-box-shadow-1-offset-x)
7
+ var(--pgn-elevation-annotation-box-shadow-1-offset-y)
8
+ var(--pgn-elevation-annotation-box-shadow-1-blur)
9
+ var(--pgn-elevation-annotation-box-shadow-1-color)
10
+ )
11
+ drop-shadow(
12
+ var(--pgn-elevation-annotation-box-shadow-2-offset-x)
13
+ var(--pgn-elevation-annotation-box-shadow-2-offset-y)
14
+ var(--pgn-elevation-annotation-box-shadow-2-blur)
15
+ var(--pgn-elevation-annotation-box-shadow-2-color)
16
+ );
17
+ }
18
+
3
19
  .pgn__annotation {
4
20
  padding: var(--pgn-spacing-annotation-padding);
5
21
  border-radius: var(--pgn-size-annotation-border-radius);
@@ -2,7 +2,6 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
2
2
  import React, { Children, useMemo } from 'react';
3
3
  import classNames from 'classnames';
4
4
  import PropTypes from 'prop-types';
5
- import BaseCardDeck from 'react-bootstrap/CardDeck';
6
5
  import Row from 'react-bootstrap/Row';
7
6
  import Col from 'react-bootstrap/Col';
8
7
  import { useOverflowScrollItems } from '../OverflowScroll';
@@ -79,6 +78,5 @@ CardDeck.defaultProps = {
79
78
  hasOverflowScrollItems: false,
80
79
  hasEqualColumnHeights: true
81
80
  };
82
- CardDeck.Deprecated = BaseCardDeck;
83
81
  export default CardDeck;
84
82
  //# sourceMappingURL=CardDeck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardDeck.js","names":["React","Children","useMemo","classNames","PropTypes","BaseCardDeck","Row","Col","useOverflowScrollItems","CardDeck","forwardRef","_ref","ref","className","children","columnSizes","hasInteractiveChildren","canScrollHorizontal","hasOverflowScrollItems","hasEqualColumnHeights","cards","map","card","createElement","_extends","overflowCardDeckItems","cardDeckChildren","tabIndex","propTypes","string","node","isRequired","shape","xs","number","sm","md","lg","xl","bool","defaultProps","undefined","Deprecated"],"sources":["../../src/Card/CardDeck.jsx"],"sourcesContent":["import React, { Children, useMemo } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport BaseCardDeck from 'react-bootstrap/CardDeck';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\nimport { useOverflowScrollItems } from '../OverflowScroll';\n\nconst CardDeck = React.forwardRef(({\n className,\n children,\n columnSizes,\n hasInteractiveChildren,\n canScrollHorizontal,\n hasOverflowScrollItems,\n hasEqualColumnHeights,\n}, ref) => {\n const cards = useMemo(\n () => Children.map(children, (card) => (\n <Col\n {...columnSizes}\n className={classNames(\n 'pgn__card-deck__card-item',\n {\n 'pgn__card__disable-equal-column-heights': !hasEqualColumnHeights,\n },\n )}\n >\n {card}\n </Col>\n )),\n [children, columnSizes, hasEqualColumnHeights],\n );\n const overflowCardDeckItems = useOverflowScrollItems(cards);\n\n const cardDeckChildren = useMemo(() => {\n if (hasOverflowScrollItems) {\n return overflowCardDeckItems;\n }\n return cards;\n }, [hasOverflowScrollItems, overflowCardDeckItems, cards]);\n\n return (\n <div\n className={classNames(\n 'pgn__card-deck',\n {\n 'pgn__card-deck-has-horizontal-scroll': canScrollHorizontal,\n },\n className,\n )}\n >\n <Row\n className=\"pgn__card-deck-row\"\n tabIndex={hasInteractiveChildren ? -1 : 0}\n ref={ref}\n >\n {cardDeckChildren}\n </Row>\n </div>\n );\n});\n\nCardDeck.propTypes = {\n /** The class name for the CardDeck component */\n className: PropTypes.string,\n /** The Card components to organize */\n children: PropTypes.node.isRequired,\n /**\n * An object containing the desired column size at each breakpoint, following a similar\n * props API as ``react-bootstrap/Col``\n */\n columnSizes: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n /** Whether the child `Card` components are interactive/focusable. If not, a `tabindex=\"0\"` is\n * added to be a11y-compliant */\n hasInteractiveChildren: PropTypes.bool,\n /** Whether the `CardDeck` supports horizontal scrolling when there are overflow children */\n canScrollHorizontal: PropTypes.bool,\n /** Whether the children of CardDeck should be processed by `useOverflowScrollItems` to give\n * each child a known/stable CSS classname */\n hasOverflowScrollItems: PropTypes.bool,\n /** Whether to disable the default equal height cards */\n hasEqualColumnHeights: PropTypes.bool,\n};\n\nCardDeck.defaultProps = {\n className: undefined,\n columnSizes: {\n sm: 12,\n lg: 6,\n xl: 4,\n },\n hasInteractiveChildren: false,\n canScrollHorizontal: true,\n hasOverflowScrollItems: false,\n hasEqualColumnHeights: true,\n};\n\nCardDeck.Deprecated = BaseCardDeck;\n\nexport default CardDeck;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"CardDeck.js","names":["React","Children","useMemo","classNames","PropTypes","Row","Col","useOverflowScrollItems","CardDeck","forwardRef","_ref","ref","className","children","columnSizes","hasInteractiveChildren","canScrollHorizontal","hasOverflowScrollItems","hasEqualColumnHeights","cards","map","card","createElement","_extends","overflowCardDeckItems","cardDeckChildren","tabIndex","propTypes","string","node","isRequired","shape","xs","number","sm","md","lg","xl","bool","defaultProps","undefined"],"sources":["../../src/Card/CardDeck.jsx"],"sourcesContent":["import React, { Children, useMemo } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport Row from 'react-bootstrap/Row';\nimport Col from 'react-bootstrap/Col';\nimport { useOverflowScrollItems } from '../OverflowScroll';\n\nconst CardDeck = React.forwardRef(({\n className,\n children,\n columnSizes,\n hasInteractiveChildren,\n canScrollHorizontal,\n hasOverflowScrollItems,\n hasEqualColumnHeights,\n}, ref) => {\n const cards = useMemo(\n () => Children.map(children, (card) => (\n <Col\n {...columnSizes}\n className={classNames(\n 'pgn__card-deck__card-item',\n {\n 'pgn__card__disable-equal-column-heights': !hasEqualColumnHeights,\n },\n )}\n >\n {card}\n </Col>\n )),\n [children, columnSizes, hasEqualColumnHeights],\n );\n const overflowCardDeckItems = useOverflowScrollItems(cards);\n\n const cardDeckChildren = useMemo(() => {\n if (hasOverflowScrollItems) {\n return overflowCardDeckItems;\n }\n return cards;\n }, [hasOverflowScrollItems, overflowCardDeckItems, cards]);\n\n return (\n <div\n className={classNames(\n 'pgn__card-deck',\n {\n 'pgn__card-deck-has-horizontal-scroll': canScrollHorizontal,\n },\n className,\n )}\n >\n <Row\n className=\"pgn__card-deck-row\"\n tabIndex={hasInteractiveChildren ? -1 : 0}\n ref={ref}\n >\n {cardDeckChildren}\n </Row>\n </div>\n );\n});\n\nCardDeck.propTypes = {\n /** The class name for the CardDeck component */\n className: PropTypes.string,\n /** The Card components to organize */\n children: PropTypes.node.isRequired,\n /**\n * An object containing the desired column size at each breakpoint, following a similar\n * props API as ``react-bootstrap/Col``\n */\n columnSizes: PropTypes.shape({\n xs: PropTypes.number,\n sm: PropTypes.number,\n md: PropTypes.number,\n lg: PropTypes.number,\n xl: PropTypes.number,\n }),\n /** Whether the child `Card` components are interactive/focusable. If not, a `tabindex=\"0\"` is\n * added to be a11y-compliant */\n hasInteractiveChildren: PropTypes.bool,\n /** Whether the `CardDeck` supports horizontal scrolling when there are overflow children */\n canScrollHorizontal: PropTypes.bool,\n /** Whether the children of CardDeck should be processed by `useOverflowScrollItems` to give\n * each child a known/stable CSS classname */\n hasOverflowScrollItems: PropTypes.bool,\n /** Whether to disable the default equal height cards */\n hasEqualColumnHeights: PropTypes.bool,\n};\n\nCardDeck.defaultProps = {\n className: undefined,\n columnSizes: {\n sm: 12,\n lg: 6,\n xl: 4,\n },\n hasInteractiveChildren: false,\n canScrollHorizontal: true,\n hasOverflowScrollItems: false,\n hasEqualColumnHeights: true,\n};\n\nexport default CardDeck;\n"],"mappings":"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","ignoreList":[]}
@@ -136,11 +136,11 @@ a.pgn__card {
136
136
  }
137
137
 
138
138
  .pgn__card-header-title-sm {
139
- font-size: var(--pgn-typography-font-size-h4);
139
+ font-size: var(--pgn-typography-font-size-h4-base);
140
140
  }
141
141
 
142
142
  .pgn__card-header-title-md {
143
- font-size: var(--pgn-typography-font-size-h3);
143
+ font-size: var(--pgn-typography-font-size-h3-base);
144
144
  }
145
145
 
146
146
  %header-subtitle {
@@ -155,11 +155,11 @@ a.pgn__card {
155
155
  }
156
156
 
157
157
  .pgn__card-header-subtitle-sm {
158
- font-size: var(--pgn-typography-font-size-h5);
158
+ font-size: var(--pgn-typography-font-size-h5-base);
159
159
  }
160
160
 
161
161
  .pgn__card-header-subtitle-md {
162
- font-size: var(--pgn-typography-font-size-h4);
162
+ font-size: var(--pgn-typography-font-size-h4-base);
163
163
  }
164
164
 
165
165
  .pgn__card-header-actions {
@@ -271,7 +271,7 @@ a.pgn__card {
271
271
  .pgn__card-section-title {
272
272
  color: var(--pgn-color-black);
273
273
  font-weight: var(--pgn-typography-font-weight-bold);
274
- font-size: var(--pgn-typography-font-size-h5);
274
+ font-size: var(--pgn-typography-font-size-h5-base);
275
275
  margin-bottom: var(--pgn-spacing-card-spacer-y);
276
276
  }
277
277
 
@@ -352,6 +352,8 @@ a.pgn__card {
352
352
  bottom: calc(-1 * var(--pgn-spacing-card-logo-bottom-offset-base));
353
353
  width: var(--pgn-size-card-logo-width);
354
354
  height: var(--pgn-size-card-logo-height);
355
+ object-fit: scale-down;
356
+ object-position: center center;
355
357
  border-radius: var(--pgn-size-card-border-radius-logo);
356
358
  box-shadow: var(--pgn-elevation-box-shadow-level-1);
357
359
  padding: map_get($spacers, 2);
@@ -392,7 +394,7 @@ a.pgn__card {
392
394
  }
393
395
 
394
396
  .pgn__card-status__heading {
395
- font-size: var(--pgn-typography-font-size-h4);
397
+ font-size: var(--pgn-typography-font-size-h4-base);
396
398
  color: var(--pgn-color-black);
397
399
  display: flex;
398
400
  font-weight: var(--pgn-typography-font-weight-bold);
@@ -1,3 +1,26 @@
1
+ :root {
2
+ --pgn-transition-carousel-base:
3
+ var(--pgn-transition-carousel-base-property)
4
+ var(--pgn-transition-carousel-base-duration)
5
+ var(--pgn-transition-carousel-base-timing-function)
6
+ var(--pgn-transition-carousel-base-delay)
7
+ var(--pgn-transition-carousel-base-behavior);
8
+
9
+ --pgn-transition-carousel-indicator:
10
+ var(--pgn-transition-carousel-indicator-property)
11
+ var(--pgn-transition-carousel-indicator-duration)
12
+ var(--pgn-transition-carousel-indicator-timing-function)
13
+ var(--pgn-transition-carousel-indicator-delay)
14
+ var(--pgn-transition-carousel-indicator-behavior);
15
+
16
+ --pgn-transition-carousel-control:
17
+ var(--pgn-transition-carousel-control-property)
18
+ var(--pgn-transition-carousel-control-duration)
19
+ var(--pgn-transition-carousel-control-timing-function)
20
+ var(--pgn-transition-carousel-control-delay)
21
+ var(--pgn-transition-carousel-control-behavior);
22
+ }
23
+
1
24
  .carousel {
2
25
  position: relative;
3
26
  }
@@ -58,7 +81,7 @@
58
81
  .active.carousel-item-right {
59
82
  z-index: 0;
60
83
  opacity: 0;
61
- transition: opacity 0s var(--pgn-transition-carousel-base);
84
+ transition: var(--pgn-transition-carousel-base);
62
85
  }
63
86
  }
64
87
 
@@ -13,7 +13,7 @@ export type ChipIconProps = {
13
13
  onClick?: undefined;
14
14
  alt?: undefined;
15
15
  });
16
- declare function ChipIcon({ className, src, onClick, alt, variant, disabled, }: ChipIconProps): React.JSX.Element;
16
+ declare function ChipIcon({ className, src, onClick, alt, variant, disabled, }: ChipIconProps): import("react/jsx-runtime").JSX.Element;
17
17
  declare namespace ChipIcon {
18
18
  var propTypes: {
19
19
  className: PropTypes.Validator<string>;
@@ -1,3 +1,11 @@
1
+ :root {
2
+ --pgn-elevation-close-button-text-shadow:
3
+ var(--pgn-elevation-close-button-text-shadow-offset-x)
4
+ var(--pgn-elevation-close-button-text-shadow-offset-y)
5
+ var(--pgn-elevation-close-button-text-shadow-blur)
6
+ var(--pgn-elevation-close-button-text-shadow-color);
7
+ }
8
+
1
9
  .close {
2
10
  float: right;
3
11
  font-weight: var(--pgn-typography-close-button-font-weight);
@@ -37,7 +37,7 @@
37
37
 
38
38
  .pgn__hex-label {
39
39
  font-weight: bold;
40
- font-size: var(--pgn-typography-font-size-mobile-h5);
40
+ font-size: var(--pgn-typography-font-size-h5-mobile);
41
41
  padding: .5rem;
42
42
  margin-bottom: 0 !important;
43
43
  }
@@ -0,0 +1,16 @@
1
+ import { type ContainerProps as RBContainerProps } from 'react-bootstrap/Container';
2
+ import type { ComponentWithAsProp } from '../utils/types/bootstrap';
3
+ declare enum ContainerSizeClass {
4
+ xs = "container-mw-xs",
5
+ sm = "container-mw-sm",
6
+ md = "container-mw-md",
7
+ lg = "container-mw-lg",
8
+ xl = "container-mw-xl"
9
+ }
10
+ export type ContainerSize = keyof typeof ContainerSizeClass;
11
+ interface ContainerProps extends RBContainerProps {
12
+ size?: ContainerSize;
13
+ }
14
+ type ContainerType = ComponentWithAsProp<'div', ContainerProps>;
15
+ declare const Container: ContainerType;
16
+ export default Container;
@@ -8,24 +8,26 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
8
8
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef } from 'react';
11
+ /* eslint-disable react/require-default-props */
12
+ import React from 'react';
12
13
  import classNames from 'classnames';
13
- import RBContainer from 'react-bootstrap/Container';
14
14
  import PropTypes from 'prop-types';
15
- var SIZE_CLASS_NAMES = {
16
- xs: 'container-mw-xs',
17
- sm: 'container-mw-sm',
18
- md: 'container-mw-md',
19
- lg: 'container-mw-lg',
20
- xl: 'container-mw-xl'
21
- };
22
- var Container = /*#__PURE__*/forwardRef(function (_ref, ref) {
15
+ import RBContainer from 'react-bootstrap/Container';
16
+ var ContainerSizeClass = /*#__PURE__*/function (ContainerSizeClass) {
17
+ ContainerSizeClass["xs"] = "container-mw-xs";
18
+ ContainerSizeClass["sm"] = "container-mw-sm";
19
+ ContainerSizeClass["md"] = "container-mw-md";
20
+ ContainerSizeClass["lg"] = "container-mw-lg";
21
+ ContainerSizeClass["xl"] = "container-mw-xl";
22
+ return ContainerSizeClass;
23
+ }(ContainerSizeClass || {});
24
+ var Container = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
23
25
  var size = _ref.size,
24
26
  children = _ref.children,
25
27
  props = _objectWithoutProperties(_ref, _excluded);
26
28
  return /*#__PURE__*/React.createElement(RBContainer, _extends({}, props, {
27
29
  ref: ref,
28
- className: classNames(props.className, SIZE_CLASS_NAMES[size])
30
+ className: classNames(props.className, size && ContainerSizeClass[size])
29
31
  }), children);
30
32
  });
31
33
  Container.propTypes = _objectSpread(_objectSpread({}, RBContainer.propTypes), {}, {
@@ -35,8 +37,8 @@ Container.propTypes = _objectSpread(_objectSpread({}, RBContainer.propTypes), {}
35
37
  children: PropTypes.node,
36
38
  /** Fill all available space at any breakpoint */
37
39
  fluid: PropTypes.bool,
38
- /** Set the maximum width for the container */
39
- size: PropTypes.oneOf(Object.keys(SIZE_CLASS_NAMES)),
40
+ /** Set the maximum width for the container. Omiting the prop will remove the max-width */
41
+ size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),
40
42
  /** Overrides underlying component base CSS class name */
41
43
  bsPrefix: PropTypes.string
42
44
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","classNames","RBContainer","PropTypes","SIZE_CLASS_NAMES","xs","sm","md","lg","xl","Container","_ref","ref","size","children","props","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","_objectSpread","as","elementType","node","fluid","bool","oneOf","Object","keys","bsPrefix","string","defaultProps","undefined"],"sources":["../../src/Container/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport classNames from 'classnames';\nimport RBContainer from 'react-bootstrap/Container';\nimport PropTypes from 'prop-types';\n\nconst SIZE_CLASS_NAMES = {\n xs: 'container-mw-xs',\n sm: 'container-mw-sm',\n md: 'container-mw-md',\n lg: 'container-mw-lg',\n xl: 'container-mw-xl',\n};\n\nconst Container = forwardRef(({ size, children, ...props }, ref) => (\n <RBContainer\n {...props}\n ref={ref}\n className={classNames(\n props.className,\n SIZE_CLASS_NAMES[size],\n )}\n >\n {children}\n </RBContainer>\n));\n\nContainer.propTypes = {\n ...RBContainer.propTypes,\n /** Override the base element */\n as: PropTypes.elementType,\n /** Specifies the contents of the container */\n children: PropTypes.node,\n /** Fill all available space at any breakpoint */\n fluid: PropTypes.bool,\n /** Set the maximum width for the container */\n size: PropTypes.oneOf(Object.keys(SIZE_CLASS_NAMES)),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n};\n\nContainer.defaultProps = {\n as: 'div',\n children: undefined,\n fluid: true,\n size: undefined,\n bsPrefix: 'container',\n};\n\nexport default Container;\n"],"mappings":";;;;;;;;;;AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,WAAW,MAAM,2BAA2B;AACnD,OAAOC,SAAS,MAAM,YAAY;AAElC,IAAMC,gBAAgB,GAAG;EACvBC,EAAE,EAAE,iBAAiB;EACrBC,EAAE,EAAE,iBAAiB;EACrBC,EAAE,EAAE,iBAAiB;EACrBC,EAAE,EAAE,iBAAiB;EACrBC,EAAE,EAAE;AACN,CAAC;AAED,IAAMC,SAAS,gBAAGV,UAAU,CAAC,UAAAW,IAAA,EAA+BC,GAAG;EAAA,IAA/BC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAKC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBACtDlB,KAAA,CAAAmB,aAAA,CAAChB,WAAW,EAAAiB,QAAA,KACNJ,KAAK;IACTH,GAAG,EAAEA,GAAI;IACTQ,SAAS,EAAEnB,UAAU,CACnBc,KAAK,CAACK,SAAS,EACfhB,gBAAgB,CAACS,IAAI,CACvB;EAAE,IAEDC,QACU,CAAC;AAAA,CACf,CAAC;AAEFJ,SAAS,CAACW,SAAS,GAAAC,aAAA,CAAAA,aAAA,KACdpB,WAAW,CAACmB,SAAS;EACxB;EACAE,EAAE,EAAEpB,SAAS,CAACqB,WAAW;EACzB;EACAV,QAAQ,EAAEX,SAAS,CAACsB,IAAI;EACxB;EACAC,KAAK,EAAEvB,SAAS,CAACwB,IAAI;EACrB;EACAd,IAAI,EAAEV,SAAS,CAACyB,KAAK,CAACC,MAAM,CAACC,IAAI,CAAC1B,gBAAgB,CAAC,CAAC;EACpD;EACA2B,QAAQ,EAAE5B,SAAS,CAAC6B;AAAM,EAC3B;AAEDtB,SAAS,CAACuB,YAAY,GAAG;EACvBV,EAAE,EAAE,KAAK;EACTT,QAAQ,EAAEoB,SAAS;EACnBR,KAAK,EAAE,IAAI;EACXb,IAAI,EAAEqB,SAAS;EACfH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAerB,SAAS","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","PropTypes","RBContainer","ContainerSizeClass","Container","forwardRef","_ref","ref","size","children","props","_objectWithoutProperties","_excluded","createElement","_extends","className","propTypes","_objectSpread","as","elementType","node","fluid","bool","oneOf","bsPrefix","string","defaultProps","undefined"],"sources":["../../src/Container/index.tsx"],"sourcesContent":["/* eslint-disable react/require-default-props */\nimport React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport RBContainer, { type ContainerProps as RBContainerProps } from 'react-bootstrap/Container';\n\nimport type { ComponentWithAsProp } from '../utils/types/bootstrap';\n\nenum ContainerSizeClass {\n xs = 'container-mw-xs',\n sm = 'container-mw-sm',\n md = 'container-mw-md',\n lg = 'container-mw-lg',\n xl = 'container-mw-xl',\n}\n\nexport type ContainerSize = keyof typeof ContainerSizeClass;\n\ninterface ContainerProps extends RBContainerProps {\n size?: ContainerSize;\n}\n\ntype ContainerType = ComponentWithAsProp<'div', ContainerProps>;\n\nconst Container: ContainerType = React.forwardRef<Element, ContainerProps>(({\n size,\n children,\n ...props\n}, ref) => (\n <RBContainer\n {...props}\n ref={ref}\n className={classNames(\n props.className,\n size && ContainerSizeClass[size],\n )}\n >\n {children}\n </RBContainer>\n));\n\nContainer.propTypes = {\n ...RBContainer.propTypes,\n /** Override the base element */\n as: PropTypes.elementType,\n /** Specifies the contents of the container */\n children: PropTypes.node,\n /** Fill all available space at any breakpoint */\n fluid: PropTypes.bool,\n /** Set the maximum width for the container. Omiting the prop will remove the max-width */\n size: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl']),\n /** Overrides underlying component base CSS class name */\n bsPrefix: PropTypes.string,\n};\n\nContainer.defaultProps = {\n as: 'div',\n children: undefined,\n fluid: true,\n size: undefined,\n bsPrefix: 'container',\n};\n\nexport default Container;\n"],"mappings":";;;;;;;;;;AAAA;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,YAAY;AACnC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,WAAW,MAAmD,2BAA2B;AAAC,IAI5FC,kBAAkB,0BAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAlBA,kBAAkB;EAAA,OAAlBA,kBAAkB;AAAA,EAAlBA,kBAAkB;AAgBvB,IAAMC,SAAwB,gBAAGL,KAAK,CAACM,UAAU,CAA0B,UAAAC,IAAA,EAIxEC,GAAG;EAAA,IAHJC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACLC,KAAK,GAAAC,wBAAA,CAAAL,IAAA,EAAAM,SAAA;EAAA,oBAERb,KAAA,CAAAc,aAAA,CAACX,WAAW,EAAAY,QAAA,KACNJ,KAAK;IACTH,GAAG,EAAEA,GAAI;IACTQ,SAAS,EAAEf,UAAU,CACnBU,KAAK,CAACK,SAAS,EACfP,IAAI,IAAIL,kBAAkB,CAACK,IAAI,CACjC;EAAE,IAEDC,QACU,CAAC;AAAA,CACf,CAAC;AAEFL,SAAS,CAACY,SAAS,GAAAC,aAAA,CAAAA,aAAA,KACdf,WAAW,CAACc,SAAS;EACxB;EACAE,EAAE,EAAEjB,SAAS,CAACkB,WAAW;EACzB;EACAV,QAAQ,EAAER,SAAS,CAACmB,IAAI;EACxB;EACAC,KAAK,EAAEpB,SAAS,CAACqB,IAAI;EACrB;EACAd,IAAI,EAAEP,SAAS,CAACsB,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;EACrD;EACAC,QAAQ,EAAEvB,SAAS,CAACwB;AAAM,EAC3B;AAEDrB,SAAS,CAACsB,YAAY,GAAG;EACvBR,EAAE,EAAE,KAAK;EACTT,QAAQ,EAAEkB,SAAS;EACnBN,KAAK,EAAE,IAAI;EACXb,IAAI,EAAEmB,SAAS;EACfH,QAAQ,EAAE;AACZ,CAAC;AAED,eAAepB,SAAS","ignoreList":[]}
@@ -1,3 +1,15 @@
1
+ :root {
2
+ --pgn-elevation-data-table-box-shadow:
3
+ var(--pgn-elevation-data-table-box-shadow-offset-x)
4
+ var(--pgn-elevation-data-table-box-shadow-offset-y)
5
+ var(--pgn-elevation-data-table-box-shadow-blur)
6
+ var(--pgn-elevation-data-table-box-shadow-color);
7
+
8
+ --pgn-spacing-data-table-padding-cell:
9
+ var(--pgn-spacing-data-table-padding-cell-x)
10
+ var(--pgn-spacing-data-table-padding-cell-y);
11
+ }
12
+
1
13
  .pgn__data-table-wrapper {
2
14
  font-size: var(--pgn-typography-font-size-sm);
3
15
  border-radius: var(--pgn-size-border-radius-base);
@@ -1,3 +1,9 @@
1
+ :root {
2
+ --pgn-spacing-dropdown-padding-header:
3
+ var(--pgn-spacing-dropdown-padding-header-y)
4
+ var(--pgn-spacing-dropdown-padding-header-x);
5
+ }
6
+
1
7
  .dropup,
2
8
  .dropright,
3
9
  .dropdown,
@@ -1,3 +1,37 @@
1
+ :root {
2
+ --pgn-elevation-dropzone-hover:
3
+ var(--pgn-elevation-dropzone-hover-inset)
4
+ var(--pgn-elevation-dropzone-hover-offset-x)
5
+ var(--pgn-elevation-dropzone-hover-offset-y)
6
+ var(--pgn-elevation-dropzone-hover-blur)
7
+ var(--pgn-elevation-dropzone-hover-spread)
8
+ var(--pgn-elevation-dropzone-hover-color);
9
+
10
+ --pgn-elevation-dropzone-focus:
11
+ var(--pgn-elevation-dropzone-focus-inset)
12
+ var(--pgn-elevation-dropzone-focus-offset-x)
13
+ var(--pgn-elevation-dropzone-focus-offset-y)
14
+ var(--pgn-elevation-dropzone-focus-blur)
15
+ var(--pgn-elevation-dropzone-focus-spread)
16
+ var(--pgn-elevation-dropzone-focus-color);
17
+
18
+ --pgn-elevation-dropzone-error:
19
+ var(--pgn-elevation-dropzone-error-inset)
20
+ var(--pgn-elevation-dropzone-error-offset-x)
21
+ var(--pgn-elevation-dropzone-error-offset-y)
22
+ var(--pgn-elevation-dropzone-error-blur)
23
+ var(--pgn-elevation-dropzone-error-spread)
24
+ var(--pgn-elevation-dropzone-error-color);
25
+
26
+ --pgn-elevation-dropzone-active:
27
+ var(--pgn-elevation-dropzone-active-inset)
28
+ var(--pgn-elevation-dropzone-active-offset-x)
29
+ var(--pgn-elevation-dropzone-active-offset-y)
30
+ var(--pgn-elevation-dropzone-active-blur)
31
+ var(--pgn-elevation-dropzone-active-spread)
32
+ var(--pgn-elevation-dropzone-active-color);
33
+ }
34
+
1
35
  .pgn__dropzone {
2
36
  display: flex;
3
37
  justify-content: center;
@@ -1,5 +1,5 @@
1
1
  .pgn__form-text {
2
- font-size: var(--pgn-typography-font-size-small-base);
2
+ font-size: var(--pgn-typography-font-size-sm);
3
3
  display: flex;
4
4
  align-items: center;
5
5
 
@@ -1,3 +1,43 @@
1
+ :root {
2
+ --pgn-elevation-form-control-indicator-checked-focus:
3
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
4
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
5
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
6
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
7
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
8
+
9
+ --pgn-elevation-form-control-select-border-focus:
10
+ var(--pgn-elevation-form-control-select-border-focus-offset-x)
11
+ var(--pgn-elevation-form-control-select-border-focus-offset-y)
12
+ var(--pgn-elevation-form-control-select-border-focus-blur)
13
+ var(--pgn-elevation-form-control-select-border-focus-spread)
14
+ var(--pgn-elevation-form-control-select-border-focus-color);
15
+
16
+ --pgn-elevation-form-control-file-focus:
17
+ var(--pgn-elevation-form-control-file-focus-offset-x)
18
+ var(--pgn-elevation-form-control-file-focus-offset-y)
19
+ var(--pgn-elevation-form-control-file-focus-blur)
20
+ var(--pgn-elevation-form-control-file-focus-spread)
21
+ var(--pgn-elevation-form-control-file-focus-color);
22
+
23
+ --pgn-transition-form-control:
24
+ var(--pgn-transition-form-control-1-property)
25
+ var(--pgn-transition-form-control-1-duration)
26
+ var(--pgn-transition-form-control-1-timing-function)
27
+ var(--pgn-transition-form-control-1-delay)
28
+ var(--pgn-transition-form-control-1-behavior),
29
+ var(--pgn-transition-form-control-2-property)
30
+ var(--pgn-transition-form-control-2-duration)
31
+ var(--pgn-transition-form-control-2-timing-function)
32
+ var(--pgn-transition-form-control-2-delay)
33
+ var(--pgn-transition-form-control-2-behavior),
34
+ var(--pgn-transition-form-control-3-property)
35
+ var(--pgn-transition-form-control-3-duration)
36
+ var(--pgn-transition-form-control-3-timing-function)
37
+ var(--pgn-transition-form-control-3-delay)
38
+ var(--pgn-transition-form-control-3-behavior);
39
+ }
40
+
1
41
  // Embedded icons from Open Iconic.
2
42
  // Released under MIT and copyright 2014 Waybury.
3
43
  // https://useiconic.com/open
@@ -5,6 +5,15 @@
5
5
  @import "FormText";
6
6
  @import "FormControlSet";
7
7
 
8
+ :root {
9
+ --pgn-elevation-form-control-indicator-checked-focus:
10
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-x)
11
+ var(--pgn-elevation-form-control-indicator-checked-focus-offset-y)
12
+ var(--pgn-elevation-form-control-indicator-checked-focus-blur)
13
+ var(--pgn-elevation-form-control-indicator-checked-focus-spread)
14
+ var(--pgn-elevation-form-control-indicator-checked-focus-color);
15
+ }
16
+
8
17
  // A form input state used by the now deprecate Fieldset and asInput
9
18
  // we can remove this when they are deleted.
10
19
  .form-control.is-invalid.is-invalid-nodanger {
@@ -1,3 +1,25 @@
1
+ :root {
2
+ --pgn-elevation-form-input-focus:
3
+ var(--pgn-elevation-form-input-focus-offset-x)
4
+ var(--pgn-elevation-form-input-focus-offset-y)
5
+ var(--pgn-elevation-form-input-focus-blur)
6
+ var(--pgn-elevation-form-input-focus-spread)
7
+ var(--pgn-elevation-form-input-focus-color);
8
+
9
+ --pgn-spacing-form-control-select-feedback-icon-position:
10
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-y)
11
+ var(--pgn-spacing-form-control-select-feedback-icon-position-position-x)
12
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-x)
13
+ var(--pgn-spacing-form-control-select-feedback-icon-position-offset-y);
14
+
15
+ --pgn-other-content-form-control-select-bg:
16
+ var(--pgn-other-content-form-control-select-bg-image)
17
+ var(--pgn-other-content-form-control-select-bg-position-x)
18
+ var(--pgn-other-content-form-control-select-bg-offset-y)
19
+ var(--pgn-other-content-form-control-select-bg-position-y)
20
+ / var(--pgn-other-content-form-control-select-bg-color); // stylelint-disable-line scss/operator-no-newline-before
21
+ }
22
+
1
23
  @mixin form-control-floating-label-initial(
2
24
  $padding-x,
3
25
  $padding-y,
@@ -43,7 +43,7 @@ interface PropsWithTooltip extends Props {
43
43
  /**
44
44
  * An icon button wrapped in overlaytrigger to display a tooltip.
45
45
  */
46
- declare function IconButtonWithTooltip({ tooltipPlacement, tooltipContent, ...props }: PropsWithTooltip): React.JSX.Element;
46
+ declare function IconButtonWithTooltip({ tooltipPlacement, tooltipContent, ...props }: PropsWithTooltip): import("react/jsx-runtime").JSX.Element;
47
47
  declare namespace IconButtonWithTooltip {
48
48
  var defaultProps: {
49
49
  tooltipPlacement: string;
@@ -12,9 +12,9 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
12
12
  import React from 'react';
13
13
  import PropTypes from 'prop-types';
14
14
  import classNames from 'classnames';
15
- import Icon from '../Icon';
16
15
  import { OverlayTrigger } from '../Overlay';
17
16
  import Tooltip from '../Tooltip';
17
+ import Icon from '../Icon';
18
18
  var IconButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
19
19
  var className = _ref.className,
20
20
  alt = _ref.alt,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Icon","OverlayTrigger","Tooltip","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","children","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","concat","IconComponent","createElement","_extends","_defineProperty","type","defaultProps","undefined","propTypes","string","elementType","isRequired","bool","shape","prefix","iconName","array","func","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","_objectSpread","node"],"sources":["../../src/IconButton/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { type Placement } from 'react-bootstrap/Overlay';\nimport Icon from '../Icon';\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\n\ninterface Props extends React.HTMLAttributes<HTMLButtonElement> {\n iconAs?: React.ComponentType<any>,\n /** Additional CSS class[es] to apply to this button */\n className?: string;\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: string;\n /** Changes icon styles for dark background */\n invertColors?: boolean;\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n // Note: React.ComponentType is what we want here. React.ElementType would allow some element type strings like \"div\",\n // but we only want to allow components like 'Add' (a specific icon component function/class)\n src?: React.ComponentType;\n /** Extra class names that will be added to the icon */\n iconClassNames?: string;\n /** Click handler for the button */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive?: boolean;\n /** @deprecated Using FontAwesome icons is deprecated. Instead, pass iconAs={Icon} src={...} */\n icon?: { prefix?: string; iconName?: string, icon?: any[] },\n /** Type of button (uses Bootstrap options) */\n variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand';\n /** size of button to render */\n size?: 'sm' | 'md' | 'inline';\n /** no children */\n children?: never;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, Props>(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n children, // unused, just here because we don't want it to be part of 'attrs'\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n const IconComponent = iconAs;\n\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n {IconComponent && (\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon as any}\n src={src}\n />\n )}\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: Icon,\n src: undefined,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n children: undefined,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `Icon` */\n iconAs: PropTypes.elementType as any,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n src: PropTypes.elementType as any,\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a [Paragon icon](https://paragon-openedx.netlify.app/foundations/icons) */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }) as any,\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\ninterface PropsWithTooltip extends Props {\n /** choose from https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: Placement,\n /** any content to pass to tooltip content area */\n tooltipContent: React.ReactNode,\n}\n\n/**\n * An icon button wrapped in overlaytrigger to display a tooltip.\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, ...props\n}: PropsWithTooltip) {\n const invert = props.invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : undefined}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n ...IconButton.defaultProps,\n tooltipPlacement: 'top',\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\n(IconButton as any).IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton as typeof IconButton & {\n IconButtonWithTooltip: typeof IconButtonWithTooltip,\n};\nexport { IconButtonWithTooltip };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","OverlayTrigger","Tooltip","Icon","IconButton","forwardRef","_ref","ref","className","alt","invertColors","icon","src","iconClassNames","onClick","size","variant","iconAs","isActive","children","attrs","_objectWithoutProperties","_excluded","invert","activeStyle","concat","IconComponent","createElement","_extends","_defineProperty","type","defaultProps","undefined","propTypes","string","elementType","isRequired","bool","shape","prefix","iconName","array","func","oneOf","IconButtonWithTooltip","_ref2","tooltipPlacement","tooltipContent","props","_excluded2","placement","overlay","id","_objectSpread","node"],"sources":["../../src/IconButton/index.tsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { type Placement } from 'react-bootstrap/Overlay';\nimport { OverlayTrigger } from '../Overlay';\nimport Tooltip from '../Tooltip';\nimport Icon from '../Icon';\n\ninterface Props extends React.HTMLAttributes<HTMLButtonElement> {\n iconAs?: React.ComponentType<any>,\n /** Additional CSS class[es] to apply to this button */\n className?: string;\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: string;\n /** Changes icon styles for dark background */\n invertColors?: boolean;\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n // Note: React.ComponentType is what we want here. React.ElementType would allow some element type strings like \"div\",\n // but we only want to allow components like 'Add' (a specific icon component function/class)\n src?: React.ComponentType;\n /** Extra class names that will be added to the icon */\n iconClassNames?: string;\n /** Click handler for the button */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive?: boolean;\n /** @deprecated Using FontAwesome icons is deprecated. Instead, pass iconAs={Icon} src={...} */\n icon?: { prefix?: string; iconName?: string, icon?: any[] },\n /** Type of button (uses Bootstrap options) */\n variant?: 'primary' | 'secondary' | 'success' | 'warning' | 'danger' | 'light' | 'dark' | 'black' | 'brand';\n /** size of button to render */\n size?: 'sm' | 'md' | 'inline';\n /** no children */\n children?: never;\n}\n\nconst IconButton = React.forwardRef<HTMLButtonElement, Props>(({\n className,\n alt,\n invertColors,\n icon,\n src,\n iconClassNames,\n onClick,\n size,\n variant,\n iconAs,\n isActive,\n children, // unused, just here because we don't want it to be part of 'attrs'\n ...attrs\n}, ref) => {\n const invert = invertColors ? 'inverse-' : '';\n const activeStyle = isActive ? `${variant}-` : '';\n const IconComponent = iconAs;\n\n return (\n <button\n aria-label={alt}\n className={classNames(\n 'btn-icon',\n `btn-icon-${invert}${variant}`,\n `btn-icon-${size}`,\n {\n [`btn-icon-${invert}${activeStyle}active`]: isActive,\n },\n className,\n )}\n onClick={onClick}\n type=\"button\"\n ref={ref}\n {...attrs}\n >\n <span className=\"btn-icon__icon-container\">\n {IconComponent && (\n <IconComponent\n className={classNames('btn-icon__icon', iconClassNames)}\n icon={icon as any}\n src={src}\n />\n )}\n </span>\n </button>\n );\n});\n\nIconButton.defaultProps = {\n iconAs: Icon,\n src: undefined,\n icon: undefined,\n iconClassNames: undefined,\n className: undefined,\n invertColors: false,\n variant: 'primary',\n size: 'md',\n onClick: () => {},\n isActive: false,\n children: undefined,\n};\n\nIconButton.propTypes = {\n /** A custom class name. */\n className: PropTypes.string,\n /** Component that renders the icon, currently defaults to `Icon` */\n iconAs: PropTypes.elementType as any,\n /** An icon component to render. Example import of a Paragon icon component:\n * `import { Check } from '@openedx/paragon/icons';`\n * */\n src: PropTypes.elementType as any,\n /** Alt text for your icon. For best practice, avoid using alt text to describe\n * the image in the `IconButton`. Instead, we recommend describing the function\n * of the button. */\n alt: PropTypes.string.isRequired,\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n /** Accepts a [Paragon icon](https://paragon-openedx.netlify.app/foundations/icons) */\n icon: PropTypes.shape({\n prefix: PropTypes.string,\n iconName: PropTypes.string,\n // eslint-disable-next-line react/forbid-prop-types\n icon: PropTypes.array,\n }) as any,\n /** Extra class names that will be added to the icon */\n iconClassNames: PropTypes.string,\n /** Click handler for the button */\n onClick: PropTypes.func,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** size of button to render */\n size: PropTypes.oneOf(['sm', 'md', 'inline']),\n /** whether to show the `IconButton` in an active state, whose styling is distinct from default state */\n isActive: PropTypes.bool,\n};\n\ninterface PropsWithTooltip extends Props {\n /** choose from https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: Placement,\n /** any content to pass to tooltip content area */\n tooltipContent: React.ReactNode,\n}\n\n/**\n * An icon button wrapped in overlaytrigger to display a tooltip.\n */\nfunction IconButtonWithTooltip({\n tooltipPlacement, tooltipContent, ...props\n}: PropsWithTooltip) {\n const invert = props.invertColors ? 'inverse-' : '';\n return (\n <OverlayTrigger\n placement={tooltipPlacement}\n overlay={(\n <Tooltip\n id={`iconbutton-tooltip-${tooltipPlacement}`}\n variant={invert ? 'light' : undefined}\n >\n {tooltipContent}\n </Tooltip>\n )}\n >\n <IconButton {...props} />\n </OverlayTrigger>\n );\n}\n\nIconButtonWithTooltip.defaultProps = {\n ...IconButton.defaultProps,\n tooltipPlacement: 'top',\n};\n\nIconButtonWithTooltip.propTypes = {\n /** tooltip placement can be top, left, right etc, per https://popper.js.org/docs/v2/constructors/#options */\n tooltipPlacement: PropTypes.string,\n /** any valid JSX or text to be rendered as tooltip contents */\n tooltipContent: PropTypes.node.isRequired,\n /** Type of button (uses Bootstrap options) */\n variant: PropTypes.oneOf(['primary', 'secondary', 'success', 'warning', 'danger', 'light', 'dark', 'black', 'brand']),\n /** Changes icon styles for dark background */\n invertColors: PropTypes.bool,\n};\n\n(IconButton as any).IconButtonWithTooltip = IconButtonWithTooltip;\n\nexport default IconButton as typeof IconButton & {\n IconButtonWithTooltip: typeof IconButtonWithTooltip,\n};\nexport { IconButtonWithTooltip };\n"],"mappings":"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","ignoreList":[]}