@jotforminc/dnd-builder 2.5.9 → 2.5.10
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.
- package/CHANGELOG.md +7 -0
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js +19 -0
- package/lib/cjs/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js +19 -0
- package/lib/esm/components/Presentation/PresentationBar/PresentationBar.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [2.5.10](https://github.com/jotform/dnd-builder/compare/v2.5.9...v2.5.10) (2023-09-13)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* **dnd-builder:** temporary fix for chromium svg rendering issue ([8d3b566](https://github.com/jotform/dnd-builder/commit/8d3b56612a423d1e786692dbd0f686d5546a9bd8))
|
|
11
|
+
|
|
5
12
|
### [2.5.9](https://github.com/jotform/dnd-builder/compare/v2.5.6...v2.5.9) (2023-08-23)
|
|
6
13
|
|
|
7
14
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.for-each.js');
|
|
4
|
+
var React = require('react');
|
|
3
5
|
var PropTypes = require('prop-types');
|
|
4
6
|
var PageNavigation = require('./PageNavigation.js');
|
|
5
7
|
var PresentationActions = require('./PresentationActions.js');
|
|
@@ -62,6 +64,23 @@ var PresentationBar = function PresentationBar(_ref) {
|
|
|
62
64
|
});
|
|
63
65
|
};
|
|
64
66
|
|
|
67
|
+
React.useLayoutEffect(function () {
|
|
68
|
+
// Hi, this is a horrible solution to a horrible Chromium bug.
|
|
69
|
+
// It is temporary, and once chromium crew solves the
|
|
70
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1440024
|
|
71
|
+
// we will be able to remove it, the idea itself comes from
|
|
72
|
+
// them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3
|
|
73
|
+
if (window.chrome) {
|
|
74
|
+
// Detaching and re-attaching to dom likely forces a re-draw
|
|
75
|
+
// of the svg.
|
|
76
|
+
document.querySelectorAll('svg.recharts-surface').forEach(function (domNode) {
|
|
77
|
+
var parent = domNode.parentElement;
|
|
78
|
+
parent.removeChild(domNode);
|
|
79
|
+
parent.appendChild(domNode);
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
|
|
65
84
|
var handleZoomChange = function handleZoomChange(e) {
|
|
66
85
|
setZoom(e.target.value / 100, false, reportLayoutWidth);
|
|
67
86
|
e.target.blur(); // prevent mixup with other keyboard shortcuts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport {\n changePage,\n closeFullscreen,\n openFullscreenHelper,\n} from '../../../utils/functions';\n\nconst PresentationBar = ({\n currentPage,\n fitToScreen,\n fittedZoom,\n isFullscreen,\n isVisible,\n onAnEventTrigger,\n pageCount,\n presentationBarActions,\n setCurrentPage,\n setIsFullscreen,\n setZoom,\n settings,\n zoom,\n}) => {\n const { reportLayoutWidth = 1123 } = settings;\n\n const toggleFullscreen = goFullscreen => () => {\n if (goFullscreen) {\n const openRequest = openFullscreenHelper();\n if (openRequest && openRequest.then) {\n openRequest.then(fitToScreen);\n } else {\n fitToScreen(500);\n }\n } else {\n const closeRequest = closeFullscreen();\n if (closeRequest && closeRequest.then) {\n closeRequest.then(fitToScreen);\n } else {\n fitToScreen(600); // magic number for safari :(\n }\n }\n\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(goFullscreen);\n };\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleZoomChange = e => {\n setZoom(e.target.value / 100, false, reportLayoutWidth);\n e.target.blur(); // prevent mixup with other keyboard shortcuts\n };\n\n return (\n <div className=\"jfPresentation-barContainer d-flex j-center f-width\">\n <div\n className={`\n floatingController p-relative d-flex a-center j-between w-fit forBar\n ${isVisible ? '' : ' hidden'}\n `}\n >\n <div className=\"toolSection-dropdownWrapper isDark\">\n <SelectZoom\n fittedZoom={fittedZoom}\n handleZoomChange={handleZoomChange}\n zoom={zoom}\n />\n </div>\n {pageCount > 1 && (\n <>\n <div className=\"divider\" />\n <PageNavigation\n currentPage={currentPage}\n decrease={pageChanger(-1)}\n increase={pageChanger(1)}\n isVisible={pageCount > 1}\n pageCount={pageCount}\n />\n <div className=\"divider\" />\n </>\n )}\n <PresentationActions\n isFullscreen={isFullscreen}\n presentationBarActions={presentationBarActions}\n toggleFullscreen={toggleFullscreen}\n />\n </div>\n </div>\n );\n};\n\nPresentationBar.propTypes = {\n currentPage: PropTypes.number,\n fitToScreen: PropTypes.func,\n fittedZoom: PropTypes.number,\n isFullscreen: PropTypes.bool,\n isVisible: PropTypes.bool,\n onAnEventTrigger: PropTypes.func,\n pageCount: PropTypes.number,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n setCurrentPage: PropTypes.func,\n setIsFullscreen: PropTypes.func,\n setZoom: PropTypes.func,\n settings: PropTypes.shape({\n reportLayoutWidth: PropTypes.string,\n }),\n zoom: PropTypes.number,\n};\n\nPresentationBar.defaultProps = {\n currentPage: 1,\n fitToScreen: f => f,\n fittedZoom: 1,\n isFullscreen: false,\n isVisible: true,\n onAnEventTrigger: f => f,\n pageCount: 1,\n presentationBarActions: [],\n setCurrentPage: f => f,\n setIsFullscreen: f => f,\n setZoom: f => f,\n settings: {},\n zoom: 1,\n};\n\nexport default PresentationBar;\n"],"names":["PresentationBar","currentPage","fitToScreen","fittedZoom","isFullscreen","isVisible","onAnEventTrigger","pageCount","presentationBarActions","setCurrentPage","setIsFullscreen","setZoom","settings","zoom","reportLayoutWidth","toggleFullscreen","goFullscreen","openRequest","openFullscreenHelper","then","closeRequest","closeFullscreen","pageChanger","action","changePage","handleZoomChange","e","target","value","blur","_jsx","_jsxs","propTypes","PropTypes","number","func","bool","arrayOf","shape","string","defaultProps","f"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport {\n changePage,\n closeFullscreen,\n openFullscreenHelper,\n} from '../../../utils/functions';\n\nconst PresentationBar = ({\n currentPage,\n fitToScreen,\n fittedZoom,\n isFullscreen,\n isVisible,\n onAnEventTrigger,\n pageCount,\n presentationBarActions,\n setCurrentPage,\n setIsFullscreen,\n setZoom,\n settings,\n zoom,\n}) => {\n const { reportLayoutWidth = 1123 } = settings;\n\n const toggleFullscreen = goFullscreen => () => {\n if (goFullscreen) {\n const openRequest = openFullscreenHelper();\n if (openRequest && openRequest.then) {\n openRequest.then(fitToScreen);\n } else {\n fitToScreen(500);\n }\n } else {\n const closeRequest = closeFullscreen();\n if (closeRequest && closeRequest.then) {\n closeRequest.then(fitToScreen);\n } else {\n fitToScreen(600); // magic number for safari :(\n }\n }\n\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(goFullscreen);\n };\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n useLayoutEffect(() => {\n // Hi, this is a horrible solution to a horrible Chromium bug.\n // It is temporary, and once chromium crew solves the\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1440024\n // we will be able to remove it, the idea itself comes from\n // them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3\n if (window.chrome) {\n // Detaching and re-attaching to dom likely forces a re-draw\n // of the svg.\n document.querySelectorAll('svg.recharts-surface').forEach(domNode => {\n const parent = domNode.parentElement;\n parent.removeChild(domNode);\n parent.appendChild(domNode);\n });\n }\n });\n\n const handleZoomChange = e => {\n setZoom(e.target.value / 100, false, reportLayoutWidth);\n e.target.blur(); // prevent mixup with other keyboard shortcuts\n };\n\n return (\n <div className=\"jfPresentation-barContainer d-flex j-center f-width\">\n <div\n className={`\n floatingController p-relative d-flex a-center j-between w-fit forBar\n ${isVisible ? '' : ' hidden'}\n `}\n >\n <div className=\"toolSection-dropdownWrapper isDark\">\n <SelectZoom\n fittedZoom={fittedZoom}\n handleZoomChange={handleZoomChange}\n zoom={zoom}\n />\n </div>\n {pageCount > 1 && (\n <>\n <div className=\"divider\" />\n <PageNavigation\n currentPage={currentPage}\n decrease={pageChanger(-1)}\n increase={pageChanger(1)}\n isVisible={pageCount > 1}\n pageCount={pageCount}\n />\n <div className=\"divider\" />\n </>\n )}\n <PresentationActions\n isFullscreen={isFullscreen}\n presentationBarActions={presentationBarActions}\n toggleFullscreen={toggleFullscreen}\n />\n </div>\n </div>\n );\n};\n\nPresentationBar.propTypes = {\n currentPage: PropTypes.number,\n fitToScreen: PropTypes.func,\n fittedZoom: PropTypes.number,\n isFullscreen: PropTypes.bool,\n isVisible: PropTypes.bool,\n onAnEventTrigger: PropTypes.func,\n pageCount: PropTypes.number,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n setCurrentPage: PropTypes.func,\n setIsFullscreen: PropTypes.func,\n setZoom: PropTypes.func,\n settings: PropTypes.shape({\n reportLayoutWidth: PropTypes.string,\n }),\n zoom: PropTypes.number,\n};\n\nPresentationBar.defaultProps = {\n currentPage: 1,\n fitToScreen: f => f,\n fittedZoom: 1,\n isFullscreen: false,\n isVisible: true,\n onAnEventTrigger: f => f,\n pageCount: 1,\n presentationBarActions: [],\n setCurrentPage: f => f,\n setIsFullscreen: f => f,\n setZoom: f => f,\n settings: {},\n zoom: 1,\n};\n\nexport default PresentationBar;\n"],"names":["PresentationBar","currentPage","fitToScreen","fittedZoom","isFullscreen","isVisible","onAnEventTrigger","pageCount","presentationBarActions","setCurrentPage","setIsFullscreen","setZoom","settings","zoom","reportLayoutWidth","toggleFullscreen","goFullscreen","openRequest","openFullscreenHelper","then","closeRequest","closeFullscreen","pageChanger","action","changePage","useLayoutEffect","window","chrome","document","querySelectorAll","forEach","domNode","parent","parentElement","removeChild","appendChild","handleZoomChange","e","target","value","blur","_jsx","_jsxs","propTypes","PropTypes","number","func","bool","arrayOf","shape","string","defaultProps","f"],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import 'core-js/modules/web.dom-collections.for-each.js';
|
|
2
|
+
import { useLayoutEffect } from 'react';
|
|
1
3
|
import PropTypes from 'prop-types';
|
|
2
4
|
import PageNavigation from './PageNavigation.js';
|
|
3
5
|
import PresentationActions from './PresentationActions.js';
|
|
@@ -56,6 +58,23 @@ var PresentationBar = function PresentationBar(_ref) {
|
|
|
56
58
|
});
|
|
57
59
|
};
|
|
58
60
|
|
|
61
|
+
useLayoutEffect(function () {
|
|
62
|
+
// Hi, this is a horrible solution to a horrible Chromium bug.
|
|
63
|
+
// It is temporary, and once chromium crew solves the
|
|
64
|
+
// https://bugs.chromium.org/p/chromium/issues/detail?id=1440024
|
|
65
|
+
// we will be able to remove it, the idea itself comes from
|
|
66
|
+
// them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3
|
|
67
|
+
if (window.chrome) {
|
|
68
|
+
// Detaching and re-attaching to dom likely forces a re-draw
|
|
69
|
+
// of the svg.
|
|
70
|
+
document.querySelectorAll('svg.recharts-surface').forEach(function (domNode) {
|
|
71
|
+
var parent = domNode.parentElement;
|
|
72
|
+
parent.removeChild(domNode);
|
|
73
|
+
parent.appendChild(domNode);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
59
78
|
var handleZoomChange = function handleZoomChange(e) {
|
|
60
79
|
setZoom(e.target.value / 100, false, reportLayoutWidth);
|
|
61
80
|
e.target.blur(); // prevent mixup with other keyboard shortcuts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport {\n changePage,\n closeFullscreen,\n openFullscreenHelper,\n} from '../../../utils/functions';\n\nconst PresentationBar = ({\n currentPage,\n fitToScreen,\n fittedZoom,\n isFullscreen,\n isVisible,\n onAnEventTrigger,\n pageCount,\n presentationBarActions,\n setCurrentPage,\n setIsFullscreen,\n setZoom,\n settings,\n zoom,\n}) => {\n const { reportLayoutWidth = 1123 } = settings;\n\n const toggleFullscreen = goFullscreen => () => {\n if (goFullscreen) {\n const openRequest = openFullscreenHelper();\n if (openRequest && openRequest.then) {\n openRequest.then(fitToScreen);\n } else {\n fitToScreen(500);\n }\n } else {\n const closeRequest = closeFullscreen();\n if (closeRequest && closeRequest.then) {\n closeRequest.then(fitToScreen);\n } else {\n fitToScreen(600); // magic number for safari :(\n }\n }\n\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(goFullscreen);\n };\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n const handleZoomChange = e => {\n setZoom(e.target.value / 100, false, reportLayoutWidth);\n e.target.blur(); // prevent mixup with other keyboard shortcuts\n };\n\n return (\n <div className=\"jfPresentation-barContainer d-flex j-center f-width\">\n <div\n className={`\n floatingController p-relative d-flex a-center j-between w-fit forBar\n ${isVisible ? '' : ' hidden'}\n `}\n >\n <div className=\"toolSection-dropdownWrapper isDark\">\n <SelectZoom\n fittedZoom={fittedZoom}\n handleZoomChange={handleZoomChange}\n zoom={zoom}\n />\n </div>\n {pageCount > 1 && (\n <>\n <div className=\"divider\" />\n <PageNavigation\n currentPage={currentPage}\n decrease={pageChanger(-1)}\n increase={pageChanger(1)}\n isVisible={pageCount > 1}\n pageCount={pageCount}\n />\n <div className=\"divider\" />\n </>\n )}\n <PresentationActions\n isFullscreen={isFullscreen}\n presentationBarActions={presentationBarActions}\n toggleFullscreen={toggleFullscreen}\n />\n </div>\n </div>\n );\n};\n\nPresentationBar.propTypes = {\n currentPage: PropTypes.number,\n fitToScreen: PropTypes.func,\n fittedZoom: PropTypes.number,\n isFullscreen: PropTypes.bool,\n isVisible: PropTypes.bool,\n onAnEventTrigger: PropTypes.func,\n pageCount: PropTypes.number,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n setCurrentPage: PropTypes.func,\n setIsFullscreen: PropTypes.func,\n setZoom: PropTypes.func,\n settings: PropTypes.shape({\n reportLayoutWidth: PropTypes.string,\n }),\n zoom: PropTypes.number,\n};\n\nPresentationBar.defaultProps = {\n currentPage: 1,\n fitToScreen: f => f,\n fittedZoom: 1,\n isFullscreen: false,\n isVisible: true,\n onAnEventTrigger: f => f,\n pageCount: 1,\n presentationBarActions: [],\n setCurrentPage: f => f,\n setIsFullscreen: f => f,\n setZoom: f => f,\n settings: {},\n zoom: 1,\n};\n\nexport default PresentationBar;\n"],"names":["PresentationBar","currentPage","fitToScreen","fittedZoom","isFullscreen","isVisible","onAnEventTrigger","pageCount","presentationBarActions","setCurrentPage","setIsFullscreen","setZoom","settings","zoom","reportLayoutWidth","toggleFullscreen","goFullscreen","openRequest","openFullscreenHelper","then","closeRequest","closeFullscreen","pageChanger","action","changePage","handleZoomChange","e","target","value","blur","_jsx","_jsxs","propTypes","PropTypes","number","func","bool","arrayOf","shape","string","defaultProps","f"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PresentationBar.js","sources":["../../../../../src/components/Presentation/PresentationBar/PresentationBar.js"],"sourcesContent":["import { useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport PageNavigation from './PageNavigation';\nimport PresentationActions from './PresentationActions';\nimport SelectZoom from './SelectZoom';\nimport {\n changePage,\n closeFullscreen,\n openFullscreenHelper,\n} from '../../../utils/functions';\n\nconst PresentationBar = ({\n currentPage,\n fitToScreen,\n fittedZoom,\n isFullscreen,\n isVisible,\n onAnEventTrigger,\n pageCount,\n presentationBarActions,\n setCurrentPage,\n setIsFullscreen,\n setZoom,\n settings,\n zoom,\n}) => {\n const { reportLayoutWidth = 1123 } = settings;\n\n const toggleFullscreen = goFullscreen => () => {\n if (goFullscreen) {\n const openRequest = openFullscreenHelper();\n if (openRequest && openRequest.then) {\n openRequest.then(fitToScreen);\n } else {\n fitToScreen(500);\n }\n } else {\n const closeRequest = closeFullscreen();\n if (closeRequest && closeRequest.then) {\n closeRequest.then(fitToScreen);\n } else {\n fitToScreen(600); // magic number for safari :(\n }\n }\n\n onAnEventTrigger('clickedFullscreen');\n setIsFullscreen(goFullscreen);\n };\n\n const pageChanger = action => changePage({\n action,\n currentPage,\n pageCount,\n setCurrentPage,\n });\n\n useLayoutEffect(() => {\n // Hi, this is a horrible solution to a horrible Chromium bug.\n // It is temporary, and once chromium crew solves the\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1440024\n // we will be able to remove it, the idea itself comes from\n // them, btw https://bugs.chromium.org/p/chromium/issues/detail?id=1440024#c3\n if (window.chrome) {\n // Detaching and re-attaching to dom likely forces a re-draw\n // of the svg.\n document.querySelectorAll('svg.recharts-surface').forEach(domNode => {\n const parent = domNode.parentElement;\n parent.removeChild(domNode);\n parent.appendChild(domNode);\n });\n }\n });\n\n const handleZoomChange = e => {\n setZoom(e.target.value / 100, false, reportLayoutWidth);\n e.target.blur(); // prevent mixup with other keyboard shortcuts\n };\n\n return (\n <div className=\"jfPresentation-barContainer d-flex j-center f-width\">\n <div\n className={`\n floatingController p-relative d-flex a-center j-between w-fit forBar\n ${isVisible ? '' : ' hidden'}\n `}\n >\n <div className=\"toolSection-dropdownWrapper isDark\">\n <SelectZoom\n fittedZoom={fittedZoom}\n handleZoomChange={handleZoomChange}\n zoom={zoom}\n />\n </div>\n {pageCount > 1 && (\n <>\n <div className=\"divider\" />\n <PageNavigation\n currentPage={currentPage}\n decrease={pageChanger(-1)}\n increase={pageChanger(1)}\n isVisible={pageCount > 1}\n pageCount={pageCount}\n />\n <div className=\"divider\" />\n </>\n )}\n <PresentationActions\n isFullscreen={isFullscreen}\n presentationBarActions={presentationBarActions}\n toggleFullscreen={toggleFullscreen}\n />\n </div>\n </div>\n );\n};\n\nPresentationBar.propTypes = {\n currentPage: PropTypes.number,\n fitToScreen: PropTypes.func,\n fittedZoom: PropTypes.number,\n isFullscreen: PropTypes.bool,\n isVisible: PropTypes.bool,\n onAnEventTrigger: PropTypes.func,\n pageCount: PropTypes.number,\n presentationBarActions: PropTypes.arrayOf(PropTypes.shape({})),\n setCurrentPage: PropTypes.func,\n setIsFullscreen: PropTypes.func,\n setZoom: PropTypes.func,\n settings: PropTypes.shape({\n reportLayoutWidth: PropTypes.string,\n }),\n zoom: PropTypes.number,\n};\n\nPresentationBar.defaultProps = {\n currentPage: 1,\n fitToScreen: f => f,\n fittedZoom: 1,\n isFullscreen: false,\n isVisible: true,\n onAnEventTrigger: f => f,\n pageCount: 1,\n presentationBarActions: [],\n setCurrentPage: f => f,\n setIsFullscreen: f => f,\n setZoom: f => f,\n settings: {},\n zoom: 1,\n};\n\nexport default PresentationBar;\n"],"names":["PresentationBar","currentPage","fitToScreen","fittedZoom","isFullscreen","isVisible","onAnEventTrigger","pageCount","presentationBarActions","setCurrentPage","setIsFullscreen","setZoom","settings","zoom","reportLayoutWidth","toggleFullscreen","goFullscreen","openRequest","openFullscreenHelper","then","closeRequest","closeFullscreen","pageChanger","action","changePage","useLayoutEffect","window","chrome","document","querySelectorAll","forEach","domNode","parent","parentElement","removeChild","appendChild","handleZoomChange","e","target","value","blur","_jsx","_jsxs","propTypes","PropTypes","number","func","bool","arrayOf","shape","string","defaultProps","f"],"mappings":"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"}
|