@openedx/paragon 22.13.0 → 22.15.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 (258) 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.d.ts +10 -5
  63. package/dist/Hyperlink/index.js +57 -25
  64. package/dist/Hyperlink/index.js.map +1 -1
  65. package/dist/Hyperlink/index.scss +3 -1
  66. package/dist/Icon/index.js.map +1 -1
  67. package/dist/IconButton/index.d.ts +13 -8
  68. package/dist/IconButton/index.js.map +1 -1
  69. package/dist/IconButtonToggle/index.js.map +1 -1
  70. package/dist/IconButtonToggle/index.scss +3 -1
  71. package/dist/Input/index.js.map +1 -1
  72. package/dist/InputSelect/index.js.map +1 -1
  73. package/dist/Layout/index.js.map +1 -1
  74. package/dist/ListBox/index.js.map +1 -1
  75. package/dist/ListBoxOption/index.js.map +1 -1
  76. package/dist/Menu/SelectMenu.js +1 -1
  77. package/dist/Menu/SelectMenu.js.map +1 -1
  78. package/dist/Menu/index.js +1 -1
  79. package/dist/Menu/index.js.map +1 -1
  80. package/dist/Modal/ModalContext.d.ts +1 -1
  81. package/dist/Modal/ModalDialog.d.ts +1 -1
  82. package/dist/Modal/ModalDialog.js.map +1 -1
  83. package/dist/Modal/ModalDialogBody.js +1 -1
  84. package/dist/Modal/ModalDialogBody.js.map +1 -1
  85. package/dist/Modal/ModalDialogHeroBackground.js.map +1 -1
  86. package/dist/Modal/ModalLayer.d.ts +3 -3
  87. package/dist/Modal/ModalLayer.js.map +1 -1
  88. package/dist/Modal/ModalPopup.js.map +1 -1
  89. package/dist/Modal/_ModalDialog.scss +3 -1
  90. package/dist/Modal/index.js +3 -1
  91. package/dist/Modal/index.js.map +1 -1
  92. package/dist/Modal/index.scss +3 -5
  93. package/dist/Nav/_mixins.scss +3 -1
  94. package/dist/Overlay/index.d.ts +2 -2
  95. package/dist/PageBanner/index.js.map +1 -1
  96. package/dist/PageBanner/index.scss +2 -1
  97. package/dist/Pagination/PaginationContext.js.map +1 -1
  98. package/dist/Pagination/index.js.map +1 -1
  99. package/dist/Popover/_variables.scss +2 -1
  100. package/dist/Popover/index.js.map +1 -1
  101. package/dist/ProductTour/Checkpoint.scss +9 -8
  102. package/dist/ProductTour/index.js +1 -1
  103. package/dist/ProductTour/index.js.map +1 -1
  104. package/dist/ProgressBar/index.js.map +1 -1
  105. package/dist/Scrollable/index.js +1 -1
  106. package/dist/Scrollable/index.js.map +1 -1
  107. package/dist/SearchField/SearchFieldAdvanced.js.map +1 -1
  108. package/dist/SearchField/index.scss +2 -1
  109. package/dist/SelectableBox/SelectableBoxSet.js.map +1 -1
  110. package/dist/Sheet/index.js.map +1 -1
  111. package/dist/Stack/index.js.map +1 -1
  112. package/dist/StatefulButton/index.js.map +1 -1
  113. package/dist/StatusAlert/index.js.map +1 -1
  114. package/dist/Stepper/StepperHeader.js +1 -1
  115. package/dist/Stepper/StepperHeader.js.map +1 -1
  116. package/dist/Stepper/StepperHeaderStep.js.map +1 -1
  117. package/dist/Sticky/index.js.map +1 -1
  118. package/dist/Table/_variables.scss +2 -1
  119. package/dist/Tabs/deprecated/index.js.map +1 -1
  120. package/dist/Tabs/index.js +1 -1
  121. package/dist/Tabs/index.js.map +1 -1
  122. package/dist/Toast/ToastContainer.scss +1 -1
  123. package/dist/Toast/index.scss +2 -2
  124. package/dist/Truncate/index.js +1 -1
  125. package/dist/Truncate/index.js.map +1 -1
  126. package/dist/ValidationFormGroup/index.js.map +1 -1
  127. package/dist/asInput/index.js.map +1 -1
  128. package/dist/hooks/{useArrowKeyNavigation.js → useArrowKeyNavigationHook.js} +5 -1
  129. package/dist/hooks/useArrowKeyNavigationHook.js.map +1 -0
  130. package/dist/hooks/{useIndexOfLastVisibleChild.js → useIndexOfLastVisibleChildHook.js} +5 -1
  131. package/dist/hooks/useIndexOfLastVisibleChildHook.js.map +1 -0
  132. package/dist/hooks/{useIsVisible.js → useIsVisibleHook.js} +1 -1
  133. package/dist/hooks/useIsVisibleHook.js.map +1 -0
  134. package/dist/hooks/{useToggle.js → useToggleHook.js} +5 -1
  135. package/dist/hooks/useToggleHook.js.map +1 -0
  136. package/dist/hooks/{useWindowSize.js → useWindowSizeHook.js} +1 -1
  137. package/dist/hooks/useWindowSizeHook.js.map +1 -0
  138. package/dist/index.d.ts +6 -6
  139. package/dist/index.js +6 -6
  140. package/dist/paragon.css +1 -45
  141. package/dist/utils/newId.js.map +1 -1
  142. package/dist/withDeprecatedProps.js.map +1 -1
  143. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/CHANGELOG.md +50 -0
  144. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/LICENSE +7 -0
  145. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/README.md +37 -0
  146. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.d.ts +20 -0
  147. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js +79 -0
  148. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/dist/index.js.map +1 -0
  149. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/package.json +40 -0
  150. package/icons/node_modules/@svgr/babel-plugin-add-jsx-attribute/tsconfig.json +4 -0
  151. package/icons/package.json +1 -1
  152. package/package.json +12 -19
  153. package/scss/core/_exports.module.scss +7 -6
  154. package/scss/core/_functions.scss +9 -7
  155. package/scss/core/_typography.scss +2 -1
  156. package/scss/core/_utilities.scss +2 -1
  157. package/scss/core/_variables.scss +98 -95
  158. package/src/Alert/_variables.scss +2 -1
  159. package/src/Annotation/index.scss +6 -5
  160. package/src/Breadcrumb/Breadcrumb.test.jsx +3 -2
  161. package/src/Bubble/index.scss +3 -2
  162. package/src/Bubble/index.tsx +1 -0
  163. package/src/Button/Button.test.tsx +6 -1
  164. package/src/Button/deprecated/Button.test.jsx +6 -4
  165. package/src/Button/index.scss +19 -18
  166. package/src/Card/CardCarousel/tests/CardCarouselControls.test.jsx +6 -4
  167. package/src/Card/_variables.scss +3 -2
  168. package/src/Card/index.scss +10 -9
  169. package/src/Chip/index.tsx +1 -0
  170. package/src/Collapsible/Collapsible.test.jsx +15 -7
  171. package/src/ColorPicker/ColorPicker.test.jsx +9 -16
  172. package/src/ColorPicker/index.jsx +1 -1
  173. package/src/ColorPicker/index.scss +2 -1
  174. package/src/DataTable/CollapsibleButtonGroup.jsx +2 -2
  175. package/src/DataTable/DropdownFilters.jsx +1 -1
  176. package/src/DataTable/dataviews.mdx +1 -8
  177. package/src/DataTable/index.scss +14 -13
  178. package/src/DataTable/selection/tests/ControlledSelectHeader.test.jsx +6 -4
  179. package/src/DataTable/tests/BulkActions.test.jsx +2 -4
  180. package/src/DataTable/tests/DataViewToggle.test.jsx +3 -7
  181. package/src/DataTable/tests/DropdownFilters.test.jsx +1 -1
  182. package/src/DataTable/tests/TableActions.test.jsx +1 -1
  183. package/src/Dropdown/_variables.scss +2 -1
  184. package/src/Dropdown/deprecated/Dropdown.test.jsx +43 -27
  185. package/src/Dropzone/README.md +3 -3
  186. package/src/Dropzone/index.scss +3 -2
  187. package/src/Dropzone/tests/__snapshots__/Dropzone.test.jsx.snap +10 -1
  188. package/src/Form/FormAutosuggest.jsx +1 -1
  189. package/src/Form/FormGroupContext.tsx +1 -1
  190. package/src/Form/_index.scss +9 -7
  191. package/src/Form/_variables.scss +4 -2
  192. package/src/Form/tests/FormAutosuggest.test.jsx +76 -57
  193. package/src/Form/tests/FormCheckboxSet.test.jsx +3 -2
  194. package/src/Form/tests/FormControl.test.jsx +9 -6
  195. package/src/Form/tests/FormRadioSet.test.jsx +3 -2
  196. package/src/Hyperlink/Hyperlink.test.tsx +50 -20
  197. package/src/Hyperlink/README.md +14 -1
  198. package/src/Hyperlink/index.scss +3 -1
  199. package/src/Hyperlink/index.tsx +71 -30
  200. package/src/IconButtonToggle/IconButtonToggle.test.jsx +3 -2
  201. package/src/IconButtonToggle/index.scss +3 -1
  202. package/src/ListBox/ListBox.test.jsx +8 -4
  203. package/src/MailtoLink/MailtoLink.test.jsx +12 -3
  204. package/src/Menu/Menu.test.jsx +27 -19
  205. package/src/Menu/SelectMenu.jsx +1 -1
  206. package/src/Menu/SelectMenu.test.jsx +35 -16
  207. package/src/Menu/__snapshots__/Menu.test.jsx.snap +0 -1
  208. package/src/Menu/index.jsx +1 -1
  209. package/src/Modal/ModalDialogBody.jsx +1 -1
  210. package/src/Modal/_ModalDialog.scss +3 -1
  211. package/src/Modal/index.jsx +2 -0
  212. package/src/Modal/index.scss +3 -5
  213. package/src/Modal/tests/ModalLayer.test.tsx +3 -2
  214. package/src/Nav/_mixins.scss +3 -1
  215. package/src/OverflowScroll/data/tests/useOverflowScroll.test.jsx +1 -2
  216. package/src/OverflowScroll/data/tests/useOverflowScrollActions.test.jsx +1 -1
  217. package/src/OverflowScroll/data/tests/useOverflowScrollElementAttributes.test.jsx +1 -1
  218. package/src/OverflowScroll/data/tests/useOverflowScrollEventListeners.test.jsx +1 -2
  219. package/src/PageBanner/index.scss +2 -1
  220. package/src/Pagination/Pagination.test.jsx +36 -28
  221. package/src/Popover/_variables.scss +2 -1
  222. package/src/ProductTour/Checkpoint.scss +9 -8
  223. package/src/ProductTour/Checkpoint.test.jsx +3 -2
  224. package/src/ProductTour/ProductTour.test.jsx +11 -24
  225. package/src/ProductTour/index.jsx +1 -1
  226. package/src/Scrollable/Scrollable.test.jsx +2 -2
  227. package/src/Scrollable/index.jsx +1 -1
  228. package/src/SearchField/index.scss +2 -1
  229. package/src/SelectableBox/tests/SelectableBox.test.jsx +3 -2
  230. package/src/StatusAlert/StatusAlert.test.jsx +6 -2
  231. package/src/Stepper/StepperHeader.jsx +1 -1
  232. package/src/Stepper/tests/Stepper.test.jsx +1 -1
  233. package/src/Table/_variables.scss +2 -1
  234. package/src/Tabs/Tabs.test.jsx +1 -1
  235. package/src/Tabs/deprecated/Tabs.test.jsx +6 -4
  236. package/src/Tabs/index.jsx +1 -1
  237. package/src/Toast/ToastContainer.scss +1 -1
  238. package/src/Toast/index.scss +2 -2
  239. package/src/Truncate/index.jsx +1 -1
  240. package/src/hooks/tests/useToggle.test.tsx +1 -1
  241. package/src/hooks/{useArrowKeyNavigation.tsx → useArrowKeyNavigationHook.tsx} +4 -0
  242. package/src/hooks/{useIndexOfLastVisibleChild.tsx → useIndexOfLastVisibleChildHook.tsx} +4 -0
  243. package/src/hooks/{useToggle.tsx → useToggleHook.tsx} +4 -0
  244. package/src/index.d.ts +6 -6
  245. package/src/index.js +6 -6
  246. package/dist/hooks/useArrowKeyNavigation.js.map +0 -1
  247. package/dist/hooks/useIndexOfLastVisibleChild.js.map +0 -1
  248. package/dist/hooks/useIsVisible.js.map +0 -1
  249. package/dist/hooks/useToggle.js.map +0 -1
  250. package/dist/hooks/useWindowSize.js.map +0 -1
  251. package/src/DataTable/tests/utils.js +0 -9
  252. /package/dist/hooks/{useArrowKeyNavigation.d.ts → useArrowKeyNavigationHook.d.ts} +0 -0
  253. /package/dist/hooks/{useIndexOfLastVisibleChild.d.ts → useIndexOfLastVisibleChildHook.d.ts} +0 -0
  254. /package/dist/hooks/{useIsVisible.d.ts → useIsVisibleHook.d.ts} +0 -0
  255. /package/dist/hooks/{useToggle.d.ts → useToggleHook.d.ts} +0 -0
  256. /package/dist/hooks/{useWindowSize.d.ts → useWindowSizeHook.d.ts} +0 -0
  257. /package/src/hooks/{useIsVisible.tsx → useIsVisibleHook.tsx} +0 -0
  258. /package/src/hooks/{useWindowSize.tsx → useWindowSizeHook.tsx} +0 -0
@@ -56,7 +56,7 @@ const ProductTour = /*#__PURE__*/React.forwardRef((_ref, ref) => {
56
56
  }, [index, isTourEnabled, prunedCheckpoints]);
57
57
  useEffect(() => {
58
58
  const handleEsc = event => {
59
- if (event.keyCode === 27) {
59
+ if (event.key === 'Escape') {
60
60
  setIsTourEnabled(false);
61
61
  if (onEscape) {
62
62
  onEscape();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useEffect","useState","PropTypes","Checkpoint","ProductTour","forwardRef","_ref","ref","tours","tourValue","find","tour","enabled","checkpoints","startingIndex","onEscape","onEnd","onDismiss","tourOnDismiss","advanceButtonText","tourAdvanceButtonText","dismissButtonText","tourDismissButtonText","endButtonText","tourEndButtonText","currentCheckpointData","setCurrentCheckpointData","index","setIndex","isTourEnabled","setIsTourEnabled","prunedCheckpoints","setPrunedCheckpoints","title","body","onAdvance","placement","target","showDismissButton","pruneCheckpoints","checkpointList","checkpointsWithRenderedTargets","filter","checkpoint","document","querySelector","length","handleEsc","event","keyCode","global","addEventListener","removeEventListener","handleAdvance","handleDismiss","handleEnd","checkpointIndex","createElement","totalCheckpoints","defaultProps","undefined","propTypes","arrayOf","shape","node","func","oneOf","string","isRequired","bool","number","tourId"],"sources":["../../src/ProductTour/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Checkpoint from './Checkpoint';\n\nconst ProductTour = React.forwardRef(({ tours }, ref) => {\n const tourValue = tours.find((tour) => tour.enabled);\n const {\n enabled, checkpoints = [], startingIndex, onEscape, onEnd, onDismiss: tourOnDismiss,\n advanceButtonText: tourAdvanceButtonText, dismissButtonText: tourDismissButtonText,\n endButtonText: tourEndButtonText,\n } = tourValue || {};\n const [currentCheckpointData, setCurrentCheckpointData] = useState(null);\n const [index, setIndex] = useState(0);\n const [isTourEnabled, setIsTourEnabled] = useState(false);\n const [prunedCheckpoints, setPrunedCheckpoints] = useState([]);\n const {\n title, body, onAdvance, onDismiss, advanceButtonText, dismissButtonText,\n endButtonText, placement, target, showDismissButton,\n } = currentCheckpointData || {};\n\n /**\n * Takes a list of checkpoints and verifies that each target string provided is\n * an element in the DOM.\n */\n const pruneCheckpoints = (checkpointList) => {\n const checkpointsWithRenderedTargets = checkpointList.filter(\n (checkpoint) => !!document.querySelector(checkpoint.target),\n );\n setPrunedCheckpoints(checkpointsWithRenderedTargets);\n };\n\n useEffect(() => {\n if (enabled && checkpoints) {\n setIsTourEnabled(enabled);\n pruneCheckpoints(checkpoints);\n setIndex(startingIndex || 0);\n }\n }, [enabled, checkpoints, startingIndex]);\n\n useEffect(() => {\n if (isTourEnabled && prunedCheckpoints.length) {\n setCurrentCheckpointData(prunedCheckpoints[index]);\n }\n }, [index, isTourEnabled, prunedCheckpoints]);\n\n useEffect(() => {\n const handleEsc = (event) => {\n if (event.keyCode === 27) {\n setIsTourEnabled(false);\n if (onEscape) {\n onEscape();\n }\n }\n };\n global.addEventListener('keydown', handleEsc);\n\n return () => {\n global.removeEventListener('keydown', handleEsc);\n };\n }, [onEscape]);\n\n if (!tourValue || !currentCheckpointData || !isTourEnabled) {\n return null;\n }\n\n const handleAdvance = () => {\n setIndex(index + 1);\n if (onAdvance) {\n onAdvance();\n }\n };\n\n const handleDismiss = () => {\n setIndex(0);\n setIsTourEnabled(false);\n if (onDismiss) {\n onDismiss();\n } else {\n tourOnDismiss();\n }\n setCurrentCheckpointData(null);\n };\n /* eslint-disable */\n /**\n * Takes the final checkpoint array index value and looks for an existing onEnd callback.\n * \n * If an onEnd callback exist on checkpointIndex value and it is the final checkpoint \n * in the array, the onEnd callback will be called for the parent, and individual onEnd object. \n * \n * @param {Integer} checkpointIndex \n */\n /* eslint-enable */\n const handleEnd = (checkpointIndex) => {\n setIndex(0);\n setIsTourEnabled(false);\n if (prunedCheckpoints[checkpointIndex].onEnd) {\n prunedCheckpoints[checkpointIndex].onEnd();\n } else if (onEnd) {\n onEnd(prunedCheckpoints[checkpointIndex]);\n }\n setCurrentCheckpointData(null);\n };\n return (\n <Checkpoint\n advanceButtonText={advanceButtonText || tourAdvanceButtonText}\n body={body}\n currentCheckpointData={currentCheckpointData}\n dismissButtonText={dismissButtonText || tourDismissButtonText}\n endButtonText={endButtonText || tourEndButtonText}\n index={index}\n onAdvance={handleAdvance}\n onDismiss={handleDismiss}\n onEnd={handleEnd}\n placement={placement}\n target={target}\n title={title}\n totalCheckpoints={prunedCheckpoints.length}\n showDismissButton={showDismissButton}\n ref={ref}\n />\n );\n});\n\nProductTour.defaultProps = {\n tours: {\n advanceButtonText: '',\n checkpoints: {\n advanceButtonText: '',\n body: '',\n dismissButtonText: '',\n endButtonText: '',\n onAdvance: () => {},\n onDismiss: () => {},\n placement: 'top',\n title: '',\n showDismissButton: undefined,\n },\n dismissButtonText: '',\n endButtonText: '',\n onDismiss: () => {},\n onEnd: () => {},\n onEscape: () => {},\n startingIndex: 0,\n },\n};\n\nProductTour.propTypes = {\n tours: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on all buttons used to advance the tour. */\n advanceButtonText: PropTypes.node,\n /** An array comprised of checkpoint objects supporting the following values: */\n checkpoints: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on the button used to advance the tour for the given Checkpoint\n * (overrides the* `advanceButtonText` defined in the parent tour object). */\n advanceButtonText: PropTypes.node,\n /** The text displayed in the body of the Checkpoint */\n body: PropTypes.node,\n /** The text displayed on the button used to dismiss the tour for the given Checkpoint\n * (overrides the `dismissButtonText` defined in the parent tour object). */\n dismissButtonText: PropTypes.node,\n /** The text displayed on the button used to end the tour for the given Checkpoint\n * (overrides the `endButtonText` defined in the parent tour object). */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the advance\n * button for the given Checkpoint. */\n onAdvance: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the dismiss\n * button for the given Checkpoint (overrides the `onDismiss` function defined in the parent tour object). */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the advance\n * button if the given Checkpoint is the only or last Checkpoint in a tour. */\n onEnd: PropTypes.func,\n /** A string that dictates the alignment of the Checkpoint around its target. */\n placement: PropTypes.oneOf([\n 'top', 'top-start', 'top-end', 'right-start', 'right', 'right-end',\n 'left-start', 'left', 'left-end', 'bottom', 'bottom-start', 'bottom-end',\n ]),\n /** The CSS selector for the Checkpoint's desired target. */\n target: PropTypes.string.isRequired,\n /** The text displayed in the title of the Checkpoint */\n title: PropTypes.node,\n /** Enforces visibility of the dismiss button under all circumstances */\n showDismissButton: PropTypes.bool,\n })),\n /** The text displayed on the button used to dismiss the tour. */\n dismissButtonText: PropTypes.node,\n /** Whether the tour is enabled. If there are multiple tours defined, only one should be enabled at a time. */\n enabled: PropTypes.bool.isRequired,\n /** The text displayed on the button used to end the tour. */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the dismiss button. */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the end button. */\n onEnd: PropTypes.func,\n /** A function that runs when pressing the Escape key. */\n onEscape: PropTypes.func,\n /** The index of the desired `Checkpoint` to render when the tour starts. */\n startingIndex: PropTypes.number,\n /** The ID of the tour */\n tourId: PropTypes.string.isRequired,\n })),\n};\n\nexport default ProductTour;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useEffect","useState","PropTypes","Checkpoint","ProductTour","forwardRef","_ref","ref","tours","tourValue","find","tour","enabled","checkpoints","startingIndex","onEscape","onEnd","onDismiss","tourOnDismiss","advanceButtonText","tourAdvanceButtonText","dismissButtonText","tourDismissButtonText","endButtonText","tourEndButtonText","currentCheckpointData","setCurrentCheckpointData","index","setIndex","isTourEnabled","setIsTourEnabled","prunedCheckpoints","setPrunedCheckpoints","title","body","onAdvance","placement","target","showDismissButton","pruneCheckpoints","checkpointList","checkpointsWithRenderedTargets","filter","checkpoint","document","querySelector","length","handleEsc","event","key","global","addEventListener","removeEventListener","handleAdvance","handleDismiss","handleEnd","checkpointIndex","createElement","totalCheckpoints","defaultProps","undefined","propTypes","arrayOf","shape","node","func","oneOf","string","isRequired","bool","number","tourId"],"sources":["../../src/ProductTour/index.jsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Checkpoint from './Checkpoint';\n\nconst ProductTour = React.forwardRef(({ tours }, ref) => {\n const tourValue = tours.find((tour) => tour.enabled);\n const {\n enabled, checkpoints = [], startingIndex, onEscape, onEnd, onDismiss: tourOnDismiss,\n advanceButtonText: tourAdvanceButtonText, dismissButtonText: tourDismissButtonText,\n endButtonText: tourEndButtonText,\n } = tourValue || {};\n const [currentCheckpointData, setCurrentCheckpointData] = useState(null);\n const [index, setIndex] = useState(0);\n const [isTourEnabled, setIsTourEnabled] = useState(false);\n const [prunedCheckpoints, setPrunedCheckpoints] = useState([]);\n const {\n title, body, onAdvance, onDismiss, advanceButtonText, dismissButtonText,\n endButtonText, placement, target, showDismissButton,\n } = currentCheckpointData || {};\n\n /**\n * Takes a list of checkpoints and verifies that each target string provided is\n * an element in the DOM.\n */\n const pruneCheckpoints = (checkpointList) => {\n const checkpointsWithRenderedTargets = checkpointList.filter(\n (checkpoint) => !!document.querySelector(checkpoint.target),\n );\n setPrunedCheckpoints(checkpointsWithRenderedTargets);\n };\n\n useEffect(() => {\n if (enabled && checkpoints) {\n setIsTourEnabled(enabled);\n pruneCheckpoints(checkpoints);\n setIndex(startingIndex || 0);\n }\n }, [enabled, checkpoints, startingIndex]);\n\n useEffect(() => {\n if (isTourEnabled && prunedCheckpoints.length) {\n setCurrentCheckpointData(prunedCheckpoints[index]);\n }\n }, [index, isTourEnabled, prunedCheckpoints]);\n\n useEffect(() => {\n const handleEsc = (event) => {\n if (event.key === 'Escape') {\n setIsTourEnabled(false);\n if (onEscape) {\n onEscape();\n }\n }\n };\n global.addEventListener('keydown', handleEsc);\n\n return () => {\n global.removeEventListener('keydown', handleEsc);\n };\n }, [onEscape]);\n\n if (!tourValue || !currentCheckpointData || !isTourEnabled) {\n return null;\n }\n\n const handleAdvance = () => {\n setIndex(index + 1);\n if (onAdvance) {\n onAdvance();\n }\n };\n\n const handleDismiss = () => {\n setIndex(0);\n setIsTourEnabled(false);\n if (onDismiss) {\n onDismiss();\n } else {\n tourOnDismiss();\n }\n setCurrentCheckpointData(null);\n };\n /* eslint-disable */\n /**\n * Takes the final checkpoint array index value and looks for an existing onEnd callback.\n * \n * If an onEnd callback exist on checkpointIndex value and it is the final checkpoint \n * in the array, the onEnd callback will be called for the parent, and individual onEnd object. \n * \n * @param {Integer} checkpointIndex \n */\n /* eslint-enable */\n const handleEnd = (checkpointIndex) => {\n setIndex(0);\n setIsTourEnabled(false);\n if (prunedCheckpoints[checkpointIndex].onEnd) {\n prunedCheckpoints[checkpointIndex].onEnd();\n } else if (onEnd) {\n onEnd(prunedCheckpoints[checkpointIndex]);\n }\n setCurrentCheckpointData(null);\n };\n return (\n <Checkpoint\n advanceButtonText={advanceButtonText || tourAdvanceButtonText}\n body={body}\n currentCheckpointData={currentCheckpointData}\n dismissButtonText={dismissButtonText || tourDismissButtonText}\n endButtonText={endButtonText || tourEndButtonText}\n index={index}\n onAdvance={handleAdvance}\n onDismiss={handleDismiss}\n onEnd={handleEnd}\n placement={placement}\n target={target}\n title={title}\n totalCheckpoints={prunedCheckpoints.length}\n showDismissButton={showDismissButton}\n ref={ref}\n />\n );\n});\n\nProductTour.defaultProps = {\n tours: {\n advanceButtonText: '',\n checkpoints: {\n advanceButtonText: '',\n body: '',\n dismissButtonText: '',\n endButtonText: '',\n onAdvance: () => {},\n onDismiss: () => {},\n placement: 'top',\n title: '',\n showDismissButton: undefined,\n },\n dismissButtonText: '',\n endButtonText: '',\n onDismiss: () => {},\n onEnd: () => {},\n onEscape: () => {},\n startingIndex: 0,\n },\n};\n\nProductTour.propTypes = {\n tours: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on all buttons used to advance the tour. */\n advanceButtonText: PropTypes.node,\n /** An array comprised of checkpoint objects supporting the following values: */\n checkpoints: PropTypes.arrayOf(PropTypes.shape({\n /** The text displayed on the button used to advance the tour for the given Checkpoint\n * (overrides the* `advanceButtonText` defined in the parent tour object). */\n advanceButtonText: PropTypes.node,\n /** The text displayed in the body of the Checkpoint */\n body: PropTypes.node,\n /** The text displayed on the button used to dismiss the tour for the given Checkpoint\n * (overrides the `dismissButtonText` defined in the parent tour object). */\n dismissButtonText: PropTypes.node,\n /** The text displayed on the button used to end the tour for the given Checkpoint\n * (overrides the `endButtonText` defined in the parent tour object). */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the advance\n * button for the given Checkpoint. */\n onAdvance: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the dismiss\n * button for the given Checkpoint (overrides the `onDismiss` function defined in the parent tour object). */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the advance\n * button if the given Checkpoint is the only or last Checkpoint in a tour. */\n onEnd: PropTypes.func,\n /** A string that dictates the alignment of the Checkpoint around its target. */\n placement: PropTypes.oneOf([\n 'top', 'top-start', 'top-end', 'right-start', 'right', 'right-end',\n 'left-start', 'left', 'left-end', 'bottom', 'bottom-start', 'bottom-end',\n ]),\n /** The CSS selector for the Checkpoint's desired target. */\n target: PropTypes.string.isRequired,\n /** The text displayed in the title of the Checkpoint */\n title: PropTypes.node,\n /** Enforces visibility of the dismiss button under all circumstances */\n showDismissButton: PropTypes.bool,\n })),\n /** The text displayed on the button used to dismiss the tour. */\n dismissButtonText: PropTypes.node,\n /** Whether the tour is enabled. If there are multiple tours defined, only one should be enabled at a time. */\n enabled: PropTypes.bool.isRequired,\n /** The text displayed on the button used to end the tour. */\n endButtonText: PropTypes.node,\n /** A function that runs when triggering the `onClick` event of the dismiss button. */\n onDismiss: PropTypes.func,\n /** A function that runs when triggering the `onClick` event of the end button. */\n onEnd: PropTypes.func,\n /** A function that runs when pressing the Escape key. */\n onEscape: PropTypes.func,\n /** The index of the desired `Checkpoint` to render when the tour starts. */\n startingIndex: PropTypes.number,\n /** The ID of the tour */\n tourId: PropTypes.string.isRequired,\n })),\n};\n\nexport default ProductTour;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useCallback","useEffect","ProgressBarBase","PropTypes","classNames","Annotation","getOffsetStyles","placeInfoAtZero","ANNOTATION_CLASS","HINT_SWAP_PERCENT","PROGRESS_DEFAULT_VARIANT","THRESHOLD_DEFAULT_VARIANT","VARIANTS","ProgressBar","props","createElement","ProgressBarAnnotated","_ref","now","label","variant","threshold","thresholdLabel","thresholdVariant","progressHint","thresholdHint","progressInfoRef","useRef","thresholdInfoRef","thresholdPercent","isProgressHintAfter","isThresholdHintAfter","progressColor","includes","thresholdColor","direction","window","getComputedStyle","document","body","getPropertyValue","positionAnnotations","observer","ResizeObserver","progressInfoEl","current","observe","unobserve","getHint","text","className","style","ref","srOnly","arrowPlacement","propTypes","number","node","oneOf","string","defaultProps","undefined","Annotated"],"sources":["../../src/ProgressBar/index.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport ProgressBarBase from 'react-bootstrap/ProgressBar';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Annotation from '../Annotation';\nimport { getOffsetStyles, placeInfoAtZero } from './utils';\n\nexport const ANNOTATION_CLASS = 'pgn__annotation';\nconst HINT_SWAP_PERCENT = 50;\nconst PROGRESS_DEFAULT_VARIANT = 'warning';\nconst THRESHOLD_DEFAULT_VARIANT = 'dark';\nconst VARIANTS = [\n 'dark',\n 'warning',\n 'success',\n 'error',\n];\n\nfunction ProgressBar(props) {\n return <ProgressBarBase {...props} />;\n}\n\nfunction ProgressBarAnnotated({\n now,\n label,\n variant,\n threshold,\n thresholdLabel,\n thresholdVariant,\n progressHint,\n thresholdHint,\n ...props\n}) {\n const progressInfoRef = React.useRef();\n const thresholdInfoRef = React.useRef();\n const thresholdPercent = (threshold || 0) - (now || 0);\n const isProgressHintAfter = now < HINT_SWAP_PERCENT;\n const isThresholdHintAfter = threshold < HINT_SWAP_PERCENT;\n const progressColor = VARIANTS.includes(variant) ? variant : PROGRESS_DEFAULT_VARIANT;\n const thresholdColor = VARIANTS.includes(thresholdVariant) ? thresholdVariant : THRESHOLD_DEFAULT_VARIANT;\n const direction = window.getComputedStyle(document.body).getPropertyValue('direction');\n\n const positionAnnotations = useCallback(() => {\n placeInfoAtZero(progressInfoRef, direction, isProgressHintAfter, ANNOTATION_CLASS);\n placeInfoAtZero(thresholdInfoRef, direction, isThresholdHintAfter, ANNOTATION_CLASS);\n }, [direction, isProgressHintAfter, isThresholdHintAfter]);\n\n useEffect(() => {\n positionAnnotations();\n const observer = new ResizeObserver(() => {\n positionAnnotations();\n });\n const progressInfoEl = progressInfoRef.current;\n observer.observe(progressInfoEl);\n return () => progressInfoEl && observer.unobserve(progressInfoEl);\n }, [positionAnnotations]);\n\n const getHint = (text) => (\n <span className=\"pgn__progress-hint\" data-testid=\"progress-hint\">\n {text}\n </span>\n );\n\n return (\n <div className=\"pgn__progress-annotated\">\n {!!label && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(now, direction)}\n ref={progressInfoRef}\n >\n {!isProgressHintAfter && getHint(progressHint)}\n <Annotation variant={progressColor}>\n {label}\n </Annotation>\n {isProgressHintAfter && getHint(progressHint)}\n </div>\n )}\n <ProgressBarBase>\n <ProgressBarBase\n {...props}\n now={now}\n className={classNames(\n `pgn__progress-bar--${progressColor}`,\n thresholdPercent > 0 ? 'pgn__progress-tick--white' : 'pgn__progress-tick--black',\n )}\n srOnly\n />\n {!!threshold && (\n <ProgressBarBase\n now={thresholdPercent}\n className={`pgn__progress-bar--${thresholdColor}`}\n srOnly\n />\n )}\n </ProgressBarBase>\n {(!!threshold && !!thresholdLabel) && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(threshold, direction)}\n ref={thresholdInfoRef}\n >\n {!isThresholdHintAfter && getHint(thresholdHint)}\n <Annotation\n arrowPlacement=\"top\"\n variant={thresholdColor}\n >\n {thresholdLabel}\n </Annotation>\n {isThresholdHintAfter && getHint(thresholdHint)}\n </div>\n )}\n </div>\n );\n}\n\nProgressBarAnnotated.propTypes = {\n /** Current value of progress. */\n now: PropTypes.number,\n /** Show label that represents visual percentage. */\n label: PropTypes.node,\n /** The `ProgressBar` style variant to use. */\n variant: PropTypes.oneOf(VARIANTS),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n /** Threshold current value. */\n threshold: PropTypes.number,\n /** Specifies label for `threshold`. */\n thresholdLabel: PropTypes.node,\n /** Variant for threshold value. */\n thresholdVariant: PropTypes.oneOf(VARIANTS),\n /** Text near the progress annotation. */\n progressHint: PropTypes.node,\n /** Text near the threshold annotation. */\n thresholdHint: PropTypes.node,\n};\n\nProgressBarAnnotated.defaultProps = {\n now: undefined,\n label: undefined,\n variant: PROGRESS_DEFAULT_VARIANT,\n className: undefined,\n threshold: undefined,\n thresholdLabel: undefined,\n thresholdVariant: THRESHOLD_DEFAULT_VARIANT,\n progressHint: undefined,\n thresholdHint: undefined,\n};\n\nProgressBar.Annotated = ProgressBarAnnotated;\nexport default ProgressBar;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useEffect","ProgressBarBase","PropTypes","classNames","Annotation","getOffsetStyles","placeInfoAtZero","ANNOTATION_CLASS","HINT_SWAP_PERCENT","PROGRESS_DEFAULT_VARIANT","THRESHOLD_DEFAULT_VARIANT","VARIANTS","ProgressBar","props","createElement","ProgressBarAnnotated","_ref","now","label","variant","threshold","thresholdLabel","thresholdVariant","progressHint","thresholdHint","progressInfoRef","useRef","thresholdInfoRef","thresholdPercent","isProgressHintAfter","isThresholdHintAfter","progressColor","includes","thresholdColor","direction","window","getComputedStyle","document","body","getPropertyValue","positionAnnotations","observer","ResizeObserver","progressInfoEl","current","observe","unobserve","getHint","text","className","style","ref","srOnly","arrowPlacement","propTypes","number","node","oneOf","string","defaultProps","undefined","Annotated"],"sources":["../../src/ProgressBar/index.jsx"],"sourcesContent":["import React, { useCallback, useEffect } from 'react';\nimport ProgressBarBase from 'react-bootstrap/ProgressBar';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Annotation from '../Annotation';\nimport { getOffsetStyles, placeInfoAtZero } from './utils';\n\nexport const ANNOTATION_CLASS = 'pgn__annotation';\nconst HINT_SWAP_PERCENT = 50;\nconst PROGRESS_DEFAULT_VARIANT = 'warning';\nconst THRESHOLD_DEFAULT_VARIANT = 'dark';\nconst VARIANTS = [\n 'dark',\n 'warning',\n 'success',\n 'error',\n];\n\nfunction ProgressBar(props) {\n return <ProgressBarBase {...props} />;\n}\n\nfunction ProgressBarAnnotated({\n now,\n label,\n variant,\n threshold,\n thresholdLabel,\n thresholdVariant,\n progressHint,\n thresholdHint,\n ...props\n}) {\n const progressInfoRef = React.useRef();\n const thresholdInfoRef = React.useRef();\n const thresholdPercent = (threshold || 0) - (now || 0);\n const isProgressHintAfter = now < HINT_SWAP_PERCENT;\n const isThresholdHintAfter = threshold < HINT_SWAP_PERCENT;\n const progressColor = VARIANTS.includes(variant) ? variant : PROGRESS_DEFAULT_VARIANT;\n const thresholdColor = VARIANTS.includes(thresholdVariant) ? thresholdVariant : THRESHOLD_DEFAULT_VARIANT;\n const direction = window.getComputedStyle(document.body).getPropertyValue('direction');\n\n const positionAnnotations = useCallback(() => {\n placeInfoAtZero(progressInfoRef, direction, isProgressHintAfter, ANNOTATION_CLASS);\n placeInfoAtZero(thresholdInfoRef, direction, isThresholdHintAfter, ANNOTATION_CLASS);\n }, [direction, isProgressHintAfter, isThresholdHintAfter]);\n\n useEffect(() => {\n positionAnnotations();\n const observer = new ResizeObserver(() => {\n positionAnnotations();\n });\n const progressInfoEl = progressInfoRef.current;\n observer.observe(progressInfoEl);\n return () => progressInfoEl && observer.unobserve(progressInfoEl);\n }, [positionAnnotations]);\n\n const getHint = (text) => (\n <span className=\"pgn__progress-hint\" data-testid=\"progress-hint\">\n {text}\n </span>\n );\n\n return (\n <div className=\"pgn__progress-annotated\">\n {!!label && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(now, direction)}\n ref={progressInfoRef}\n >\n {!isProgressHintAfter && getHint(progressHint)}\n <Annotation variant={progressColor}>\n {label}\n </Annotation>\n {isProgressHintAfter && getHint(progressHint)}\n </div>\n )}\n <ProgressBarBase>\n <ProgressBarBase\n {...props}\n now={now}\n className={classNames(\n `pgn__progress-bar--${progressColor}`,\n thresholdPercent > 0 ? 'pgn__progress-tick--white' : 'pgn__progress-tick--black',\n )}\n srOnly\n />\n {!!threshold && (\n <ProgressBarBase\n now={thresholdPercent}\n className={`pgn__progress-bar--${thresholdColor}`}\n srOnly\n />\n )}\n </ProgressBarBase>\n {(!!threshold && !!thresholdLabel) && (\n <div\n className=\"pgn__progress-info\"\n style={getOffsetStyles(threshold, direction)}\n ref={thresholdInfoRef}\n >\n {!isThresholdHintAfter && getHint(thresholdHint)}\n <Annotation\n arrowPlacement=\"top\"\n variant={thresholdColor}\n >\n {thresholdLabel}\n </Annotation>\n {isThresholdHintAfter && getHint(thresholdHint)}\n </div>\n )}\n </div>\n );\n}\n\nProgressBarAnnotated.propTypes = {\n /** Current value of progress. */\n now: PropTypes.number,\n /** Show label that represents visual percentage. */\n label: PropTypes.node,\n /** The `ProgressBar` style variant to use. */\n variant: PropTypes.oneOf(VARIANTS),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n /** Threshold current value. */\n threshold: PropTypes.number,\n /** Specifies label for `threshold`. */\n thresholdLabel: PropTypes.node,\n /** Variant for threshold value. */\n thresholdVariant: PropTypes.oneOf(VARIANTS),\n /** Text near the progress annotation. */\n progressHint: PropTypes.node,\n /** Text near the threshold annotation. */\n thresholdHint: PropTypes.node,\n};\n\nProgressBarAnnotated.defaultProps = {\n now: undefined,\n label: undefined,\n variant: PROGRESS_DEFAULT_VARIANT,\n className: undefined,\n threshold: undefined,\n thresholdLabel: undefined,\n thresholdVariant: THRESHOLD_DEFAULT_VARIANT,\n progressHint: undefined,\n thresholdHint: undefined,\n};\n\nProgressBar.Annotated = ProgressBarAnnotated;\nexport default ProgressBar;\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
- import useIsVisible from '../hooks/useIsVisible';
4
+ import useIsVisible from '../hooks/useIsVisibleHook';
5
5
  export const CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';
6
6
  export const CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';
7
7
  function Scrollable(_ref) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useIsVisible","CLASSNAME_SCROLL_TOP","CLASSNAME_SCROLL_BOTTOM","Scrollable","_ref","children","props","isScrolledToTop","topSentinelRef","isScrolledToBottom","bottomSentinelRef","valueNow","setValueNow","className","handleScroll","e","maxScrollHeight","currentTarget","scrollHeight","clientHeight","Math","ceil","scrollTop","createElement","role","tabIndex","onScroll","ref","propTypes","node","isRequired","string","defaultProps","undefined"],"sources":["../../src/Scrollable/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useIsVisible from '../hooks/useIsVisible';\n\nexport const CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';\nexport const CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';\n\nfunction Scrollable({ children, ...props }) {\n const [isScrolledToTop, topSentinelRef] = useIsVisible();\n const [isScrolledToBottom, bottomSentinelRef] = useIsVisible();\n const [valueNow, setValueNow] = useState(0);\n const className = classNames(\n 'pgn__scrollable-body',\n props.className,\n {\n [CLASSNAME_SCROLL_TOP]: isScrolledToTop,\n [CLASSNAME_SCROLL_BOTTOM]: isScrolledToBottom,\n },\n );\n\n const handleScroll = (e) => {\n const maxScrollHeight = e.currentTarget.scrollHeight - e.currentTarget.clientHeight;\n setValueNow(Math.ceil((100 * e.currentTarget.scrollTop) / maxScrollHeight));\n };\n\n return (\n <div\n {...props}\n className={className}\n role=\"scrollbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={valueNow}\n aria-controls=\"scrollbar\"\n tabIndex=\"0\"\n onScroll={handleScroll}\n >\n <div ref={topSentinelRef} />\n <div className=\"pgn__scrollable-body-content\">\n {children}\n </div>\n <div ref={bottomSentinelRef} />\n </div>\n );\n}\n\nScrollable.propTypes = {\n /** Specifies the content of the `Scrollable`. */\n children: PropTypes.node.isRequired,\n /** Additional classnames for this component. */\n className: PropTypes.string,\n};\n\nScrollable.defaultProps = {\n className: undefined,\n};\n\nexport default Scrollable;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,YAAY,MAAM,uBAAuB;AAEhD,OAAO,MAAMC,oBAAoB,GAAG,iCAAiC;AACrE,OAAO,MAAMC,uBAAuB,GAAG,oCAAoC;AAE3E,SAASC,UAAUA,CAAAC,IAAA,EAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAE,GAAGC;EAAM,CAAC,GAAAF,IAAA;EACxC,MAAM,CAACG,eAAe,EAAEC,cAAc,CAAC,GAAGR,YAAY,CAAC,CAAC;EACxD,MAAM,CAACS,kBAAkB,EAAEC,iBAAiB,CAAC,GAAGV,YAAY,CAAC,CAAC;EAC9D,MAAM,CAACW,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAMgB,SAAS,GAAGd,UAAU,CAC1B,sBAAsB,EACtBO,KAAK,CAACO,SAAS,EACf;IACE,CAACZ,oBAAoB,GAAGM,eAAe;IACvC,CAACL,uBAAuB,GAAGO;EAC7B,CACF,CAAC;EAED,MAAMK,YAAY,GAAIC,CAAC,IAAK;IAC1B,MAAMC,eAAe,GAAGD,CAAC,CAACE,aAAa,CAACC,YAAY,GAAGH,CAAC,CAACE,aAAa,CAACE,YAAY;IACnFP,WAAW,CAACQ,IAAI,CAACC,IAAI,CAAE,GAAG,GAAGN,CAAC,CAACE,aAAa,CAACK,SAAS,GAAIN,eAAe,CAAC,CAAC;EAC7E,CAAC;EAED,oBACEpB,KAAA,CAAA2B,aAAA;IAAA,GACMjB,KAAK;IACTO,SAAS,EAAEA,SAAU;IACrBW,IAAI,EAAC,WAAW;IAChB,iBAAe,CAAE;IACjB,iBAAe,GAAI;IACnB,iBAAeb,QAAS;IACxB,iBAAc,WAAW;IACzBc,QAAQ,EAAC,GAAG;IACZC,QAAQ,EAAEZ;EAAa,gBAEvBlB,KAAA,CAAA2B,aAAA;IAAKI,GAAG,EAAEnB;EAAe,CAAE,CAAC,eAC5BZ,KAAA,CAAA2B,aAAA;IAAKV,SAAS,EAAC;EAA8B,GAC1CR,QACE,CAAC,eACNT,KAAA,CAAA2B,aAAA;IAAKI,GAAG,EAAEjB;EAAkB,CAAE,CAC3B,CAAC;AAEV;AAEAP,UAAU,CAACyB,SAAS,GAAG;EACrB;EACAvB,QAAQ,EAAEP,SAAS,CAAC+B,IAAI,CAACC,UAAU;EACnC;EACAjB,SAAS,EAAEf,SAAS,CAACiC;AACvB,CAAC;AAED5B,UAAU,CAAC6B,YAAY,GAAG;EACxBnB,SAAS,EAAEoB;AACb,CAAC;AAED,eAAe9B,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useState","PropTypes","classNames","useIsVisible","CLASSNAME_SCROLL_TOP","CLASSNAME_SCROLL_BOTTOM","Scrollable","_ref","children","props","isScrolledToTop","topSentinelRef","isScrolledToBottom","bottomSentinelRef","valueNow","setValueNow","className","handleScroll","e","maxScrollHeight","currentTarget","scrollHeight","clientHeight","Math","ceil","scrollTop","createElement","role","tabIndex","onScroll","ref","propTypes","node","isRequired","string","defaultProps","undefined"],"sources":["../../src/Scrollable/index.jsx"],"sourcesContent":["import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport useIsVisible from '../hooks/useIsVisibleHook';\n\nexport const CLASSNAME_SCROLL_TOP = 'pgn__scrollable-body-scroll-top';\nexport const CLASSNAME_SCROLL_BOTTOM = 'pgn__scrollable-body-scroll-bottom';\n\nfunction Scrollable({ children, ...props }) {\n const [isScrolledToTop, topSentinelRef] = useIsVisible();\n const [isScrolledToBottom, bottomSentinelRef] = useIsVisible();\n const [valueNow, setValueNow] = useState(0);\n const className = classNames(\n 'pgn__scrollable-body',\n props.className,\n {\n [CLASSNAME_SCROLL_TOP]: isScrolledToTop,\n [CLASSNAME_SCROLL_BOTTOM]: isScrolledToBottom,\n },\n );\n\n const handleScroll = (e) => {\n const maxScrollHeight = e.currentTarget.scrollHeight - e.currentTarget.clientHeight;\n setValueNow(Math.ceil((100 * e.currentTarget.scrollTop) / maxScrollHeight));\n };\n\n return (\n <div\n {...props}\n className={className}\n role=\"scrollbar\"\n aria-valuemin={0}\n aria-valuemax={100}\n aria-valuenow={valueNow}\n aria-controls=\"scrollbar\"\n tabIndex=\"0\"\n onScroll={handleScroll}\n >\n <div ref={topSentinelRef} />\n <div className=\"pgn__scrollable-body-content\">\n {children}\n </div>\n <div ref={bottomSentinelRef} />\n </div>\n );\n}\n\nScrollable.propTypes = {\n /** Specifies the content of the `Scrollable`. */\n children: PropTypes.node.isRequired,\n /** Additional classnames for this component. */\n className: PropTypes.string,\n};\n\nScrollable.defaultProps = {\n className: undefined,\n};\n\nexport default Scrollable;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAOC,YAAY,MAAM,2BAA2B;AAEpD,OAAO,MAAMC,oBAAoB,GAAG,iCAAiC;AACrE,OAAO,MAAMC,uBAAuB,GAAG,oCAAoC;AAE3E,SAASC,UAAUA,CAAAC,IAAA,EAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAE,GAAGC;EAAM,CAAC,GAAAF,IAAA;EACxC,MAAM,CAACG,eAAe,EAAEC,cAAc,CAAC,GAAGR,YAAY,CAAC,CAAC;EACxD,MAAM,CAACS,kBAAkB,EAAEC,iBAAiB,CAAC,GAAGV,YAAY,CAAC,CAAC;EAC9D,MAAM,CAACW,QAAQ,EAAEC,WAAW,CAAC,GAAGf,QAAQ,CAAC,CAAC,CAAC;EAC3C,MAAMgB,SAAS,GAAGd,UAAU,CAC1B,sBAAsB,EACtBO,KAAK,CAACO,SAAS,EACf;IACE,CAACZ,oBAAoB,GAAGM,eAAe;IACvC,CAACL,uBAAuB,GAAGO;EAC7B,CACF,CAAC;EAED,MAAMK,YAAY,GAAIC,CAAC,IAAK;IAC1B,MAAMC,eAAe,GAAGD,CAAC,CAACE,aAAa,CAACC,YAAY,GAAGH,CAAC,CAACE,aAAa,CAACE,YAAY;IACnFP,WAAW,CAACQ,IAAI,CAACC,IAAI,CAAE,GAAG,GAAGN,CAAC,CAACE,aAAa,CAACK,SAAS,GAAIN,eAAe,CAAC,CAAC;EAC7E,CAAC;EAED,oBACEpB,KAAA,CAAA2B,aAAA;IAAA,GACMjB,KAAK;IACTO,SAAS,EAAEA,SAAU;IACrBW,IAAI,EAAC,WAAW;IAChB,iBAAe,CAAE;IACjB,iBAAe,GAAI;IACnB,iBAAeb,QAAS;IACxB,iBAAc,WAAW;IACzBc,QAAQ,EAAC,GAAG;IACZC,QAAQ,EAAEZ;EAAa,gBAEvBlB,KAAA,CAAA2B,aAAA;IAAKI,GAAG,EAAEnB;EAAe,CAAE,CAAC,eAC5BZ,KAAA,CAAA2B,aAAA;IAAKV,SAAS,EAAC;EAA8B,GAC1CR,QACE,CAAC,eACNT,KAAA,CAAA2B,aAAA;IAAKI,GAAG,EAAEjB;EAAkB,CAAE,CAC3B,CAAC;AAEV;AAEAP,UAAU,CAACyB,SAAS,GAAG;EACrB;EACAvB,QAAQ,EAAEP,SAAS,CAAC+B,IAAI,CAACC,UAAU;EACnC;EACAjB,SAAS,EAAEf,SAAS,CAACiC;AACvB,CAAC;AAED5B,UAAU,CAAC6B,YAAY,GAAG;EACxBnB,SAAS,EAAEoB;AACb,CAAC;AAED,eAAe9B,UAAU","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"SearchFieldAdvanced.js","names":["React","useRef","createContext","useState","useEffect","PropTypes","classNames","Search","Close","newId","SearchFieldContext","BUTTON_LOCATION_VARIANTS","SearchFieldAdvanced","props","children","className","screenReaderText","icons","onSubmit","onClear","onChange","onBlur","onFocus","value","initialValue","formAriaLabel","disabled","submitButtonLocation","rest","hasFocus","setHasFocus","setValue","isInitialMount","inputId","inputRef","submitButtonRef","current","handleSubmit","event","preventDefault","focus","handleClear","handleFocus","handleBlur","handleChange","target","createElement","role","onReset","Provider","refs","input","submitButton","propTypes","node","isRequired","func","string","shape","label","oneOfType","element","clearButton","submit","elementType","clear","bool","oneOf","defaultProps","undefined"],"sources":["../../src/SearchField/SearchFieldAdvanced.jsx"],"sourcesContent":["import React, {\n useRef, createContext, useState, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Search, Close } from '../../icons';\nimport newId from '../utils/newId';\n\nexport const SearchFieldContext = createContext();\n\nconst BUTTON_LOCATION_VARIANTS = [\n 'internal',\n 'external',\n];\n\nfunction SearchFieldAdvanced(props) {\n const {\n children,\n className,\n screenReaderText,\n icons,\n onSubmit,\n onClear,\n onChange,\n onBlur,\n onFocus,\n value: initialValue,\n formAriaLabel,\n disabled,\n submitButtonLocation,\n ...rest\n } = props;\n\n const [hasFocus, setHasFocus] = useState(false);\n const [value, setValue] = useState(initialValue);\n\n const isInitialMount = useRef(true);\n const inputId = useRef(`${newId('pgn-searchfield-input-')}`);\n const inputRef = useRef();\n const submitButtonRef = useRef();\n\n useEffect(() => {\n setValue(initialValue);\n }, [initialValue]);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n } else {\n onChange(value);\n }\n }, [value, onChange]);\n\n const handleSubmit = (event) => {\n event.preventDefault();\n onSubmit(value);\n if (submitButtonRef && submitButtonRef.current) {\n submitButtonRef.current.focus();\n }\n };\n\n const handleClear = () => {\n setValue('');\n onClear();\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const handleFocus = (event) => {\n setHasFocus(true);\n onFocus(event);\n };\n\n const handleBlur = (event) => {\n setHasFocus(false);\n onBlur(event);\n };\n\n const handleChange = (event) => {\n setValue(event.target.value);\n };\n\n return (\n <div\n className={classNames(\n 'pgn__searchfield',\n 'd-flex',\n {\n 'has-focus': hasFocus,\n disabled,\n 'pgn__searchfield--external': submitButtonLocation === 'external',\n },\n className,\n )}\n {...rest}\n >\n <form\n role=\"search\"\n onSubmit={handleSubmit}\n onReset={handleClear}\n className=\"pgn__searchfield-form\"\n aria-label={formAriaLabel}\n >\n <SearchFieldContext.Provider\n value={{\n inputId,\n screenReaderText,\n icons,\n value,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n refs: {\n input: inputRef,\n submitButton: submitButtonRef,\n },\n }}\n >\n {children}\n </SearchFieldContext.Provider>\n </form>\n </div>\n );\n}\n\nSearchFieldAdvanced.propTypes = {\n /** specifies the nested child elements. At a minimum, `SearchField.Label` and `SearchField.Input` are required. */\n children: PropTypes.node.isRequired,\n /** specifies a callback function for when the `SearchField` is submitted by the user. For example:\n ```jsx\n <SearchField onSubmit={(value) => { console.log(value); } />\n ``` */\n onSubmit: PropTypes.func.isRequired,\n /** specifies a custom class name. */\n className: PropTypes.string,\n /** specifies a callback function for when the user loses focus in the `SearchField` component.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onBlur={event => console.log(event)} />\n ``` */\n onBlur: PropTypes.func,\n /** specifies a callback function for when the value in `SearchField` is changed by the user.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onChange={value => console.log(value)} />\n ``` */\n onChange: PropTypes.func,\n /** specifies a callback function for when the value in `SearchField` is cleared by the user.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onClear={() => console.log('search cleared')} />\n ``` */\n onClear: PropTypes.func,\n /** specifies a callback function for when the user focuses in the `SearchField` component.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onFocus={event => console.log(event)} />\n ``` */\n onFocus: PropTypes.func,\n /** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations).\n * The default is `{ label: 'search', clearButton: 'clear search', searchButton: 'submit search' }`. */\n screenReaderText: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n submitButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n clearButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /** specifies the initial value for the input. The default is an empty string. */\n value: PropTypes.string,\n /** specifies the icon element(s) to use for the clear and submit buttons. */\n icons: PropTypes.shape({\n submit: PropTypes.elementType.isRequired,\n clear: PropTypes.elementType,\n }),\n /** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component\n * more than once on a page. */\n formAriaLabel: PropTypes.string,\n /** Specifies whether the `SearchField` is disabled. */\n disabled: PropTypes.bool,\n /** Controls whether the search button is internal as an icon or external as a button. */\n submitButtonLocation: PropTypes.oneOf(BUTTON_LOCATION_VARIANTS),\n};\n\nSearchFieldAdvanced.defaultProps = {\n className: undefined,\n formAriaLabel: undefined,\n value: '',\n screenReaderText: {\n label: 'search',\n submitButton: 'submit search',\n clearButton: 'clear search',\n },\n icons: {\n clear: Close,\n submit: Search,\n },\n onBlur: () => {},\n onChange: () => {},\n onFocus: () => {},\n onClear: () => {},\n disabled: false,\n submitButtonLocation: 'internal',\n};\n\nexport default SearchFieldAdvanced;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SearchFieldAdvanced.js","names":["React","useRef","createContext","useState","useEffect","PropTypes","classNames","Search","Close","newId","SearchFieldContext","BUTTON_LOCATION_VARIANTS","SearchFieldAdvanced","props","children","className","screenReaderText","icons","onSubmit","onClear","onChange","onBlur","onFocus","value","initialValue","formAriaLabel","disabled","submitButtonLocation","rest","hasFocus","setHasFocus","setValue","isInitialMount","inputId","inputRef","submitButtonRef","current","handleSubmit","event","preventDefault","focus","handleClear","handleFocus","handleBlur","handleChange","target","createElement","role","onReset","Provider","refs","input","submitButton","propTypes","node","isRequired","func","string","shape","label","oneOfType","element","clearButton","submit","elementType","clear","bool","oneOf","defaultProps","undefined"],"sources":["../../src/SearchField/SearchFieldAdvanced.jsx"],"sourcesContent":["import React, {\n useRef, createContext, useState, useEffect,\n} from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Search, Close } from '../../icons';\nimport newId from '../utils/newId';\n\nexport const SearchFieldContext = createContext();\n\nconst BUTTON_LOCATION_VARIANTS = [\n 'internal',\n 'external',\n];\n\nfunction SearchFieldAdvanced(props) {\n const {\n children,\n className,\n screenReaderText,\n icons,\n onSubmit,\n onClear,\n onChange,\n onBlur,\n onFocus,\n value: initialValue,\n formAriaLabel,\n disabled,\n submitButtonLocation,\n ...rest\n } = props;\n\n const [hasFocus, setHasFocus] = useState(false);\n const [value, setValue] = useState(initialValue);\n\n const isInitialMount = useRef(true);\n const inputId = useRef(`${newId('pgn-searchfield-input-')}`);\n const inputRef = useRef();\n const submitButtonRef = useRef();\n\n useEffect(() => {\n setValue(initialValue);\n }, [initialValue]);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n } else {\n onChange(value);\n }\n }, [value, onChange]);\n\n const handleSubmit = (event) => {\n event.preventDefault();\n onSubmit(value);\n if (submitButtonRef && submitButtonRef.current) {\n submitButtonRef.current.focus();\n }\n };\n\n const handleClear = () => {\n setValue('');\n onClear();\n if (inputRef && inputRef.current) {\n inputRef.current.focus();\n }\n };\n\n const handleFocus = (event) => {\n setHasFocus(true);\n onFocus(event);\n };\n\n const handleBlur = (event) => {\n setHasFocus(false);\n onBlur(event);\n };\n\n const handleChange = (event) => {\n setValue(event.target.value);\n };\n\n return (\n <div\n className={classNames(\n 'pgn__searchfield',\n 'd-flex',\n {\n 'has-focus': hasFocus,\n disabled,\n 'pgn__searchfield--external': submitButtonLocation === 'external',\n },\n className,\n )}\n {...rest}\n >\n <form\n role=\"search\"\n onSubmit={handleSubmit}\n onReset={handleClear}\n className=\"pgn__searchfield-form\"\n aria-label={formAriaLabel}\n >\n <SearchFieldContext.Provider\n value={{\n inputId,\n screenReaderText,\n icons,\n value,\n disabled,\n handleFocus,\n handleBlur,\n handleChange,\n refs: {\n input: inputRef,\n submitButton: submitButtonRef,\n },\n }}\n >\n {children}\n </SearchFieldContext.Provider>\n </form>\n </div>\n );\n}\n\nSearchFieldAdvanced.propTypes = {\n /** specifies the nested child elements. At a minimum, `SearchField.Label` and `SearchField.Input` are required. */\n children: PropTypes.node.isRequired,\n /** specifies a callback function for when the `SearchField` is submitted by the user. For example:\n ```jsx\n <SearchField onSubmit={(value) => { console.log(value); } />\n ``` */\n onSubmit: PropTypes.func.isRequired,\n /** specifies a custom class name. */\n className: PropTypes.string,\n /** specifies a callback function for when the user loses focus in the `SearchField` component.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onBlur={event => console.log(event)} />\n ``` */\n onBlur: PropTypes.func,\n /** specifies a callback function for when the value in `SearchField` is changed by the user.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onChange={value => console.log(value)} />\n ``` */\n onChange: PropTypes.func,\n /** specifies a callback function for when the value in `SearchField` is cleared by the user.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onClear={() => console.log('search cleared')} />\n ``` */\n onClear: PropTypes.func,\n /** specifies a callback function for when the user focuses in the `SearchField` component.\n * The default is an empty function. For example:\n ```jsx\n <SearchField onFocus={event => console.log(event)} />\n ``` */\n onFocus: PropTypes.func,\n /** specifies the screenreader text for both the clear and submit buttons (e.g., for i18n translations).\n * The default is `{ label: 'search', clearButton: 'clear search', searchButton: 'submit search' }`. */\n screenReaderText: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n submitButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n clearButton: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n }),\n /** specifies the initial value for the input. The default is an empty string. */\n value: PropTypes.string,\n /** specifies the icon element(s) to use for the clear and submit buttons. */\n icons: PropTypes.shape({\n submit: PropTypes.elementType.isRequired,\n clear: PropTypes.elementType,\n }),\n /** specifies the aria-label attribute on the form element. This is useful if you use the `SearchField` component\n * more than once on a page. */\n formAriaLabel: PropTypes.string,\n /** Specifies whether the `SearchField` is disabled. */\n disabled: PropTypes.bool,\n /** Controls whether the search button is internal as an icon or external as a button. */\n submitButtonLocation: PropTypes.oneOf(BUTTON_LOCATION_VARIANTS),\n};\n\nSearchFieldAdvanced.defaultProps = {\n className: undefined,\n formAriaLabel: undefined,\n value: '',\n screenReaderText: {\n label: 'search',\n submitButton: 'submit search',\n clearButton: 'clear search',\n },\n icons: {\n clear: Close,\n submit: Search,\n },\n onBlur: () => {},\n onChange: () => {},\n onFocus: () => {},\n onClear: () => {},\n disabled: false,\n submitButtonLocation: 'internal',\n};\n\nexport default SearchFieldAdvanced;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ @use "sass:map";
1
2
  @import "variables";
2
3
 
3
4
  .pgn__searchfield {
@@ -129,5 +130,5 @@
129
130
  .pgn__searchfield__iconbutton-submit,
130
131
  .pgn__searchfield__iconbutton-reset {
131
132
  flex-shrink: 0;
132
- margin-inline-end: map-get($spacers, 1);
133
+ margin-inline-end: map.get($spacers, 1);
133
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SelectableBoxSet.js","names":["React","PropTypes","classNames","getInputType","requiredWhenNot","INPUT_TYPES","DEFAULT_COLUMNS_NUMBER","SelectableBoxSet","forwardRef","_ref","ref","children","name","value","defaultValue","onChange","type","columns","className","ariaLabel","ariaLabelledby","props","inputType","createElement","propTypes","string","isRequired","node","func","oneOfType","number","array","oneOf","defaultProps","undefined"],"sources":["../../src/SelectableBox/SelectableBoxSet.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getInputType } from './utils';\nimport { requiredWhenNot } from '../utils/propTypes';\n\nconst INPUT_TYPES = [\n 'radio',\n 'checkbox',\n];\n\nconst DEFAULT_COLUMNS_NUMBER = 2;\n\nconst SelectableBoxSet = React.forwardRef(({\n children,\n name,\n value,\n defaultValue,\n onChange,\n type,\n columns,\n className,\n ariaLabel,\n ariaLabelledby,\n ...props\n}, ref) => {\n const inputType = getInputType('SelectableBoxSet', type);\n\n return React.createElement(\n inputType,\n {\n name,\n value,\n defaultValue,\n onChange,\n ref,\n className: classNames(\n 'pgn__selectable_box-set',\n `pgn__selectable_box-set--${columns || DEFAULT_COLUMNS_NUMBER}`,\n className,\n ),\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...props,\n },\n children,\n );\n});\n\nSelectableBoxSet.propTypes = {\n /** Specifies a name for the group of `SelectableBox`'es. */\n name: PropTypes.string.isRequired,\n /** Content of the `SelectableBoxSet`. */\n children: PropTypes.node,\n /** A function that receives event of the clicked `SelectableBox` and can be used to handle the value change. */\n onChange: PropTypes.func,\n /** Indicates selected `SelectableBox`'es. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]),\n /** Specifies default values for the `SelectableBox`'es. */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Indicates the input type: checkbox or radio. */\n type: PropTypes.oneOf(INPUT_TYPES),\n /**\n * Specifies number of `SelectableBox`'es in a row.\n *\n * Class that is responsible for the columns number: `pgn__selectable_box-set--{columns}`.\n * Max number of columns: `12`.\n */\n columns: PropTypes.number,\n /** A class that is be appended to the base element. */\n className: PropTypes.string,\n /**\n * The ID of the label for the `SelectableBoxSet`.\n *\n * An accessible label must be provided to the `SelectableBoxSet`.\n */\n ariaLabelledby: PropTypes.string,\n /**\n * A label for the `SelectableBoxSet`.\n *\n * If not using `ariaLabelledby`, then `ariaLabel` must be provided */\n ariaLabel: requiredWhenNot(PropTypes.string, 'ariaLabelledby'),\n};\n\nSelectableBoxSet.defaultProps = {\n children: undefined,\n onChange: () => {},\n value: undefined,\n defaultValue: undefined,\n type: 'radio',\n columns: DEFAULT_COLUMNS_NUMBER,\n className: undefined,\n ariaLabelledby: undefined,\n ariaLabel: undefined,\n};\n\nexport default SelectableBoxSet;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,SAAS;AACtC,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,MAAMC,WAAW,GAAG,CAClB,OAAO,EACP,UAAU,CACX;AAED,MAAMC,sBAAsB,GAAG,CAAC;AAEhC,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,UAAU,CAAC,CAAAC,IAAA,EAYvCC,GAAG,KAAK;EAAA,IAZgC;IACzCC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,IAAI;IACJC,OAAO;IACPC,SAAS;IACTC,SAAS;IACTC,cAAc;IACd,GAAGC;EACL,CAAC,GAAAZ,IAAA;EACC,MAAMa,SAAS,GAAGnB,YAAY,CAAC,kBAAkB,EAAEa,IAAI,CAAC;EAExD,oBAAOhB,KAAK,CAACuB,aAAa,CACxBD,SAAS,EACT;IACEV,IAAI;IACJC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRL,GAAG;IACHQ,SAAS,EAAEhB,UAAU,CACnB,yBAAyB,EACxB,4BAA2Be,OAAO,IAAIX,sBAAuB,EAAC,EAC/DY,SACF,CAAC;IACD,YAAY,EAAEC,SAAS;IACvB,iBAAiB,EAAEC,cAAc;IACjC,GAAGC;EACL,CAAC,EACDV,QACF,CAAC;AACH,CAAC,CAAC;AAEFJ,gBAAgB,CAACiB,SAAS,GAAG;EAC3B;EACAZ,IAAI,EAAEX,SAAS,CAACwB,MAAM,CAACC,UAAU;EACjC;EACAf,QAAQ,EAAEV,SAAS,CAAC0B,IAAI;EACxB;EACAZ,QAAQ,EAAEd,SAAS,CAAC2B,IAAI;EACxB;EACAf,KAAK,EAAEZ,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,MAAM,EAAExB,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAAC8B,KAAK,CAAC,CAAC;EACjF;EACAjB,YAAY,EAAEb,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,MAAM,EAAExB,SAAS,CAAC6B,MAAM,CAAC,CAAC;EACvE;EACAd,IAAI,EAAEf,SAAS,CAAC+B,KAAK,CAAC3B,WAAW,CAAC;EAClC;AACF;AACA;AACA;AACA;AACA;EACEY,OAAO,EAAEhB,SAAS,CAAC6B,MAAM;EACzB;EACAZ,SAAS,EAAEjB,SAAS,CAACwB,MAAM;EAC3B;AACF;AACA;AACA;AACA;EACEL,cAAc,EAAEnB,SAAS,CAACwB,MAAM;EAChC;AACF;AACA;AACA;EACEN,SAAS,EAAEf,eAAe,CAACH,SAAS,CAACwB,MAAM,EAAE,gBAAgB;AAC/D,CAAC;AAEDlB,gBAAgB,CAAC0B,YAAY,GAAG;EAC9BtB,QAAQ,EAAEuB,SAAS;EACnBnB,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBF,KAAK,EAAEqB,SAAS;EAChBpB,YAAY,EAAEoB,SAAS;EACvBlB,IAAI,EAAE,OAAO;EACbC,OAAO,EAAEX,sBAAsB;EAC/BY,SAAS,EAAEgB,SAAS;EACpBd,cAAc,EAAEc,SAAS;EACzBf,SAAS,EAAEe;AACb,CAAC;AAED,eAAe3B,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"SelectableBoxSet.js","names":["React","PropTypes","classNames","getInputType","requiredWhenNot","INPUT_TYPES","DEFAULT_COLUMNS_NUMBER","SelectableBoxSet","forwardRef","_ref","ref","children","name","value","defaultValue","onChange","type","columns","className","ariaLabel","ariaLabelledby","props","inputType","createElement","propTypes","string","isRequired","node","func","oneOfType","number","array","oneOf","defaultProps","undefined"],"sources":["../../src/SelectableBox/SelectableBoxSet.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { getInputType } from './utils';\nimport { requiredWhenNot } from '../utils/propTypes';\n\nconst INPUT_TYPES = [\n 'radio',\n 'checkbox',\n];\n\nconst DEFAULT_COLUMNS_NUMBER = 2;\n\nconst SelectableBoxSet = React.forwardRef(({\n children,\n name,\n value,\n defaultValue,\n onChange,\n type,\n columns,\n className,\n ariaLabel,\n ariaLabelledby,\n ...props\n}, ref) => {\n const inputType = getInputType('SelectableBoxSet', type);\n\n return React.createElement(\n inputType,\n {\n name,\n value,\n defaultValue,\n onChange,\n ref,\n className: classNames(\n 'pgn__selectable_box-set',\n `pgn__selectable_box-set--${columns || DEFAULT_COLUMNS_NUMBER}`,\n className,\n ),\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n ...props,\n },\n children,\n );\n});\n\nSelectableBoxSet.propTypes = {\n /** Specifies a name for the group of `SelectableBox`'es. */\n name: PropTypes.string.isRequired,\n /** Content of the `SelectableBoxSet`. */\n children: PropTypes.node,\n /** A function that receives event of the clicked `SelectableBox` and can be used to handle the value change. */\n onChange: PropTypes.func,\n /** Indicates selected `SelectableBox`'es. */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.array]),\n /** Specifies default values for the `SelectableBox`'es. */\n defaultValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Indicates the input type: checkbox or radio. */\n type: PropTypes.oneOf(INPUT_TYPES),\n /**\n * Specifies number of `SelectableBox`'es in a row.\n *\n * Class that is responsible for the columns number: `pgn__selectable_box-set--{columns}`.\n * Max number of columns: `12`.\n */\n columns: PropTypes.number,\n /** A class that is be appended to the base element. */\n className: PropTypes.string,\n /**\n * The ID of the label for the `SelectableBoxSet`.\n *\n * An accessible label must be provided to the `SelectableBoxSet`.\n */\n ariaLabelledby: PropTypes.string,\n /**\n * A label for the `SelectableBoxSet`.\n *\n * If not using `ariaLabelledby`, then `ariaLabel` must be provided */\n ariaLabel: requiredWhenNot(PropTypes.string, 'ariaLabelledby'),\n};\n\nSelectableBoxSet.defaultProps = {\n children: undefined,\n onChange: () => {},\n value: undefined,\n defaultValue: undefined,\n type: 'radio',\n columns: DEFAULT_COLUMNS_NUMBER,\n className: undefined,\n ariaLabelledby: undefined,\n ariaLabel: undefined,\n};\n\nexport default SelectableBoxSet;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,YAAY,QAAQ,SAAS;AACtC,SAASC,eAAe,QAAQ,oBAAoB;AAEpD,MAAMC,WAAW,GAAG,CAClB,OAAO,EACP,UAAU,CACX;AAED,MAAMC,sBAAsB,GAAG,CAAC;AAEhC,MAAMC,gBAAgB,gBAAGP,KAAK,CAACQ,UAAU,CAAC,CAAAC,IAAA,EAYvCC,GAAG,KAAK;EAAA,IAZgC;IACzCC,QAAQ;IACRC,IAAI;IACJC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRC,IAAI;IACJC,OAAO;IACPC,SAAS;IACTC,SAAS;IACTC,cAAc;IACd,GAAGC;EACL,CAAC,GAAAZ,IAAA;EACC,MAAMa,SAAS,GAAGnB,YAAY,CAAC,kBAAkB,EAAEa,IAAI,CAAC;EAExD,oBAAOhB,KAAK,CAACuB,aAAa,CACxBD,SAAS,EACT;IACEV,IAAI;IACJC,KAAK;IACLC,YAAY;IACZC,QAAQ;IACRL,GAAG;IACHQ,SAAS,EAAEhB,UAAU,CACnB,yBAAyB,EACzB,4BAA4Be,OAAO,IAAIX,sBAAsB,EAAE,EAC/DY,SACF,CAAC;IACD,YAAY,EAAEC,SAAS;IACvB,iBAAiB,EAAEC,cAAc;IACjC,GAAGC;EACL,CAAC,EACDV,QACF,CAAC;AACH,CAAC,CAAC;AAEFJ,gBAAgB,CAACiB,SAAS,GAAG;EAC3B;EACAZ,IAAI,EAAEX,SAAS,CAACwB,MAAM,CAACC,UAAU;EACjC;EACAf,QAAQ,EAAEV,SAAS,CAAC0B,IAAI;EACxB;EACAZ,QAAQ,EAAEd,SAAS,CAAC2B,IAAI;EACxB;EACAf,KAAK,EAAEZ,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,MAAM,EAAExB,SAAS,CAAC6B,MAAM,EAAE7B,SAAS,CAAC8B,KAAK,CAAC,CAAC;EACjF;EACAjB,YAAY,EAAEb,SAAS,CAAC4B,SAAS,CAAC,CAAC5B,SAAS,CAACwB,MAAM,EAAExB,SAAS,CAAC6B,MAAM,CAAC,CAAC;EACvE;EACAd,IAAI,EAAEf,SAAS,CAAC+B,KAAK,CAAC3B,WAAW,CAAC;EAClC;AACF;AACA;AACA;AACA;AACA;EACEY,OAAO,EAAEhB,SAAS,CAAC6B,MAAM;EACzB;EACAZ,SAAS,EAAEjB,SAAS,CAACwB,MAAM;EAC3B;AACF;AACA;AACA;AACA;EACEL,cAAc,EAAEnB,SAAS,CAACwB,MAAM;EAChC;AACF;AACA;AACA;EACEN,SAAS,EAAEf,eAAe,CAACH,SAAS,CAACwB,MAAM,EAAE,gBAAgB;AAC/D,CAAC;AAEDlB,gBAAgB,CAAC0B,YAAY,GAAG;EAC9BtB,QAAQ,EAAEuB,SAAS;EACnBnB,QAAQ,EAAEA,CAAA,KAAM,CAAC,CAAC;EAClBF,KAAK,EAAEqB,SAAS;EAChBpB,YAAY,EAAEoB,SAAS;EACvBlB,IAAI,EAAE,OAAO;EACbC,OAAO,EAAEX,sBAAsB;EAC/BY,SAAS,EAAEgB,SAAS;EACpBd,cAAc,EAAEc,SAAS;EACzBf,SAAS,EAAEe;AACb,CAAC;AAED,eAAe3B,gBAAgB","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FocusOn","SheetContainer","POSITIONS","left","right","top","bottom","VARIANTS","light","dark","Sheet","Component","constructor","props","wrapperRef","createRef","renderSheet","bind","children","position","variant","createElement","className","role","render","blocking","show","onClose","hidden","onClickOutside","onEscapeKey","shards","propTypes","bool","node","oneOf","func","defaultProps","undefined"],"sources":["../../src/Sheet/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FocusOn } from 'react-focus-on';\n\nimport SheetContainer from './SheetContainer';\n\nexport const POSITIONS = {\n left: 'left',\n right: 'right',\n top: 'top',\n bottom: 'bottom',\n};\n\nexport const VARIANTS = {\n light: 'light',\n dark: 'dark',\n};\n\nclass Sheet extends React.Component {\n constructor(props) {\n super(props);\n\n this.wrapperRef = React.createRef();\n this.renderSheet = this.renderSheet.bind(this);\n }\n\n renderSheet() {\n const { children, position, variant } = this.props;\n return (\n <div\n className={classNames(\n 'pgn__sheet-component',\n `pgn__sheet__${variant}`,\n position,\n )}\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div className=\"pgn__sheet-content\">\n { children }\n </div>\n </div>\n );\n }\n\n render() {\n const {\n blocking,\n show,\n onClose,\n } = this.props;\n if (!show) {\n return null;\n }\n return (\n <SheetContainer>\n <div\n className={classNames(\n 'pgn__sheet-skrim',\n { hidden: !blocking },\n )}\n role=\"presentation\"\n />\n <FocusOn\n onClickOutside={blocking ? () => {} : onClose}\n onEscapeKey={blocking ? () => {} : onClose}\n shards={[this.wrapperRef]}\n >\n {this.renderSheet()}\n </FocusOn>\n </SheetContainer>\n );\n }\n}\n\nSheet.propTypes = {\n /** specifies whether the sheet provides a click-blocking scrim */\n blocking: PropTypes.bool,\n /** an element rendered inside the sheet */\n children: PropTypes.node,\n /** a string designating the sheet's position on the window */\n position: PropTypes.oneOf([\n POSITIONS.left,\n POSITIONS.right,\n POSITIONS.top,\n POSITIONS.bottom,\n ]),\n /** Boolean used to control whether the Sheet shows. */\n show: PropTypes.bool,\n /** Specifies function that controls `show` value. */\n onClose: PropTypes.func,\n /** a string designating which version of the sheet to show (light vs dark) */\n variant: PropTypes.oneOf([VARIANTS.light, VARIANTS.dark]),\n};\n\nSheet.defaultProps = {\n blocking: false,\n children: undefined,\n position: POSITIONS.bottom,\n show: true,\n onClose: () => {},\n variant: VARIANTS.light,\n};\n\nexport default Sheet;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AACnC,SAASC,OAAO,QAAQ,gBAAgB;AAExC,OAAOC,cAAc,MAAM,kBAAkB;AAE7C,OAAO,MAAMC,SAAS,GAAG;EACvBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,GAAG,EAAE,KAAK;EACVC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,MAAMC,QAAQ,GAAG;EACtBC,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE;AACR,CAAC;AAED,MAAMC,KAAK,SAASb,KAAK,CAACc,SAAS,CAAC;EAClCC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAEZ,IAAI,CAACC,UAAU,gBAAGjB,KAAK,CAACkB,SAAS,CAAC,CAAC;IACnC,IAAI,CAACC,WAAW,GAAG,IAAI,CAACA,WAAW,CAACC,IAAI,CAAC,IAAI,CAAC;EAChD;EAEAD,WAAWA,CAAA,EAAG;IACZ,MAAM;MAAEE,QAAQ;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAG,IAAI,CAACP,KAAK;IAClD,oBACEhB,KAAA,CAAAwB,aAAA;MACEC,SAAS,EAAEvB,UAAU,CACnB,sBAAsB,EACrB,eAAcqB,OAAQ,EAAC,EACxBD,QACF,CAAE;MACFI,IAAI,EAAC,OAAO;MACZ,aAAU,QAAQ;MAClB,eAAY;IAAM,gBAElB1B,KAAA,CAAAwB,aAAA;MAAKC,SAAS,EAAC;IAAoB,GAC/BJ,QACC,CACF,CAAC;EAEV;EAEAM,MAAMA,CAAA,EAAG;IACP,MAAM;MACJC,QAAQ;MACRC,IAAI;MACJC;IACF,CAAC,GAAG,IAAI,CAACd,KAAK;IACd,IAAI,CAACa,IAAI,EAAE;MACT,OAAO,IAAI;IACb;IACA,oBACE7B,KAAA,CAAAwB,aAAA,CAACpB,cAAc,qBACbJ,KAAA,CAAAwB,aAAA;MACEC,SAAS,EAAEvB,UAAU,CACnB,kBAAkB,EAClB;QAAE6B,MAAM,EAAE,CAACH;MAAS,CACtB,CAAE;MACFF,IAAI,EAAC;IAAc,CACpB,CAAC,eACF1B,KAAA,CAAAwB,aAAA,CAACrB,OAAO;MACN6B,cAAc,EAAEJ,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAGE,OAAQ;MAC9CG,WAAW,EAAEL,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAGE,OAAQ;MAC3CI,MAAM,EAAE,CAAC,IAAI,CAACjB,UAAU;IAAE,GAEzB,IAAI,CAACE,WAAW,CAAC,CACX,CACK,CAAC;EAErB;AACF;AAEAN,KAAK,CAACsB,SAAS,GAAG;EAChB;EACAP,QAAQ,EAAE3B,SAAS,CAACmC,IAAI;EACxB;EACAf,QAAQ,EAAEpB,SAAS,CAACoC,IAAI;EACxB;EACAf,QAAQ,EAAErB,SAAS,CAACqC,KAAK,CAAC,CACxBjC,SAAS,CAACC,IAAI,EACdD,SAAS,CAACE,KAAK,EACfF,SAAS,CAACG,GAAG,EACbH,SAAS,CAACI,MAAM,CACjB,CAAC;EACF;EACAoB,IAAI,EAAE5B,SAAS,CAACmC,IAAI;EACpB;EACAN,OAAO,EAAE7B,SAAS,CAACsC,IAAI;EACvB;EACAhB,OAAO,EAAEtB,SAAS,CAACqC,KAAK,CAAC,CAAC5B,QAAQ,CAACC,KAAK,EAAED,QAAQ,CAACE,IAAI,CAAC;AAC1D,CAAC;AAEDC,KAAK,CAAC2B,YAAY,GAAG;EACnBZ,QAAQ,EAAE,KAAK;EACfP,QAAQ,EAAEoB,SAAS;EACnBnB,QAAQ,EAAEjB,SAAS,CAACI,MAAM;EAC1BoB,IAAI,EAAE,IAAI;EACVC,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC;EACjBP,OAAO,EAAEb,QAAQ,CAACC;AACpB,CAAC;AAED,eAAeE,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","FocusOn","SheetContainer","POSITIONS","left","right","top","bottom","VARIANTS","light","dark","Sheet","Component","constructor","props","wrapperRef","createRef","renderSheet","bind","children","position","variant","createElement","className","role","render","blocking","show","onClose","hidden","onClickOutside","onEscapeKey","shards","propTypes","bool","node","oneOf","func","defaultProps","undefined"],"sources":["../../src/Sheet/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { FocusOn } from 'react-focus-on';\n\nimport SheetContainer from './SheetContainer';\n\nexport const POSITIONS = {\n left: 'left',\n right: 'right',\n top: 'top',\n bottom: 'bottom',\n};\n\nexport const VARIANTS = {\n light: 'light',\n dark: 'dark',\n};\n\nclass Sheet extends React.Component {\n constructor(props) {\n super(props);\n\n this.wrapperRef = React.createRef();\n this.renderSheet = this.renderSheet.bind(this);\n }\n\n renderSheet() {\n const { children, position, variant } = this.props;\n return (\n <div\n className={classNames(\n 'pgn__sheet-component',\n `pgn__sheet__${variant}`,\n position,\n )}\n role=\"alert\"\n aria-live=\"polite\"\n aria-atomic=\"true\"\n >\n <div className=\"pgn__sheet-content\">\n { children }\n </div>\n </div>\n );\n }\n\n render() {\n const {\n blocking,\n show,\n onClose,\n } = this.props;\n if (!show) {\n return null;\n }\n return (\n <SheetContainer>\n <div\n className={classNames(\n 'pgn__sheet-skrim',\n { hidden: !blocking },\n )}\n role=\"presentation\"\n />\n <FocusOn\n onClickOutside={blocking ? () => {} : onClose}\n onEscapeKey={blocking ? () => {} : onClose}\n shards={[this.wrapperRef]}\n >\n {this.renderSheet()}\n </FocusOn>\n </SheetContainer>\n );\n }\n}\n\nSheet.propTypes = {\n /** specifies whether the sheet provides a click-blocking scrim */\n blocking: PropTypes.bool,\n /** an element rendered inside the sheet */\n children: PropTypes.node,\n /** a string designating the sheet's position on the window */\n position: PropTypes.oneOf([\n POSITIONS.left,\n POSITIONS.right,\n POSITIONS.top,\n POSITIONS.bottom,\n ]),\n /** Boolean used to control whether the Sheet shows. */\n show: PropTypes.bool,\n /** Specifies function that controls `show` value. */\n onClose: PropTypes.func,\n /** a string designating which version of the sheet to show (light vs dark) */\n variant: PropTypes.oneOf([VARIANTS.light, VARIANTS.dark]),\n};\n\nSheet.defaultProps = {\n blocking: false,\n children: undefined,\n position: POSITIONS.bottom,\n show: true,\n onClose: () => {},\n variant: VARIANTS.light,\n};\n\nexport default Sheet;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","DIRECTION_VARIANTS","Stack","_ref","ref","direction","gap","reversed","children","className","rest","createElement","propTypes","node","isRequired","oneOf","number","bool","string","defaultProps","undefined"],"sources":["../../src/Stack/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst DIRECTION_VARIANTS = [\n 'horizontal',\n 'vertical',\n];\n\nconst Stack = forwardRef(({\n direction,\n gap,\n reversed,\n children,\n className,\n ...rest\n}, ref) => (\n <div\n ref={ref}\n className={classNames(\n direction === 'horizontal' ? 'pgn__hstack' : 'pgn__vstack',\n gap ? `pgn__stack-gap--${gap}` : '',\n reversed ? 'pgn__stack-reversed' : '',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n));\n\nStack.propTypes = {\n /** Specifies the content of the `Stack`. */\n children: PropTypes.node.isRequired,\n /** Specifies direction of the children blocks (column/row). */\n direction: PropTypes.oneOf(DIRECTION_VARIANTS),\n /**\n * Specifies inner space between children blocks.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n gap: PropTypes.number,\n /** Specifies the order of the children. */\n reversed: PropTypes.bool,\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nStack.defaultProps = {\n direction: 'vertical',\n gap: 0,\n className: undefined,\n reversed: false,\n};\n\nexport default Stack;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,kBAAkB,GAAG,CACzB,YAAY,EACZ,UAAU,CACX;AAED,MAAMC,KAAK,gBAAGJ,UAAU,CAAC,CAAAK,IAAA,EAOtBC,GAAG;EAAA,IAPoB;IACxBC,SAAS;IACTC,GAAG;IACHC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAP,IAAA;EAAA,oBACCN,KAAA,CAAAc,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTK,SAAS,EAAET,UAAU,CACnBK,SAAS,KAAK,YAAY,GAAG,aAAa,GAAG,aAAa,EAC1DC,GAAG,GAAI,mBAAkBA,GAAI,EAAC,GAAG,EAAE,EACnCC,QAAQ,GAAG,qBAAqB,GAAG,EAAE,EACrCE,SACF,CAAE;IAAA,GACEC;EAAI,GAEPF,QACE,CAAC;AAAA,CACP,CAAC;AAEFN,KAAK,CAACU,SAAS,GAAG;EAChB;EACAJ,QAAQ,EAAET,SAAS,CAACc,IAAI,CAACC,UAAU;EACnC;EACAT,SAAS,EAAEN,SAAS,CAACgB,KAAK,CAACd,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;AACA;EACEK,GAAG,EAAEP,SAAS,CAACiB,MAAM;EACrB;EACAT,QAAQ,EAAER,SAAS,CAACkB,IAAI;EACxB;EACAR,SAAS,EAAEV,SAAS,CAACmB;AACvB,CAAC;AAEDhB,KAAK,CAACiB,YAAY,GAAG;EACnBd,SAAS,EAAE,UAAU;EACrBC,GAAG,EAAE,CAAC;EACNG,SAAS,EAAEW,SAAS;EACpBb,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeL,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","forwardRef","PropTypes","classNames","DIRECTION_VARIANTS","Stack","_ref","ref","direction","gap","reversed","children","className","rest","createElement","propTypes","node","isRequired","oneOf","number","bool","string","defaultProps","undefined"],"sources":["../../src/Stack/index.jsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst DIRECTION_VARIANTS = [\n 'horizontal',\n 'vertical',\n];\n\nconst Stack = forwardRef(({\n direction,\n gap,\n reversed,\n children,\n className,\n ...rest\n}, ref) => (\n <div\n ref={ref}\n className={classNames(\n direction === 'horizontal' ? 'pgn__hstack' : 'pgn__vstack',\n gap ? `pgn__stack-gap--${gap}` : '',\n reversed ? 'pgn__stack-reversed' : '',\n className,\n )}\n {...rest}\n >\n {children}\n </div>\n));\n\nStack.propTypes = {\n /** Specifies the content of the `Stack`. */\n children: PropTypes.node.isRequired,\n /** Specifies direction of the children blocks (column/row). */\n direction: PropTypes.oneOf(DIRECTION_VARIANTS),\n /**\n * Specifies inner space between children blocks.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n gap: PropTypes.number,\n /** Specifies the order of the children. */\n reversed: PropTypes.bool,\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nStack.defaultProps = {\n direction: 'vertical',\n gap: 0,\n className: undefined,\n reversed: false,\n};\n\nexport default Stack;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,UAAU,QAAQ,OAAO;AACzC,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,kBAAkB,GAAG,CACzB,YAAY,EACZ,UAAU,CACX;AAED,MAAMC,KAAK,gBAAGJ,UAAU,CAAC,CAAAK,IAAA,EAOtBC,GAAG;EAAA,IAPoB;IACxBC,SAAS;IACTC,GAAG;IACHC,QAAQ;IACRC,QAAQ;IACRC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAP,IAAA;EAAA,oBACCN,KAAA,CAAAc,aAAA;IACEP,GAAG,EAAEA,GAAI;IACTK,SAAS,EAAET,UAAU,CACnBK,SAAS,KAAK,YAAY,GAAG,aAAa,GAAG,aAAa,EAC1DC,GAAG,GAAG,mBAAmBA,GAAG,EAAE,GAAG,EAAE,EACnCC,QAAQ,GAAG,qBAAqB,GAAG,EAAE,EACrCE,SACF,CAAE;IAAA,GACEC;EAAI,GAEPF,QACE,CAAC;AAAA,CACP,CAAC;AAEFN,KAAK,CAACU,SAAS,GAAG;EAChB;EACAJ,QAAQ,EAAET,SAAS,CAACc,IAAI,CAACC,UAAU;EACnC;EACAT,SAAS,EAAEN,SAAS,CAACgB,KAAK,CAACd,kBAAkB,CAAC;EAC9C;AACF;AACA;AACA;AACA;AACA;EACEK,GAAG,EAAEP,SAAS,CAACiB,MAAM;EACrB;EACAT,QAAQ,EAAER,SAAS,CAACkB,IAAI;EACxB;EACAR,SAAS,EAAEV,SAAS,CAACmB;AACvB,CAAC;AAEDhB,KAAK,CAACiB,YAAY,GAAG;EACnBd,SAAS,EAAE,UAAU;EACrBC,GAAG,EAAE,CAAC;EACNG,SAAS,EAAEW,SAAS;EACpBb,QAAQ,EAAE;AACZ,CAAC;AAED,eAAeL,KAAK","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Cancel","CheckCircleOutline","SpinnerSimple","Button","Icon","StatefulButton","_ref","className","state","labels","icons","disabledStates","onClick","attributes","isDisabled","indexOf","icon","undefined","default","label","createElement","disabled","e","preventDefault","propTypes","string","objectOf","node","isRequired","arrayOf","func","defaultProps","pending","src","complete","error"],"sources":["../../src/StatefulButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Cancel, CheckCircleOutline, SpinnerSimple } from '../../icons';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\nfunction StatefulButton({\n className,\n state,\n labels,\n icons,\n disabledStates,\n onClick,\n ...attributes\n}) {\n const isDisabled = disabledStates.indexOf(state) !== -1;\n const icon = icons[state] !== undefined ? icons[state] : icons.default;\n const label = labels[state] !== undefined ? labels[state] : labels.default;\n\n return (\n <Button\n aria-live=\"assertive\"\n aria-disabled={isDisabled}\n className={classNames(\n 'pgn__stateful-btn',\n `pgn__stateful-btn-state-${state}`,\n className,\n { disabled: isDisabled },\n )}\n onClick={(e) => {\n // Swallow clicks if the button is disabled.\n // We do this instead of disabling the button to prevent\n // it from losing focus (disabled elements cannot have focus).\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(e);\n }\n }}\n {...attributes}\n >\n <span className=\"d-flex align-items-center justify-content-center\">\n {icon && <span className={classNames({ 'pgn__stateful-btn-icon': !!label })}>{icon}</span>}\n {label ? <span>{label}</span> : <span className=\"sr-only\">{state}</span>}\n </span>\n </Button>\n );\n}\n\nStatefulButton.propTypes = {\n className: PropTypes.string,\n /**\n * Each state has:\n * - A label (required)\n * - An icon\n * - an option to be disabled\n *\n * Control the state with the `state` prop. Example usage:\n *\n * ```jsx\n * <StatefulButton\n * state=\"pending\"\n * labels={{\n * default: 'Download',\n * pending: 'Downloading',\n * complete: 'Downloaded',\n * }}\n * icons={{\n * default: <Icon className=\"fa fa-download\" />,\n * pending: <Icon className=\"fa fa-spinner fa-spin\" />,\n * complete: <Icon className=\"fa fa-check\" />,\n * }}\n * disabledStates=['pending']\n * className='btn-primary mr-2'\n * />\n * ```\n */\n state: PropTypes.string,\n /** Required. Each state has a `label`. */\n labels: PropTypes.objectOf(PropTypes.node).isRequired,\n /** Required. Each state has an `icon`. */\n icons: PropTypes.objectOf(PropTypes.node),\n /** Required. Each state has a `disabledState` */\n disabledStates: PropTypes.arrayOf(PropTypes.string),\n /** Specifies the callback function when the button is clicked */\n onClick: PropTypes.func,\n};\n\nStatefulButton.defaultProps = {\n className: undefined,\n state: 'default',\n icons: {\n default: undefined,\n pending: <Icon src={SpinnerSimple} className={classNames('icon-spin')} />,\n complete: <Icon src={CheckCircleOutline} />,\n error: <Icon src={Cancel} />,\n },\n disabledStates: ['pending', 'complete'],\n onClick: undefined,\n};\n\nexport default StatefulButton;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","classNames","Cancel","CheckCircleOutline","SpinnerSimple","Button","Icon","StatefulButton","_ref","className","state","labels","icons","disabledStates","onClick","attributes","isDisabled","indexOf","icon","undefined","default","label","createElement","disabled","e","preventDefault","propTypes","string","objectOf","node","isRequired","arrayOf","func","defaultProps","pending","src","complete","error"],"sources":["../../src/StatefulButton/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Cancel, CheckCircleOutline, SpinnerSimple } from '../../icons';\nimport Button from '../Button';\nimport Icon from '../Icon';\n\nfunction StatefulButton({\n className,\n state,\n labels,\n icons,\n disabledStates,\n onClick,\n ...attributes\n}) {\n const isDisabled = disabledStates.indexOf(state) !== -1;\n const icon = icons[state] !== undefined ? icons[state] : icons.default;\n const label = labels[state] !== undefined ? labels[state] : labels.default;\n\n return (\n <Button\n aria-live=\"assertive\"\n aria-disabled={isDisabled}\n className={classNames(\n 'pgn__stateful-btn',\n `pgn__stateful-btn-state-${state}`,\n className,\n { disabled: isDisabled },\n )}\n onClick={(e) => {\n // Swallow clicks if the button is disabled.\n // We do this instead of disabling the button to prevent\n // it from losing focus (disabled elements cannot have focus).\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(e);\n }\n }}\n {...attributes}\n >\n <span className=\"d-flex align-items-center justify-content-center\">\n {icon && <span className={classNames({ 'pgn__stateful-btn-icon': !!label })}>{icon}</span>}\n {label ? <span>{label}</span> : <span className=\"sr-only\">{state}</span>}\n </span>\n </Button>\n );\n}\n\nStatefulButton.propTypes = {\n className: PropTypes.string,\n /**\n * Each state has:\n * - A label (required)\n * - An icon\n * - an option to be disabled\n *\n * Control the state with the `state` prop. Example usage:\n *\n * ```jsx\n * <StatefulButton\n * state=\"pending\"\n * labels={{\n * default: 'Download',\n * pending: 'Downloading',\n * complete: 'Downloaded',\n * }}\n * icons={{\n * default: <Icon className=\"fa fa-download\" />,\n * pending: <Icon className=\"fa fa-spinner fa-spin\" />,\n * complete: <Icon className=\"fa fa-check\" />,\n * }}\n * disabledStates=['pending']\n * className='btn-primary mr-2'\n * />\n * ```\n */\n state: PropTypes.string,\n /** Required. Each state has a `label`. */\n labels: PropTypes.objectOf(PropTypes.node).isRequired,\n /** Required. Each state has an `icon`. */\n icons: PropTypes.objectOf(PropTypes.node),\n /** Required. Each state has a `disabledState` */\n disabledStates: PropTypes.arrayOf(PropTypes.string),\n /** Specifies the callback function when the button is clicked */\n onClick: PropTypes.func,\n};\n\nStatefulButton.defaultProps = {\n className: undefined,\n state: 'default',\n icons: {\n default: undefined,\n pending: <Icon src={SpinnerSimple} className={classNames('icon-spin')} />,\n complete: <Icon src={CheckCircleOutline} />,\n error: <Icon src={Cancel} />,\n },\n disabledStates: ['pending', 'complete'],\n onClick: undefined,\n};\n\nexport default StatefulButton;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","classNames","PropTypes","isRequiredIf","Button","withDeprecatedProps","DeprTypes","StatusAlert","Component","constructor","props","close","bind","handleKeyDown","renderDialog","state","open","componentDidMount","xButton","focus","componentDidUpdate","prevProps","prevState","setState","e","key","preventDefault","onClose","dialog","createElement","className","renderDismissible","closeButtonAriaLabel","dismissible","Deprecated","inputRef","input","onClick","onKeyDown","isClose","render","alertType","undefined","show","role","hidden","propTypes","string","oneOfType","element","isRequired","bool","func","defaultProps","deprType","FORMAT","expect","value","transform","Array","isArray","join","message"],"sources":["../../src/StatusAlert/index.jsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport isRequiredIf from 'react-proptype-conditional-require';\n\nimport Button from '../Button';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nclass StatusAlert extends React.Component {\n constructor(props) {\n super(props);\n\n this.close = this.close.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.renderDialog = this.renderDialog.bind(this);\n\n this.state = {\n open: props.open,\n };\n }\n\n componentDidMount() {\n if (this.xButton) {\n this.xButton.focus();\n }\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps, prevState) {\n if (this.state.open && !prevState.open && this.xButton) {\n this.xButton.focus();\n }\n\n if (this.props.open !== prevProps.open) {\n this.setState({ open: this.props.open });\n }\n }\n\n handleKeyDown(e) {\n if (e.key === 'Enter' || e.key === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n close() {\n this.setState({ open: false });\n this.props.onClose();\n }\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n focus() {\n if (this.xButton) {\n this.xButton.focus();\n }\n }\n\n renderDialog() {\n const { dialog } = this.props;\n\n return (\n <div className=\"alert-dialog\">\n { dialog }\n </div>\n );\n }\n\n renderDismissible() {\n const { closeButtonAriaLabel, dismissible } = this.props;\n\n return (dismissible) ? (\n <Button.Deprecated\n aria-label={closeButtonAriaLabel}\n inputRef={(input) => { this.xButton = input; }}\n onClick={this.close}\n onKeyDown={this.handleKeyDown}\n isClose\n >\n <span aria-hidden=\"true\">&times;</span>\n </Button.Deprecated>\n ) : null;\n }\n\n render() {\n const { alertType, className, dismissible } = this.props;\n\n return (\n <div\n className={classNames([\n className,\n 'alert',\n 'fade',\n ], {\n 'alert-dismissible': dismissible,\n }, {\n [`alert-${alertType}`]: alertType !== undefined,\n }, {\n show: this.state.open,\n })}\n role=\"alert\"\n hidden={!this.state.open}\n >\n {this.renderDismissible()}\n {this.renderDialog()}\n </div>\n );\n }\n}\n\nStatusAlert.propTypes = {\n /** specifies the type of alert that is being diplayed. It defaults to \"warning\".\n * See the other available [bootstrap](https://react-bootstrap-v4.netlify.app/components/alerts/) options. */\n alertType: PropTypes.string,\n /** is a string array that defines the classes to be used within the status alert. */\n className: PropTypes.string,\n dialog: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n /** specifies if the status alert will include the dismissible X button to close the alert. It defaults to true. */\n dismissible: PropTypes.bool,\n /* eslint-disable react/require-default-props */\n closeButtonAriaLabel: PropTypes.string,\n /** is a function that is called on close. It can be used to perform actions upon closing of the status alert,\n * such as restoring focus to the previous logical focusable element. It is only required if `dismissible`\n * is set to `true` and not required if the alert is not `dismissible`. */\n onClose: isRequiredIf(PropTypes.func, props => props.dismissible),\n /** specifies whether the status alert renders open or closed on the initial render. It defaults to false. */\n open: PropTypes.bool,\n};\n\nStatusAlert.defaultProps = {\n alertType: 'warning',\n className: undefined,\n closeButtonAriaLabel: 'Close',\n dismissible: true,\n open: false,\n};\n\nexport default withDeprecatedProps(StatusAlert, 'StatusAlert', {\n className: {\n deprType: DeprTypes.FORMAT,\n expect: value => typeof value === 'string',\n transform: value => (Array.isArray(value) ? value.join(' ') : value),\n message: 'It should be a string.',\n },\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","PropTypes","isRequiredIf","Button","withDeprecatedProps","DeprTypes","StatusAlert","Component","constructor","props","close","bind","handleKeyDown","renderDialog","state","open","componentDidMount","xButton","focus","componentDidUpdate","prevProps","prevState","setState","e","key","preventDefault","onClose","dialog","createElement","className","renderDismissible","closeButtonAriaLabel","dismissible","Deprecated","inputRef","input","onClick","onKeyDown","isClose","render","alertType","undefined","show","role","hidden","propTypes","string","oneOfType","element","isRequired","bool","func","defaultProps","deprType","FORMAT","expect","value","transform","Array","isArray","join","message"],"sources":["../../src/StatusAlert/index.jsx"],"sourcesContent":["import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport isRequiredIf from 'react-proptype-conditional-require';\n\nimport Button from '../Button';\nimport withDeprecatedProps, { DeprTypes } from '../withDeprecatedProps';\n\nclass StatusAlert extends React.Component {\n constructor(props) {\n super(props);\n\n this.close = this.close.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.renderDialog = this.renderDialog.bind(this);\n\n this.state = {\n open: props.open,\n };\n }\n\n componentDidMount() {\n if (this.xButton) {\n this.xButton.focus();\n }\n }\n\n /* eslint-disable react/no-did-update-set-state */\n componentDidUpdate(prevProps, prevState) {\n if (this.state.open && !prevState.open && this.xButton) {\n this.xButton.focus();\n }\n\n if (this.props.open !== prevProps.open) {\n this.setState({ open: this.props.open });\n }\n }\n\n handleKeyDown(e) {\n if (e.key === 'Enter' || e.key === 'Escape') {\n e.preventDefault();\n this.close();\n }\n }\n\n close() {\n this.setState({ open: false });\n this.props.onClose();\n }\n\n // eslint-disable-next-line react/no-unused-class-component-methods\n focus() {\n if (this.xButton) {\n this.xButton.focus();\n }\n }\n\n renderDialog() {\n const { dialog } = this.props;\n\n return (\n <div className=\"alert-dialog\">\n { dialog }\n </div>\n );\n }\n\n renderDismissible() {\n const { closeButtonAriaLabel, dismissible } = this.props;\n\n return (dismissible) ? (\n <Button.Deprecated\n aria-label={closeButtonAriaLabel}\n inputRef={(input) => { this.xButton = input; }}\n onClick={this.close}\n onKeyDown={this.handleKeyDown}\n isClose\n >\n <span aria-hidden=\"true\">&times;</span>\n </Button.Deprecated>\n ) : null;\n }\n\n render() {\n const { alertType, className, dismissible } = this.props;\n\n return (\n <div\n className={classNames([\n className,\n 'alert',\n 'fade',\n ], {\n 'alert-dismissible': dismissible,\n }, {\n [`alert-${alertType}`]: alertType !== undefined,\n }, {\n show: this.state.open,\n })}\n role=\"alert\"\n hidden={!this.state.open}\n >\n {this.renderDismissible()}\n {this.renderDialog()}\n </div>\n );\n }\n}\n\nStatusAlert.propTypes = {\n /** specifies the type of alert that is being diplayed. It defaults to \"warning\".\n * See the other available [bootstrap](https://react-bootstrap-v4.netlify.app/components/alerts/) options. */\n alertType: PropTypes.string,\n /** is a string array that defines the classes to be used within the status alert. */\n className: PropTypes.string,\n dialog: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n /** specifies if the status alert will include the dismissible X button to close the alert. It defaults to true. */\n dismissible: PropTypes.bool,\n /* eslint-disable react/require-default-props */\n closeButtonAriaLabel: PropTypes.string,\n /** is a function that is called on close. It can be used to perform actions upon closing of the status alert,\n * such as restoring focus to the previous logical focusable element. It is only required if `dismissible`\n * is set to `true` and not required if the alert is not `dismissible`. */\n onClose: isRequiredIf(PropTypes.func, props => props.dismissible),\n /** specifies whether the status alert renders open or closed on the initial render. It defaults to false. */\n open: PropTypes.bool,\n};\n\nStatusAlert.defaultProps = {\n alertType: 'warning',\n className: undefined,\n closeButtonAriaLabel: 'Close',\n dismissible: true,\n open: false,\n};\n\nexport default withDeprecatedProps(StatusAlert, 'StatusAlert', {\n className: {\n deprType: DeprTypes.FORMAT,\n expect: value => typeof value === 'string',\n transform: value => (Array.isArray(value) ? value.join(' ') : value),\n message: 'It should be a string.',\n },\n});\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
3
3
  import classNames from 'classnames';
4
4
  import StepperHeaderStep from './StepperHeaderStep';
5
5
  import { StepperContext } from './StepperContext';
6
- import useWindowSize from '../hooks/useWindowSize';
6
+ import useWindowSize from '../hooks/useWindowSizeHook';
7
7
  import breakpoints, { Size } from '../utils/breakpoints';
8
8
  function StepListSeparator() {
9
9
  return /*#__PURE__*/React.createElement("li", {
@@ -1 +1 @@
1
- {"version":3,"file":"StepperHeader.js","names":["React","useContext","PropTypes","classNames","StepperHeaderStep","StepperContext","useWindowSize","breakpoints","Size","StepListSeparator","createElement","className","StepList","_ref","steps","activeKey","map","_ref2","index","label","stepProps","Fragment","key","eventKey","isActive","PageCount","_ref3","activeStepIndex","totalSteps","StepperHeader","_ref4","PageCountComponent","compactWidth","windowDimensions","size","breakpointWidth","maxWidth","Infinity","isCompactView","width","findIndex","step","activeStep","length","propTypes","string","elementType","oneOf","defaultProps","arrayOf","shape","title","description","hasError","bool","isRequired","Step"],"sources":["../../src/Stepper/StepperHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport StepperHeaderStep from './StepperHeaderStep';\nimport { StepperContext } from './StepperContext';\nimport useWindowSize from '../hooks/useWindowSize';\nimport breakpoints, { Size } from '../utils/breakpoints';\n\nfunction StepListSeparator() {\n return <li aria-hidden=\"true\" className=\"pgn__stepper-header-line\" />;\n}\n\nfunction StepList({ steps, activeKey }) {\n return (\n <ul className=\"pgn__stepper-header-step-list\">\n {steps.map(({ label, ...stepProps }, index) => (\n <React.Fragment key={stepProps.eventKey}>\n {index !== 0 && <StepListSeparator />}\n <StepperHeaderStep\n {...stepProps}\n index={index}\n isActive={activeKey === stepProps.eventKey}\n >\n {label}\n </StepperHeaderStep>\n </React.Fragment>\n ))}\n </ul>\n );\n}\n\nconst PageCount = ({ activeStepIndex, totalSteps }) => `Step ${activeStepIndex + 1} of ${totalSteps}`;\n\nfunction StepperHeader({ className, PageCountComponent, compactWidth }) {\n const { steps, activeKey } = useContext(StepperContext);\n const windowDimensions = useWindowSize();\n const size = Size[compactWidth] || 'small';\n const breakpointWidth = breakpoints[size].maxWidth || Infinity;\n const isCompactView = windowDimensions.width < breakpointWidth;\n\n if (isCompactView) {\n const activeStepIndex = steps.findIndex(step => step.eventKey === activeKey);\n const activeStep = steps[activeStepIndex];\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepperHeaderStep\n {...activeStep}\n index={activeStepIndex}\n isActive\n />\n <div className=\"flex-grow-1\" />\n <div>\n <PageCountComponent\n activeStepIndex={activeStepIndex}\n totalSteps={steps.length}\n />\n </div>\n </div>\n );\n }\n\n // Show all steps\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepList steps={steps} activeKey={activeKey} />\n </div>\n );\n}\n\nStepperHeader.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A component that receives `activeStepIndex` and `totalSteps` props to display them. */\n PageCountComponent: PropTypes.elementType,\n /** The max width in which the compact view of the header will switch to display the step number that is\n * currently in progress. Options include 'xs', 'sm', 'md', 'lg', 'xl', and 'xxl'.\n */\n compactWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n};\n\nStepperHeader.defaultProps = {\n className: null,\n PageCountComponent: PageCount,\n compactWidth: 'sm',\n};\n\nStepList.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape({\n eventKey: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n hasError: PropTypes.bool,\n })),\n activeKey: PropTypes.string.isRequired,\n};\n\nStepList.defaultProps = {\n steps: [],\n};\n\nStepperHeader.Step = StepperHeaderStep;\n\nexport default StepperHeader;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepperHeader.js","names":["React","useContext","PropTypes","classNames","StepperHeaderStep","StepperContext","useWindowSize","breakpoints","Size","StepListSeparator","createElement","className","StepList","_ref","steps","activeKey","map","_ref2","index","label","stepProps","Fragment","key","eventKey","isActive","PageCount","_ref3","activeStepIndex","totalSteps","StepperHeader","_ref4","PageCountComponent","compactWidth","windowDimensions","size","breakpointWidth","maxWidth","Infinity","isCompactView","width","findIndex","step","activeStep","length","propTypes","string","elementType","oneOf","defaultProps","arrayOf","shape","title","description","hasError","bool","isRequired","Step"],"sources":["../../src/Stepper/StepperHeader.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport StepperHeaderStep from './StepperHeaderStep';\nimport { StepperContext } from './StepperContext';\nimport useWindowSize from '../hooks/useWindowSizeHook';\nimport breakpoints, { Size } from '../utils/breakpoints';\n\nfunction StepListSeparator() {\n return <li aria-hidden=\"true\" className=\"pgn__stepper-header-line\" />;\n}\n\nfunction StepList({ steps, activeKey }) {\n return (\n <ul className=\"pgn__stepper-header-step-list\">\n {steps.map(({ label, ...stepProps }, index) => (\n <React.Fragment key={stepProps.eventKey}>\n {index !== 0 && <StepListSeparator />}\n <StepperHeaderStep\n {...stepProps}\n index={index}\n isActive={activeKey === stepProps.eventKey}\n >\n {label}\n </StepperHeaderStep>\n </React.Fragment>\n ))}\n </ul>\n );\n}\n\nconst PageCount = ({ activeStepIndex, totalSteps }) => `Step ${activeStepIndex + 1} of ${totalSteps}`;\n\nfunction StepperHeader({ className, PageCountComponent, compactWidth }) {\n const { steps, activeKey } = useContext(StepperContext);\n const windowDimensions = useWindowSize();\n const size = Size[compactWidth] || 'small';\n const breakpointWidth = breakpoints[size].maxWidth || Infinity;\n const isCompactView = windowDimensions.width < breakpointWidth;\n\n if (isCompactView) {\n const activeStepIndex = steps.findIndex(step => step.eventKey === activeKey);\n const activeStep = steps[activeStepIndex];\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepperHeaderStep\n {...activeStep}\n index={activeStepIndex}\n isActive\n />\n <div className=\"flex-grow-1\" />\n <div>\n <PageCountComponent\n activeStepIndex={activeStepIndex}\n totalSteps={steps.length}\n />\n </div>\n </div>\n );\n }\n\n // Show all steps\n return (\n <div className={classNames('pgn__stepper-header', className)}>\n <StepList steps={steps} activeKey={activeKey} />\n </div>\n );\n}\n\nStepperHeader.propTypes = {\n /** Specifies class name to append to the base element. */\n className: PropTypes.string,\n /** A component that receives `activeStepIndex` and `totalSteps` props to display them. */\n PageCountComponent: PropTypes.elementType,\n /** The max width in which the compact view of the header will switch to display the step number that is\n * currently in progress. Options include 'xs', 'sm', 'md', 'lg', 'xl', and 'xxl'.\n */\n compactWidth: PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', 'xxl']),\n};\n\nStepperHeader.defaultProps = {\n className: null,\n PageCountComponent: PageCount,\n compactWidth: 'sm',\n};\n\nStepList.propTypes = {\n steps: PropTypes.arrayOf(PropTypes.shape({\n eventKey: PropTypes.string,\n title: PropTypes.string,\n description: PropTypes.string,\n hasError: PropTypes.bool,\n })),\n activeKey: PropTypes.string.isRequired,\n};\n\nStepList.defaultProps = {\n steps: [],\n};\n\nStepperHeader.Step = StepperHeaderStep;\n\nexport default StepperHeader;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"StepperHeaderStep.js","names":["React","useContext","PropTypes","classNames","Check","Error","StepperContext","Icon","Bubble","StepperHeaderStep","_ref","title","isActive","hasError","description","index","onClick","getIsViewed","isComplete","isViewed","stepIcon","createElement","src","errorIcon","isClickable","type","className","onKeyPress","variant","disabled","propTypes","number","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperHeaderStep.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Check, Error } from '../../icons';\nimport { StepperContext } from './StepperContext';\nimport Icon from '../Icon';\nimport Bubble from '../Bubble';\n\nfunction StepperHeaderStep({\n title,\n isActive,\n hasError,\n description,\n index,\n onClick,\n}) {\n const { getIsViewed } = useContext(StepperContext);\n const isComplete = getIsViewed(index + 1);\n const isViewed = getIsViewed(index);\n const stepIcon = isComplete ? <Icon src={Check} /> : <span>{index + 1}</span>;\n const errorIcon = <Icon src={Error} data-testid=\"step-error\" />;\n const isClickable = onClick && isViewed && !isActive;\n\n if (isClickable) {\n return (\n <button\n type=\"button\"\n aria-label={`${title} step`}\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n onClick={onClick}\n onKeyPress={onClick}\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </button>\n );\n }\n\n return (\n <li\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-active': isActive,\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n data-testid=\"step\"\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled={!isActive}>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </li>\n );\n}\n\nStepperHeaderStep.propTypes = {\n /** A number that will be display in the icon of the `HeaderStep`. */\n index: PropTypes.number.isRequired,\n /** A text of the `HeaderStep`. */\n title: PropTypes.string.isRequired,\n /** Specifies that this `HeaderStep` is active. */\n isActive: PropTypes.bool,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Callback fired when element gets clicked. */\n onClick: PropTypes.func,\n};\n\nStepperHeaderStep.defaultProps = {\n isActive: false,\n hasError: false,\n description: undefined,\n onClick: undefined,\n};\n\nexport default StepperHeaderStep;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"StepperHeaderStep.js","names":["React","useContext","PropTypes","classNames","Check","Error","StepperContext","Icon","Bubble","StepperHeaderStep","_ref","title","isActive","hasError","description","index","onClick","getIsViewed","isComplete","isViewed","stepIcon","createElement","src","errorIcon","isClickable","type","className","onKeyPress","variant","disabled","propTypes","number","isRequired","string","bool","func","defaultProps","undefined"],"sources":["../../src/Stepper/StepperHeaderStep.jsx"],"sourcesContent":["import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { Check, Error } from '../../icons';\nimport { StepperContext } from './StepperContext';\nimport Icon from '../Icon';\nimport Bubble from '../Bubble';\n\nfunction StepperHeaderStep({\n title,\n isActive,\n hasError,\n description,\n index,\n onClick,\n}) {\n const { getIsViewed } = useContext(StepperContext);\n const isComplete = getIsViewed(index + 1);\n const isViewed = getIsViewed(index);\n const stepIcon = isComplete ? <Icon src={Check} /> : <span>{index + 1}</span>;\n const errorIcon = <Icon src={Error} data-testid=\"step-error\" />;\n const isClickable = onClick && isViewed && !isActive;\n\n if (isClickable) {\n return (\n <button\n type=\"button\"\n aria-label={`${title} step`}\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n onClick={onClick}\n onKeyPress={onClick}\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </button>\n );\n }\n\n return (\n <li\n className={classNames(\n 'pgn__stepper-header-step',\n {\n 'pgn__stepper-header-step-active': isActive,\n 'pgn__stepper-header-step-has-error': hasError,\n 'pgn__stepper-header-step-complete': isComplete,\n },\n )}\n data-testid=\"step\"\n >\n <Bubble variant={hasError ? 'error' : 'primary'} disabled={!isActive}>\n {hasError ? errorIcon : stepIcon}\n </Bubble>\n <div className=\"pgn__stepper-header-step-title-description\">\n <div className=\"pgn__stepper-header-step-title\">{title}</div>\n <div className=\"pgn__stepper-header-step-description\">{description}</div>\n </div>\n </li>\n );\n}\n\nStepperHeaderStep.propTypes = {\n /** A number that will be display in the icon of the `HeaderStep`. */\n index: PropTypes.number.isRequired,\n /** A text of the `HeaderStep`. */\n title: PropTypes.string.isRequired,\n /** Specifies that this `HeaderStep` is active. */\n isActive: PropTypes.bool,\n /** Informs user if this `Step` has errors. */\n hasError: PropTypes.bool,\n /** A text under the `title`. */\n description: PropTypes.string,\n /** Callback fired when element gets clicked. */\n onClick: PropTypes.func,\n};\n\nStepperHeaderStep.defaultProps = {\n isActive: false,\n hasError: false,\n description: undefined,\n onClick: undefined,\n};\n\nexport default StepperHeaderStep;\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","useLayoutEffect","useState","PropTypes","classNames","POSITION_VARIANTS","Sticky","forwardRef","_ref","ref","position","children","offset","className","rest","isSticky","setIsSticky","defaultRef","useRef","resolvedRef","current","stickyElement","elementStyles","window","getComputedStyle","elementOffset","elementWithOffset","parseInt","observer","IntersectionObserver","_ref2","entry","intersectionRatio","threshold","rootMargin","observe","unobserve","createElement","propTypes","node","isRequired","oneOf","oneOfType","number","string","defaultProps","undefined"],"sources":["../../src/Sticky/index.jsx"],"sourcesContent":["import React, { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst POSITION_VARIANTS = [\n 'top',\n 'bottom',\n];\n\nconst Sticky = React.forwardRef(({\n position,\n children,\n offset,\n className,\n ...rest\n}, ref) => {\n const [isSticky, setIsSticky] = useState(false);\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (resolvedRef.current) {\n const stickyElement = resolvedRef.current;\n // getComputedStyle is used to get real top/bottom\n // values on the page for proper shadows display\n const elementStyles = window.getComputedStyle(stickyElement);\n const elementOffset = elementStyles[position || 'top'];\n // Margin calculations according to the offset.\n // 1 pixel above/bellow + offset pixels that determines\n // when callback function is called\n const elementWithOffset = 1 + (parseInt(elementOffset, 10) || 0);\n const observer = new IntersectionObserver(\n ([entry]) => setIsSticky(entry.intersectionRatio < 1),\n {\n threshold: [1],\n rootMargin: position === 'bottom'\n ? `0px 0px -${elementWithOffset}px 0px`\n : `-${elementWithOffset}px 0px 0px 0px`,\n },\n );\n observer.observe(stickyElement);\n\n return () => {\n observer.unobserve(stickyElement);\n };\n }\n }, [position, resolvedRef]);\n\n return (\n <div\n className={classNames(\n 'pgn__sticky',\n `pgn__sticky-${position || 'top'}`,\n offset ? `pgn__sticky-offset--${offset}` : '',\n { 'pgn__sticky-shadow': isSticky },\n className,\n )}\n ref={resolvedRef}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nSticky.propTypes = {\n /** Specifies content of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies position of the element. */\n position: PropTypes.oneOf(POSITION_VARIANTS),\n /**\n * Specifies offset from top/bottom depending on the `position` property.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nSticky.defaultProps = {\n position: 'top',\n offset: undefined,\n className: undefined,\n};\n\nexport default Sticky;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,iBAAiB,GAAG,CACxB,KAAK,EACL,QAAQ,CACT;AAED,MAAMC,MAAM,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAAAC,IAAA,EAM7BC,GAAG,KAAK;EAAA,IANsB;IAC/BC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAN,IAAA;EACC,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMe,UAAU,GAAGjB,KAAK,CAACkB,MAAM,CAAC,CAAC;EACjC,MAAMC,WAAW,GAAGV,GAAG,IAAIQ,UAAU;;EAErC;EACAhB,eAAe,CAAC,MAAM;IACpB,IAAIkB,WAAW,CAACC,OAAO,EAAE;MACvB,MAAMC,aAAa,GAAGF,WAAW,CAACC,OAAO;MACzC;MACA;MACA,MAAME,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACH,aAAa,CAAC;MAC5D,MAAMI,aAAa,GAAGH,aAAa,CAACZ,QAAQ,IAAI,KAAK,CAAC;MACtD;MACA;MACA;MACA,MAAMgB,iBAAiB,GAAG,CAAC,IAAIC,QAAQ,CAACF,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;MAChE,MAAMG,QAAQ,GAAG,IAAIC,oBAAoB,CACvCC,KAAA;QAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;QAAA,OAAKd,WAAW,CAACe,KAAK,CAACC,iBAAiB,GAAG,CAAC,CAAC;MAAA,GACrD;QACEC,SAAS,EAAE,CAAC,CAAC,CAAC;QACdC,UAAU,EAAExB,QAAQ,KAAK,QAAQ,GAC5B,YAAWgB,iBAAkB,QAAO,GACpC,IAAGA,iBAAkB;MAC5B,CACF,CAAC;MACDE,QAAQ,CAACO,OAAO,CAACd,aAAa,CAAC;MAE/B,OAAO,MAAM;QACXO,QAAQ,CAACQ,SAAS,CAACf,aAAa,CAAC;MACnC,CAAC;IACH;EACF,CAAC,EAAE,CAACX,QAAQ,EAAES,WAAW,CAAC,CAAC;EAE3B,oBACEnB,KAAA,CAAAqC,aAAA;IACExB,SAAS,EAAET,UAAU,CACnB,aAAa,EACZ,eAAcM,QAAQ,IAAI,KAAM,EAAC,EAClCE,MAAM,GAAI,uBAAsBA,MAAO,EAAC,GAAG,EAAE,EAC7C;MAAE,oBAAoB,EAAEG;IAAS,CAAC,EAClCF,SACF,CAAE;IACFJ,GAAG,EAAEU,WAAY;IAAA,GACbL;EAAI,GAEPH,QACE,CAAC;AAEV,CAAC,CAAC;AAEFL,MAAM,CAACgC,SAAS,GAAG;EACjB;EACA3B,QAAQ,EAAER,SAAS,CAACoC,IAAI,CAACC,UAAU;EACnC;EACA9B,QAAQ,EAAEP,SAAS,CAACsC,KAAK,CAACpC,iBAAiB,CAAC;EAC5C;AACF;AACA;AACA;AACA;AACA;EACEO,MAAM,EAAET,SAAS,CAACuC,SAAS,CAAC,CAACvC,SAAS,CAACwC,MAAM,EAAExC,SAAS,CAACyC,MAAM,CAAC,CAAC;EACjE;EACA/B,SAAS,EAAEV,SAAS,CAACyC;AACvB,CAAC;AAEDtC,MAAM,CAACuC,YAAY,GAAG;EACpBnC,QAAQ,EAAE,KAAK;EACfE,MAAM,EAAEkC,SAAS;EACjBjC,SAAS,EAAEiC;AACb,CAAC;AAED,eAAexC,MAAM","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","useLayoutEffect","useState","PropTypes","classNames","POSITION_VARIANTS","Sticky","forwardRef","_ref","ref","position","children","offset","className","rest","isSticky","setIsSticky","defaultRef","useRef","resolvedRef","current","stickyElement","elementStyles","window","getComputedStyle","elementOffset","elementWithOffset","parseInt","observer","IntersectionObserver","_ref2","entry","intersectionRatio","threshold","rootMargin","observe","unobserve","createElement","propTypes","node","isRequired","oneOf","oneOfType","number","string","defaultProps","undefined"],"sources":["../../src/Sticky/index.jsx"],"sourcesContent":["import React, { useLayoutEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst POSITION_VARIANTS = [\n 'top',\n 'bottom',\n];\n\nconst Sticky = React.forwardRef(({\n position,\n children,\n offset,\n className,\n ...rest\n}, ref) => {\n const [isSticky, setIsSticky] = useState(false);\n const defaultRef = React.useRef();\n const resolvedRef = ref || defaultRef;\n\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (resolvedRef.current) {\n const stickyElement = resolvedRef.current;\n // getComputedStyle is used to get real top/bottom\n // values on the page for proper shadows display\n const elementStyles = window.getComputedStyle(stickyElement);\n const elementOffset = elementStyles[position || 'top'];\n // Margin calculations according to the offset.\n // 1 pixel above/bellow + offset pixels that determines\n // when callback function is called\n const elementWithOffset = 1 + (parseInt(elementOffset, 10) || 0);\n const observer = new IntersectionObserver(\n ([entry]) => setIsSticky(entry.intersectionRatio < 1),\n {\n threshold: [1],\n rootMargin: position === 'bottom'\n ? `0px 0px -${elementWithOffset}px 0px`\n : `-${elementWithOffset}px 0px 0px 0px`,\n },\n );\n observer.observe(stickyElement);\n\n return () => {\n observer.unobserve(stickyElement);\n };\n }\n }, [position, resolvedRef]);\n\n return (\n <div\n className={classNames(\n 'pgn__sticky',\n `pgn__sticky-${position || 'top'}`,\n offset ? `pgn__sticky-offset--${offset}` : '',\n { 'pgn__sticky-shadow': isSticky },\n className,\n )}\n ref={resolvedRef}\n {...rest}\n >\n {children}\n </div>\n );\n});\n\nSticky.propTypes = {\n /** Specifies content of the component. */\n children: PropTypes.node.isRequired,\n /** Specifies position of the element. */\n position: PropTypes.oneOf(POSITION_VARIANTS),\n /**\n * Specifies offset from top/bottom depending on the `position` property.\n *\n * Valid values are based on `the spacing classes`:\n * `0, 0.5, ... 6`.\n */\n offset: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /** Specifies an additional `className` to add to the base element. */\n className: PropTypes.string,\n};\n\nSticky.defaultProps = {\n position: 'top',\n offset: undefined,\n className: undefined,\n};\n\nexport default Sticky;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,eAAe,EAAEC,QAAQ,QAAQ,OAAO;AACxD,OAAOC,SAAS,MAAM,YAAY;AAClC,OAAOC,UAAU,MAAM,YAAY;AAEnC,MAAMC,iBAAiB,GAAG,CACxB,KAAK,EACL,QAAQ,CACT;AAED,MAAMC,MAAM,gBAAGN,KAAK,CAACO,UAAU,CAAC,CAAAC,IAAA,EAM7BC,GAAG,KAAK;EAAA,IANsB;IAC/BC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,SAAS;IACT,GAAGC;EACL,CAAC,GAAAN,IAAA;EACC,MAAM,CAACO,QAAQ,EAAEC,WAAW,CAAC,GAAGd,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAMe,UAAU,GAAGjB,KAAK,CAACkB,MAAM,CAAC,CAAC;EACjC,MAAMC,WAAW,GAAGV,GAAG,IAAIQ,UAAU;;EAErC;EACAhB,eAAe,CAAC,MAAM;IACpB,IAAIkB,WAAW,CAACC,OAAO,EAAE;MACvB,MAAMC,aAAa,GAAGF,WAAW,CAACC,OAAO;MACzC;MACA;MACA,MAAME,aAAa,GAAGC,MAAM,CAACC,gBAAgB,CAACH,aAAa,CAAC;MAC5D,MAAMI,aAAa,GAAGH,aAAa,CAACZ,QAAQ,IAAI,KAAK,CAAC;MACtD;MACA;MACA;MACA,MAAMgB,iBAAiB,GAAG,CAAC,IAAIC,QAAQ,CAACF,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;MAChE,MAAMG,QAAQ,GAAG,IAAIC,oBAAoB,CACvCC,KAAA;QAAA,IAAC,CAACC,KAAK,CAAC,GAAAD,KAAA;QAAA,OAAKd,WAAW,CAACe,KAAK,CAACC,iBAAiB,GAAG,CAAC,CAAC;MAAA,GACrD;QACEC,SAAS,EAAE,CAAC,CAAC,CAAC;QACdC,UAAU,EAAExB,QAAQ,KAAK,QAAQ,GAC7B,YAAYgB,iBAAiB,QAAQ,GACrC,IAAIA,iBAAiB;MAC3B,CACF,CAAC;MACDE,QAAQ,CAACO,OAAO,CAACd,aAAa,CAAC;MAE/B,OAAO,MAAM;QACXO,QAAQ,CAACQ,SAAS,CAACf,aAAa,CAAC;MACnC,CAAC;IACH;EACF,CAAC,EAAE,CAACX,QAAQ,EAAES,WAAW,CAAC,CAAC;EAE3B,oBACEnB,KAAA,CAAAqC,aAAA;IACExB,SAAS,EAAET,UAAU,CACnB,aAAa,EACb,eAAeM,QAAQ,IAAI,KAAK,EAAE,EAClCE,MAAM,GAAG,uBAAuBA,MAAM,EAAE,GAAG,EAAE,EAC7C;MAAE,oBAAoB,EAAEG;IAAS,CAAC,EAClCF,SACF,CAAE;IACFJ,GAAG,EAAEU,WAAY;IAAA,GACbL;EAAI,GAEPH,QACE,CAAC;AAEV,CAAC,CAAC;AAEFL,MAAM,CAACgC,SAAS,GAAG;EACjB;EACA3B,QAAQ,EAAER,SAAS,CAACoC,IAAI,CAACC,UAAU;EACnC;EACA9B,QAAQ,EAAEP,SAAS,CAACsC,KAAK,CAACpC,iBAAiB,CAAC;EAC5C;AACF;AACA;AACA;AACA;AACA;EACEO,MAAM,EAAET,SAAS,CAACuC,SAAS,CAAC,CAACvC,SAAS,CAACwC,MAAM,EAAExC,SAAS,CAACyC,MAAM,CAAC,CAAC;EACjE;EACA/B,SAAS,EAAEV,SAAS,CAACyC;AACvB,CAAC;AAEDtC,MAAM,CAACuC,YAAY,GAAG;EACpBnC,QAAQ,EAAE,KAAK;EACfE,MAAM,EAAEkC,SAAS;EACjBjC,SAAS,EAAEiC;AACb,CAAC;AAED,eAAexC,MAAM","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ @use "sass:color";
1
2
  // Tables
2
3
  //
3
4
  // Customizes the `.table` component with basic values, each used across all table variations.
@@ -23,7 +24,7 @@ $table-dark-bg: theme-color("gray", "hover") !default;
23
24
  $table-dark-accent-bg: rgba($white, .05) !default;
24
25
  $table-dark-hover-color: $table-dark-color !default;
25
26
  $table-dark-hover-bg: rgba($white, .075) !default;
26
- $table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
27
+ $table-dark-border-color: color.adjust($table-dark-bg, $lightness: 7.5%) !default;
27
28
  $table-dark-color: $white !default;
28
29
 
29
30
  $table-striped-order: odd !default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","classNames","PropTypes","newId","Tabs","Component","constructor","props","toggle","bind","state","activeTab","uuid","tab","setState","genLabelId","index","genPanelId","buildLabels","labels","map","label","i","selected","labelId","createElement","key","role","id","onClick","className","active","buildPanels","children","panel","panelId","render","panels","propTypes","arrayOf","node","isRequired","element"],"sources":["../../../src/Tabs/deprecated/index.jsx"],"sourcesContent":["// TODO: @jaebradley fix these eslint errors\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable max-len */\nimport React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport newId from '../../utils/newId';\n\nclass Tabs extends React.Component {\n constructor(props) {\n super(props);\n\n this.toggle = this.toggle.bind(this);\n this.state = {\n activeTab: 0,\n uuid: newId('tabInterface'),\n };\n }\n\n toggle(tab) {\n if (this.state.activeTab !== tab) {\n this.setState({\n activeTab: tab,\n });\n }\n }\n\n genLabelId(index) {\n return `tab-label-${this.state.uuid}-${index}`;\n }\n\n genPanelId(index) {\n return `tab-panel-${this.state.uuid}-${index}`;\n }\n\n buildLabels() {\n return this.props.labels.map((label, i) => {\n const selected = this.state.activeTab === i;\n const labelId = this.genLabelId(i);\n\n return (\n <li key={labelId}>\n {/* eslint-disable-next-line react/button-has-type */}\n <button\n role=\"tab\"\n aria-selected={selected}\n aria-controls={this.genPanelId(i)}\n id={labelId}\n onClick={() => { this.toggle(i); }}\n className={classNames('nav-link nav-item', {\n active: selected,\n })}\n >\n {label}\n </button>\n </li>\n );\n });\n }\n\n buildPanels() {\n return this.props.children.map((panel, i) => {\n const selected = this.state.activeTab === i;\n const panelId = this.genPanelId(i);\n\n return (\n <div\n aria-hidden={!selected}\n aria-labelledby={this.genLabelId(i)}\n className={classNames(\n 'tab-pane',\n { active: selected },\n )}\n id={panelId}\n key={panelId}\n role=\"tabpanel\"\n >\n {panel}\n </div>\n );\n });\n }\n\n render() {\n const labels = this.buildLabels();\n const panels = this.buildPanels();\n\n return (\n <div className=\"tabs\">\n <ul\n role=\"tablist\"\n className={classNames([\n 'nav',\n 'nav-tabs',\n ])}\n >\n {labels}\n </ul>\n <div role=\"tabpanel\" className=\"tab-content\">\n {panels}\n </div>\n </div>\n );\n }\n}\n// TODO: custom validator that ensures labels and panels are the same length\nTabs.propTypes = {\n /** specifies the list of elements that will be displayed within each of the tabbed views. It is the content relevant to each label. Children should not be passed as Props, but should instead be nested between the opening and closing `<Tabs> </Tabs>` tags. */\n labels: PropTypes.arrayOf(PropTypes.node).isRequired,\n /** specifies the list of headings that will appear on all of the tabs that will be created.\n */\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n};\n\nexport default Tabs;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","classNames","PropTypes","newId","Tabs","Component","constructor","props","toggle","bind","state","activeTab","uuid","tab","setState","genLabelId","index","genPanelId","buildLabels","labels","map","label","i","selected","labelId","createElement","key","role","id","onClick","className","active","buildPanels","children","panel","panelId","render","panels","propTypes","arrayOf","node","isRequired","element"],"sources":["../../../src/Tabs/deprecated/index.jsx"],"sourcesContent":["// TODO: @jaebradley fix these eslint errors\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable max-len */\nimport React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\n\nimport newId from '../../utils/newId';\n\nclass Tabs extends React.Component {\n constructor(props) {\n super(props);\n\n this.toggle = this.toggle.bind(this);\n this.state = {\n activeTab: 0,\n uuid: newId('tabInterface'),\n };\n }\n\n toggle(tab) {\n if (this.state.activeTab !== tab) {\n this.setState({\n activeTab: tab,\n });\n }\n }\n\n genLabelId(index) {\n return `tab-label-${this.state.uuid}-${index}`;\n }\n\n genPanelId(index) {\n return `tab-panel-${this.state.uuid}-${index}`;\n }\n\n buildLabels() {\n return this.props.labels.map((label, i) => {\n const selected = this.state.activeTab === i;\n const labelId = this.genLabelId(i);\n\n return (\n <li key={labelId}>\n {/* eslint-disable-next-line react/button-has-type */}\n <button\n role=\"tab\"\n aria-selected={selected}\n aria-controls={this.genPanelId(i)}\n id={labelId}\n onClick={() => { this.toggle(i); }}\n className={classNames('nav-link nav-item', {\n active: selected,\n })}\n >\n {label}\n </button>\n </li>\n );\n });\n }\n\n buildPanels() {\n return this.props.children.map((panel, i) => {\n const selected = this.state.activeTab === i;\n const panelId = this.genPanelId(i);\n\n return (\n <div\n aria-hidden={!selected}\n aria-labelledby={this.genLabelId(i)}\n className={classNames(\n 'tab-pane',\n { active: selected },\n )}\n id={panelId}\n key={panelId}\n role=\"tabpanel\"\n >\n {panel}\n </div>\n );\n });\n }\n\n render() {\n const labels = this.buildLabels();\n const panels = this.buildPanels();\n\n return (\n <div className=\"tabs\">\n <ul\n role=\"tablist\"\n className={classNames([\n 'nav',\n 'nav-tabs',\n ])}\n >\n {labels}\n </ul>\n <div role=\"tabpanel\" className=\"tab-content\">\n {panels}\n </div>\n </div>\n );\n }\n}\n// TODO: custom validator that ensures labels and panels are the same length\nTabs.propTypes = {\n /** specifies the list of elements that will be displayed within each of the tabbed views. It is the content relevant to each label. Children should not be passed as Props, but should instead be nested between the opening and closing `<Tabs> </Tabs>` tags. */\n labels: PropTypes.arrayOf(PropTypes.node).isRequired,\n /** specifies the list of headings that will appear on all of the tabs that will be created.\n */\n children: PropTypes.arrayOf(PropTypes.element).isRequired,\n};\n\nexport default Tabs;\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import BaseTabs from 'react-bootstrap/Tabs';
5
5
  import TabsDeprecated from './deprecated';
6
6
  import Bubble from '../Bubble';
7
7
  import Dropdown from '../Dropdown';
8
- import useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChild';
8
+ import useIndexOfLastVisibleChild from '../hooks/useIndexOfLastVisibleChildHook';
9
9
  import Tab from './Tab';
10
10
  export const MORE_TAB_TEXT = 'More...';
11
11
  function Tabs(_ref) {