You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2024/01/11 17:04:44 UTC
(superset) branch bump-react-and-eslint created (now 13edf94bb3)
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a change to branch bump-react-and-eslint
in repository https://gitbox.apache.org/repos/asf/superset.git
at 13edf94bb3 Dealing with VX deps
This branch includes the following new commits:
new 9760bacce7 WHAM - round 1
new 13edf94bb3 Dealing with VX deps
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(superset) 01/02: WHAM - round 1
Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch bump-react-and-eslint
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 9760bacce79803fbd1a57c83d2221d04dc2360a3
Author: Evan Rusackas <ev...@rusackas.com>
AuthorDate: Thu Jan 11 09:22:00 2024 -0700
WHAM - round 1
---
docs/package.json | 4 +-
superset-embedded-sdk/package.json | 2 +-
.../src/guestTokenRefresh.test.ts | 2 +-
superset-frontend/.eslintrc.js | 74 +++++--
superset-frontend/cypress-base/.eslintrc | 44 -----
.../.eslintrc.js} | 55 +++---
superset-frontend/cypress-base/package.json | 2 +-
superset-frontend/package.json | 79 ++++----
.../superset-ui-chart-controls/package.json | 14 +-
.../src/components/SQLPopover.tsx | 4 +-
.../src/components/Select.tsx | 4 +-
.../src/components/Tooltip.tsx | 4 +-
.../src/components/labelUtils.tsx | 16 +-
.../src/operators/contributionOperator.ts | 25 +--
.../src/operators/timeCompareOperator.ts | 41 ++--
.../src/operators/timeComparePivotOperator.ts | 51 ++---
.../superset-ui-chart-controls/src/types.ts | 70 +++----
.../packages/superset-ui-core/package.json | 2 +-
.../src/chart/components/ChartDataProvider.tsx | 2 +-
.../src/chart/components/NoResultsComponent.tsx | 4 +-
.../src/chart/components/SuperChart.tsx | 2 +-
.../src/chart/components/SuperChartCore.tsx | 4 +-
.../src/connection/callApi/parseResponse.ts | 8 +-
.../hooks/useChangeEffect/useChangeEffect.test.ts | 10 +-
.../useComponentDidMount.test.ts | 4 +-
.../useComponentDidUpdate.test.ts | 4 +-
.../superset-ui-core/src/query/api/v1/types.ts | 4 +-
.../superset-ui-core/src/query/types/Operator.ts | 6 +-
.../test/chart/components/MockChartPlugins.tsx | 6 +-
.../test/chart/components/SuperChartCore.test.tsx | 6 +-
.../test/chart/models/ChartPlugin.test.tsx | 4 +-
.../test/color/SharedLabelColorSingleton.test.ts | 4 +-
.../superset-ui-core/test/models/Registry.test.ts | 22 +--
.../test/query/buildQueryContext.test.ts | 4 +-
.../test/translation/TranslatorSingleton.test.ts | 2 +-
.../packages/superset-ui-demo/package.json | 6 +-
.../legacy-plugin-chart-map-box/Stories.tsx | 4 +-
.../legacy-preset-chart-deckgl/Arc/Stories.tsx | 138 ++++++-------
.../legacy-preset-chart-deckgl/Grid/Stories.tsx | 80 ++++----
.../legacy-preset-chart-deckgl/Hex/Stories.tsx | 82 ++++----
.../legacy-preset-chart-deckgl/Path/Stories.tsx | 4 +-
.../legacy-preset-chart-deckgl/Polygon/Stories.tsx | 216 +++++++++++----------
.../legacy-preset-chart-deckgl/Scatter/Stories.tsx | 96 ++++-----
.../Screengrid/Stories.tsx | 78 ++++----
.../AreaTimeseries/Stories.tsx | 4 +-
.../plugin-chart-echarts/BoxPlot/Stories.tsx | 42 ++--
.../plugin-chart-echarts/Bubble/Stories.tsx | 162 ++++++++--------
.../plugin-chart-echarts/Funnel/Stories.tsx | 64 +++---
.../plugins/plugin-chart-echarts/Gauge/Stories.tsx | 28 +--
.../plugins/plugin-chart-echarts/Graph/Stories.tsx | 32 +--
.../MixedTimeseries/Stories.tsx | 102 +++++-----
.../plugins/plugin-chart-echarts/Pie/Stories.tsx | 132 +++++++------
.../plugins/plugin-chart-echarts/Radar/Stories.tsx | 58 +++---
.../plugin-chart-echarts/Sunburst/Stories.tsx | 30 +--
.../plugin-chart-echarts/Timeseries/Stories.tsx | 160 +++++++--------
.../plugins/plugin-chart-echarts/Tree/Stories.tsx | 92 ++++-----
.../plugin-chart-echarts/Treemap/Stories.tsx | 42 ++--
.../plugin-chart-echarts/Waterfall/Stories.tsx | 56 +++---
.../plugin-chart-pivot-table/PivotTableStories.tsx | 26 +--
.../plugins/plugin-chart-table/TableStories.tsx | 4 +-
.../superset-ui-chart/ChartDataProviderStories.tsx | 2 +-
.../superset-ui-chart/SuperChartStories.tsx | 28 +--
.../superset-ui-connection/ConnectionStories.tsx | 2 +-
.../src/switchboard.test.ts | 2 +-
.../legacy-plugin-chart-calendar/package.json | 2 +-
.../src/ReactCalendar.jsx | 4 +-
.../plugins/legacy-plugin-chart-chord/package.json | 2 +-
.../legacy-plugin-chart-chord/src/ReactChord.jsx | 12 +-
.../legacy-plugin-chart-country-map/package.json | 2 +-
.../src/ReactCountryMap.jsx | 12 +-
.../legacy-plugin-chart-event-flow/package.json | 2 +-
.../legacy-plugin-chart-heatmap/package.json | 2 +-
.../src/ReactHeatmap.jsx | 132 ++++++-------
.../legacy-plugin-chart-histogram/package.json | 4 +-
.../legacy-plugin-chart-horizon/package.json | 2 +-
.../legacy-plugin-chart-map-box/package.json | 2 +-
.../legacy-plugin-chart-paired-t-test/package.json | 2 +-
.../package.json | 2 +-
.../src/ReactParallelCoordinates.jsx | 12 +-
.../legacy-plugin-chart-partition/package.json | 2 +-
.../src/ReactPartition.jsx | 12 +-
.../plugins/legacy-plugin-chart-rose/package.json | 2 +-
.../legacy-plugin-chart-rose/src/ReactRose.jsx | 40 ++--
.../legacy-plugin-chart-sankey-loop/package.json | 2 +-
.../src/ReactSankeyLoop.jsx | 12 +-
.../legacy-plugin-chart-sankey/package.json | 2 +-
.../legacy-plugin-chart-sankey/src/ReactSankey.jsx | 12 +-
.../legacy-plugin-chart-sunburst/package.json | 2 +-
.../src/ReactSunburst.jsx | 12 +-
.../legacy-plugin-chart-world-map/package.json | 2 +-
.../src/ReactWorldMap.jsx | 4 +-
.../legacy-preset-chart-deckgl/package.json | 4 +-
.../src/CategoricalDeckGLContainer.tsx | 4 +-
.../legacy-preset-chart-deckgl/src/Multi/Multi.tsx | 4 +-
.../legacy-preset-chart-deckgl/src/TooltipRow.tsx | 14 +-
.../src/components/Legend.tsx | 6 +-
.../src/layers/Arc/Arc.tsx | 34 ++--
.../src/layers/Geojson/Geojson.tsx | 4 +-
.../src/layers/Polygon/Polygon.tsx | 6 +-
.../src/layers/Scatter/Scatter.tsx | 2 +-
.../src/layers/Screengrid/Screengrid.tsx | 4 +-
.../plugins/legacy-preset-chart-nvd3/package.json | 3 +-
.../legacy-preset-chart-nvd3/src/ReactNVD3.jsx | 12 +-
.../plugins/plugin-chart-echarts/package.json | 2 +-
.../src/MixedTimeseries/transformProps.ts | 17 +-
.../plugin-chart-echarts/src/utils/forecast.ts | 15 +-
.../plugin-chart-echarts/src/utils/series.ts | 2 +-
.../plugins/plugin-chart-handlebars/package.json | 8 +-
.../src/components/ControlHeader/controlHeader.tsx | 14 +-
.../src/components/Handlebars/HandlebarsViewer.tsx | 6 +-
.../src/plugin/controls/handlebarTemplate.tsx | 6 +-
.../src/plugin/controls/style.tsx | 4 +-
.../plugins/plugin-chart-pivot-table/package.json | 6 +-
.../src/react-pivottable/utilities.js | 3 +-
.../plugins/plugin-chart-table/package.json | 14 +-
.../plugins/plugin-chart-table/src/TableChart.tsx | 4 +-
.../plugin-chart-table/src/transformProps.ts | 3 +-
.../plugins/plugin-chart-word-cloud/package.json | 2 +-
.../spec/helpers/setupSupersetClient.js | 2 +-
superset-frontend/spec/helpers/shim.tsx | 14 +-
superset-frontend/spec/helpers/testing-library.tsx | 2 +-
superset-frontend/src/GlobalStyles.tsx | 138 ++++++-------
.../src/SqlLab/SqlLabGlobalStyles.tsx | 28 +--
.../AceEditorWrapper/AceEditorWrapper.test.tsx | 7 +-
.../SqlLab/components/AceEditorWrapper/index.tsx | 4 +-
.../components/AceEditorWrapper/useAnnotations.ts | 18 +-
.../src/SqlLab/components/App/App.test.jsx | 20 +-
.../src/SqlLab/components/ColumnElement/index.tsx | 8 +-
.../EstimateQueryCostButton.test.tsx | 14 +-
.../components/EstimateQueryCostButton/index.tsx | 6 +-
.../ExploreCtasResultsButton.test.tsx | 2 +-
.../components/ExploreCtasResultsButton/index.tsx | 6 +-
.../ExploreResultsButton.test.tsx | 4 +-
.../components/ExploreResultsButton/index.tsx | 6 +-
.../src/SqlLab/components/QueryHistory/index.tsx | 7 +-
.../QueryLimitSelect/QueryLimitSelect.test.tsx | 66 ++++---
.../SqlLab/components/QueryLimitSelect/index.tsx | 6 +-
.../QueryStateLabel/QueryStateLabel.test.tsx | 8 +-
.../src/SqlLab/components/QueryTable/index.tsx | 6 +-
.../SqlLab/components/ResultSet/ResultSet.test.tsx | 8 +-
.../src/SqlLab/components/ResultSet/index.tsx | 6 +-
.../RunQueryActionButton.test.tsx | 30 ++-
.../components/RunQueryActionButton/index.tsx | 6 +-
.../SaveDatasetActionButton.test.tsx | 2 +-
.../components/SaveDatasetActionButton/index.tsx | 6 +-
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 20 +-
.../SqlLab/components/SaveDatasetModal/index.tsx | 6 +-
.../SqlLab/components/SaveQuery/SaveQuery.test.tsx | 24 +--
.../src/SqlLab/components/SaveQuery/index.tsx | 6 +-
.../ShareSqlLabQuery/ShareSqlLabQuery.test.tsx | 10 +-
.../SqlLab/components/ShareSqlLabQuery/index.tsx | 6 +-
.../src/SqlLab/components/SouthPane/index.tsx | 6 +-
.../SqlLab/components/SqlEditor/SqlEditor.test.tsx | 6 +-
.../SqlEditorLeftBar/SqlEditorLeftBar.test.jsx | 2 +-
.../SqlLab/components/SqlEditorLeftBar/index.tsx | 6 +-
.../SqlEditorTabHeader/SqlEditorTabHeader.test.tsx | 74 +++----
.../components/TableElement/TableElement.test.tsx | 15 +-
.../src/SqlLab/components/TableElement/index.tsx | 8 +-
.../TemplateParamsEditor.test.tsx | 30 ++-
.../components/TemplateParamsEditor/index.tsx | 6 +-
.../src/SqlLab/utils/newQueryTabName.ts | 4 +-
.../src/components/Alert/Alert.stories.tsx | 62 +++---
.../src/components/Alert/Alert.test.tsx | 4 +-
.../AlteredSliceTag/AlteredSliceTag.stories.tsx | 4 +-
.../AsyncAceEditor/AsyncAceEditor.stories.tsx | 6 +-
.../AsyncEsmComponent.stories.tsx | 16 +-
.../AsyncEsmComponent/AsyncEsmComponent.test.tsx | 10 +-
.../components/AsyncSelect/AsyncSelect.test.jsx | 4 +-
.../src/components/AuditInfo/ModifiedInfo.test.tsx | 4 +-
.../src/components/AuditInfo/index.tsx | 4 +-
.../src/components/Badge/Badge.stories.tsx | 68 ++++---
.../src/components/Button/Button.stories.tsx | 46 ++---
.../components/ButtonGroup/ButtonGroup.stories.tsx | 34 ++--
.../src/components/Card/Card.stories.tsx | 4 +-
superset-frontend/src/components/Card/index.tsx | 26 +--
.../CertifiedBadge/CertifiedBadge.stories.tsx | 6 +-
.../CertifiedBadge/CertifiedBadge.test.tsx | 6 +-
.../Chart/ChartContextMenu/ChartContextMenu.tsx | 16 +-
.../src/components/Chart/ChartRenderer.jsx | 2 +-
.../components/Chart/DisabledMenuItemTooltip.tsx | 38 ++--
.../Chart/DrillBy/DrillByMenuItems.test.tsx | 8 +-
.../components/Chart/DrillBy/DrillByMenuItems.tsx | 6 +-
.../components/Chart/DrillBy/DrillByModal.test.tsx | 12 +-
.../src/components/Chart/DrillBy/DrillByModal.tsx | 8 +-
.../Chart/DrillBy/useDisplayModeToggle.tsx | 4 +-
.../Chart/DrillBy/useDrillByBreadcrumbs.test.ts | 10 +-
.../Chart/DrillBy/useResultsTableView.test.ts | 2 +-
.../DrillDetail/DrillDetailMenuItems.test.tsx | 25 ++-
.../Chart/DrillDetail/DrillDetailMenuItems.tsx | 38 ++--
.../Chart/DrillDetail/DrillDetailModal.test.tsx | 10 +-
.../Chart/DrillDetail/DrillDetailModal.tsx | 32 +--
.../Chart/DrillDetail/DrillDetailPane.test.tsx | 4 +-
.../Chart/DrillDetail/DrillDetailPane.tsx | 15 +-
.../DrillDetail/DrillDetailTableControls.test.tsx | 8 +-
.../components/Chart/MenuItemWithTruncation.tsx | 6 +-
.../src/components/Checkbox/Checkbox.stories.tsx | 4 +-
.../src/components/Checkbox/CheckboxIcons.tsx | 12 +-
.../src/components/Collapse/Collapse.stories.tsx | 4 +-
.../src/components/Collapse/Collapse.test.tsx | 8 +-
.../ConfirmStatusChange.stories.tsx | 6 +-
.../ConfirmStatusChange.test.jsx | 6 +-
.../CopyToClipboard/CopyToClipboard.stories.tsx | 4 +-
.../CopyToClipboard/CopyToClipboard.test.tsx | 10 +-
.../components/CronPicker/CronPicker.stories.tsx | 4 +-
.../src/components/CronPicker/CronPicker.test.tsx | 2 +-
.../DatabaseSelector/DatabaseSelector.test.tsx | 34 ++--
.../src/components/DatabaseSelector/index.tsx | 20 +-
.../Datasource/DatasourceEditor.test.jsx | 58 +++---
.../components/DatePicker/DatePicker.stories.tsx | 12 +-
.../components/DeleteModal/DeleteModal.test.tsx | 32 +--
.../DeprecatedSelect/DeprecatedSelect.stories.tsx | 80 ++++----
.../DeprecatedSelect/DeprecatedSelect.tsx | 6 +-
.../src/components/DeprecatedSelect/styles.tsx | 31 +--
.../src/components/Dropdown/Dropdown.stories.tsx | 16 +-
.../src/components/Dropdown/index.tsx | 24 ++-
.../DropdownButton/DropdownButton.stories.tsx | 12 +-
.../DropdownContainer.stories.tsx | 4 +-
.../DropdownContainer/DropdownContainer.test.tsx | 14 +-
.../DropdownSelectableIcon.stories.tsx | 14 +-
.../DropdownSelectableIcon.test.tsx | 4 +-
.../components/DropdownSelectableIcon/index.tsx | 44 +++--
.../DynamicEditableTitle.test.tsx | 14 +-
.../src/components/DynamicEditableTitle/index.tsx | 6 +-
.../EditableTitle/EditableTitle.stories.tsx | 6 +-
.../components/EmptyState/EmptyState.stories.tsx | 88 +++++----
.../src/components/EmptyState/index.tsx | 142 +++++++-------
.../ErrorMessage/BasicErrorAlert.test.tsx | 5 +-
.../ErrorMessage/DatabaseErrorMessage.test.tsx | 21 +-
.../DatasetNotFoundErrorMessage.test.tsx | 5 +-
.../components/ErrorMessage/ErrorAlert.test.tsx | 29 +--
.../ErrorMessageWithStackTrace.test.tsx | 13 +-
.../ErrorMessage/ParameterErrorMessage.test.tsx | 17 +-
.../ErrorMessage/ParameterErrorMessage.tsx | 68 ++++---
.../ErrorMessage/TimeoutErrorMessage.test.tsx | 21 +-
.../getErrorMessageComponentRegistry.test.tsx | 12 +-
.../src/components/FacePile/FacePile.stories.tsx | 6 +-
.../src/components/FaveStar/FaveStar.test.tsx | 22 +--
.../src/components/FaveStar/index.tsx | 6 +-
.../FilterableTable/FilterableTable.stories.tsx | 12 +-
.../FilterableTable/FilterableTable.test.tsx | 48 ++---
.../src/components/FilterableTable/index.tsx | 6 +-
.../Form/LabeledErrorBoundInput.stories.tsx | 6 +-
.../src/components/Form/LabeledErrorBoundInput.tsx | 92 ++++-----
.../src/components/FormRow/FormRow.stories.tsx | 4 +-
.../src/components/GenericLink/GenericLink.tsx | 6 +-
.../components/IconButton/IconButton.stories.tsx | 22 ++-
.../components/IconTooltip/IconTooltip.stories.tsx | 16 +-
.../src/components/IconTooltip/index.tsx | 6 +-
superset-frontend/src/components/Icons/Icon.tsx | 12 +-
.../src/components/Icons/Icons.stories.tsx | 30 +--
.../src/components/ImportModal/index.tsx | 26 ++-
.../IndeterminateCheckbox.stories.tsx | 6 +-
.../IndeterminateCheckbox.test.tsx | 2 +-
.../components/InfoTooltip/InfoTooltip.stories.tsx | 4 +-
.../src/components/Label/Label.stories.tsx | 40 ++--
.../src/components/ListView/CardSortSelect.tsx | 6 +-
.../components/ListView/CrossLinksTooltip.test.tsx | 8 +-
.../src/components/ListView/ListView.tsx | 56 +++---
.../ListViewCard/ListViewCard.stories.tsx | 90 +++++----
.../src/components/ListViewCard/index.tsx | 30 ++-
.../src/components/Loading/Loading.stories.tsx | 42 ++--
.../components/MessageToasts/ToastPresenter.tsx | 3 +-
.../src/components/MetadataBar/ContentConfig.tsx | 10 +-
.../components/MetadataBar/MetadataBar.stories.tsx | 6 +-
.../components/MetadataBar/MetadataBar.test.tsx | 26 +--
.../src/components/MetadataBar/MetadataBar.tsx | 10 +-
.../src/components/Modal/Modal.stories.tsx | 22 ++-
superset-frontend/src/components/Modal/Modal.tsx | 19 +-
.../ModalTrigger/ModalTrigger.stories.tsx | 6 +-
.../components/ModalTrigger/ModalTrigger.test.tsx | 10 +-
.../PageHeaderWithActions.test.tsx | 2 +-
.../src/components/PageHeaderWithActions/index.tsx | 6 +-
.../src/components/Pagination/Ellipsis.test.tsx | 16 +-
.../src/components/Pagination/Item.test.tsx | 16 +-
.../src/components/Pagination/Next.test.tsx | 16 +-
.../src/components/Pagination/Prev.test.tsx | 16 +-
.../src/components/Popover/Popover.stories.tsx | 26 +--
.../src/components/Popover/Popover.test.tsx | 6 +-
.../src/components/Popover/Popover.tsx | 4 +-
.../PopoverDropdown/PopoverDropdown.stories.tsx | 9 +-
.../PopoverDropdown/PopoverDropdown.test.tsx | 8 +-
.../src/components/PopoverDropdown/index.tsx | 4 +-
.../PopoverSection/PopoverSection.stories.tsx | 34 ++--
.../PopoverSection/PopoverSection.test.tsx | 4 +-
.../components/ProgressBar/ProgressBar.stories.tsx | 6 +-
.../src/components/Radio/Radio.stories.tsx | 4 +-
.../RefreshLabel/RefreshLabel.stories.tsx | 6 +-
.../components/RefreshLabel/RefreshLabel.test.tsx | 6 +-
.../src/components/RefreshLabel/index.tsx | 4 +-
.../src/components/Select/AsyncSelect.stories.tsx | 6 +-
.../src/components/Select/AsyncSelect.test.tsx | 58 +++---
.../src/components/Select/AsyncSelect.tsx | 12 +-
.../src/components/Select/CustomTag.tsx | 4 +-
.../src/components/Select/Select.stories.tsx | 168 ++++++++--------
.../src/components/Select/Select.test.tsx | 90 +++++----
.../src/components/Slider/Slider.stories.tsx | 6 +-
.../src/components/Switch/Switch.stories.tsx | 4 +-
superset-frontend/src/components/Switch/index.tsx | 4 +-
.../src/components/Table/VirtualTable.tsx | 6 +-
.../cell-renderers/ActionCell/ActionCell.test.tsx | 6 +-
.../src/components/TableLoader/index.tsx | 4 +-
.../TableSelector/TableSelector.test.tsx | 22 ++-
.../src/components/TableSelector/index.tsx | 9 +-
.../src/components/TableView/TableView.stories.tsx | 6 +-
.../src/components/TableView/TableView.test.tsx | 12 +-
.../src/components/TableView/TableView.tsx | 16 +-
.../src/components/Tabs/Tabs.stories.tsx | 28 +--
superset-frontend/src/components/Tabs/Tabs.tsx | 104 +++++-----
superset-frontend/src/components/Tags/Tag.tsx | 6 +-
.../src/components/Tags/TagsList.stories.tsx | 6 +-
superset-frontend/src/components/Tags/TagsList.tsx | 6 +-
.../src/components/TelemetryPixel/index.tsx | 6 +-
.../src/components/Timer/Timer.stories.tsx | 4 +-
.../TimezoneSelector/TimezoneSelector.stories.tsx | 4 +-
.../TimezoneSelector/TimezoneSelector.test.tsx | 8 +-
.../src/components/TimezoneSelector/index.tsx | 4 +-
.../src/components/Tooltip/Tooltip.stories.tsx | 12 +-
.../src/components/Tooltip/Tooltip.test.tsx | 4 +-
superset-frontend/src/components/Tooltip/index.tsx | 4 +-
.../TooltipParagraph/TooltipParagraph.stories.tsx | 12 +-
.../TooltipParagraph/TooltipParagraph.test.tsx | 4 +-
.../src/components/UiConfigContext/index.tsx | 31 +--
.../WarningIconWithTooltip.stories.tsx | 12 +-
.../components/AddSliceCard/AddSliceCard.test.tsx | 2 +-
.../components/AddSliceCard/AddSliceCard.tsx | 6 +-
.../components/AnchorLink/AnchorLink.stories.tsx | 6 +-
.../components/AnchorLink/AnchorLink.test.tsx | 2 +-
.../components/BuilderComponentPane/index.tsx | 108 ++++++-----
.../components/CssEditor/CssEditor.test.tsx | 20 +-
.../src/dashboard/components/Dashboard.test.jsx | 4 +-
.../DashboardBuilder/DashboardBuilder.test.tsx | 87 ++++++---
.../DashboardBuilder/DashboardBuilder.tsx | 13 +-
.../components/DashboardEmbedControls.tsx | 8 +-
.../components/FilterBoxMigrationModal.tsx | 71 +++----
.../DetailsPanel/DetailsPanel.test.tsx | 24 +--
.../components/FiltersBadge/DetailsPanel/index.tsx | 6 +-
.../FilterIndicator/FilterIndicator.test.tsx | 16 +-
.../dashboard/components/FiltersBadge/index.tsx | 4 +-
.../dashboard/components/Header/Header.test.tsx | 44 ++---
.../HeaderActionsDropdown.test.tsx | 4 +-
.../src/dashboard/components/IconButton.tsx | 28 +--
.../OverwriteConfirm/OverwriteConfirm.test.tsx | 8 +-
.../OverwriteConfirmModal.test.tsx | 10 +-
.../OverwriteConfirm/OverwriteConfirmModal.tsx | 4 +-
.../components/OverwriteConfirm/index.tsx | 4 +-
.../PropertiesModal/PropertiesModal.test.jsx | 2 +-
.../PropertiesModal/PropertiesModal.test.tsx | 34 ++--
.../dashboard/components/PropertiesModal/index.tsx | 6 +-
.../PublishedStatus/PublishedStatus.test.tsx | 10 +-
.../components/RefreshIntervalModal.test.tsx | 14 +-
.../components/SliceHeader/SliceHeader.test.tsx | 78 ++++----
.../SliceHeaderControls.test.tsx | 80 ++++----
.../components/SliceHeaderControls/index.tsx | 26 +--
.../URLShortLinkButton/URLShortLinkButton.test.tsx | 8 +-
.../dnd/handleScroll/handleScroll.test.ts | 2 +-
.../components/filterscope/FilterScope.test.tsx | 52 ++---
.../components/gridComponents/ChartHolder.test.tsx | 4 +-
.../components/gridComponents/Tab.test.tsx | 48 ++---
.../components/gridComponents/Tabs.test.tsx | 69 +++----
.../components/menu/BackgroundStyleDropdown.tsx | 7 +-
.../DownloadMenuItems/DownloadAsImage.test.tsx | 12 +-
.../menu/DownloadMenuItems/DownloadAsPdf.test.tsx | 10 +-
.../components/menu/DownloadMenuItems/index.tsx | 4 +-
.../menu/ShareMenuItems/ShareMenuItems.test.tsx | 50 ++---
.../components/menu/ShareMenuItems/index.tsx | 4 +-
.../FilterBar/ActionButtons/ActionButtons.test.tsx | 8 +-
.../FilterBar/ActionButtons/index.tsx | 6 +-
.../FilterBar/CrossFilters/CrossFilter.tsx | 6 +-
.../FilterBar/CrossFilters/CrossFilterTag.test.tsx | 4 +-
.../FilterBar/CrossFilters/CrossFilterTag.tsx | 6 +-
.../CrossFilters/CrossFilterTitle.test.tsx | 4 +-
.../FilterBar/CrossFilters/CrossFilterTitle.tsx | 6 +-
.../ScopingModal/ChartsScopingListPanel.test.tsx | 10 +-
.../ScopingModal/ChartsScopingListPanel.tsx | 12 +-
.../ScopingModal/ScopingModal.test.tsx | 32 +--
.../CrossFilters/ScopingModal/ScopingModal.tsx | 6 +-
.../ScopingModal/ScopingModalContent.tsx | 6 +-
.../CrossFilters/ScopingModal/ScopingTreePanel.tsx | 12 +-
.../FilterBar/CrossFilters/Vertical.tsx | 4 +-
.../FilterBar/CrossFilters/VerticalCollapse.tsx | 6 +-
.../nativeFilters/FilterBar/FilterBar.test.tsx | 67 ++++---
.../FilterBarSettings/FilterBarSettings.test.tsx | 32 +--
.../FilterBar/FilterBarSettings/index.tsx | 4 +-
.../FilterConfigurationLink.test.tsx | 4 +-
.../FilterBar/FilterControls/FilterControl.tsx | 82 ++++----
.../FilterBar/FilterControls/FilterControls.tsx | 4 +-
.../FilterControls/FilterDivider.stories.tsx | 95 +++++----
.../FilterControls/FilterDivider.test.tsx | 2 +-
.../FilterBar/FilterControls/FilterDivider.tsx | 33 ++--
.../FilterBar/FilterSets/EditSection.test.tsx | 10 +-
.../FilterBar/FilterSets/FilterSetUnit.test.tsx | 16 +-
.../FilterBar/FilterSets/Footer.test.tsx | 12 +-
.../FilterBar/FiltersDropdownContent/index.tsx | 54 +++---
.../FiltersOutOfScopeCollapsible/index.tsx | 106 +++++-----
.../nativeFilters/FilterBar/Header/Header.test.tsx | 4 +-
.../nativeFilters/FilterBar/Header/index.tsx | 4 +-
.../nativeFilters/FilterBar/Horizontal.tsx | 25 +--
.../nativeFilters/FilterBar/Vertical.tsx | 8 +-
.../nativeFilters/FilterCard/DependenciesRow.tsx | 7 +-
.../nativeFilters/FilterCard/FilterCard.test.tsx | 6 +-
.../nativeFilters/FilterCard/FilterCardContent.tsx | 20 +-
.../nativeFilters/FilterCard/NameRow.tsx | 6 +-
.../FilterCard/TooltipWithTruncation.tsx | 24 +--
.../nativeFilters/FilterCard/TypeRow.tsx | 4 +-
.../components/nativeFilters/FilterCard/index.tsx | 6 +-
.../nativeFilters/FilterCard/useFilterScope.ts | 9 +-
.../FiltersConfigForm/CollapsibleControl.tsx | 4 +-
.../FiltersConfigForm/ColumnSelect.test.tsx | 12 +-
.../FiltersConfigForm/ColumnSelect.tsx | 4 +-
.../FiltersConfigForm/DatasetSelect.tsx | 4 +-
.../FiltersConfigForm/DependencyList.tsx | 18 +-
.../FilterScope/FilterScope.test.tsx | 8 +-
.../FiltersConfigForm/FilterScope/FilterScope.tsx | 5 +-
.../FiltersConfigForm/FilterScope/utils.test.ts | 14 +-
.../FiltersConfigForm/FiltersConfigForm.tsx | 12 +-
.../FiltersConfigForm/getControlItemsMap.test.tsx | 24 +--
.../FiltersConfigModal/FiltersConfigModal.test.tsx | 51 ++---
.../dashboard/reducers/dashboardFilters.test.js | 2 +-
superset-frontend/src/dashboard/reducers/types.ts | 2 +-
superset-frontend/src/dashboard/types.ts | 2 +-
.../util/useFilterFocusHighlightStyles.test.tsx | 4 +-
superset-frontend/src/embedded/index.tsx | 38 ++--
.../src/explore/components/Control.test.tsx | 2 +-
.../explore/components/ControlHeader.stories.tsx | 28 +--
.../components/ControlPanelsContainer.test.tsx | 2 +-
.../explore/components/ControlPanelsContainer.tsx | 68 +++----
.../src/explore/components/ControlRow.test.tsx | 6 +-
.../CopyToClipboardButton.test.tsx | 2 +-
.../DataTableControl/FilterInput.test.tsx | 6 +-
.../explore/components/DataTableControl/index.tsx | 48 ++---
.../components/DataTablesPane/DataTablesPane.tsx | 6 +-
.../components/DataTableControls.tsx | 6 +-
.../components/ResultsPaneOnDashboard.tsx | 6 +-
.../DataTablesPane/components/SamplesPane.tsx | 6 +-
.../components/SingleQueryResultPane.tsx | 6 +-
.../DataTablesPane/test/DataTablesPane.test.tsx | 14 +-
.../test/ResultsPaneOnDashboard.test.tsx | 6 +-
.../DataTablesPane/test/SamplesPane.test.tsx | 2 +-
.../components/DataTablesPane/test/fixture.tsx | 6 +-
.../DatasourcePanel/DatasourcePanel.test.tsx | 8 +-
.../explore/components/DatasourcePanel/index.tsx | 6 +-
.../src/explore/components/EmbedCodeContent.jsx | 4 +-
.../ExploreChartHeader/ExploreChartHeader.test.tsx | 97 ++++-----
.../components/ExploreChartHeader/index.jsx | 6 +-
.../ExploreChartPanel/ExploreChartPanel.test.jsx | 4 +-
.../explore/components/ExploreChartPanel/index.jsx | 6 +-
.../ExploreViewContainer.test.tsx | 4 +-
.../ExportToCSVDropdown.test.tsx | 16 +-
.../components/ExportToCSVDropdown/index.tsx | 6 +-
.../PropertiesModal/PropertiesModal.test.tsx | 84 ++++----
.../RowCountLabel/RowCountLabel.stories.tsx | 30 +--
.../RowCountLabel/RowCountLabel.test.tsx | 18 +-
.../RunQueryButton/RunQueryButton.stories.tsx | 6 +-
.../RunQueryButton/RunQueryButton.test.tsx | 20 +-
.../explore/components/RunQueryButton/index.tsx | 7 +-
.../AnnotationLayerControl/AnnotationLayer.jsx | 44 +++--
.../AnnotationLayer.test.tsx | 68 +++----
.../components/controls/BoundsControl.stories.tsx | 12 +-
.../components/controls/BoundsControl.test.jsx | 8 +-
.../components/controls/CheckboxControl.test.tsx | 4 +-
.../CollectionControl/CollectionControl.test.tsx | 21 +-
.../ColorSchemeControl/ColorSchemeControl.test.tsx | 4 +-
.../controls/ColorSchemeControl/index.tsx | 12 +-
.../ColumnConfigControl/ColumnConfigPopover.tsx | 4 +-
.../ColumnConfigControl/ControlForm/index.tsx | 2 +-
.../controls/ColumnConfigControl/types.ts | 2 +-
.../ConditionalFormattingControl.tsx | 6 +-
.../FormattingPopover.tsx | 6 +-
.../FormattingPopoverContent.tsx | 6 +-
.../controls/ContourControl/ContourOption.tsx | 6 +-
.../ContourControl/ContourPopoverControl.tsx | 6 +-
.../ContourControl/ContourPopoverTrigger.tsx | 6 +-
.../components/controls/ContourControl/index.tsx | 4 +-
.../ControlPopover/ControlPopover.test.tsx | 18 +-
.../controls/CurrencyControl/CurrencyControl.tsx | 6 +-
.../DatasourceControl/DatasourceControl.test.tsx | 38 ++--
.../controls/DatasourceControl/index.jsx | 12 +-
.../components/DateFunctionTooltip.tsx | 4 +-
.../DateFilterControl/tests/AdvancedFrame.test.tsx | 8 +-
.../DateFilterControl/tests/CustomFrame.test.tsx | 36 ++--
.../tests/DateFilterLabel.test.tsx | 22 +--
.../DndColumnSelectControl/ColumnSelectPopover.tsx | 10 +-
.../ColumnSelectPopoverTrigger.tsx | 6 +-
.../DndColumnSelectPopoverTitle.jsx | 6 +-
.../DndColumnSelectControl/DndFilterSelect.tsx | 4 +-
.../DndMetricSelect.test.tsx | 3 +-
.../DndColumnSelectControl/DndMetricSelect.tsx | 4 +-
.../DndColumnSelectControl/DndSelectLabel.test.tsx | 4 +-
.../DndColumnSelectControl/Option.test.tsx | 2 +-
.../DndColumnSelectControl/OptionWrapper.tsx | 12 +-
.../FilterBoxItemControl.test.tsx | 4 +-
...AdhocFilterEditPopoverSimpleTabContent.test.tsx | 20 +-
.../AdhocFilterOption/AdhocFilterOption.test.tsx | 2 +-
.../AdhocFilterPopoverTrigger.test.tsx | 4 +-
.../FixedOrMetricControl.test.tsx | 19 +-
.../controls/MetricControl/AdhocMetric.js | 4 +-
.../AdhocMetricEditPopover.test.tsx | 80 ++++----
.../AdhocMetricEditPopoverTitle.test.tsx | 7 +-
.../MetricControl/AdhocMetricEditPopoverTitle.tsx | 135 ++++++-------
.../controls/MetricControl/MetricsControl.jsx | 6 +-
.../OptionControls/OptionControls.test.tsx | 4 +-
.../components/controls/OptionControls/index.tsx | 6 +-
.../SelectAsyncControl/SelectAsyncControl.test.tsx | 12 +-
.../controls/SelectAsyncControl/index.tsx | 6 +-
.../components/controls/SliderControl.stories.tsx | 22 ++-
.../TimeSeriesColumnControl.test.tsx | 123 ++++++------
.../controls/VizTypeControl/FastVizSwitcher.tsx | 12 +-
.../VizTypeControl/VizTypeControl.test.jsx | 8 +-
.../VizTypeControl/VizTypeControl.test.tsx | 24 ++-
.../controls/VizTypeControl/VizTypeGallery.tsx | 117 ++++++-----
.../components/controls/VizTypeControl/index.tsx | 6 +-
.../controls/withAsyncVerification.test.tsx | 12 +-
.../src/explore/components/optionRenderers.tsx | 24 ++-
.../DashboardsSubMenu.test.tsx | 6 +-
.../DashboardsSubMenu.tsx | 6 +-
.../src/explore/exploreUtils/exploreUtils.test.jsx | 5 +-
.../exploreUtils/shouldUseLegacyApi.test.ts | 18 +-
.../src/features/alerts/AlertReportModal.test.tsx | 10 +-
.../src/features/alerts/AlertReportModal.tsx | 44 ++---
.../components/AlertReportCronScheduler.test.tsx | 30 +--
.../alerts/components/AlertReportCronScheduler.tsx | 129 ++++++------
.../DatabaseConnectionForm/CommonParameters.tsx | 114 ++++++-----
.../DatabaseConnectionForm/EncryptedField.tsx | 6 +-
.../DatabaseConnectionForm/TableCatalog.tsx | 6 +-
.../DatabaseModal/DatabaseConnectionForm/index.tsx | 86 ++++----
.../databases/DatabaseModal/ExtraOptions.tsx | 6 +-
.../databases/DatabaseModal/ModalHeader.tsx | 6 +-
.../databases/DatabaseModal/SSHTunnelForm.tsx | 6 +-
.../databases/DatabaseModal/SSHTunnelSwitch.tsx | 7 +-
.../databases/DatabaseModal/SqlAlchemyForm.tsx | 6 +-
.../databases/DatabaseModal/index.test.tsx | 116 +++++------
.../src/features/databases/DatabaseModal/index.tsx | 4 +-
.../AddDataset/DatasetPanel/DatasetPanel.test.tsx | 5 +-
.../AddDataset/DatasetPanel/DatasetPanel.tsx | 6 +-
.../AddDataset/DatasetPanel/MessageContent.tsx | 4 +-
.../datasets/AddDataset/DatasetPanel/index.tsx | 6 +-
.../EditDataset/UsageTab/UsageTab.test.tsx | 16 +-
.../AddDataset/EditDataset/UsageTab/index.tsx | 4 +-
.../datasets/AddDataset/EditDataset/index.tsx | 4 +-
.../AddDataset/LeftPanel/LeftPanel.test.tsx | 28 +--
.../features/datasets/DatasetSelectLabel/index.tsx | 78 ++++----
.../DatasetMetadataBar.skipped-stories.tsx | 4 +-
.../src/features/home/LanguagePicker.test.tsx | 2 +-
superset-frontend/src/features/home/Menu.test.tsx | 16 +-
.../src/features/home/RightMenu.test.tsx | 24 ++-
superset-frontend/src/features/home/RightMenu.tsx | 6 +-
.../src/features/home/SavedQueries.tsx | 6 +-
.../src/features/home/SubMenu.test.tsx | 4 +-
.../features/queries/SavedQueryPreviewModal.tsx | 133 ++++++-------
.../HeaderReportDropdown/index.test.tsx | 18 +-
.../ReportModal/HeaderReportDropdown/index.tsx | 32 ++-
.../reports/ReportModal/ReportModal.test.tsx | 13 +-
.../features/rls/RowLevelSecurityModal.test.tsx | 26 +--
.../Select/SelectFilterPlugin.stories.tsx | 50 +++--
.../components/Select/SelectFilterPlugin.test.tsx | 28 +--
superset-frontend/src/pages/AllEntities/index.tsx | 18 +-
superset-frontend/src/pages/Chart/Chart.test.tsx | 7 +-
.../src/pages/ChartCreation/ChartCreation.test.tsx | 4 +-
.../src/pages/ChartList/ChartList.test.jsx | 2 +-
.../src/pages/DashboardList/DashboardList.test.jsx | 2 +-
.../src/pages/DatasetCreation/index.tsx | 64 +++---
.../src/pages/DatasetList/DatasetList.test.tsx | 2 +-
.../src/pages/ExecutionLogList/index.tsx | 4 +-
superset-frontend/src/pages/Home/index.tsx | 146 +++++++-------
.../RowLevelSecurityList.test.tsx | 2 +-
.../pages/SavedQueryList/SavedQueryList.test.jsx | 16 +-
superset-frontend/src/pages/SqlLab/SqlLab.test.tsx | 10 +-
superset-frontend/src/pages/Tags/index.tsx | 60 +++---
superset-frontend/src/utils/cacheWrapper.test.ts | 10 +-
superset-frontend/src/utils/urlUtils.ts | 2 +-
superset-frontend/src/views/App.tsx | 56 +++---
superset-frontend/src/views/ScrollToTop.tsx | 4 +-
superset-frontend/src/views/routes.test.tsx | 8 +-
.../src/visualizations/TimeTable/SparklineCell.tsx | 6 +-
.../src/visualizations/TimeTable/TimeTable.jsx | 6 +-
.../ExampleComponent/ExampleComponent.tsx | 14 +-
superset-websocket/package.json | 2 +-
577 files changed, 6092 insertions(+), 5645 deletions(-)
diff --git a/docs/package.json b/docs/package.json
index 5bbe53ae3a..889ed065a7 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -37,8 +37,8 @@
"less": "^4.1.2",
"less-loader": "^11.0.0",
"prism-react-renderer": "^1.2.1",
- "react": "^17.0.1",
- "react-dom": "^17.0.1",
+ "react": "^17.0.0",
+ "react-dom": "^17.0.0",
"react-github-btn": "^1.2.0",
"stream": "^0.0.2",
"swagger-ui-react": "^4.1.3",
diff --git a/superset-embedded-sdk/package.json b/superset-embedded-sdk/package.json
index 55ed198598..17b2ed57d8 100644
--- a/superset-embedded-sdk/package.json
+++ b/superset-embedded-sdk/package.json
@@ -41,7 +41,7 @@
"@babel/core": "^7.16.12",
"@babel/preset-env": "^7.16.11",
"@babel/preset-typescript": "^7.16.7",
- "@types/jest": "^27.4.1",
+ "@types/jest": "^29.5.11",
"axios": "^1.6.0",
"babel-loader": "^8.2.3",
"jest": "^27.5.1",
diff --git a/superset-embedded-sdk/src/guestTokenRefresh.test.ts b/superset-embedded-sdk/src/guestTokenRefresh.test.ts
index dd61401f1e..f1fbbc33ca 100644
--- a/superset-embedded-sdk/src/guestTokenRefresh.test.ts
+++ b/superset-embedded-sdk/src/guestTokenRefresh.test.ts
@@ -26,7 +26,7 @@ import {
describe("guest token refresh", () => {
beforeAll(() => {
- jest.useFakeTimers("modern"); // "modern" allows us to fake the system time
+ jest.useFakeTimers("modern");
jest.setSystemTime(new Date("2022-03-03 01:00"));
jest.spyOn(global, "setTimeout");
});
diff --git a/superset-frontend/.eslintrc.js b/superset-frontend/.eslintrc.js
index 6eebb0d2df..b9f05e4308 100644
--- a/superset-frontend/.eslintrc.js
+++ b/superset-frontend/.eslintrc.js
@@ -37,17 +37,13 @@ if (process.env.NODE_ENV === 'production') {
}
module.exports = {
- extends: [
- 'airbnb',
- 'prettier',
- 'prettier/react',
- 'plugin:react-hooks/recommended',
- ],
+ extends: ['airbnb', 'prettier', 'plugin:react-hooks/recommended'],
parser: '@babel/eslint-parser',
parserOptions: {
ecmaFeatures: {
experimentalObjectRestSpread: true,
},
+ // project: ['./tsconfig.json'],
},
env: {
browser: true,
@@ -78,13 +74,7 @@ module.exports = {
{
files: ['*.ts', '*.tsx'],
parser: '@typescript-eslint/parser',
- extends: [
- 'airbnb',
- 'plugin:@typescript-eslint/recommended',
- 'prettier',
- 'prettier/@typescript-eslint',
- 'prettier/react',
- ],
+ extends: ['airbnb', 'plugin:@typescript-eslint/recommended', 'prettier'],
plugins: ['@typescript-eslint/eslint-plugin', 'prettier', 'react'],
rules: {
'@typescript-eslint/ban-ts-ignore': 0,
@@ -96,7 +86,7 @@ module.exports = {
'@typescript-eslint/no-non-null-assertion': 0, // disabled temporarily
'@typescript-eslint/explicit-function-return-type': 0,
'@typescript-eslint/explicit-module-boundary-types': 0, // re-enable up for discussion
- '@typescript-eslint/prefer-optional-chain': 2,
+ // '@typescript-eslint/prefer-optional-chain': 2,
camelcase: 0,
'class-methods-use-this': 0,
'func-names': 0,
@@ -147,6 +137,26 @@ module.exports = {
'react/static-property-placement': 0, // re-enable up for discussion
'prettier/prettier': 'error',
'file-progress/activate': 1,
+
+ // Things temporarily disabled due to eslint upgrade. We'll turn these back on in subsequent PRs.
+ 'react/function-component-definition': 0,
+ 'default-param-last': 0,
+ 'react/no-unknown-property': 0,
+ 'react/jsx-no-useless-fragment': 0,
+ 'jsx-a11y/control-has-associated-label': 0,
+ 'react/no-unstable-nested-components': 0,
+ '@typescript-eslint/no-unused-vars': 0,
+ 'react/no-unused-class-component-methods': 0,
+ 'no-restricted-exports': 0,
+ 'import/no-unresolved': 0,
+ 'react/default-props-match-prop-types': 0,
+ 'import/no-import-module-export': 0,
+ 'no-promise-executor-return': 0,
+ 'no-unsafe-optional-chaining': 0,
+ 'react/state-in-constructor': 0,
+ '@typescript-eslint/no-unsafe-declaration-merging': 0,
+ 'prefer-regex-literals': 0,
+ 'import/no-named-default': 0,
},
settings: {
'import/resolver': {
@@ -189,6 +199,25 @@ module.exports = {
],
'no-only-tests/no-only-tests': 'error',
'max-classes-per-file': 0,
+
+ // Things temporarily disabled due to eslint upgrade. We'll turn these back on in subsequent PRs.
+ 'testing-library/no-unnecessary-act': 0,
+ 'testing-library/no-render-in-lifecycle': 0,
+ 'testing-library/await-async-utils': 0,
+ 'testing-library/await-async-queries': 0,
+ 'testing-library/no-wait-for-multiple-assertions': 0,
+ 'testing-library/prefer-screen-queries': 0,
+ 'testing-library/no-node-access': 0,
+ 'testing-library/no-wait-for-side-effects': 0,
+ 'testing-library/prefer-presence-queries': 0,
+ 'testing-library/no-container': 0,
+ 'testing-library/render-result-naming-convention': 0,
+ 'no-import-assign': 0,
+ 'import/no-import-module-exports': 0,
+ 'testing-library/no-manual-cleanup': 0,
+ 'no-async-promise-executor': 0,
+ '@typescript-eslint/no-explicit-any': 0,
+ 'jest/no-alias-methods': 1,
},
},
{
@@ -288,6 +317,23 @@ module.exports = {
'react/sort-comp': 0, // TODO: re-enable in separate PR
'react/static-property-placement': 0, // disabled temporarily
'prettier/prettier': 'error',
+
+ // Things temporarily disabled due to eslint upgrade. We'll turn these back on in subsequent PRs.
+ 'react/function-component-definition': 0,
+ 'default-param-last': 0,
+ 'react/no-unknown-property': 0,
+ 'react/jsx-no-useless-fragment': 0,
+ 'jsx-a11y/control-has-associated-label': 0,
+ 'react/no-unstable-nested-components': 0,
+ '@typescript-eslint/no-unused-vars': 0,
+ 'react/no-unused-class-component-methods': 0,
+ 'no-restricted-exports': 0,
+ 'import/no-unresolved': 0,
+ 'react/default-props-match-prop-types': 0,
+ 'import/no-import-module-export': 0,
+ 'no-promise-executor-return': 0,
+ 'no-unsafe-optional-chaining': 0,
+ 'default-case-last': 0,
},
ignorePatterns,
};
diff --git a/superset-frontend/cypress-base/.eslintrc b/superset-frontend/cypress-base/.eslintrc
deleted file mode 100644
index 9d94eb106d..0000000000
--- a/superset-frontend/cypress-base/.eslintrc
+++ /dev/null
@@ -1,44 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-{
- "parser": "@typescript-eslint/parser",
- "plugins": ["cypress", "@typescript-eslint"],
- "extends": [
- "plugin:@typescript-eslint/recommended",
- "plugin:cypress/recommended"
- ],
- "rules": {
- "import/no-unresolved": 0,
- "@typescript-eslint/explicit-function-return-type": 0,
- "@typescript-eslint/explicit-module-boundary-types": 0,
- "@typescript-eslint/no-var-requires": 0,
- "@typescript-eslint/camelcase": 0,
- "cypress/no-unnecessary-waiting": 0 // see issue https://github.com/cypress-io/eslint-plugin-cypress/issues/69
- },
- "settings": {
- "import/resolver": {
- "node": {
- "extensions": [".js", ".jsx", ".ts", ".tsx"]
- }
- }
- },
- "env": {
- "cypress/globals": true
- }
-}
diff --git a/superset-frontend/src/components/Radio/Radio.stories.tsx b/superset-frontend/cypress-base/.eslintrc.js
similarity index 50%
copy from superset-frontend/src/components/Radio/Radio.stories.tsx
copy to superset-frontend/cypress-base/.eslintrc.js
index 2688cd7ca1..e3a8f6242d 100644
--- a/superset-frontend/src/components/Radio/Radio.stories.tsx
+++ b/superset-frontend/cypress-base/.eslintrc.js
@@ -16,41 +16,32 @@
* specific language governing permissions and limitations
* under the License.
*/
-import React from 'react';
-import { useArgs } from '@storybook/client-api';
-import { Radio } from './index';
+module.exports = {
+ parser: '@typescript-eslint/parser',
+ plugins: ['cypress', '@typescript-eslint'],
+ extends: [
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:cypress/recommended',
+ ],
+ rules: {
+ 'import/no-unresolved': 0,
+ '@typescript-eslint/explicit-function-return-type': 0,
+ '@typescript-eslint/explicit-module-boundary-types': 0,
+ '@typescript-eslint/no-var-requires': 0,
+ '@typescript-eslint/camelcase': 0,
+ 'cypress/no-unnecessary-waiting': 0, // see issue https://github.com/cypress-io/eslint-plugin-cypress/issues/69
-export default {
- title: 'Radio',
- component: Radio,
- parameters: {
- controls: { hideNoControlsWarning: true },
+ // disabled to make eslint upgrade possible. Re-enable asap.
+ '@typescript-eslint/no-explicit-any': 0,
},
- argTypes: {
- theme: {
- table: {
- disable: true,
+ settings: {
+ 'import/resolver': {
+ node: {
+ extensions: ['.js', '.jsx', '.ts', '.tsx'],
},
},
- checked: { control: 'boolean' },
- disabled: { control: 'boolean' },
},
-};
-
-export const SupersetRadio = () => {
- const [{ checked, ...rest }, updateArgs] = useArgs();
- return (
- <Radio
- checked={checked}
- onChange={() => updateArgs({ checked: !checked })}
- {...rest}
- >
- Example
- </Radio>
- );
-};
-
-SupersetRadio.args = {
- checked: false,
- disabled: false,
+ env: {
+ 'cypress/globals': true,
+ },
};
diff --git a/superset-frontend/cypress-base/package.json b/superset-frontend/cypress-base/package.json
index 53ca720b04..cf09afaa73 100644
--- a/superset-frontend/cypress-base/package.json
+++ b/superset-frontend/cypress-base/package.json
@@ -23,7 +23,7 @@
"cy-verify-downloads": "^0.1.6",
"cypress-fail-on-console-error": "^4.0.3",
"querystringify": "^2.2.0",
- "react-dom": "^16.13.0",
+ "react-dom": "^17.0.0",
"rison": "^0.1.1",
"shortid": "^2.2.15"
},
diff --git a/superset-frontend/package.json b/superset-frontend/package.json
index a2bb57fe4c..ac9aa05bc9 100644
--- a/superset-frontend/package.json
+++ b/superset-frontend/package.json
@@ -116,12 +116,12 @@
"@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
"@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
"@types/d3-format": "^3.0.1",
- "@visx/axis": "^3.0.1",
- "@visx/grid": "^3.0.1",
- "@visx/responsive": "^3.0.0",
- "@visx/scale": "^3.0.0",
- "@visx/tooltip": "^3.0.0",
- "@visx/xychart": "^3.0.0",
+ "@visx/axis": "^3.5.0",
+ "@visx/grid": "^3.5.0",
+ "@visx/responsive": "^3.3.0",
+ "@visx/scale": "^3.5.0",
+ "@visx/tooltip": "^3.3.0",
+ "@visx/xychart": "^3.5.1",
"abortcontroller-polyfill": "^1.1.9",
"ace-builds": "^1.4.14",
"ansi-regex": "^4.1.1",
@@ -132,9 +132,11 @@
"bootstrap-slider": "^10.0.0",
"brace": "^0.11.1",
"broadcast-channel": "^4.10.0",
+ "caniuse-lite": "^1.0.30001576",
"chrono-node": "^2.2.6",
"classnames": "^2.2.5",
"core-js": "^3.6.5",
+ "currencyformatter.js": "^2.2.0",
"d3-array": "^1.2.4",
"d3-color": "^3.1.0",
"d3-scale": "^2.1.2",
@@ -169,7 +171,7 @@
"prop-types": "^15.7.2",
"query-string": "^6.13.7",
"re-resizable": "^6.6.1",
- "react": "^16.13.1",
+ "react": "^17.0.0",
"react-ace": "^10.1.0",
"react-checkbox-tree": "^1.8.0",
"react-color": "^2.13.8",
@@ -177,7 +179,7 @@
"react-diff-viewer-continued": "^3.2.5",
"react-dnd": "^11.1.3",
"react-dnd-html5-backend": "^11.1.3",
- "react-dom": "^16.13.0",
+ "react-dom": "^17.0.0",
"react-draggable": "^4.4.3",
"react-gravatar": "^2.6.1",
"react-hot-loader": "^4.13.1",
@@ -222,7 +224,7 @@
"@babel/cli": "^7.22.6",
"@babel/compat-data": "^7.22.6",
"@babel/core": "^7.22.8",
- "@babel/eslint-parser": "^7.22.7",
+ "@babel/eslint-parser": "^7.23.3",
"@babel/node": "^7.22.6",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
@@ -231,8 +233,8 @@
"@babel/preset-env": "^7.22.7",
"@babel/preset-react": "^7.22.5",
"@babel/register": "^7.22.5",
- "@cypress/react": "^5.10.0",
- "@emotion/jest": "^11.3.0",
+ "@cypress/react": "^8.0.0",
+ "@emotion/jest": "^11.11.0",
"@hot-loader/react-dom": "^16.13.0",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@storybook/addon-actions": "^6.4.22",
@@ -246,17 +248,16 @@
"@storybook/manager-webpack5": "^6.4.22",
"@storybook/react": "^6.4.22",
"@svgr/webpack": "^8.0.1",
- "@testing-library/dom": "^7.29.4",
- "@testing-library/jest-dom": "^5.11.6",
- "@testing-library/react": "^11.2.0",
- "@testing-library/react-hooks": "^5.0.3",
- "@testing-library/user-event": "^12.7.0",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.2.0",
+ "@testing-library/react": "^12.0.0",
+ "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/user-event": "^14.5.2",
"@types/classnames": "^2.2.10",
"@types/dom-to-image": "^2.6.7",
"@types/enzyme": "^3.10.5",
- "@types/enzyme-adapter-react-16": "^1.0.6",
"@types/fetch-mock": "^7.3.2",
- "@types/jest": "^26.0.3",
+ "@types/jest": "^29.5.11",
"@types/jquery": "^3.5.8",
"@types/js-levenshtein": "^1.1.0",
"@types/json-bigint": "^1.0.1",
@@ -280,8 +281,8 @@
"@types/sinon": "^9.0.5",
"@types/tinycolor2": "^1.4.3",
"@types/yargs": "12 - 15",
- "@typescript-eslint/eslint-plugin": "^5.62.0",
- "@typescript-eslint/parser": "^5.62.0",
+ "@typescript-eslint/eslint-plugin": "^6.18.1",
+ "@typescript-eslint/parser": "^6.18.1",
"babel-jest": "^26.6.3",
"babel-loader": "^8.3.0",
"babel-plugin-dynamic-import-node": "^2.3.3",
@@ -294,21 +295,21 @@
"css-minimizer-webpack-plugin": "^3.4.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.7",
- "eslint": "^7.32.0",
- "eslint-config-airbnb": "^18.2.1",
- "eslint-config-prettier": "^7.1.0",
- "eslint-import-resolver-typescript": "^2.5.0",
- "eslint-plugin-cypress": "^2.11.2",
- "eslint-plugin-file-progress": "^1.2.0",
- "eslint-plugin-import": "^2.24.2",
- "eslint-plugin-jest": "^24.7.0",
- "eslint-plugin-jest-dom": "^3.6.5",
- "eslint-plugin-jsx-a11y": "^6.4.1",
- "eslint-plugin-no-only-tests": "^2.4.0",
- "eslint-plugin-prettier": "^4.0.0",
- "eslint-plugin-react": "^7.22.0",
- "eslint-plugin-react-hooks": "^4.2.0",
- "eslint-plugin-testing-library": "^3.10.2",
+ "eslint": "^8.56.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-import-resolver-typescript": "^3.6.1",
+ "eslint-plugin-cypress": "^2.15.1",
+ "eslint-plugin-file-progress": "^1.3.0",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-jest": "^27.6.2",
+ "eslint-plugin-jest-dom": "^5.1.0",
+ "eslint-plugin-jsx-a11y": "^6.8.0",
+ "eslint-plugin-no-only-tests": "^3.1.0",
+ "eslint-plugin-prettier": "^5.1.3",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-testing-library": "^6.2.0",
"eslint-plugin-theme-colors": "file:tools/eslint-plugin-theme-colors",
"eslint-plugin-translation-vars": "file:tools/eslint-plugin-translation-vars",
"exports-loader": "^0.7.0",
@@ -317,7 +318,7 @@
"history": "^4.10.1",
"ignore-styles": "^5.0.1",
"imports-loader": "^3.1.1",
- "jest": "^26.6.3",
+ "jest": "^29.7.0",
"jest-environment-enzyme": "^7.1.2",
"jest-enzyme": "^7.1.2",
"jest-websocket-mock": "^2.2.0",
@@ -328,11 +329,11 @@
"mini-css-extract-plugin": "^2.7.6",
"mock-socket": "^9.0.3",
"node-fetch": "^2.6.7",
- "prettier": "^2.4.1",
- "prettier-plugin-packagejson": "^2.2.15",
+ "prettier": "^3.1.1",
+ "prettier-plugin-packagejson": "^2.4.9",
"process": "^0.11.10",
"react-resizable": "^3.0.4",
- "react-test-renderer": "^16.9.0",
+ "react-test-renderer": "^17.0.0",
"redux-mock-store": "^1.5.4",
"sinon": "^9.0.2",
"source-map": "^0.7.4",
diff --git a/superset-frontend/packages/superset-ui-chart-controls/package.json b/superset-frontend/packages/superset-ui-chart-controls/package.json
index 6c3f892b09..89c1cdc208 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/package.json
+++ b/superset-frontend/packages/superset-ui-chart-controls/package.json
@@ -34,18 +34,18 @@
"@ant-design/icons": "^5.0.1",
"@emotion/react": "^11.4.1",
"@superset-ui/core": "*",
- "@testing-library/dom": "^7.29.4",
- "@testing-library/jest-dom": "^5.11.6",
- "@testing-library/react": "^11.2.0",
- "@testing-library/react-hooks": "^5.0.3",
- "@testing-library/user-event": "^12.7.0",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.2.0",
+ "@testing-library/react": "^12.0.0",
+ "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/user-event": "^14.5.2",
"ace-builds": "^1.4.14",
"antd": "4.10.3",
"brace": "^0.11.1",
"memoize-one": "^5.1.1",
- "react": "^16.13.1",
+ "react": "^17.0.0",
"react-ace": "^10.1.0",
- "react-dom": "^16.13.1"
+ "react-dom": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/SQLPopover.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/SQLPopover.tsx
index 43d03a936c..60b0958bc0 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/SQLPopover.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/SQLPopover.tsx
@@ -35,7 +35,7 @@ const StyledCalculatorIcon = styled(CalculatorOutlined)`
`}
`;
-export const SQLPopover = (props: PopoverProps & { sqlExpression: string }) => {
+export function SQLPopover(props: PopoverProps & { sqlExpression: string }) {
const theme = useTheme();
return (
<Popover
@@ -67,4 +67,4 @@ export const SQLPopover = (props: PopoverProps & { sqlExpression: string }) => {
<StyledCalculatorIcon />
</Popover>
);
-};
+}
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/Select.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/Select.tsx
index 761632eb19..16038a9804 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/Select.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/Select.tsx
@@ -83,9 +83,7 @@ export default function Select<VT extends string | number>({
minWidth,
}}
>
- {options?.map(([val, label]) => (
- <Option value={val}>{label}</Option>
- ))}
+ {options?.map(([val, label]) => <Option value={val}>{label}</Option>)}
{children}
{value && !optionsHasValue && (
<Option key={value} value={value}>
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
index 098fb169b6..618b89630f 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/Tooltip.tsx
@@ -25,7 +25,7 @@ import { Global } from '@emotion/react';
export type { TooltipProps } from 'antd/lib/tooltip';
-export const Tooltip = ({ overlayStyle, color, ...props }: TooltipProps) => {
+export function Tooltip({ overlayStyle, color, ...props }: TooltipProps) {
const theme = useTheme();
const defaultColor = `${theme.colors.grayscale.dark2}e6`;
return (
@@ -61,6 +61,6 @@ export const Tooltip = ({ overlayStyle, color, ...props }: TooltipProps) => {
/>
</>
);
-};
+}
export default Tooltip;
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx b/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
index 1bd49c40e0..b28ce76f29 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/components/labelUtils.tsx
@@ -47,18 +47,20 @@ const TooltipSectionLabel = styled.span`
`}
`;
-const TooltipSection = ({
+function TooltipSection({
label,
text,
}: {
label: ReactNode;
text: ReactNode;
-}) => (
- <TooltipSectionWrapper>
- <TooltipSectionLabel>{label}</TooltipSectionLabel>
- <span>{text}</span>
- </TooltipSectionWrapper>
-);
+}) {
+ return (
+ <TooltipSectionWrapper>
+ <TooltipSectionLabel>{label}</TooltipSectionLabel>
+ <span>{text}</span>
+ </TooltipSectionWrapper>
+ );
+}
export const isLabelTruncated = (labelRef?: React.RefObject<any>): boolean =>
!!(labelRef?.current?.scrollWidth > labelRef?.current?.clientWidth);
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/operators/contributionOperator.ts b/superset-frontend/packages/superset-ui-chart-controls/src/operators/contributionOperator.ts
index 39fa9c4433..a72a17be6b 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/operators/contributionOperator.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/operators/contributionOperator.ts
@@ -20,15 +20,16 @@ import { PostProcessingContribution } from '@superset-ui/core';
import { PostProcessingFactory } from './types';
/* eslint-disable @typescript-eslint/no-unused-vars */
-export const contributionOperator: PostProcessingFactory<PostProcessingContribution> =
- (formData, queryObject) => {
- if (formData.contributionMode) {
- return {
- operation: 'contribution',
- options: {
- orientation: formData.contributionMode,
- },
- };
- }
- return undefined;
- };
+export const contributionOperator: PostProcessingFactory<
+ PostProcessingContribution
+> = (formData, queryObject) => {
+ if (formData.contributionMode) {
+ return {
+ operation: 'contribution',
+ options: {
+ orientation: formData.contributionMode,
+ },
+ };
+ }
+ return undefined;
+};
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeCompareOperator.ts b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeCompareOperator.ts
index da72c664c9..a0d028bfa2 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeCompareOperator.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeCompareOperator.ts
@@ -21,25 +21,26 @@ import { ComparisonType, PostProcessingCompare } from '@superset-ui/core';
import { getMetricOffsetsMap, isTimeComparison } from './utils';
import { PostProcessingFactory } from './types';
-export const timeCompareOperator: PostProcessingFactory<PostProcessingCompare> =
- (formData, queryObject) => {
- const comparisonType = formData.comparison_type;
- const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
+export const timeCompareOperator: PostProcessingFactory<
+ PostProcessingCompare
+> = (formData, queryObject) => {
+ const comparisonType = formData.comparison_type;
+ const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
- if (
- isTimeComparison(formData, queryObject) &&
- comparisonType !== ComparisonType.Values
- ) {
- return {
- operation: 'compare',
- options: {
- source_columns: Array.from(metricOffsetMap.values()),
- compare_columns: Array.from(metricOffsetMap.keys()),
- compare_type: comparisonType,
- drop_original_columns: true,
- },
- };
- }
+ if (
+ isTimeComparison(formData, queryObject) &&
+ comparisonType !== ComparisonType.Values
+ ) {
+ return {
+ operation: 'compare',
+ options: {
+ source_columns: Array.from(metricOffsetMap.values()),
+ compare_columns: Array.from(metricOffsetMap.keys()),
+ compare_type: comparisonType,
+ drop_original_columns: true,
+ },
+ };
+ }
- return undefined;
- };
+ return undefined;
+};
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
index a6214901aa..33b821bc17 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/operators/timeComparePivotOperator.ts
@@ -27,31 +27,32 @@ import {
import { getMetricOffsetsMap, isTimeComparison } from './utils';
import { PostProcessingFactory } from './types';
-export const timeComparePivotOperator: PostProcessingFactory<PostProcessingPivot> =
- (formData, queryObject) => {
- const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
- const xAxisLabel = getXAxisLabel(formData);
- const columns = queryObject.series_columns || queryObject.columns;
+export const timeComparePivotOperator: PostProcessingFactory<
+ PostProcessingPivot
+> = (formData, queryObject) => {
+ const metricOffsetMap = getMetricOffsetsMap(formData, queryObject);
+ const xAxisLabel = getXAxisLabel(formData);
+ const columns = queryObject.series_columns || queryObject.columns;
- if (isTimeComparison(formData, queryObject) && xAxisLabel) {
- const aggregates = Object.fromEntries(
- [...metricOffsetMap.values(), ...metricOffsetMap.keys()].map(metric => [
- metric,
- // use the 'mean' aggregates to avoid drop NaN
- { operator: 'mean' as NumpyFunction },
- ]),
- );
+ if (isTimeComparison(formData, queryObject) && xAxisLabel) {
+ const aggregates = Object.fromEntries(
+ [...metricOffsetMap.values(), ...metricOffsetMap.keys()].map(metric => [
+ metric,
+ // use the 'mean' aggregates to avoid drop NaN
+ { operator: 'mean' as NumpyFunction },
+ ]),
+ );
- return {
- operation: 'pivot',
- options: {
- index: [xAxisLabel],
- columns: ensureIsArray(columns).map(getColumnLabel),
- drop_missing_columns: !formData?.show_empty_columns,
- aggregates,
- },
- };
- }
+ return {
+ operation: 'pivot',
+ options: {
+ index: [xAxisLabel],
+ columns: ensureIsArray(columns).map(getColumnLabel),
+ drop_missing_columns: !formData?.show_empty_columns,
+ aggregates,
+ },
+ };
+ }
- return undefined;
- };
+ return undefined;
+};
diff --git a/superset-frontend/packages/superset-ui-chart-controls/src/types.ts b/superset-frontend/packages/superset-ui-chart-controls/src/types.ts
index 9314f8d33f..8d4b6494c4 100644
--- a/superset-frontend/packages/superset-ui-chart-controls/src/types.ts
+++ b/superset-frontend/packages/superset-ui-chart-controls/src/types.ts
@@ -331,8 +331,8 @@ export type ControlConfig<
> = T extends InternalControlType
? SharedControlConfig<T, O>
: T extends object
- ? CustomControlConfig<T> // eslint-disable-next-line @typescript-eslint/no-explicit-any
- : CustomControlConfig<any>;
+ ? CustomControlConfig<T> // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ : CustomControlConfig<any>;
/** ===========================================================
* Chart plugin control panel config
@@ -526,36 +526,36 @@ export type ControlFormItemSpec<T extends ControlType = ControlType> = {
validators?: ControlFormValueValidator<string>[];
}
: T extends 'RadioButtonControl'
- ? {
- options: [string, ReactNode][];
- value?: string;
- defaultValue?: string;
- }
- : T extends 'Checkbox'
- ? {
- value?: boolean;
- defaultValue?: boolean;
- }
- : T extends 'InputNumber' | 'Slider'
- ? {
- min?: number;
- max?: number;
- step?: number;
- value?: number;
- defaultValue?: number;
- validators?: ControlFormValueValidator<number>[];
- }
- : T extends 'Input'
- ? {
- controlType: 'Input';
- value?: string;
- defaultValue?: string;
- validators?: ControlFormValueValidator<string>[];
- }
- : T extends 'CurrencyControl'
- ? {
- controlType: 'CurrencyControl';
- value?: Currency;
- defaultValue?: Currency;
- }
- : {});
+ ? {
+ options: [string, ReactNode][];
+ value?: string;
+ defaultValue?: string;
+ }
+ : T extends 'Checkbox'
+ ? {
+ value?: boolean;
+ defaultValue?: boolean;
+ }
+ : T extends 'InputNumber' | 'Slider'
+ ? {
+ min?: number;
+ max?: number;
+ step?: number;
+ value?: number;
+ defaultValue?: number;
+ validators?: ControlFormValueValidator<number>[];
+ }
+ : T extends 'Input'
+ ? {
+ controlType: 'Input';
+ value?: string;
+ defaultValue?: string;
+ validators?: ControlFormValueValidator<string>[];
+ }
+ : T extends 'CurrencyControl'
+ ? {
+ controlType: 'CurrencyControl';
+ value?: Currency;
+ defaultValue?: Currency;
+ }
+ : {});
diff --git a/superset-frontend/packages/superset-ui-core/package.json b/superset-frontend/packages/superset-ui-core/package.json
index 62deb7709b..fee058c444 100644
--- a/superset-frontend/packages/superset-ui-core/package.json
+++ b/superset-frontend/packages/superset-ui-core/package.json
@@ -76,7 +76,7 @@
"@types/react": "*",
"@types/react-loadable": "*",
"@types/tinycolor2": "*",
- "react": "^16.13.1",
+ "react": "^17.0.0",
"react-loadable": "^5.5.0",
"tinycolor2": "*"
},
diff --git a/superset-frontend/packages/superset-ui-core/src/chart/components/ChartDataProvider.tsx b/superset-frontend/packages/superset-ui-core/src/chart/components/ChartDataProvider.tsx
index 87fe5d6cc0..b77a13744b 100644
--- a/superset-frontend/packages/superset-ui-core/src/chart/components/ChartDataProvider.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/chart/components/ChartDataProvider.tsx
@@ -126,7 +126,7 @@ class ChartDataProvider extends React.PureComponent<
datasource,
formData,
queriesData,
- } as Payload),
+ }) as Payload,
),
)
.then(this.handleReceiveData)
diff --git a/superset-frontend/packages/superset-ui-core/src/chart/components/NoResultsComponent.tsx b/superset-frontend/packages/superset-ui-core/src/chart/components/NoResultsComponent.tsx
index a5fc5d962d..3a639ab6cc 100644
--- a/superset-frontend/packages/superset-ui-core/src/chart/components/NoResultsComponent.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/chart/components/NoResultsComponent.tsx
@@ -57,7 +57,7 @@ type Props = {
width: number | string;
};
-const NoResultsComponent = ({ className, height, id, width }: Props) => {
+function NoResultsComponent({ className, height, id, width }: Props) {
// render the body if the width is auto/100% or greater than 250 pixels
const shouldRenderBody =
typeof width === 'string' || width > MIN_WIDTH_FOR_BODY;
@@ -82,6 +82,6 @@ const NoResultsComponent = ({ className, height, id, width }: Props) => {
</div>
</Container>
);
-};
+}
export default NoResultsComponent;
diff --git a/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChart.tsx b/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChart.tsx
index f6742eedd9..401ac2262e 100644
--- a/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChart.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChart.tsx
@@ -29,7 +29,7 @@ import { parseLength, Dimension } from '../../dimension';
import getChartMetadataRegistry from '../registries/ChartMetadataRegistrySingleton';
import SuperChartCore, { Props as SuperChartCoreProps } from './SuperChartCore';
import DefaultFallbackComponent from './FallbackComponent';
-import ChartProps, { ChartPropsConfig } from '../models/ChartProps';
+import { default as ChartProps, ChartPropsConfig } from '../models/ChartProps';
import NoResultsComponent from './NoResultsComponent';
const defaultProps = {
diff --git a/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChartCore.tsx b/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChartCore.tsx
index 1cec9d68f4..b840fa2ba0 100644
--- a/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChartCore.tsx
+++ b/superset-frontend/packages/superset-ui-core/src/chart/components/SuperChartCore.tsx
@@ -37,7 +37,9 @@ function IDENTITY<T>(x: T) {
return x;
}
-const EMPTY = () => null;
+function EMPTY() {
+ return null;
+}
const defaultProps = {
id: '',
diff --git a/superset-frontend/packages/superset-ui-core/src/connection/callApi/parseResponse.ts b/superset-frontend/packages/superset-ui-core/src/connection/callApi/parseResponse.ts
index 15beca6e15..82060d379b 100644
--- a/superset-frontend/packages/superset-ui-core/src/connection/callApi/parseResponse.ts
+++ b/superset-frontend/packages/superset-ui-core/src/connection/callApi/parseResponse.ts
@@ -28,10 +28,10 @@ export default async function parseResponse<T extends ParseMethod = 'json'>(
type ReturnType = T extends 'raw' | null
? Response
: T extends 'json' | 'json-bigint' | undefined
- ? JsonResponse
- : T extends 'text'
- ? TextResponse
- : never;
+ ? JsonResponse
+ : T extends 'text'
+ ? TextResponse
+ : never;
const response = await apiPromise;
// reject failed HTTP requests with the raw response
if (!response.ok) {
diff --git a/superset-frontend/packages/superset-ui-core/src/hooks/useChangeEffect/useChangeEffect.test.ts b/superset-frontend/packages/superset-ui-core/src/hooks/useChangeEffect/useChangeEffect.test.ts
index 32c984e487..1c1a96125b 100644
--- a/superset-frontend/packages/superset-ui-core/src/hooks/useChangeEffect/useChangeEffect.test.ts
+++ b/superset-frontend/packages/superset-ui-core/src/hooks/useChangeEffect/useChangeEffect.test.ts
@@ -24,8 +24,8 @@ test('call callback the first time with undefined and value', () => {
renderHook(props => useChangeEffect(props.value, props.callback), {
initialProps: { value: 'value', callback },
});
- expect(callback).toBeCalledTimes(1);
- expect(callback).nthCalledWith(1, undefined, 'value');
+ expect(callback).toHaveBeenCalledTimes(1);
+ expect(callback).toHaveBeenNthCalledWith(1, undefined, 'value');
});
test('do not call callback 2 times if the value do not change', () => {
@@ -37,7 +37,7 @@ test('do not call callback 2 times if the value do not change', () => {
},
);
hook.rerender({ value: 'value', callback });
- expect(callback).toBeCalledTimes(1);
+ expect(callback).toHaveBeenCalledTimes(1);
});
test('call callback whenever the value changes', () => {
@@ -49,6 +49,6 @@ test('call callback whenever the value changes', () => {
},
);
hook.rerender({ value: 'value-2', callback });
- expect(callback).toBeCalledTimes(2);
- expect(callback).nthCalledWith(2, 'value', 'value-2');
+ expect(callback).toHaveBeenCalledTimes(2);
+ expect(callback).toHaveBeenNthCalledWith(2, 'value', 'value-2');
});
diff --git a/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidMount/useComponentDidMount.test.ts b/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidMount/useComponentDidMount.test.ts
index 6d7d6cd712..7edf9e7232 100644
--- a/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidMount/useComponentDidMount.test.ts
+++ b/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidMount/useComponentDidMount.test.ts
@@ -22,7 +22,7 @@ import { useComponentDidMount } from './useComponentDidMount';
test('the effect should only be executed on the first render', () => {
const effect = jest.fn();
const hook = renderHook(() => useComponentDidMount(effect));
- expect(effect).toBeCalledTimes(1);
+ expect(effect).toHaveBeenCalledTimes(1);
hook.rerender();
- expect(effect).toBeCalledTimes(1);
+ expect(effect).toHaveBeenCalledTimes(1);
});
diff --git a/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts b/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts
index a1615ec279..1c191b07be 100644
--- a/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts
+++ b/superset-frontend/packages/superset-ui-core/src/hooks/useComponentDidUpdate/useComponentDidUpdate.test.ts
@@ -24,8 +24,8 @@ test('the effect should not be executed on the first render', () => {
const hook = renderHook(props => useComponentDidUpdate(props.effect), {
initialProps: { effect },
});
- expect(effect).toBeCalledTimes(0);
+ expect(effect).toHaveBeenCalledTimes(0);
const changedEffect = jest.fn();
hook.rerender({ effect: changedEffect });
- expect(changedEffect).toBeCalledTimes(1);
+ expect(changedEffect).toHaveBeenCalledTimes(1);
});
diff --git a/superset-frontend/packages/superset-ui-core/src/query/api/v1/types.ts b/superset-frontend/packages/superset-ui-core/src/query/api/v1/types.ts
index 09ef1bc7d6..1fea5dc84d 100644
--- a/superset-frontend/packages/superset-ui-core/src/query/api/v1/types.ts
+++ b/superset-frontend/packages/superset-ui-core/src/query/api/v1/types.ts
@@ -28,8 +28,8 @@ import {
export type ParsedResponseType<T> = T extends 'text'
? string
: T extends 'raw' | null
- ? Response
- : JsonValue;
+ ? Response
+ : JsonValue;
/**
* Runtime options when calling a Superset API. Currently only allow overriding
diff --git a/superset-frontend/packages/superset-ui-core/src/query/types/Operator.ts b/superset-frontend/packages/superset-ui-core/src/query/types/Operator.ts
index 1038576761..5b598312c0 100644
--- a/superset-frontend/packages/superset-ui-core/src/query/types/Operator.ts
+++ b/superset-frontend/packages/superset-ui-core/src/query/types/Operator.ts
@@ -42,13 +42,13 @@ const SET_OPERATORS = ['IN', 'NOT IN'] as const;
//---------------------------------------------------
/** An operator that does not require another operand */
-export type UnaryOperator = typeof UNARY_OPERATORS[number];
+export type UnaryOperator = (typeof UNARY_OPERATORS)[number];
/** An operator that requires another operand that is a single value */
-export type BinaryOperator = typeof BINARY_OPERATORS[number];
+export type BinaryOperator = (typeof BINARY_OPERATORS)[number];
/** An operator that require another operand that is a set */
-export type SetOperator = typeof SET_OPERATORS[number];
+export type SetOperator = (typeof SET_OPERATORS)[number];
//---------------------------------------------------
// Type guards
diff --git a/superset-frontend/packages/superset-ui-core/test/chart/components/MockChartPlugins.tsx b/superset-frontend/packages/superset-ui-core/test/chart/components/MockChartPlugins.tsx
index 73ef76c572..37b7e2b7ac 100644
--- a/superset-frontend/packages/superset-ui-core/test/chart/components/MockChartPlugins.tsx
+++ b/superset-frontend/packages/superset-ui-core/test/chart/components/MockChartPlugins.tsx
@@ -34,7 +34,7 @@ const DIMENSION_STYLE = {
alignItems: 'center',
};
-export const TestComponent = ({
+export function TestComponent({
formData,
message,
width,
@@ -44,7 +44,7 @@ export const TestComponent = ({
message?: string;
width?: number;
height?: number;
-}) => {
+}) {
const theme = useTheme();
return (
<div
@@ -73,7 +73,7 @@ export const TestComponent = ({
</div>
</div>
);
-};
+}
export const ChartKeys = {
DILIGENT: 'diligent-chart',
diff --git a/superset-frontend/packages/superset-ui-core/test/chart/components/SuperChartCore.test.tsx b/superset-frontend/packages/superset-ui-core/test/chart/components/SuperChartCore.test.tsx
index d3b808c050..15a11e3624 100644
--- a/superset-frontend/packages/superset-ui-core/test/chart/components/SuperChartCore.test.tsx
+++ b/superset-frontend/packages/superset-ui-core/test/chart/components/SuperChartCore.test.tsx
@@ -35,13 +35,15 @@ import {
SlowChartPlugin,
} from './MockChartPlugins';
-const Wrapper = ({
+function Wrapper({
theme,
children,
}: {
theme: SupersetTheme;
children: ReactNode;
-}) => <ThemeProvider theme={theme}>{children}</ThemeProvider>;
+}) {
+ return <ThemeProvider theme={theme}>{children}</ThemeProvider>;
+}
const styledMount = (component: ReactElement) =>
mount(component, {
diff --git a/superset-frontend/packages/superset-ui-core/test/chart/models/ChartPlugin.test.tsx b/superset-frontend/packages/superset-ui-core/test/chart/models/ChartPlugin.test.tsx
index 6a8f5f518f..88665ad253 100644
--- a/superset-frontend/packages/superset-ui-core/test/chart/models/ChartPlugin.test.tsx
+++ b/superset-frontend/packages/superset-ui-core/test/chart/models/ChartPlugin.test.tsx
@@ -35,7 +35,9 @@ import {
} from '@superset-ui/core';
describe('ChartPlugin', () => {
- const FakeChart = () => <span>test</span>;
+ function FakeChart() {
+ return <span>test</span>;
+ }
const metadata = new ChartMetadata({
name: 'test-chart',
diff --git a/superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts b/superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
index 88610874db..679e230a6e 100644
--- a/superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
+++ b/superset-frontend/packages/superset-ui-core/test/color/SharedLabelColorSingleton.test.ts
@@ -161,7 +161,7 @@ describe('SharedLabelColor', () => {
sharedLabelColor.updateColorMap('', 'testColors');
const colorMap = sharedLabelColor.getColorMap();
expect(Object.fromEntries(colorMap)).not.toEqual({});
- expect(getAnalogousColors).not.toBeCalled();
+ expect(getAnalogousColors).not.toHaveBeenCalled();
});
it('should use analagous colors', () => {
@@ -176,7 +176,7 @@ describe('SharedLabelColor', () => {
sharedLabelColor.updateColorMap('', 'testColors');
const colorMap = sharedLabelColor.getColorMap();
expect(Object.fromEntries(colorMap)).not.toEqual({});
- expect(getAnalogousColors).toBeCalled();
+ expect(getAnalogousColors).toHaveBeenCalled();
});
});
diff --git a/superset-frontend/packages/superset-ui-core/test/models/Registry.test.ts b/superset-frontend/packages/superset-ui-core/test/models/Registry.test.ts
index 11c2e65eb5..733a373292 100644
--- a/superset-frontend/packages/superset-ui-core/test/models/Registry.test.ts
+++ b/superset-frontend/packages/superset-ui-core/test/models/Registry.test.ts
@@ -396,31 +396,31 @@ describe('Registry', () => {
it('calls the listener when a value is registered', () => {
registry.registerValue('foo', 'bar');
- expect(listener).toBeCalledWith(['foo']);
+ expect(listener).toHaveBeenCalledWith(['foo']);
});
it('calls the listener when a loader is registered', () => {
registry.registerLoader('foo', () => 'bar');
- expect(listener).toBeCalledWith(['foo']);
+ expect(listener).toHaveBeenCalledWith(['foo']);
});
it('calls the listener when a value is overridden', () => {
registry.registerValue('foo', 'bar');
listener.mockClear();
registry.registerValue('foo', 'baz');
- expect(listener).toBeCalledWith(['foo']);
+ expect(listener).toHaveBeenCalledWith(['foo']);
});
it('calls the listener when a value is removed', () => {
registry.registerValue('foo', 'bar');
listener.mockClear();
registry.remove('foo');
- expect(listener).toBeCalledWith(['foo']);
+ expect(listener).toHaveBeenCalledWith(['foo']);
});
it('does not call the listener when a value is not actually removed', () => {
registry.remove('foo');
- expect(listener).not.toBeCalled();
+ expect(listener).not.toHaveBeenCalled();
});
it('calls the listener when registry is cleared', () => {
@@ -428,13 +428,13 @@ describe('Registry', () => {
registry.registerLoader('fluz', () => 'baz');
listener.mockClear();
registry.clear();
- expect(listener).toBeCalledWith(['foo', 'fluz']);
+ expect(listener).toHaveBeenCalledWith(['foo', 'fluz']);
});
it('removes listeners correctly', () => {
registry.removeListener(listener);
registry.registerValue('foo', 'bar');
- expect(listener).not.toBeCalled();
+ expect(listener).not.toHaveBeenCalled();
});
describe('with a broken listener', () => {
@@ -456,10 +456,10 @@ describe('Registry', () => {
registry.addListener(lastListener);
registry.registerValue('foo', 'bar');
- expect(listener).toBeCalledWith(['foo']);
- expect(errorListener).toBeCalledWith(['foo']);
- expect(lastListener).toBeCalledWith(['foo']);
- expect(console.error).toBeCalled();
+ expect(listener).toHaveBeenCalledWith(['foo']);
+ expect(errorListener).toHaveBeenCalledWith(['foo']);
+ expect(lastListener).toHaveBeenCalledWith(['foo']);
+ expect(console.error).toHaveBeenCalled();
});
});
});
diff --git a/superset-frontend/packages/superset-ui-core/test/query/buildQueryContext.test.ts b/superset-frontend/packages/superset-ui-core/test/query/buildQueryContext.test.ts
index 9d47361e8f..0d939261e9 100644
--- a/superset-frontend/packages/superset-ui-core/test/query/buildQueryContext.test.ts
+++ b/superset-frontend/packages/superset-ui-core/test/query/buildQueryContext.test.ts
@@ -142,7 +142,7 @@ describe('buildQueryContext', () => {
},
() => [{}],
);
- expect(spyNormalizeTimeColumn).toBeCalled();
+ expect(spyNormalizeTimeColumn).toHaveBeenCalled();
spyNormalizeTimeColumn.mockRestore();
});
it("shouldn't call normalizeTimeColumn if GENERIC_CHART_AXES is disabled", () => {
@@ -161,7 +161,7 @@ describe('buildQueryContext', () => {
},
() => [{}],
);
- expect(spyNormalizeTimeColumn).not.toBeCalled();
+ expect(spyNormalizeTimeColumn).not.toHaveBeenCalled();
spyNormalizeTimeColumn.mockRestore();
});
});
diff --git a/superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts b/superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
index af0d6f5915..2aa78faeed 100644
--- a/superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
+++ b/superset-frontend/packages/superset-ui-core/test/translation/TranslatorSingleton.test.ts
@@ -80,7 +80,7 @@ describe('TranslatorSingleton', () => {
expect(t('second')).toEqual('second');
resetTranslation();
expect(t('second')).toEqual('second');
- expect(console.warn).toBeCalledTimes(2);
+ expect(console.warn).toHaveBeenCalledTimes(2);
restoreConsole();
});
});
diff --git a/superset-frontend/packages/superset-ui-demo/package.json b/superset-frontend/packages/superset-ui-demo/package.json
index 4dada29cee..f3ca7d073d 100644
--- a/superset-frontend/packages/superset-ui-demo/package.json
+++ b/superset-frontend/packages/superset-ui-demo/package.json
@@ -49,8 +49,8 @@
"global-box": "^1.2.0",
"jquery": "^3.4.1",
"memoize-one": "^5.1.1",
- "react": "^16.13.1",
- "react-dom": "^16.13.1",
+ "react": "^17.0.0",
+ "react-dom": "^17.0.0",
"react-loadable": "^5.5.0",
"react-resizable": "^3.0.4",
"storybook-addon-jsx": "^7.3.14"
@@ -81,7 +81,7 @@
"@superset-ui/legacy-plugin-chart-sankey": "*",
"@superset-ui/legacy-plugin-chart-sankey-loop": "*",
"@superset-ui/legacy-plugin-chart-sunburst": "*",
- "@superset-ui/legacy-plugin-chart-time-table": "*",
+ "@superset-ui/legacy-plugin-chart-time-table": "../plugin-chart-time-table",
"@superset-ui/legacy-plugin-chart-world-map": "*",
"@superset-ui/legacy-preset-chart-deckgl": "*",
"@superset-ui/legacy-preset-chart-nvd3": "*",
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/Stories.tsx
index dd95ffada5..497e1999c9 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-plugin-chart-map-box/Stories.tsx
@@ -29,7 +29,7 @@ export default {
title: 'Legacy Chart Plugins/legacy-plugin-chart-map-box',
};
-export const Basic = () => {
+export function Basic() {
const theme = useTheme();
return (
<SuperChart
@@ -55,4 +55,4 @@ export const Basic = () => {
}}
/>
);
-};
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/Stories.tsx
index aa97dc600b..7f8895b1e1 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Arc/Stories.tsx
@@ -31,71 +31,73 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/ArcChartPlugin',
};
-export const ArcChartViz = () => (
- <SuperChart
- chartType="deck_arc"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '10__table',
- viz_type: 'deck_arc',
- granularity_sqla: 'dttm',
- time_grain_sqla: null,
- time_range: ' : ',
- start_spatial: {
- latCol: 'LATITUDE',
- lonCol: 'LONGITUDE',
- type: 'latlong',
- },
- end_spatial: {
- latCol: 'LATITUDE_DEST',
- lonCol: 'LONGITUDE_DEST',
- type: 'latlong',
- },
- row_limit: 5000,
- filter_nulls: true,
- adhoc_filters: [],
- mapbox_style: 'mapbox://styles/mapbox/light-v9',
- viewport: {
- altitude: 1.5,
- bearing: 8.546256357301871,
- height: 642,
- latitude: 44.596651438714254,
- longitude: -91.84340711201104,
- maxLatitude: 85.05113,
- maxPitch: 60,
- maxZoom: 20,
- minLatitude: -85.05113,
- minPitch: 0,
- minZoom: 0,
- pitch: 60,
- width: 997,
- zoom: 2.929837070560775,
- },
- autozoom: true,
- color_picker: {
- a: 1,
- b: 135,
- g: 122,
- r: 0,
- },
- target_color_picker: {
- r: 0,
- g: 122,
- b: 135,
- a: 1,
- },
- dimension: null,
- label_colors: {},
- stroke_width: 1,
- legend_position: 'tr',
- legend_format: null,
- js_columns: [],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- }}
- />
-);
+export function ArcChartViz() {
+ return (
+ <SuperChart
+ chartType="deck_arc"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '10__table',
+ viz_type: 'deck_arc',
+ granularity_sqla: 'dttm',
+ time_grain_sqla: null,
+ time_range: ' : ',
+ start_spatial: {
+ latCol: 'LATITUDE',
+ lonCol: 'LONGITUDE',
+ type: 'latlong',
+ },
+ end_spatial: {
+ latCol: 'LATITUDE_DEST',
+ lonCol: 'LONGITUDE_DEST',
+ type: 'latlong',
+ },
+ row_limit: 5000,
+ filter_nulls: true,
+ adhoc_filters: [],
+ mapbox_style: 'mapbox://styles/mapbox/light-v9',
+ viewport: {
+ altitude: 1.5,
+ bearing: 8.546256357301871,
+ height: 642,
+ latitude: 44.596651438714254,
+ longitude: -91.84340711201104,
+ maxLatitude: 85.05113,
+ maxPitch: 60,
+ maxZoom: 20,
+ minLatitude: -85.05113,
+ minPitch: 0,
+ minZoom: 0,
+ pitch: 60,
+ width: 997,
+ zoom: 2.929837070560775,
+ },
+ autozoom: true,
+ color_picker: {
+ a: 1,
+ b: 135,
+ g: 122,
+ r: 0,
+ },
+ target_color_picker: {
+ r: 0,
+ g: 122,
+ b: 135,
+ a: 1,
+ },
+ dimension: null,
+ label_colors: {},
+ stroke_width: 1,
+ legend_position: 'tr',
+ legend_format: null,
+ js_columns: [],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/Stories.tsx
index d0f0d2b260..3a028d6bdc 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Grid/Stories.tsx
@@ -31,42 +31,44 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/GridChartPlugin',
};
-export const GridChartViz = () => (
- <SuperChart
- chartType="deck_grid"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '5__table',
- viz_type: 'deck_grid',
- slice_id: 69,
- url_params: {},
- granularity_sqla: 'dttm',
- time_grain_sqla: null,
- time_range: '+:+',
- spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
- size: 'count',
- row_limit: 5000,
- filter_nulls: true,
- adhoc_filters: [],
- mapbox_style: 'mapbox://styles/mapbox/satellite-streets-v9',
- viewport: {
- bearing: 155.80099696026355,
- latitude: 37.7942314882596,
- longitude: -122.42066918995666,
- pitch: 53.470800300695146,
- zoom: 12.699690845482069,
- },
- color_picker: { a: 1, b: 0, g: 255, r: 14 },
- autozoom: true,
- grid_size: 120,
- extruded: true,
- js_columns: [],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- }}
- />
-);
+export function GridChartViz() {
+ return (
+ <SuperChart
+ chartType="deck_grid"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '5__table',
+ viz_type: 'deck_grid',
+ slice_id: 69,
+ url_params: {},
+ granularity_sqla: 'dttm',
+ time_grain_sqla: null,
+ time_range: '+:+',
+ spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
+ size: 'count',
+ row_limit: 5000,
+ filter_nulls: true,
+ adhoc_filters: [],
+ mapbox_style: 'mapbox://styles/mapbox/satellite-streets-v9',
+ viewport: {
+ bearing: 155.80099696026355,
+ latitude: 37.7942314882596,
+ longitude: -122.42066918995666,
+ pitch: 53.470800300695146,
+ zoom: 12.699690845482069,
+ },
+ color_picker: { a: 1, b: 0, g: 255, r: 14 },
+ autozoom: true,
+ grid_size: 120,
+ extruded: true,
+ js_columns: [],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/Stories.tsx
index 8bc1219977..98cf815653 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Hex/Stories.tsx
@@ -31,43 +31,45 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/HexChartPlugin',
};
-export const HexChartViz = () => (
- <SuperChart
- chartType="deck_hex"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '5__table',
- viz_type: 'deck_hex',
- slice_id: 68,
- url_params: {},
- granularity_sqla: 'dttm',
- time_grain_sqla: null,
- time_range: '+:+',
- spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
- size: 'count',
- row_limit: 5000,
- filter_nulls: true,
- adhoc_filters: [],
- mapbox_style: 'mapbox://styles/mapbox/streets-v9',
- viewport: {
- bearing: -2.3984797349335167,
- latitude: 37.789795085160335,
- longitude: -122.40632230075536,
- pitch: 54.08961642447763,
- zoom: 13.835465702403654,
- },
- color_picker: { a: 1, b: 0, g: 255, r: 14 },
- autozoom: true,
- grid_size: 40,
- extruded: true,
- js_agg_function: 'sum',
- js_columns: [],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- }}
- />
-);
+export function HexChartViz() {
+ return (
+ <SuperChart
+ chartType="deck_hex"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '5__table',
+ viz_type: 'deck_hex',
+ slice_id: 68,
+ url_params: {},
+ granularity_sqla: 'dttm',
+ time_grain_sqla: null,
+ time_range: '+:+',
+ spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
+ size: 'count',
+ row_limit: 5000,
+ filter_nulls: true,
+ adhoc_filters: [],
+ mapbox_style: 'mapbox://styles/mapbox/streets-v9',
+ viewport: {
+ bearing: -2.3984797349335167,
+ latitude: 37.789795085160335,
+ longitude: -122.40632230075536,
+ pitch: 54.08961642447763,
+ zoom: 13.835465702403654,
+ },
+ color_picker: { a: 1, b: 0, g: 255, r: 14 },
+ autozoom: true,
+ grid_size: 40,
+ extruded: true,
+ js_agg_function: 'sum',
+ js_columns: [],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/Stories.tsx
index 486d6cca41..f47c09a9a3 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Path/Stories.tsx
@@ -31,7 +31,7 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/PathChartPlugin',
};
-export const PathChartViz = () => {
+export function PathChartViz() {
const theme = useTheme();
return (
<SuperChart
@@ -81,4 +81,4 @@ export const PathChartViz = () => {
}}
/>
);
-};
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/Stories.tsx
index c2dd9a7cad..316d7b4498 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Polygon/Stories.tsx
@@ -32,110 +32,114 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/PolygonChartPlugin',
};
-export const GeojsonPayload = () => (
- <SuperChart
- chartType="deck_polygon"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[geojsonPayload]}
- formData={{
- datasource: '9__table',
- viz_type: 'deck_polygon',
- time_range: '+:+',
- line_column: 'contour',
- line_type: 'json',
- adhoc_filters: [],
- metric: 'count',
- point_radius_fixed: { type: 'fix', value: 1000 },
- row_limit: 10000,
- reverse_long_lat: false,
- filter_nulls: true,
- mapbox_style: 'mapbox://styles/mapbox/light-v9',
- viewport: {
- longitude: 6.85236157047845,
- latitude: 31.222656842808707,
- zoom: 1,
- bearing: 0,
- pitch: 0,
- },
- autozoom: true,
- fill_color_picker: { a: 1, b: 73, g: 65, r: 3 },
- stroke_color_picker: { a: 1, b: 135, g: 122, r: 0 },
- filled: true,
- stroked: false,
- extruded: true,
- multiplier: 1,
- line_width: 10,
- linear_color_scheme: 'blue_white_yellow',
- opacity: 80,
- num_buckets: 5,
- table_filter: false,
- toggle_polygons: true,
- legend_position: 'tr',
- }}
- />
-);
+export function GeojsonPayload() {
+ return (
+ <SuperChart
+ chartType="deck_polygon"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[geojsonPayload]}
+ formData={{
+ datasource: '9__table',
+ viz_type: 'deck_polygon',
+ time_range: '+:+',
+ line_column: 'contour',
+ line_type: 'json',
+ adhoc_filters: [],
+ metric: 'count',
+ point_radius_fixed: { type: 'fix', value: 1000 },
+ row_limit: 10000,
+ reverse_long_lat: false,
+ filter_nulls: true,
+ mapbox_style: 'mapbox://styles/mapbox/light-v9',
+ viewport: {
+ longitude: 6.85236157047845,
+ latitude: 31.222656842808707,
+ zoom: 1,
+ bearing: 0,
+ pitch: 0,
+ },
+ autozoom: true,
+ fill_color_picker: { a: 1, b: 73, g: 65, r: 3 },
+ stroke_color_picker: { a: 1, b: 135, g: 122, r: 0 },
+ filled: true,
+ stroked: false,
+ extruded: true,
+ multiplier: 1,
+ line_width: 10,
+ linear_color_scheme: 'blue_white_yellow',
+ opacity: 80,
+ num_buckets: 5,
+ table_filter: false,
+ toggle_polygons: true,
+ legend_position: 'tr',
+ }}
+ />
+ );
+}
-export const Payload = () => (
- <SuperChart
- chartType="deck_polygon"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '9__table',
- viz_type: 'deck_polygon',
- slice_id: 70,
- url_params: {},
- granularity_sqla: null,
- time_grain_sqla: null,
- time_range: '+:+',
- line_column: 'contour',
- line_type: 'json',
- adhoc_filters: [],
- metric: 'population',
- point_radius_fixed: { type: 'fix', value: 1000 },
- row_limit: 10000,
- reverse_long_lat: false,
- filter_nulls: true,
- mapbox_style: 'mapbox://styles/mapbox/light-v9',
- viewport: {
- altitude: 1.5,
- bearing: 37.89506450385642,
- height: 906,
- latitude: 37.752020331384834,
- longitude: -122.43388541747726,
- maxLatitude: 85.05113,
- maxPitch: 60,
- maxZoom: 20,
- minLatitude: -85.05113,
- minPitch: 0,
- minZoom: 0,
- pitch: 60,
- width: 667,
- zoom: 11.133995608594631,
- },
- autozoom: true,
- fill_color_picker: { a: 1, b: 73, g: 65, r: 3 },
- stroke_color_picker: { a: 1, b: 135, g: 122, r: 0 },
- filled: true,
- stroked: false,
- extruded: true,
- multiplier: 1,
- line_width: 10,
- linear_color_scheme: 'blue_white_yellow',
- opacity: 80,
- num_buckets: 5,
- table_filter: false,
- toggle_polygons: true,
- legend_position: 'tr',
- legend_format: null,
- js_columns: ['population', 'area'],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- }}
- />
-);
+export function Payload() {
+ return (
+ <SuperChart
+ chartType="deck_polygon"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '9__table',
+ viz_type: 'deck_polygon',
+ slice_id: 70,
+ url_params: {},
+ granularity_sqla: null,
+ time_grain_sqla: null,
+ time_range: '+:+',
+ line_column: 'contour',
+ line_type: 'json',
+ adhoc_filters: [],
+ metric: 'population',
+ point_radius_fixed: { type: 'fix', value: 1000 },
+ row_limit: 10000,
+ reverse_long_lat: false,
+ filter_nulls: true,
+ mapbox_style: 'mapbox://styles/mapbox/light-v9',
+ viewport: {
+ altitude: 1.5,
+ bearing: 37.89506450385642,
+ height: 906,
+ latitude: 37.752020331384834,
+ longitude: -122.43388541747726,
+ maxLatitude: 85.05113,
+ maxPitch: 60,
+ maxZoom: 20,
+ minLatitude: -85.05113,
+ minPitch: 0,
+ minZoom: 0,
+ pitch: 60,
+ width: 667,
+ zoom: 11.133995608594631,
+ },
+ autozoom: true,
+ fill_color_picker: { a: 1, b: 73, g: 65, r: 3 },
+ stroke_color_picker: { a: 1, b: 135, g: 122, r: 0 },
+ filled: true,
+ stroked: false,
+ extruded: true,
+ multiplier: 1,
+ line_width: 10,
+ linear_color_scheme: 'blue_white_yellow',
+ opacity: 80,
+ num_buckets: 5,
+ table_filter: false,
+ toggle_polygons: true,
+ legend_position: 'tr',
+ legend_format: null,
+ js_columns: ['population', 'area'],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/Stories.tsx
index a655a6bda2..b55e6e6d0d 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Scatter/Stories.tsx
@@ -31,50 +31,52 @@ export default {
title: 'Legacy Chart Plugins/legacy-preset-chart-deckgl/ScatterChartPlugin',
};
-export const ScatterChartViz = () => (
- <SuperChart
- chartType="deck_scatter"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '5__table',
- viz_type: 'deck_scatter',
- slice_id: 66,
- url_params: {},
- granularity_sqla: 'dttm',
- time_grain_sqla: null,
- time_range: '+:+',
- spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
- row_limit: 5000,
- filter_nulls: true,
- adhoc_filters: [],
- mapbox_style: 'mapbox://styles/mapbox/light-v9',
- viewport: {
- bearing: -4.952916738791771,
- latitude: 37.78926922909199,
- longitude: -122.42613341901688,
- pitch: 4.750411100577438,
- zoom: 12.729132798697304,
- },
- autozoom: true,
- point_radius_fixed: { type: 'metric', value: 'count' },
- point_unit: 'square_m',
- min_radius: 2,
- max_radius: 250,
- multiplier: 10,
- color_picker: { a: 0.82, b: 3, g: 0, r: 205 },
- legend_position: 'tr',
- legend_format: null,
- dimension: null,
- color_scheme: 'bnbColors',
- label_colors: {},
- js_columns: [],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- granularity: null,
- }}
- />
-);
+export function ScatterChartViz() {
+ return (
+ <SuperChart
+ chartType="deck_scatter"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '5__table',
+ viz_type: 'deck_scatter',
+ slice_id: 66,
+ url_params: {},
+ granularity_sqla: 'dttm',
+ time_grain_sqla: null,
+ time_range: '+:+',
+ spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
+ row_limit: 5000,
+ filter_nulls: true,
+ adhoc_filters: [],
+ mapbox_style: 'mapbox://styles/mapbox/light-v9',
+ viewport: {
+ bearing: -4.952916738791771,
+ latitude: 37.78926922909199,
+ longitude: -122.42613341901688,
+ pitch: 4.750411100577438,
+ zoom: 12.729132798697304,
+ },
+ autozoom: true,
+ point_radius_fixed: { type: 'metric', value: 'count' },
+ point_unit: 'square_m',
+ min_radius: 2,
+ max_radius: 250,
+ multiplier: 10,
+ color_picker: { a: 0.82, b: 3, g: 0, r: 205 },
+ legend_position: 'tr',
+ legend_format: null,
+ dimension: null,
+ color_scheme: 'bnbColors',
+ label_colors: {},
+ js_columns: [],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ granularity: null,
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
index 9ba915817a..ccf51ab933 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/legacy-preset-chart-deckgl/Screengrid/Stories.tsx
@@ -32,41 +32,43 @@ export default {
'Legacy Chart Plugins/legacy-preset-chart-deckgl/ScreengridChartPlugin',
};
-export const ScreengridChartViz = () => (
- <SuperChart
- chartType="deck_screengrid"
- width={400}
- height={400}
- datasource={dummyDatasource}
- queriesData={[payload]}
- formData={{
- datasource: '5__table',
- viz_type: 'deck_screengrid',
- slice_id: 67,
- url_params: {},
- granularity_sqla: 'dttm',
- time_grain_sqla: null,
- time_range: '+:+',
- spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
- size: 'count',
- row_limit: 5000,
- filter_nulls: true,
- adhoc_filters: [],
- mapbox_style: 'mapbox://styles/mapbox/dark-v9',
- viewport: {
- bearing: -4.952916738791771,
- latitude: 37.76024135844065,
- longitude: -122.41827069521386,
- pitch: 4.750411100577438,
- zoom: 14.161641703941438,
- },
- autozoom: true,
- grid_size: 20,
- color_picker: { a: 1, b: 0, g: 255, r: 14 },
- js_columns: [],
- js_data_mutator: '',
- js_tooltip: '',
- js_onclick_href: '',
- }}
- />
-);
+export function ScreengridChartViz() {
+ return (
+ <SuperChart
+ chartType="deck_screengrid"
+ width={400}
+ height={400}
+ datasource={dummyDatasource}
+ queriesData={[payload]}
+ formData={{
+ datasource: '5__table',
+ viz_type: 'deck_screengrid',
+ slice_id: 67,
+ url_params: {},
+ granularity_sqla: 'dttm',
+ time_grain_sqla: null,
+ time_range: '+:+',
+ spatial: { latCol: 'LAT', lonCol: 'LON', type: 'latlong' },
+ size: 'count',
+ row_limit: 5000,
+ filter_nulls: true,
+ adhoc_filters: [],
+ mapbox_style: 'mapbox://styles/mapbox/dark-v9',
+ viewport: {
+ bearing: -4.952916738791771,
+ latitude: 37.76024135844065,
+ longitude: -122.41827069521386,
+ pitch: 4.750411100577438,
+ zoom: 14.161641703941438,
+ },
+ autozoom: true,
+ grid_size: 20,
+ color_picker: { a: 1, b: 0, g: 255, r: 14 },
+ js_columns: [],
+ js_data_mutator: '',
+ js_tooltip: '',
+ js_onclick_href: '',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/AreaTimeseries/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/AreaTimeseries/Stories.tsx
index 4cffeabd38..8754278c3f 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/AreaTimeseries/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/AreaTimeseries/Stories.tsx
@@ -39,7 +39,7 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Timeseries = ({ width, height }) => {
+export function Timeseries({ width, height }) {
const forecastEnabled = boolean('Enable forecast', true);
const queryData = data
.map(row =>
@@ -85,4 +85,4 @@ export const Timeseries = ({ width, height }) => {
}}
/>
);
-};
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/Stories.tsx
index 2f2938017b..4b0b3c88f3 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/BoxPlot/Stories.tsx
@@ -41,23 +41,25 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const BoxPlot = ({ width, height }) => (
- <SuperChart
- chartType="echarts-boxplot"
- width={width}
- height={height}
- queriesData={[{ data }]}
- formData={{
- columns: [],
- groupby: ['type', 'region'],
- metrics: ['AVG(averageprice)'],
- whiskerOptions: 'Tukey',
- xTicksLayout: select(
- 'X Tick Layout',
- ['auto', 'flat', '45°', '90°', 'staggered'],
- '45°',
- ),
- yAxisFormat: 'SMART_NUMBER',
- }}
- />
-);
+export function BoxPlot({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-boxplot"
+ width={width}
+ height={height}
+ queriesData={[{ data }]}
+ formData={{
+ columns: [],
+ groupby: ['type', 'region'],
+ metrics: ['AVG(averageprice)'],
+ whiskerOptions: 'Tukey',
+ xTicksLayout: select(
+ 'X Tick Layout',
+ ['auto', 'flat', '45°', '90°', 'staggered'],
+ '45°',
+ ),
+ yAxisFormat: 'SMART_NUMBER',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble/Stories.tsx
index b4731ee226..0a6b59d049 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Bubble/Stories.tsx
@@ -44,85 +44,87 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const SimpleBubble = ({ width, height }) => (
- <SuperChart
- chartType="bubble_v2"
- width={width}
- height={height}
- queriesData={[{ data: simpleBubbleData }]}
- formData={{
- entity: 'customer_name',
- x: 'count',
- y: {
- aggregate: 'SUM',
- column: {
- advanced_data_type: null,
- certification_details: null,
- certified_by: null,
- column_name: 'price_each',
- description: null,
- expression: null,
- filterable: true,
- groupby: true,
- id: 570,
- is_certified: false,
- is_dttm: false,
- python_date_format: null,
- type: 'DOUBLE PRECISION',
- type_generic: 0,
- verbose_name: null,
- warning_markdown: null,
+export function SimpleBubble({ width, height }) {
+ return (
+ <SuperChart
+ chartType="bubble_v2"
+ width={width}
+ height={height}
+ queriesData={[{ data: simpleBubbleData }]}
+ formData={{
+ entity: 'customer_name',
+ x: 'count',
+ y: {
+ aggregate: 'SUM',
+ column: {
+ advanced_data_type: null,
+ certification_details: null,
+ certified_by: null,
+ column_name: 'price_each',
+ description: null,
+ expression: null,
+ filterable: true,
+ groupby: true,
+ id: 570,
+ is_certified: false,
+ is_dttm: false,
+ python_date_format: null,
+ type: 'DOUBLE PRECISION',
+ type_generic: 0,
+ verbose_name: null,
+ warning_markdown: null,
+ },
+ expressionType: 'SIMPLE',
+ hasCustomLabel: false,
+ isNew: false,
+ label: 'SUM(price_each)',
+ optionName: 'metric_d9rpclvys0a_fs4bs0m2l1f',
+ sqlExpression: null,
},
- expressionType: 'SIMPLE',
- hasCustomLabel: false,
- isNew: false,
- label: 'SUM(price_each)',
- optionName: 'metric_d9rpclvys0a_fs4bs0m2l1f',
- sqlExpression: null,
- },
- adhocFilters: [],
- size: {
- aggregate: 'SUM',
- column: {
- advanced_data_type: null,
- certification_details: null,
- certified_by: null,
- column_name: 'sales',
- description: null,
- expression: null,
- filterable: true,
- groupby: true,
- id: 571,
- is_certified: false,
- is_dttm: false,
- python_date_format: null,
- type: 'DOUBLE PRECISION',
- type_generic: 0,
- verbose_name: null,
- warning_markdown: null,
+ adhocFilters: [],
+ size: {
+ aggregate: 'SUM',
+ column: {
+ advanced_data_type: null,
+ certification_details: null,
+ certified_by: null,
+ column_name: 'sales',
+ description: null,
+ expression: null,
+ filterable: true,
+ groupby: true,
+ id: 571,
+ is_certified: false,
+ is_dttm: false,
+ python_date_format: null,
+ type: 'DOUBLE PRECISION',
+ type_generic: 0,
+ verbose_name: null,
+ warning_markdown: null,
+ },
+ expressionType: 'SIMPLE',
+ hasCustomLabel: false,
+ isNew: false,
+ label: 'SUM(sales)',
+ optionName: 'metric_itj9wncjxk_dp3yibib0q',
+ sqlExpression: null,
},
- expressionType: 'SIMPLE',
- hasCustomLabel: false,
- isNew: false,
- label: 'SUM(sales)',
- optionName: 'metric_itj9wncjxk_dp3yibib0q',
- sqlExpression: null,
- },
- limit: 10,
- colorScheme: 'supersetColors',
- maxBubbleSize: select('Max bubble size', [5, 10, 25, 50, 100, 125], 10),
- xAxisTitle: text('X axis title', ''),
- xAxisTitleMargin: number('X axis title margin', 30),
- yAxisTitle: text('Y axis title', ''),
- yAxisTitleMargin: number('Y axis title margin', 30),
- yAxisTitlePosition: 'Left',
- xAxisFormat: null,
- logYAxis: boolean('Log Y axis', false),
- yAxisFormat: null,
- logXAxis: boolean('Log X axis', false),
- truncateYAxis: false,
- yAxisBounds: [],
- extraFormData: {},
- }}
- />
-);
+ limit: 10,
+ colorScheme: 'supersetColors',
+ maxBubbleSize: select('Max bubble size', [5, 10, 25, 50, 100, 125], 10),
+ xAxisTitle: text('X axis title', ''),
+ xAxisTitleMargin: number('X axis title margin', 30),
+ yAxisTitle: text('Y axis title', ''),
+ yAxisTitleMargin: number('Y axis title margin', 30),
+ yAxisTitlePosition: 'Left',
+ xAxisFormat: null,
+ logYAxis: boolean('Log Y axis', false),
+ yAxisFormat: null,
+ logXAxis: boolean('Log X axis', false),
+ truncateYAxis: false,
+ yAxisBounds: [],
+ extraFormData: {},
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/Stories.tsx
index a02a740823..4e6da3064f 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Funnel/Stories.tsx
@@ -39,35 +39,37 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Funnel = ({ width, height }) => (
- <SuperChart
- chartType="echarts-funnel"
- width={width}
- height={height}
- queriesData={[{ data: dataSource }]}
- formData={{
- colorScheme: 'supersetColors',
- groupby: ['name'],
- metric: 'value',
- numberFormat: 'SMART_NUMBER',
- orient: select('orient', ['horizontal', 'vertical'], 'vertical'),
- sort: select('sort', ['descending', 'ascending', 'none'], 'descending'),
- gap: number('gap', 0),
- labelType: select(
- 'label type',
- [
+export function Funnel({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-funnel"
+ width={width}
+ height={height}
+ queriesData={[{ data: dataSource }]}
+ formData={{
+ colorScheme: 'supersetColors',
+ groupby: ['name'],
+ metric: 'value',
+ numberFormat: 'SMART_NUMBER',
+ orient: select('orient', ['horizontal', 'vertical'], 'vertical'),
+ sort: select('sort', ['descending', 'ascending', 'none'], 'descending'),
+ gap: number('gap', 0),
+ labelType: select(
+ 'label type',
+ [
+ 'key',
+ 'value',
+ 'percent',
+ 'key_value',
+ 'key_percent',
+ 'key_value_percent',
+ ],
'key',
- 'value',
- 'percent',
- 'key_value',
- 'key_percent',
- 'key_value_percent',
- ],
- 'key',
- ),
- labelLine: boolean('Label line', true),
- showLabels: boolean('Show labels', true),
- showLegend: boolean('Show legend', false),
- }}
- />
-);
+ ),
+ labelLine: boolean('Label line', true),
+ showLabels: boolean('Show labels', true),
+ showLegend: boolean('Show legend', false),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Stories.tsx
index cd04bdadf1..896d3f64e1 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Gauge/Stories.tsx
@@ -39,16 +39,18 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Gauge = ({ width, height }) => (
- <SuperChart
- chartType="echarts-gauge"
- width={width}
- height={height}
- queriesData={[{ data: speed }]}
- formData={{
- columns: [],
- groupby: ['name'],
- metric: 'value',
- }}
- />
-);
+export function Gauge({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-gauge"
+ width={width}
+ height={height}
+ queriesData={[{ data: speed }]}
+ formData={{
+ columns: [],
+ groupby: ['name'],
+ metric: 'value',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Stories.tsx
index 82381358f3..080d4992d0 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Graph/Stories.tsx
@@ -39,18 +39,20 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Graph = ({ width, height }) => (
- <SuperChart
- chartType="echarts-graph"
- width={width}
- height={height}
- queriesData={[{ data: basic }]}
- formData={{
- source: 'source',
- target: 'target',
- sourceCategory: 'sourceCategory',
- targetCategory: 'targetCategory',
- metric: 'value',
- }}
- />
-);
+export function Graph({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-graph"
+ width={width}
+ height={height}
+ queriesData={[{ data: basic }]}
+ formData={{
+ source: 'source',
+ target: 'target',
+ sourceCategory: 'sourceCategory',
+ targetCategory: 'targetCategory',
+ metric: 'value',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedTimeseries/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedTimeseries/Stories.tsx
index 1082ac58ab..9a7df4aa8a 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedTimeseries/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/MixedTimeseries/Stories.tsx
@@ -48,7 +48,7 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Timeseries = ({ width, height }) => {
+export function Timeseries({ width, height }) {
const queriesData = [
{
data: data
@@ -117,57 +117,59 @@ export const Timeseries = ({ width, height }) => {
}}
/>
);
-};
+}
-export const WithNegativeNumbers = ({ width, height }) => (
- <SuperChart
- chartType="mixed-timeseries"
- width={width}
- height={height}
- queriesData={[
- {
- data: negativeNumData,
- colnames: ['__timestamp'],
- coltypes: [2],
- },
- {
- data: negativeNumData.map(({ __timestamp, Boston }) => ({
- __timestamp,
- avgRate: Boston / 100,
- })),
- },
- ]}
- formData={{
- contributionMode: undefined,
- colorScheme: 'supersetColors',
- seriesType: select(
- 'Line type',
- ['line', 'scatter', 'smooth', 'bar', 'start', 'middle', 'end'],
- 'line',
- ),
- xAxisTimeFormat: 'smart_date',
- yAxisFormat: select(
- 'y-axis format',
+export function WithNegativeNumbers({ width, height }) {
+ return (
+ <SuperChart
+ chartType="mixed-timeseries"
+ width={width}
+ height={height}
+ queriesData={[
{
- 'Original value': '~g',
- 'Smart number': 'SMART_NUMBER',
- '(12345.432 => $12,345.43)': '$,.2f',
+ data: negativeNumData,
+ colnames: ['__timestamp'],
+ coltypes: [2],
},
- '$,.2f',
- ),
- stack: true,
- showValue: boolean('Query 1: Show Value', true),
- showValueB: boolean('Query 2: Show Value', false),
- showLegend: true,
- markerEnabledB: true,
- yAxisIndexB: select(
- 'Query 2: Y Axis',
{
- Primary: 0,
- Secondary: 1,
+ data: negativeNumData.map(({ __timestamp, Boston }) => ({
+ __timestamp,
+ avgRate: Boston / 100,
+ })),
},
- 1,
- ),
- }}
- />
-);
+ ]}
+ formData={{
+ contributionMode: undefined,
+ colorScheme: 'supersetColors',
+ seriesType: select(
+ 'Line type',
+ ['line', 'scatter', 'smooth', 'bar', 'start', 'middle', 'end'],
+ 'line',
+ ),
+ xAxisTimeFormat: 'smart_date',
+ yAxisFormat: select(
+ 'y-axis format',
+ {
+ 'Original value': '~g',
+ 'Smart number': 'SMART_NUMBER',
+ '(12345.432 => $12,345.43)': '$,.2f',
+ },
+ '$,.2f',
+ ),
+ stack: true,
+ showValue: boolean('Query 1: Show Value', true),
+ showValueB: boolean('Query 2: Show Value', false),
+ showLegend: true,
+ markerEnabledB: true,
+ yAxisIndexB: select(
+ 'Query 2: Y Axis',
+ {
+ Primary: 0,
+ Secondary: 1,
+ },
+ 1,
+ ),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/Stories.tsx
index 548a9543f5..5f0c9d4eb6 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Pie/Stories.tsx
@@ -39,70 +39,74 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const WeekdayPie = ({ width, height }) => (
- <SuperChart
- chartType="echarts-pie"
- width={width}
- height={height}
- queriesData={[{ data: weekday }]}
- formData={{
- colorScheme: 'supersetColors',
- groupby: ['Day'],
- metric: 'SUM(AIR_TIME)',
- numberFormat: 'SMART_NUMBER',
- donut: boolean('Donut', false),
- innerRadius: number('Inner Radius', 30),
- outerRadius: number('Outer Radius', 70),
- labelsOutside: boolean('Labels outside', true),
- labelLine: boolean('Label line', true),
- showLabels: boolean('Show labels', true),
- showLegend: boolean('Show legend', false),
- labelType: select(
- 'Pie label type',
- [
+export function WeekdayPie({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-pie"
+ width={width}
+ height={height}
+ queriesData={[{ data: weekday }]}
+ formData={{
+ colorScheme: 'supersetColors',
+ groupby: ['Day'],
+ metric: 'SUM(AIR_TIME)',
+ numberFormat: 'SMART_NUMBER',
+ donut: boolean('Donut', false),
+ innerRadius: number('Inner Radius', 30),
+ outerRadius: number('Outer Radius', 70),
+ labelsOutside: boolean('Labels outside', true),
+ labelLine: boolean('Label line', true),
+ showLabels: boolean('Show labels', true),
+ showLegend: boolean('Show legend', false),
+ labelType: select(
+ 'Pie label type',
+ [
+ 'key',
+ 'value',
+ 'percent',
+ 'key_value',
+ 'key_percent',
+ 'key_value_percent',
+ ],
'key',
- 'value',
- 'percent',
- 'key_value',
- 'key_percent',
- 'key_value_percent',
- ],
- 'key',
- ),
- }}
- />
-);
+ ),
+ }}
+ />
+ );
+}
-export const PopulationPie = ({ width, height }) => (
- <SuperChart
- chartType="echarts-pie"
- width={width}
- height={height}
- queriesData={[{ data: population }]}
- formData={{
- colorScheme: 'supersetColors',
- groupby: ['Country'],
- metric: 'Population',
- numberFormat: 'SMART_NUMBER',
- donut: boolean('Donut', false),
- innerRadius: number('Inner Radius', 30),
- outerRadius: number('Outer Radius', 70),
- labelsOutside: boolean('Labels outside', false),
- labelLine: boolean('Label line', true),
- showLabels: boolean('Show labels', true),
- showLegend: boolean('Show legend', false),
- labelType: select(
- 'Pie label type',
- [
+export function PopulationPie({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-pie"
+ width={width}
+ height={height}
+ queriesData={[{ data: population }]}
+ formData={{
+ colorScheme: 'supersetColors',
+ groupby: ['Country'],
+ metric: 'Population',
+ numberFormat: 'SMART_NUMBER',
+ donut: boolean('Donut', false),
+ innerRadius: number('Inner Radius', 30),
+ outerRadius: number('Outer Radius', 70),
+ labelsOutside: boolean('Labels outside', false),
+ labelLine: boolean('Label line', true),
+ showLabels: boolean('Show labels', true),
+ showLegend: boolean('Show legend', false),
+ labelType: select(
+ 'Pie label type',
+ [
+ 'key',
+ 'value',
+ 'percent',
+ 'key_value',
+ 'key_percent',
+ 'key_value_percent',
+ ],
'key',
- 'value',
- 'percent',
- 'key_value',
- 'key_percent',
- 'key_value_percent',
- ],
- 'key',
- ),
- }}
- />
-);
+ ),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/Stories.tsx
index a6682c6042..f64bb640ca 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Radar/Stories.tsx
@@ -39,31 +39,33 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Radar = ({ width, height }) => (
- <SuperChart
- chartType="echarts-radar"
- width={width}
- height={height}
- queriesData={[{ data: basic }]}
- formData={{
- columns: [],
- groupby: ['Sales'],
- metrics: [
- 'Sales',
- 'Administration',
- 'Information Technology',
- 'Customer Support',
- 'Development',
- 'Marketing',
- ],
- columnConfig: {
- Sales: { radarMetricMaxValue: 6500 },
- Administration: { radarMetricMaxValue: 16000 },
- 'Information Technology': { radarMetricMaxValue: 30000 },
- 'Customer Support': { radarMetricMaxValue: 38000 },
- Development: { radarMetricMaxValue: 52000 },
- Marketing: { radarMetricMaxValue: 25000 },
- },
- }}
- />
-);
+export function Radar({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-radar"
+ width={width}
+ height={height}
+ queriesData={[{ data: basic }]}
+ formData={{
+ columns: [],
+ groupby: ['Sales'],
+ metrics: [
+ 'Sales',
+ 'Administration',
+ 'Information Technology',
+ 'Customer Support',
+ 'Development',
+ 'Marketing',
+ ],
+ columnConfig: {
+ Sales: { radarMetricMaxValue: 6500 },
+ Administration: { radarMetricMaxValue: 16000 },
+ 'Information Technology': { radarMetricMaxValue: 30000 },
+ 'Customer Support': { radarMetricMaxValue: 38000 },
+ Development: { radarMetricMaxValue: 52000 },
+ Marketing: { radarMetricMaxValue: 25000 },
+ },
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst/Stories.tsx
index 7742f1ecfe..234f9fcf57 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Sunburst/Stories.tsx
@@ -41,17 +41,19 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Sunburst = ({ width, height }) => (
- <SuperChart
- chartType="echarts-sunburst"
- width={width}
- height={height}
- queriesData={[{ data }]}
- formData={{
- columns: ['genre', 'platform'],
- metric: 'count',
- showLabels: boolean('Show labels', true),
- showTotal: boolean('Show total', true),
- }}
- />
-);
+export function Sunburst({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-sunburst"
+ width={width}
+ height={height}
+ queriesData={[{ data }]}
+ formData={{
+ columns: ['genre', 'platform'],
+ metric: 'count',
+ showLabels: boolean('Show labels', true),
+ showTotal: boolean('Show total', true),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/Stories.tsx
index 342db6f5ba..74e235063f 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Timeseries/Stories.tsx
@@ -44,7 +44,7 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Timeseries = ({ width, height }) => {
+export function Timeseries({ width, height }) {
const forecastEnabled = boolean('Enable forecast', true);
const queryData = data
.map(row =>
@@ -91,82 +91,88 @@ export const Timeseries = ({ width, height }) => {
}}
/>
);
-};
+}
-export const WithNegativeNumbers = ({ width, height }) => (
- <SuperChart
- chartType="echarts-timeseries"
- width={width}
- height={height}
- queriesData={[
- { data: negativeNumData, colnames: ['__timestamp'], coltypes: [2] },
- ]}
- formData={{
- color_scheme: 'supersetColors',
- seriesType: select(
- 'Line type',
- ['line', 'scatter', 'smooth', 'bar', 'start', 'middle', 'end'],
- 'line',
- ),
- y_axis_format: '$,.2f',
- stack: boolean('Stack', true),
- show_value: true,
- show_legend: true,
- only_total: boolean('Only Total', true),
- orientation: select(
- 'Orientation',
- ['vertical', 'horizontal'],
- 'vertical',
- ),
- x_axis: '__timestamp',
- }}
- />
-);
+export function WithNegativeNumbers({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-timeseries"
+ width={width}
+ height={height}
+ queriesData={[
+ { data: negativeNumData, colnames: ['__timestamp'], coltypes: [2] },
+ ]}
+ formData={{
+ color_scheme: 'supersetColors',
+ seriesType: select(
+ 'Line type',
+ ['line', 'scatter', 'smooth', 'bar', 'start', 'middle', 'end'],
+ 'line',
+ ),
+ y_axis_format: '$,.2f',
+ stack: boolean('Stack', true),
+ show_value: true,
+ show_legend: true,
+ only_total: boolean('Only Total', true),
+ orientation: select(
+ 'Orientation',
+ ['vertical', 'horizontal'],
+ 'vertical',
+ ),
+ x_axis: '__timestamp',
+ }}
+ />
+ );
+}
-export const ConfidenceBand = ({ width, height }) => (
- <SuperChart
- chartType="echarts-timeseries"
- width={width}
- height={height}
- queriesData={[
- {
- data: confbandData,
- colnames: [
- 'ds',
- 'SUM(num)',
- 'SUM(num)__yhat_lower',
- 'SUM(num)__yhat_upper',
- ],
- coltypes: [2, 0, 0, 0],
- },
- ]}
- formData={{
- color_scheme: 'supersetColors',
- series_type: 'line',
- x_axis_time_format: 'smart_date',
- x_axis: 'ds',
- }}
- />
-);
+export function ConfidenceBand({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-timeseries"
+ width={width}
+ height={height}
+ queriesData={[
+ {
+ data: confbandData,
+ colnames: [
+ 'ds',
+ 'SUM(num)',
+ 'SUM(num)__yhat_lower',
+ 'SUM(num)__yhat_upper',
+ ],
+ coltypes: [2, 0, 0, 0],
+ },
+ ]}
+ formData={{
+ color_scheme: 'supersetColors',
+ series_type: 'line',
+ x_axis_time_format: 'smart_date',
+ x_axis: 'ds',
+ }}
+ />
+ );
+}
-export const StackWithNulls = ({ width, height }) => (
- <SuperChart
- chartType="echarts-timeseries"
- width={width}
- height={height}
- queriesData={[
- {
- data: stackWithNullsData,
- colnames: ['ds', '1', '2'],
- coltypes: [2, 0, 0],
- },
- ]}
- formData={{
- color_scheme: 'supersetColors',
- series_type: 'bar',
- stack: true,
- x_axis_time_format: 'smart_date',
- x_axis: 'ds',
- }}
- />
-);
+export function StackWithNulls({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-timeseries"
+ width={width}
+ height={height}
+ queriesData={[
+ {
+ data: stackWithNullsData,
+ colnames: ['ds', '1', '2'],
+ coltypes: [2, 0, 0],
+ },
+ ]}
+ formData={{
+ color_scheme: 'supersetColors',
+ series_type: 'bar',
+ stack: true,
+ x_axis_time_format: 'smart_date',
+ x_axis: 'ds',
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/Stories.tsx
index 8f342c547c..9730b8eb2c 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Tree/Stories.tsx
@@ -39,49 +39,51 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Tree = ({ width, height }) => (
- <SuperChart
- chartType="echarts-tree"
- width={width}
- height={height}
- queriesData={[{ data }]}
- formData={{
- colorScheme: 'bnbColors',
- datasource: '3__table',
- granularity_sqla: 'ds',
- metric: 'count',
- id: select(
- 'Id Column',
- ['id_column', 'name_column', 'parent_column'],
- 'id_column',
- ),
- rootNodeId: text('Root Node', '1'),
- parent: select(
- 'Parent Column',
- ['parent_column', 'id_column'],
- 'parent_column',
- ),
- name: select('Name Column', [null, 'name_column'], 'name_column'),
+export function Tree({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-tree"
+ width={width}
+ height={height}
+ queriesData={[{ data }]}
+ formData={{
+ colorScheme: 'bnbColors',
+ datasource: '3__table',
+ granularity_sqla: 'ds',
+ metric: 'count',
+ id: select(
+ 'Id Column',
+ ['id_column', 'name_column', 'parent_column'],
+ 'id_column',
+ ),
+ rootNodeId: text('Root Node', '1'),
+ parent: select(
+ 'Parent Column',
+ ['parent_column', 'id_column'],
+ 'parent_column',
+ ),
+ name: select('Name Column', [null, 'name_column'], 'name_column'),
- position: select(
- 'Label Position',
- ['top', 'right', 'left', 'bottom'],
- 'top',
- ),
- layout: select('Tree Layout', ['orthogonal', 'radial'], 'orthogonal'),
- orient: select('Orientation', ['LR', 'RL', 'TB', 'BT'], 'LR'),
- emphasis: select('Emphasis', ['ancestor', 'descendant'], 'descendant'),
- symbol: select(
- 'Symbol',
- ['emptyCircle', 'circle', 'rect', 'triangle'],
- 'circle',
- ),
- symbol_size: number('[Symbol Size', 7, {
- range: true,
- min: 5,
- max: 30,
- step: 2,
- }),
- }}
- />
-);
+ position: select(
+ 'Label Position',
+ ['top', 'right', 'left', 'bottom'],
+ 'top',
+ ),
+ layout: select('Tree Layout', ['orthogonal', 'radial'], 'orthogonal'),
+ orient: select('Orientation', ['LR', 'RL', 'TB', 'BT'], 'LR'),
+ emphasis: select('Emphasis', ['ancestor', 'descendant'], 'descendant'),
+ symbol: select(
+ 'Symbol',
+ ['emptyCircle', 'circle', 'rect', 'triangle'],
+ 'circle',
+ ),
+ symbol_size: number('[Symbol Size', 7, {
+ range: true,
+ min: 5,
+ max: 30,
+ step: 2,
+ }),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/Stories.tsx
index 2f26270c0e..1b23a5d4ff 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Treemap/Stories.tsx
@@ -41,23 +41,25 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Treemap = ({ width, height }) => (
- <SuperChart
- chartType="echarts-treemap"
- width={width}
- height={height}
- queriesData={[{ data }]}
- formData={{
- colorScheme: 'supersetColors',
- groupby: ['genre'],
- metric: 'count',
- showLabels: boolean('Show labels', true),
- showUpperLabels: boolean('Show upperLabels', true),
- labelType: select(
- 'Treemap label type',
- ['key', 'value', 'key_value'],
- 'key_value',
- ),
- }}
- />
-);
+export function Treemap({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-treemap"
+ width={width}
+ height={height}
+ queriesData={[{ data }]}
+ formData={{
+ colorScheme: 'supersetColors',
+ groupby: ['genre'],
+ metric: 'count',
+ showLabels: boolean('Show labels', true),
+ showUpperLabels: boolean('Show upperLabels', true),
+ labelType: select(
+ 'Treemap label type',
+ ['key', 'value', 'key_value'],
+ 'key_value',
+ ),
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall/Stories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall/Stories.tsx
index 6b880fd6f8..93a7f3cb71 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall/Stories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-echarts/Waterfall/Stories.tsx
@@ -40,30 +40,32 @@ export default {
decorators: [withKnobs, withResizableChartDemo],
};
-export const Waterfall = ({ width, height }) => (
- <SuperChart
- chartType="echarts-waterfall"
- width={width}
- height={height}
- queriesData={[{ data }]}
- formData={{
- metric: `SUM(decomp_volume)`,
- columns: 'due_to_group',
- series: 'period',
- x_ticks_layout: '45°',
- adhocFilters: [
- {
- clause: 'WHERE',
- comparator: '0',
- expressionType: 'SIMPLE',
- filterOptionName: 'filter_8ix98su8zu4_t4767ixmbp9',
- isExtra: false,
- isNew: false,
- operator: '!=',
- sqlExpression: null,
- subject: 'period',
- },
- ],
- }}
- />
-);
+export function Waterfall({ width, height }) {
+ return (
+ <SuperChart
+ chartType="echarts-waterfall"
+ width={width}
+ height={height}
+ queriesData={[{ data }]}
+ formData={{
+ metric: `SUM(decomp_volume)`,
+ columns: 'due_to_group',
+ series: 'period',
+ x_ticks_layout: '45°',
+ adhocFilters: [
+ {
+ clause: 'WHERE',
+ comparator: '0',
+ expressionType: 'SIMPLE',
+ filterOptionName: 'filter_8ix98su8zu4_t4767ixmbp9',
+ isExtra: false,
+ isNew: false,
+ operator: '!=',
+ sqlExpression: null,
+ subject: 'period',
+ },
+ ],
+ }}
+ />
+ );
+}
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTableStories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTableStories.tsx
index 54903c013a..00dc4b0bdb 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTableStories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-pivot-table/PivotTableStories.tsx
@@ -52,18 +52,20 @@ basic.story = {
},
};
-export const MaximumAggregation = ({ width, height }) => (
- <SuperChart
- chartType="pivot_table_v2"
- datasource={{
- columnFormats: {},
- }}
- width={width}
- height={height}
- queriesData={[basicData]}
- formData={{ ...basicFormData, aggregateFunction: 'Maximum' }}
- />
-);
+export function MaximumAggregation({ width, height }) {
+ return (
+ <SuperChart
+ chartType="pivot_table_v2"
+ datasource={{
+ columnFormats: {},
+ }}
+ width={width}
+ height={height}
+ queriesData={[basicData]}
+ formData={{ ...basicFormData, aggregateFunction: 'Maximum' }}
+ />
+ );
+}
basic.story = {
parameters: {
initialSize: {
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/TableStories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/TableStories.tsx
index e5d34ceb26..8d1abf0701 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/TableStories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/plugins/plugin-chart-table/TableStories.tsx
@@ -114,7 +114,7 @@ basic.story = {
},
};
-export const BigTable = ({ width, height }) => {
+export function BigTable({ width, height }) {
const rows = number('Records', 2046, { range: true, min: 0, max: 50000 });
const cols = number('Columns', 8, { range: true, min: 1, max: 20 });
const pageLength = number('Page size', 50, { range: true, min: 0, max: 100 });
@@ -142,7 +142,7 @@ export const BigTable = ({ width, height }) => {
height={height}
/>
);
-};
+}
BigTable.story = {
parameters: {
initialSize: {
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/ChartDataProviderStories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/ChartDataProviderStories.tsx
index ddf21df792..ff72aff37d 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/ChartDataProviderStories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/ChartDataProviderStories.tsx
@@ -35,7 +35,7 @@ import {
sankeyFormData,
sunburstFormData,
wordCloudFormData,
-} from '../../../../superset-ui-core/test/chart/fixtures/formData';
+} from '@superset-ui/core/test/chart/fixtures/formData';
import Expandable from '../../shared/components/Expandable';
import VerifyCORS, { renderError } from '../../shared/components/VerifyCORS';
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/SuperChartStories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/SuperChartStories.tsx
index d2eb5dae44..019a82b04e 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/SuperChartStories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-chart/SuperChartStories.tsx
@@ -24,7 +24,7 @@ import {
DiligentChartPlugin,
BuggyChartPlugin,
ChartKeys,
-} from '../../../../superset-ui-core/test/chart/components/MockChartPlugins';
+} from '@superset-ui/core/test/chart/components/MockChartPlugins';
import ResizableChartDemo from '../../shared/components/ResizableChartDemo';
new DiligentChartPlugin().configure({ key: ChartKeys.DILIGENT }).register();
@@ -67,18 +67,20 @@ export const container50pct = () => {
};
container50pct.story = { name: '50% of container' };
-export const Resizable = () => (
- <ResizableChartDemo>
- {size => (
- <SuperChart
- chartType={ChartKeys.DILIGENT}
- width={size.width}
- height={size.height}
- queriesData={[DEFAULT_QUERY_DATA]}
- />
- )}
- </ResizableChartDemo>
-);
+export function Resizable() {
+ return (
+ <ResizableChartDemo>
+ {size => (
+ <SuperChart
+ chartType={ChartKeys.DILIGENT}
+ width={size.width}
+ height={size.height}
+ queriesData={[DEFAULT_QUERY_DATA]}
+ />
+ )}
+ </ResizableChartDemo>
+ );
+}
export const fixedWidth100height = () => {
const width = text('Vis width', '500');
diff --git a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-connection/ConnectionStories.tsx b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-connection/ConnectionStories.tsx
index 3f75837e91..d73998784a 100644
--- a/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-connection/ConnectionStories.tsx
+++ b/superset-frontend/packages/superset-ui-demo/storybook/stories/superset-ui-connection/ConnectionStories.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { select, text, withKnobs } from '@storybook/addon-knobs';
-import { bigNumberFormData } from '../../../../superset-ui-core/test/chart/fixtures/formData';
+import { bigNumberFormData } from '@superset-ui/core/test/chart/fixtures/formData';
import VerifyCORS, {
Props as VerifyCORSProps,
diff --git a/superset-frontend/packages/superset-ui-switchboard/src/switchboard.test.ts b/superset-frontend/packages/superset-ui-switchboard/src/switchboard.test.ts
index 9e36f541e1..915fe0cc42 100644
--- a/superset-frontend/packages/superset-ui-switchboard/src/switchboard.test.ts
+++ b/superset-frontend/packages/superset-ui-switchboard/src/switchboard.test.ts
@@ -294,7 +294,7 @@ describe('comms', () => {
});
port2.start();
- await expect(ours.get('someMethod')).rejects.toThrowError(
+ await expect(ours.get('someMethod')).rejects.toThrow(
'Unexpected response message',
);
});
diff --git a/superset-frontend/plugins/legacy-plugin-chart-calendar/package.json b/superset-frontend/plugins/legacy-plugin-chart-calendar/package.json
index 85e29c820c..3842899600 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-calendar/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-calendar/package.json
@@ -32,7 +32,7 @@
"@emotion/react": "^11.4.1",
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-calendar/src/ReactCalendar.jsx b/superset-frontend/plugins/legacy-plugin-chart-calendar/src/ReactCalendar.jsx
index 8908fc5242..e86d1e4d4e 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-calendar/src/ReactCalendar.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-calendar/src/ReactCalendar.jsx
@@ -24,7 +24,7 @@ import Component from './Calendar';
const ReactComponent = reactify(Component);
-const Calendar = ({ className, ...otherProps }) => {
+function Calendar({ className, ...otherProps }) {
const theme = useTheme();
return (
<div className={className}>
@@ -86,7 +86,7 @@ const Calendar = ({ className, ...otherProps }) => {
<ReactComponent {...otherProps} theme={theme} />
</div>
);
-};
+}
Calendar.defaultProps = {
otherProps: {},
diff --git a/superset-frontend/plugins/legacy-plugin-chart-chord/package.json b/superset-frontend/plugins/legacy-plugin-chart-chord/package.json
index ac664f53f6..07f3795c91 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-chord/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-chord/package.json
@@ -31,7 +31,7 @@
"dependencies": {
"d3": "^3.5.17",
"prop-types": "^15.6.2",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"peerDependencies": {
"@superset-ui/chart-controls": "*",
diff --git a/superset-frontend/plugins/legacy-plugin-chart-chord/src/ReactChord.jsx b/superset-frontend/plugins/legacy-plugin-chart-chord/src/ReactChord.jsx
index 64c749d61c..2b8ae593e7 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-chord/src/ReactChord.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-chord/src/ReactChord.jsx
@@ -23,11 +23,13 @@ import Component from './Chord';
const ReactComponent = reactify(Component);
-const Chord = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function Chord({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
Chord.defaultProps = {
otherProps: {},
diff --git a/superset-frontend/plugins/legacy-plugin-chart-country-map/package.json b/superset-frontend/plugins/legacy-plugin-chart-country-map/package.json
index b699cfb40f..5a7f953dfe 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-country-map/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-country-map/package.json
@@ -33,6 +33,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.jsx b/superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.jsx
index f6e532aa46..8fdd47e542 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-country-map/src/ReactCountryMap.jsx
@@ -22,11 +22,13 @@ import Component from './CountryMap';
const ReactComponent = reactify(Component);
-const CountryMap = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function CountryMap({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(CountryMap)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-event-flow/package.json b/superset-frontend/plugins/legacy-plugin-chart-event-flow/package.json
index 85b0dc0552..163314786c 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-event-flow/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-event-flow/package.json
@@ -33,7 +33,7 @@
"prop-types": "^15.6.2"
},
"peerDependencies": {
- "react": "^15 || ^16",
+ "react": "^17.0.0",
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*"
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-heatmap/package.json b/superset-frontend/plugins/legacy-plugin-chart-heatmap/package.json
index bb53b0a7e9..88a2552d67 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-heatmap/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-heatmap/package.json
@@ -32,7 +32,7 @@
"@emotion/react": "^11.4.1",
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.jsx b/superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.jsx
index 6e016b4774..d9875ee17d 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-heatmap/src/ReactHeatmap.jsx
@@ -28,71 +28,73 @@ function componentWillUnmount() {
const ReactComponent = reactify(Component, { componentWillUnmount });
-const Heatmap = ({ className, ...otherProps }) => (
- <div className={className}>
- <Global
- styles={theme => css`
- .d3-tip {
- line-height: 1;
- padding: ${theme.gridUnit * 3}px;
- background: ${theme.colors.grayscale.dark2};
- color: ${theme.colors.grayscale.light5};
- border-radius: 4px;
- pointer-events: none;
- z-index: 1000;
- font-size: ${theme.typography.sizes.s}px;
- }
-
- /* Creates a small triangle extender for the tooltip */
- .d3-tip:after {
- box-sizing: border-box;
- display: inline;
- font-size: ${theme.typography.sizes.xs};
- width: 100%;
- line-height: 1;
- color: ${theme.colors.grayscale.dark2};
- position: absolute;
- pointer-events: none;
- }
-
- /* Northward tooltips */
- .d3-tip.n:after {
- content: '\\25BC';
- margin: -${theme.gridUnit}px 0 0 0;
- top: 100%;
- left: 0;
- text-align: center;
- }
-
- /* Eastward tooltips */
- .d3-tip.e:after {
- content: '\\25C0';
- margin: -${theme.gridUnit}px 0 0 0;
- top: 50%;
- left: -${theme.gridUnit * 2}px;
- }
-
- /* Southward tooltips */
- .d3-tip.s:after {
- content: '\\25B2';
- margin: 0;
- top: -${theme.gridUnit * 2}px;
- left: 0;
- text-align: center;
- }
-
- /* Westward tooltips */
- .d3-tip.w:after {
- content: '\\25B6';
- margin: -${theme.gridUnit}px 0 0 0px;
- top: 50%;
- left: 100%;
- }
- `}
- />
- <ReactComponent {...otherProps} />
- </div>
-);
+function Heatmap({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <Global
+ styles={theme => css`
+ .d3-tip {
+ line-height: 1;
+ padding: ${theme.gridUnit * 3}px;
+ background: ${theme.colors.grayscale.dark2};
+ color: ${theme.colors.grayscale.light5};
+ border-radius: 4px;
+ pointer-events: none;
+ z-index: 1000;
+ font-size: ${theme.typography.sizes.s}px;
+ }
+
+ /* Creates a small triangle extender for the tooltip */
+ .d3-tip:after {
+ box-sizing: border-box;
+ display: inline;
+ font-size: ${theme.typography.sizes.xs};
+ width: 100%;
+ line-height: 1;
+ color: ${theme.colors.grayscale.dark2};
+ position: absolute;
+ pointer-events: none;
+ }
+
+ /* Northward tooltips */
+ .d3-tip.n:after {
+ content: '\\25BC';
+ margin: -${theme.gridUnit}px 0 0 0;
+ top: 100%;
+ left: 0;
+ text-align: center;
+ }
+
+ /* Eastward tooltips */
+ .d3-tip.e:after {
+ content: '\\25C0';
+ margin: -${theme.gridUnit}px 0 0 0;
+ top: 50%;
+ left: -${theme.gridUnit * 2}px;
+ }
+
+ /* Southward tooltips */
+ .d3-tip.s:after {
+ content: '\\25B2';
+ margin: 0;
+ top: -${theme.gridUnit * 2}px;
+ left: 0;
+ text-align: center;
+ }
+
+ /* Westward tooltips */
+ .d3-tip.w:after {
+ content: '\\25B6';
+ margin: -${theme.gridUnit}px 0 0 0px;
+ top: 50%;
+ left: 100%;
+ }
+ `}
+ />
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(Heatmap)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-histogram/package.json b/superset-frontend/plugins/legacy-plugin-chart-histogram/package.json
index 5aa8a045da..246d1e2ab7 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-histogram/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-histogram/package.json
@@ -31,7 +31,7 @@
"dependencies": {
"@data-ui/histogram": "^0.0.84",
"@data-ui/theme": "^0.0.84",
- "@vx/legend": "^0.0.198",
+ "@vx/legend": "^0.0.199",
"@vx/responsive": "^0.0.199",
"@vx/scale": "^0.0.197",
"prop-types": "^15.6.2"
@@ -39,6 +39,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^15 || ^16"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-horizon/package.json b/superset-frontend/plugins/legacy-plugin-chart-horizon/package.json
index 2b8c90b3c2..976f490f7b 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-horizon/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-horizon/package.json
@@ -30,7 +30,7 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^15 || ^16"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-map-box/package.json b/superset-frontend/plugins/legacy-plugin-chart-map-box/package.json
index 78c9340d09..384be44f1c 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-map-box/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-map-box/package.json
@@ -35,7 +35,7 @@
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
"mapbox-gl": "*",
- "react": "^15 || ^16"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/package.json b/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/package.json
index eb10c297a4..1e438d91c0 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/package.json
@@ -30,7 +30,7 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^15 || ^16"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/package.json b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/package.json
index 12fc4501da..0d5d1fdd73 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/package.json
@@ -35,6 +35,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ReactParallelCoordinates.jsx b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ReactParallelCoordinates.jsx
index 7f30716057..8c9af9d368 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ReactParallelCoordinates.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/src/ReactParallelCoordinates.jsx
@@ -23,11 +23,13 @@ import Component from './ParallelCoordinates';
const ReactComponent = reactify(Component);
-const ParallelCoordinates = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function ParallelCoordinates({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
ParallelCoordinates.propTypes = {
className: PropTypes.string.isRequired,
diff --git a/superset-frontend/plugins/legacy-plugin-chart-partition/package.json b/superset-frontend/plugins/legacy-plugin-chart-partition/package.json
index c849a27a20..6fc7d23207 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-partition/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-partition/package.json
@@ -31,7 +31,7 @@
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
"enzyme": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.jsx b/superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.jsx
index d73476ac58..dc64adda60 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-partition/src/ReactPartition.jsx
@@ -22,11 +22,13 @@ import Component from './Partition';
const ReactComponent = reactify(Component);
-const Partition = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function Partition({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(Partition)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-rose/package.json b/superset-frontend/plugins/legacy-plugin-chart-rose/package.json
index 00072b5d83..441fc62589 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-rose/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-rose/package.json
@@ -31,7 +31,7 @@
"@emotion/react": "^11.4.1",
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.jsx b/superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.jsx
index 33d9cd4f9c..3969d02451 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-rose/src/ReactRose.jsx
@@ -23,25 +23,27 @@ import Component from './Rose';
const ReactComponent = reactify(Component);
-const Rose = ({ className, ...otherProps }) => (
- <div className={className}>
- <Global
- styles={theme => css`
- .tooltip {
- line-height: 1;
- padding: ${theme.gridUnit * 3}px;
- background: ${theme.colors.grayscale.dark2};
- color: ${theme.colors.grayscale.light5};
- border-radius: 4px;
- pointer-events: none;
- z-index: 1000;
- font-size: ${theme.typography.sizes.s}px;
- }
- `}
- />
- <ReactComponent {...otherProps} />
- </div>
-);
+function Rose({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <Global
+ styles={theme => css`
+ .tooltip {
+ line-height: 1;
+ padding: ${theme.gridUnit * 3}px;
+ background: ${theme.colors.grayscale.dark2};
+ color: ${theme.colors.grayscale.light5};
+ border-radius: 4px;
+ pointer-events: none;
+ z-index: 1000;
+ font-size: ${theme.typography.sizes.s}px;
+ }
+ `}
+ />
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(Rose)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/package.json b/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/package.json
index fee661d1fb..260efc9fd4 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/package.json
@@ -30,7 +30,7 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.jsx b/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.jsx
index 4f72433ac9..4230efa371 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/src/ReactSankeyLoop.jsx
@@ -22,11 +22,13 @@ import Component from './SankeyLoop';
const ReactComponent = reactify(Component);
-const Sankey = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function Sankey({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(Sankey)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sankey/package.json b/superset-frontend/plugins/legacy-plugin-chart-sankey/package.json
index d08f8b08cc..35eb5fc830 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sankey/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-sankey/package.json
@@ -36,6 +36,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sankey/src/ReactSankey.jsx b/superset-frontend/plugins/legacy-plugin-chart-sankey/src/ReactSankey.jsx
index fe5c5bdea6..fe743dec17 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sankey/src/ReactSankey.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-sankey/src/ReactSankey.jsx
@@ -23,11 +23,13 @@ import SanKey from './Sankey';
const ReactSanKey = reactify(SanKey);
-const SankeyComponent = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactSanKey {...otherProps} />
- </div>
-);
+function SankeyComponent({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactSanKey {...otherProps} />
+ </div>
+ );
+}
SankeyComponent.propTypes = {
className: PropTypes.string.isRequired,
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sunburst/package.json b/superset-frontend/plugins/legacy-plugin-chart-sunburst/package.json
index ca73e8e4af..75e3299beb 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sunburst/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-sunburst/package.json
@@ -29,7 +29,7 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.jsx b/superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.jsx
index 10e959285b..3d97be8a66 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-sunburst/src/ReactSunburst.jsx
@@ -22,11 +22,13 @@ import Component from './Sunburst';
const ReactComponent = reactify(Component);
-const Sunburst = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactComponent {...otherProps} />
- </div>
-);
+function Sunburst({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactComponent {...otherProps} />
+ </div>
+ );
+}
export default styled(Sunburst)`
${({ theme }) => `
diff --git a/superset-frontend/plugins/legacy-plugin-chart-world-map/package.json b/superset-frontend/plugins/legacy-plugin-chart-world-map/package.json
index 047d154711..564247244c 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-world-map/package.json
+++ b/superset-frontend/plugins/legacy-plugin-chart-world-map/package.json
@@ -38,6 +38,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/ReactWorldMap.jsx b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/ReactWorldMap.jsx
index 91efe6b0cb..b1dfea471a 100644
--- a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/ReactWorldMap.jsx
+++ b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/ReactWorldMap.jsx
@@ -23,14 +23,14 @@ import WorldMap from './WorldMap';
const ReactWorldMap = reactify(WorldMap);
-const WorldMapComponent = ({ className, ...otherProps }) => {
+function WorldMapComponent({ className, ...otherProps }) {
const theme = useTheme();
return (
<div className={className}>
<ReactWorldMap {...otherProps} theme={theme} />
</div>
);
-};
+}
WorldMapComponent.propTypes = {
className: PropTypes.string.isRequired,
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/package.json b/superset-frontend/plugins/legacy-preset-chart-deckgl/package.json
index 15d2e4ba3f..d4f0643657 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/package.json
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/package.json
@@ -50,8 +50,8 @@
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
"mapbox-gl": "*",
- "react": "^16.13.1",
- "react-dom": "^16.13.1",
+ "react": "^17.0.0",
+ "react-dom": "^17.0.0",
"react-map-gl": "^6.1.19"
},
"publishConfig": {
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/CategoricalDeckGLContainer.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/CategoricalDeckGLContainer.tsx
index fb150445f4..aeb84d960b 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/CategoricalDeckGLContainer.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/CategoricalDeckGLContainer.tsx
@@ -83,7 +83,7 @@ export type CategoricalDeckGLContainerProps = {
setControlValue: (control: string, value: JsonValue) => void;
};
-const CategoricalDeckGLContainer = (props: CategoricalDeckGLContainerProps) => {
+function CategoricalDeckGLContainer(props: CategoricalDeckGLContainerProps) {
const containerRef = useRef<DeckGLContainerHandle>(null);
const getAdjustedViewport = useCallback(() => {
@@ -234,6 +234,6 @@ const CategoricalDeckGLContainer = (props: CategoricalDeckGLContainerProps) => {
/>
</div>
);
-};
+}
export default memo(CategoricalDeckGLContainer);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/Multi.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/Multi.tsx
index 540b094219..8ede4aa7ed 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/Multi.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/Multi/Multi.tsx
@@ -53,7 +53,7 @@ export type DeckMultiProps = {
onSelect: () => void;
};
-const DeckMulti = (props: DeckMultiProps) => {
+function DeckMulti(props: DeckMultiProps) {
const containerRef = useRef<DeckGLContainerHandle>();
const [viewport, setViewport] = useState<Viewport>();
@@ -144,6 +144,6 @@ const DeckMulti = (props: DeckMultiProps) => {
width={width}
/>
);
-};
+}
export default memo(DeckMulti);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx
index 3e69258556..c31e20015e 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/TooltipRow.tsx
@@ -23,11 +23,13 @@ type TooltipRowProps = {
value: string;
};
-const TooltipRow = ({ label, value }: TooltipRowProps) => (
- <div>
- {label}
- <strong>{value}</strong>
- </div>
-);
+function TooltipRow({ label, value }: TooltipRowProps) {
+ return (
+ <div>
+ {label}
+ <strong>{value}</strong>
+ </div>
+ );
+}
export default TooltipRow;
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.tsx
index 3b204f2289..b7f8b16baa 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/components/Legend.tsx
@@ -62,14 +62,14 @@ export type LegendProps = {
showSingleCategory?: (key: string) => void;
};
-const Legend = ({
+function Legend({
format: d3Format = null,
forceCategorical = false,
position = 'tr',
categories: categoriesObject = {},
toggleCategory = () => {},
showSingleCategory = () => {},
-}: LegendProps) => {
+}: LegendProps) {
const format = (value: string) => {
if (!d3Format || forceCategorical) {
return value;
@@ -128,6 +128,6 @@ const Legend = ({
<ul>{categories}</ul>
</StyledLegend>
);
-};
+}
export default memo(Legend);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.tsx
index 1bc19618b6..bd00fa4580 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.tsx
@@ -41,24 +41,26 @@ function getPoints(data: JsonObject[]) {
}
function setTooltipContent(formData: QueryFormData) {
- return (o: JsonObject) => (
- <div className="deckgl-tooltip">
- <TooltipRow
- label={t('Start (Longitude, Latitude): ')}
- value={`${o.object.sourcePosition[0]}, ${o.object.sourcePosition[1]}`}
- />
- <TooltipRow
- label={t('End (Longitude, Latitude): ')}
- value={`${o.object.targetPosition[0]}, ${o.object.targetPosition[1]}`}
- />
- {formData.dimension && (
+ return function (o: JsonObject) {
+ return (
+ <div className="deckgl-tooltip">
<TooltipRow
- label={`${formData.dimension}: `}
- value={`${o.object.cat_color}`}
+ label={t('Start (Longitude, Latitude): ')}
+ value={`${o.object.sourcePosition[0]}, ${o.object.sourcePosition[1]}`}
/>
- )}
- </div>
- );
+ <TooltipRow
+ label={t('End (Longitude, Latitude): ')}
+ value={`${o.object.targetPosition[0]}, ${o.object.targetPosition[1]}`}
+ />
+ {formData.dimension && (
+ <TooltipRow
+ label={`${formData.dimension}: `}
+ value={`${o.object.cat_color}`}
+ />
+ )}
+ </div>
+ );
+ };
}
export function getLayer(
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.tsx
index c8c9d4863c..b5d5661e43 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.tsx
@@ -164,7 +164,7 @@ export type DeckGLGeoJsonProps = {
width: number;
};
-const DeckGLGeoJson = (props: DeckGLGeoJsonProps) => {
+function DeckGLGeoJson(props: DeckGLGeoJsonProps) {
const containerRef = useRef<DeckGLContainerHandle>();
const setTooltip = useCallback((tooltip: TooltipProps['tooltip']) => {
const { current } = containerRef;
@@ -222,6 +222,6 @@ const DeckGLGeoJson = (props: DeckGLGeoJsonProps) => {
width={width}
/>
);
-};
+}
export default memo(DeckGLGeoJson);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.tsx
index 460c4a3b51..857627c7a3 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.tsx
@@ -61,7 +61,7 @@ function getElevation(
}
function setTooltipContent(formData: PolygonFormData) {
- return (o: JsonObject) => {
+ return function (o: JsonObject) {
const metricLabel = formData.metric.label || formData.metric;
return (
@@ -173,7 +173,7 @@ export type DeckGLPolygonProps = {
height: number;
};
-const DeckGLPolygon = (props: DeckGLPolygonProps) => {
+function DeckGLPolygon(props: DeckGLPolygonProps) {
const containerRef = useRef<DeckGLContainerHandle>();
const getAdjustedViewport = useCallback(() => {
@@ -301,6 +301,6 @@ const DeckGLPolygon = (props: DeckGLPolygonProps) => {
)}
</div>
);
-};
+}
export default memo(DeckGLPolygon);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.tsx
index c529e5c1d9..7d76896531 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.tsx
@@ -39,7 +39,7 @@ function setTooltipContent(
formData: QueryFormData,
verboseMap?: Record<string, string>,
) {
- return (o: JsonObject) => {
+ return function (o: JsonObject) {
const label =
verboseMap?.[formData.point_radius_fixed.value] ||
getMetricLabel(formData.point_radius_fixed?.value);
diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.tsx
index 7e47cc9530..395197630c 100644
--- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.tsx
+++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.tsx
@@ -99,7 +99,7 @@ export type DeckGLScreenGridProps = {
onAddFilter: () => void;
};
-const DeckGLScreenGrid = (props: DeckGLScreenGridProps) => {
+function DeckGLScreenGrid(props: DeckGLScreenGridProps) {
const containerRef = useRef<DeckGLContainerHandle>();
const getAdjustedViewport = useCallback(() => {
@@ -156,6 +156,6 @@ const DeckGLScreenGrid = (props: DeckGLScreenGridProps) => {
/>
</div>
);
-};
+}
export default memo(DeckGLScreenGrid);
diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/package.json b/superset-frontend/plugins/legacy-preset-chart-nvd3/package.json
index dca88bb83e..451642a51f 100644
--- a/superset-frontend/plugins/legacy-preset-chart-nvd3/package.json
+++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/package.json
@@ -29,7 +29,6 @@
"access": "public"
},
"dependencies": {
- "@data-ui/xy-chart": "^0.0.84",
"d3": "^3.5.17",
"d3-tip": "^0.9.1",
"dompurify": "^2.0.6",
@@ -43,6 +42,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^15 || ^16"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.jsx b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.jsx
index f7f219a05d..ee99158520 100644
--- a/superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.jsx
+++ b/superset-frontend/plugins/legacy-preset-chart-nvd3/src/ReactNVD3.jsx
@@ -33,11 +33,13 @@ function componentWillUnmount() {
const ReactNVD3 = reactify(Component, { componentWillUnmount });
-const NVD3 = ({ className, ...otherProps }) => (
- <div className={className}>
- <ReactNVD3 {...otherProps} />
- </div>
-);
+function NVD3({ className, ...otherProps }) {
+ return (
+ <div className={className}>
+ <ReactNVD3 {...otherProps} />
+ </div>
+ );
+}
NVD3.propTypes = {
className: PropTypes.string.isRequired,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/package.json b/superset-frontend/plugins/plugin-chart-echarts/package.json
index f57e702a90..949e749ec0 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/package.json
+++ b/superset-frontend/plugins/plugin-chart-echarts/package.json
@@ -35,6 +35,6 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
index 1d4eceb33f..0d9d1fc288 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/MixedTimeseries/transformProps.ts
@@ -233,16 +233,19 @@ export default function transformProps(
const formatter = contributionMode
? getNumberFormatter(',.0%')
: currencyFormat?.symbol
- ? new CurrencyFormatter({ d3Format: yAxisFormat, currency: currencyFormat })
- : getNumberFormatter(yAxisFormat);
+ ? new CurrencyFormatter({
+ d3Format: yAxisFormat,
+ currency: currencyFormat,
+ })
+ : getNumberFormatter(yAxisFormat);
const formatterSecondary = contributionMode
? getNumberFormatter(',.0%')
: currencyFormatSecondary?.symbol
- ? new CurrencyFormatter({
- d3Format: yAxisFormatSecondary,
- currency: currencyFormatSecondary,
- })
- : getNumberFormatter(yAxisFormatSecondary);
+ ? new CurrencyFormatter({
+ d3Format: yAxisFormatSecondary,
+ currency: currencyFormatSecondary,
+ })
+ : getNumberFormatter(yAxisFormatSecondary);
const customFormatters = buildCustomFormatters(
[...ensureIsArray(metrics), ...ensureIsArray(metricsB)],
currencyFormats,
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts b/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
index 18b160b9c6..21a8f54129 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/utils/forecast.ts
@@ -45,12 +45,15 @@ export const extractForecastSeriesContext = (
export const extractForecastSeriesContexts = (
seriesNames: string[],
): { [key: string]: ForecastSeriesEnum[] } =>
- seriesNames.reduce((agg, name) => {
- const context = extractForecastSeriesContext(name);
- const currentContexts = agg[context.name] || [];
- currentContexts.push(context.type);
- return { ...agg, [context.name]: currentContexts };
- }, {} as { [key: string]: ForecastSeriesEnum[] });
+ seriesNames.reduce(
+ (agg, name) => {
+ const context = extractForecastSeriesContext(name);
+ const currentContexts = agg[context.name] || [];
+ currentContexts.push(context.type);
+ return { ...agg, [context.name]: currentContexts };
+ },
+ {} as { [key: string]: ForecastSeriesEnum[] },
+ );
export const extractForecastValuesFromTooltipParams = (
params: any[],
diff --git a/superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts b/superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
index 6a51e7cbf7..b4c1ca3bbe 100644
--- a/superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
+++ b/superset-frontend/plugins/plugin-chart-echarts/src/utils/series.ts
@@ -555,7 +555,7 @@ export function getOverMaxHiddenFormatter(
export function calculateLowerLogTick(minPositiveValue: number) {
const logBase10 = Math.floor(Math.log10(minPositiveValue));
- return Math.pow(10, logBase10);
+ return 10 ** logBase10;
}
type BoundsType = {
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/package.json b/superset-frontend/plugins/plugin-chart-handlebars/package.json
index 8fcb8ab599..ccb2266d87 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/package.json
+++ b/superset-frontend/plugins/plugin-chart-handlebars/package.json
@@ -27,7 +27,7 @@
"access": "public"
},
"dependencies": {
- "handlebars": "^4.7.7",
+ "handlebars": "^4.7.8",
"just-handlebars-helpers": "^1.0.19"
},
"peerDependencies": {
@@ -36,12 +36,12 @@
"ace-builds": "^1.4.14",
"lodash": "^4.17.11",
"moment": "^2.26.0",
- "react": "^16.13.1",
+ "react": "^17.0.0",
"react-ace": "^10.1.0",
- "react-dom": "^16.13.1"
+ "react-dom": "^17.0.0"
},
"devDependencies": {
- "@types/jest": "^26.0.0",
+ "@types/jest": "^29.5.11",
"@types/lodash": "^4.14.149",
"jest": "^26.0.1"
}
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/components/ControlHeader/controlHeader.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/components/ControlHeader/controlHeader.tsx
index 460b56f196..bb85d71dd6 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/components/ControlHeader/controlHeader.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/components/ControlHeader/controlHeader.tsx
@@ -22,10 +22,10 @@ interface ControlHeaderProps {
children: ReactNode;
}
-export const ControlHeader = ({
- children,
-}: ControlHeaderProps): JSX.Element => (
- <div className="ControlHeader">
- <div className="pull-left">{children}</div>
- </div>
-);
+export function ControlHeader({ children }: ControlHeaderProps): JSX.Element {
+ return (
+ <div className="ControlHeader">
+ <div className="pull-left">{children}</div>
+ </div>
+ );
+}
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/components/Handlebars/HandlebarsViewer.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/components/Handlebars/HandlebarsViewer.tsx
index 371b4f48f9..744ca7fd23 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/components/Handlebars/HandlebarsViewer.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/components/Handlebars/HandlebarsViewer.tsx
@@ -28,10 +28,10 @@ export interface HandlebarsViewerProps {
data: any;
}
-export const HandlebarsViewer = ({
+export function HandlebarsViewer({
templateSource,
data,
-}: HandlebarsViewerProps) => {
+}: HandlebarsViewerProps) {
const [renderedTemplate, setRenderedTemplate] = useState('');
const [error, setError] = useState('');
const appContainer = document.getElementById('app');
@@ -72,7 +72,7 @@ export const HandlebarsViewer = ({
);
}
return <p>{t('Loading...')}</p>;
-};
+}
// usage: {{dateFormat my_date format="MMMM YYYY"}}
Handlebars.registerHelper('dateFormat', function (context, block) {
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/handlebarTemplate.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/handlebarTemplate.tsx
index efe027b86f..c7fc5d9325 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/handlebarTemplate.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/handlebarTemplate.tsx
@@ -31,9 +31,9 @@ interface HandlebarsCustomControlProps {
value: string;
}
-const HandlebarsTemplateControl = (
+function HandlebarsTemplateControl(
props: CustomControlConfig<HandlebarsCustomControlProps>,
-) => {
+) {
const val = String(
props?.value ? props?.value : props?.default ? props?.default : '',
);
@@ -50,7 +50,7 @@ const HandlebarsTemplateControl = (
/>
</div>
);
-};
+}
export const handlebarsTemplateControlSetItem: ControlSetItem = {
name: 'handlebarsTemplate',
diff --git a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/style.tsx b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/style.tsx
index f89a1a6679..7d3c4726ff 100644
--- a/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/style.tsx
+++ b/superset-frontend/plugins/plugin-chart-handlebars/src/plugin/controls/style.tsx
@@ -32,7 +32,7 @@ interface StyleCustomControlProps {
value: string;
}
-const StyleControl = (props: CustomControlConfig<StyleCustomControlProps>) => {
+function StyleControl(props: CustomControlConfig<StyleCustomControlProps>) {
const theme = useTheme();
const defaultValue = props?.value
@@ -65,7 +65,7 @@ const StyleControl = (props: CustomControlConfig<StyleCustomControlProps>) => {
/>
</div>
);
-};
+}
export const styleControlSetItem: ControlSetItem = {
name: 'styleTemplate',
diff --git a/superset-frontend/plugins/plugin-chart-pivot-table/package.json b/superset-frontend/plugins/plugin-chart-pivot-table/package.json
index 4537c88b39..8cfdfc62e1 100644
--- a/superset-frontend/plugins/plugin-chart-pivot-table/package.json
+++ b/superset-frontend/plugins/plugin-chart-pivot-table/package.json
@@ -31,14 +31,14 @@
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
"@ant-design/icons": "^5.0.1",
- "react": "^16.13.1",
- "react-dom": "^16.13.1",
+ "react": "^17.0.0",
+ "react-dom": "^17.0.0",
"prop-types": "*",
"lodash": "^4.17.11"
},
"devDependencies": {
"@babel/types": "^7.13.12",
- "@types/jest": "^26.0.0",
+ "@types/jest": "^29.5.11",
"jest": "^26.0.1"
}
}
diff --git a/superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js b/superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js
index 9b47132936..2c75e5fff2 100644
--- a/superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js
+++ b/superset-frontend/plugins/plugin-chart-pivot-table/src/react-pivottable/utilities.js
@@ -186,7 +186,8 @@ const usFmtPct = numberFormat({
suffix: '%',
});
-const fmtNonString = formatter => x => typeof x === 'string' ? x : formatter(x);
+const fmtNonString = formatter => x =>
+ typeof x === 'string' ? x : formatter(x);
const baseAggregatorTemplates = {
count(formatter = usFmtInt) {
diff --git a/superset-frontend/plugins/plugin-chart-table/package.json b/superset-frontend/plugins/plugin-chart-table/package.json
index 54b209c2c5..4f130e96b7 100644
--- a/superset-frontend/plugins/plugin-chart-table/package.json
+++ b/superset-frontend/plugins/plugin-chart-table/package.json
@@ -40,15 +40,15 @@
"peerDependencies": {
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "@testing-library/dom": "^7.29.4",
- "@testing-library/jest-dom": "^5.11.6",
- "@testing-library/react": "^11.2.0",
- "@testing-library/react-hooks": "^5.0.3",
- "@testing-library/user-event": "^12.7.0",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.2.0",
+ "@testing-library/react": "^12.0.0",
+ "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/user-event": "^14.5.2",
"@types/classnames": "*",
"@types/react": "*",
- "react": "^16.13.1",
- "react-dom": "^16.13.1"
+ "react": "^17.0.0",
+ "react-dom": "^17.0.0"
},
"publishConfig": {
"access": "public"
diff --git a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx
index d106e42a84..827c2e0d1d 100644
--- a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx
+++ b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx
@@ -361,8 +361,8 @@ export default function TableChart<D extends DataRecord = DataRecord>(
const textAlign = config.horizontalAlign
? config.horizontalAlign
: isNumeric
- ? 'right'
- : 'left';
+ ? 'right'
+ : 'left';
return {
textAlign,
};
diff --git a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts
index e76201cac3..145dff32cc 100644
--- a/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts
+++ b/superset-frontend/plugins/plugin-chart-table/src/transformProps.ts
@@ -184,8 +184,7 @@ const processColumns = memoizeOne(function processColumns(
typeof percentMetrics,
typeof columns,
];
-},
-isEqualColumns);
+}, isEqualColumns);
/**
* Automatically set page size based on number of cells.
diff --git a/superset-frontend/plugins/plugin-chart-word-cloud/package.json b/superset-frontend/plugins/plugin-chart-word-cloud/package.json
index 5d13d2dc66..738551fd41 100644
--- a/superset-frontend/plugins/plugin-chart-word-cloud/package.json
+++ b/superset-frontend/plugins/plugin-chart-word-cloud/package.json
@@ -40,6 +40,6 @@
"@types/lodash": "*",
"@superset-ui/chart-controls": "*",
"@superset-ui/core": "*",
- "react": "^16.13.1"
+ "react": "^17.0.0"
}
}
diff --git a/superset-frontend/spec/helpers/setupSupersetClient.js b/superset-frontend/spec/helpers/setupSupersetClient.js
index c65f684266..07fbb9a085 100644
--- a/superset-frontend/spec/helpers/setupSupersetClient.js
+++ b/superset-frontend/spec/helpers/setupSupersetClient.js
@@ -19,7 +19,7 @@
import fetchMock from 'fetch-mock';
// https://jestjs.io/docs/jest-object#jestmockmodulename-factory-options
// in order to mock modules in test case, so avoid absolute import module
-import { SupersetClient } from '../../packages/superset-ui-core/src/connection';
+import { SupersetClient } from '@superset-ui/core/src/connection/connection';
export default function setupSupersetClient() {
// The following is needed to mock out SupersetClient requests
diff --git a/superset-frontend/spec/helpers/shim.tsx b/superset-frontend/spec/helpers/shim.tsx
index 8270c56317..e218db4064 100644
--- a/superset-frontend/spec/helpers/shim.tsx
+++ b/superset-frontend/spec/helpers/shim.tsx
@@ -22,19 +22,15 @@ import 'regenerator-runtime/runtime';
import 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only';
import 'jest-enzyme';
import jQuery from 'jquery';
-import { configure } from 'enzyme';
-import Adapter from 'enzyme-adapter-react-16';
// https://jestjs.io/docs/jest-object#jestmockmodulename-factory-options
// in order to mock modules in test case, so avoid absolute import module
-import { configure as configureTranslation } from '../../packages/superset-ui-core/src/translation';
+import { configure as configureTranslation } from '@superset-ui/core/src/translation/';
import { Worker } from './Worker';
import { IntersectionObserver } from './IntersectionObserver';
import { ResizeObserver } from './ResizeObserver';
import setupSupersetClient from './setupSupersetClient';
import CacheStorage from './CacheStorage';
-configure({ adapter: new Adapter() });
-
const exposedProperties = ['window', 'navigator', 'document'];
const { defaultView } = document;
@@ -85,7 +81,13 @@ jest.mock('src/hooks/useTabId', () => ({
}));
// Check https://github.com/remarkjs/react-markdown/issues/635
-jest.mock('react-markdown', () => (props: any) => <>{props.children}</>);
+jest.mock(
+ 'react-markdown',
+ () =>
+ function (props: any) {
+ return <>{props.children}</>;
+ },
+);
jest.mock('rehype-sanitize', () => () => jest.fn());
jest.mock('rehype-raw', () => () => jest.fn());
diff --git a/superset-frontend/spec/helpers/testing-library.tsx b/superset-frontend/spec/helpers/testing-library.tsx
index 9a8649a862..c8d7b47169 100644
--- a/superset-frontend/spec/helpers/testing-library.tsx
+++ b/superset-frontend/spec/helpers/testing-library.tsx
@@ -64,7 +64,7 @@ export function createWrapper(options?: Options) {
store,
} = options || {};
- return ({ children }: { children?: ReactNode }) => {
+ return function ({ children }: { children?: ReactNode }) {
let result = (
<ThemeProvider theme={supersetTheme}>{children}</ThemeProvider>
);
diff --git a/superset-frontend/src/GlobalStyles.tsx b/superset-frontend/src/GlobalStyles.tsx
index f983c262d7..fde14b979b 100644
--- a/superset-frontend/src/GlobalStyles.tsx
+++ b/superset-frontend/src/GlobalStyles.tsx
@@ -21,75 +21,77 @@ import { css } from '@superset-ui/core';
import { Global } from '@emotion/react';
import { mix } from 'polished';
-export const GlobalStyles = () => (
- <Global
- styles={theme => css`
- h1,
- h2,
- h3,
- h4,
- h5,
- h6,
- strong,
- th {
- font-weight: ${theme.typography.weights.bold};
- }
- // TODO: Remove when on Ant Design 5.
- // Check src/components/Modal for more info.
- .modal-functions-ok-button {
- border-radius: ${theme.borderRadius}px;
- background: ${theme.colors.primary.base};
- border: none;
- text-transform: uppercase;
- color: ${theme.colors.grayscale.light5};
- line-height: 1.5715;
- font-size: ${theme.typography.sizes.s}px;
- font-weight: ${theme.typography.weights.bold};
- &:hover {
- background: ${theme.colors.primary.dark1};
+export function GlobalStyles() {
+ return (
+ <Global
+ styles={theme => css`
+ h1,
+ h2,
+ h3,
+ h4,
+ h5,
+ h6,
+ strong,
+ th {
+ font-weight: ${theme.typography.weights.bold};
}
- }
- .modal-functions-cancel-button {
- border-radius: ${theme.borderRadius}px;
- background: ${theme.colors.primary.light4};
- border: none;
- text-transform: uppercase;
- color: ${theme.colors.primary.dark1};
- line-height: 1.5715;
- font-size: ${theme.typography.sizes.s}px;
- font-weight: ${theme.typography.weights.bold};
- &:hover {
- background: ${mix(
- 0.1,
- theme.colors.primary.base,
- theme.colors.primary.light4,
- )};
+ // TODO: Remove when on Ant Design 5.
+ // Check src/components/Modal for more info.
+ .modal-functions-ok-button {
+ border-radius: ${theme.borderRadius}px;
+ background: ${theme.colors.primary.base};
+ border: none;
+ text-transform: uppercase;
+ color: ${theme.colors.grayscale.light5};
+ line-height: 1.5715;
+ font-size: ${theme.typography.sizes.s}px;
+ font-weight: ${theme.typography.weights.bold};
+ &:hover {
+ background: ${theme.colors.primary.dark1};
+ }
}
- }
- .column-config-popover {
- & .ant-input-number {
- width: 100%;
+ .modal-functions-cancel-button {
+ border-radius: ${theme.borderRadius}px;
+ background: ${theme.colors.primary.light4};
+ border: none;
+ text-transform: uppercase;
+ color: ${theme.colors.primary.dark1};
+ line-height: 1.5715;
+ font-size: ${theme.typography.sizes.s}px;
+ font-weight: ${theme.typography.weights.bold};
+ &:hover {
+ background: ${mix(
+ 0.1,
+ theme.colors.primary.base,
+ theme.colors.primary.light4,
+ )};
+ }
}
- && .btn-group svg {
- line-height: 0;
- top: 0;
+ .column-config-popover {
+ & .ant-input-number {
+ width: 100%;
+ }
+ && .btn-group svg {
+ line-height: 0;
+ top: 0;
+ }
+ & .btn-group > .btn {
+ padding: 5px 10px 6px;
+ }
+ && .ant-tabs {
+ margin-top: ${theme.gridUnit * -3}px;
+ }
+ & .ant-tabs-nav {
+ margin-left: ${theme.gridUnit * -4}px;
+ margin-right: ${theme.gridUnit * -4}px;
+ margin-bottom: ${theme.gridUnit * 2}px;
+ }
+ && .ant-tabs-tab {
+ flex: 1;
+ margin-right: 0;
+ }
}
- & .btn-group > .btn {
- padding: 5px 10px 6px;
- }
- && .ant-tabs {
- margin-top: ${theme.gridUnit * -3}px;
- }
- & .ant-tabs-nav {
- margin-left: ${theme.gridUnit * -4}px;
- margin-right: ${theme.gridUnit * -4}px;
- margin-bottom: ${theme.gridUnit * 2}px;
- }
- && .ant-tabs-tab {
- flex: 1;
- margin-right: 0;
- }
- }
- `}
- />
-);
+ `}
+ />
+ );
+}
diff --git a/superset-frontend/src/SqlLab/SqlLabGlobalStyles.tsx b/superset-frontend/src/SqlLab/SqlLabGlobalStyles.tsx
index f1398e3be9..665f9da76e 100644
--- a/superset-frontend/src/SqlLab/SqlLabGlobalStyles.tsx
+++ b/superset-frontend/src/SqlLab/SqlLabGlobalStyles.tsx
@@ -21,16 +21,18 @@ import React from 'react';
import { Global } from '@emotion/react';
import { css } from '@superset-ui/core';
-export const SqlLabGlobalStyles = () => (
- <Global
- styles={theme => css`
- body {
- min-height: max(
- 100vh,
- ${theme.gridUnit * 125}px
- ); // Set a min height so the gutter is always visible when resizing
- overflow: hidden;
- }
- `}
- />
-);
+export function SqlLabGlobalStyles() {
+ return (
+ <Global
+ styles={theme => css`
+ body {
+ min-height: max(
+ 100vh,
+ ${theme.gridUnit * 125}px
+ ); // Set a min height so the gutter is always visible when resizing
+ overflow: hidden;
+ }
+ `}
+ />
+ );
+}
diff --git a/superset-frontend/src/SqlLab/components/AceEditorWrapper/AceEditorWrapper.test.tsx b/superset-frontend/src/SqlLab/components/AceEditorWrapper/AceEditorWrapper.test.tsx
index c69b92346d..b24d2d44df 100644
--- a/superset-frontend/src/SqlLab/components/AceEditorWrapper/AceEditorWrapper.test.tsx
+++ b/superset-frontend/src/SqlLab/components/AceEditorWrapper/AceEditorWrapper.test.tsx
@@ -63,8 +63,11 @@ const setup = (queryEditor: QueryEditor, store?: Store) =>
describe('AceEditorWrapper', () => {
it('renders ace editor including sql value', async () => {
- const { getByTestId } = setup(defaultQueryEditor, mockStore(initialState));
- await waitFor(() => expect(getByTestId('react-ace')).toBeInTheDocument());
+ const { getByTestId, findByTestId } = setup(
+ defaultQueryEditor,
+ mockStore(initialState),
+ );
+ await findByTestId('react-ace');
expect(getByTestId('react-ace')).toHaveTextContent(
JSON.stringify({ value: defaultQueryEditor.sql }).slice(1, -1),
diff --git a/superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx b/superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx
index 8529f49d4f..ae1c03e1fb 100644
--- a/superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx
+++ b/superset-frontend/src/SqlLab/components/AceEditorWrapper/index.tsx
@@ -49,7 +49,9 @@ const StyledAceEditor = styled(AceEditor)`
&& {
// double class is better than !important
border: 1px solid ${theme.colors.grayscale.light2};
- font-feature-settings: 'liga' off, 'calt' off;
+ font-feature-settings:
+ 'liga' off,
+ 'calt' off;
&.ace_autocomplete {
// Use !important because Ace Editor applies extra CSS at the last second
diff --git a/superset-frontend/src/SqlLab/components/AceEditorWrapper/useAnnotations.ts b/superset-frontend/src/SqlLab/components/AceEditorWrapper/useAnnotations.ts
index 80c25706ab..f6924a243f 100644
--- a/superset-frontend/src/SqlLab/components/AceEditorWrapper/useAnnotations.ts
+++ b/superset-frontend/src/SqlLab/components/AceEditorWrapper/useAnnotations.ts
@@ -67,15 +67,15 @@ export function useAnnotations(params: FetchValidationQueryParams) {
text: err.message,
}))
: isError
- ? [
- {
- type: 'error',
- row: 0,
- column: 0,
- text: `The server failed to validate your query.\n${message}`,
- },
- ]
- : [],
+ ? [
+ {
+ type: 'error',
+ row: 0,
+ column: 0,
+ text: `The server failed to validate your query.\n${message}`,
+ },
+ ]
+ : [],
};
},
},
diff --git a/superset-frontend/src/SqlLab/components/App/App.test.jsx b/superset-frontend/src/SqlLab/components/App/App.test.jsx
index d3db1d5fb8..96b05f99c6 100644
--- a/superset-frontend/src/SqlLab/components/App/App.test.jsx
+++ b/superset-frontend/src/SqlLab/components/App/App.test.jsx
@@ -31,12 +31,20 @@ import {
LOG_ACTIONS_SQLLAB_MONITOR_LOCAL_STORAGE_USAGE,
} from 'src/logger/LogUtils';
-jest.mock('src/SqlLab/components/TabbedSqlEditors', () => () => (
- <div data-test="mock-tabbed-sql-editors" />
-));
-jest.mock('src/SqlLab/components/QueryAutoRefresh', () => () => (
- <div data-test="mock-query-auto-refresh" />
-));
+jest.mock(
+ 'src/SqlLab/components/TabbedSqlEditors',
+ () =>
+ function () {
+ return <div data-test="mock-tabbed-sql-editors" />;
+ },
+);
+jest.mock(
+ 'src/SqlLab/components/QueryAutoRefresh',
+ () =>
+ function () {
+ return <div data-test="mock-query-auto-refresh" />;
+ },
+);
const sqlLabReducer = combineReducers(reducers);
diff --git a/superset-frontend/src/SqlLab/components/ColumnElement/index.tsx b/superset-frontend/src/SqlLab/components/ColumnElement/index.tsx
index 2b341b0bd1..dec758e6e6 100644
--- a/superset-frontend/src/SqlLab/components/ColumnElement/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ColumnElement/index.tsx
@@ -21,7 +21,7 @@ import { ClassNames } from '@emotion/react';
import { styled, useTheme, t } from '@superset-ui/core';
import { Tooltip } from 'src/components/Tooltip';
-const StyledTooltip = (props: any) => {
+function StyledTooltip(props: any) {
const theme = useTheme();
return (
<ClassNames>
@@ -47,7 +47,7 @@ const StyledTooltip = (props: any) => {
)}
</ClassNames>
);
-};
+}
const Hr = styled.hr`
margin-top: ${({ theme }) => theme.gridUnit * 1.5}px;
@@ -79,7 +79,7 @@ const NowrapDiv = styled.div`
white-space: nowrap;
`;
-const ColumnElement = ({ column }: ColumnElementProps) => {
+function ColumnElement({ column }: ColumnElementProps) {
let columnName: React.ReactNode = column.name;
let icons;
if (column.keys && column.keys.length > 0) {
@@ -114,6 +114,6 @@ const ColumnElement = ({ column }: ColumnElementProps) => {
</NowrapDiv>
</div>
);
-};
+}
export default ColumnElement;
diff --git a/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/EstimateQueryCostButton.test.tsx b/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/EstimateQueryCostButton.test.tsx
index 38dbbf65a0..2e3a5d85a3 100644
--- a/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/EstimateQueryCostButton.test.tsx
+++ b/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/EstimateQueryCostButton.test.tsx
@@ -61,7 +61,7 @@ describe('EstimateQueryCostButton', () => {
it('renders EstimateQueryCostButton', async () => {
const { queryByText } = setup({}, mockStore(initialState));
- expect(queryByText('Estimate cost')).toBeTruthy();
+ expect(queryByText('Estimate cost')).toBeInTheDocument();
});
it('renders label for selected query', async () => {
@@ -70,7 +70,7 @@ describe('EstimateQueryCostButton', () => {
mockStore(initialState),
);
- expect(queryByText('Estimate selected query cost')).toBeTruthy();
+ expect(queryByText('Estimate selected query cost')).toBeInTheDocument();
});
it('renders label for selected query from unsaved', async () => {
@@ -88,7 +88,7 @@ describe('EstimateQueryCostButton', () => {
}),
);
- expect(queryByText('Estimate selected query cost')).toBeTruthy();
+ expect(queryByText('Estimate selected query cost')).toBeInTheDocument();
});
it('renders estimation error result', async () => {
@@ -107,10 +107,10 @@ describe('EstimateQueryCostButton', () => {
}),
);
- expect(queryByText('Estimate cost')).toBeTruthy();
+ expect(queryByText('Estimate cost')).toBeInTheDocument();
fireEvent.click(getByText('Estimate cost'));
- expect(queryByText('Estimate error')).toBeTruthy();
+ expect(queryByText('Estimate error')).toBeInTheDocument();
});
it('renders estimation success result', async () => {
@@ -130,9 +130,9 @@ describe('EstimateQueryCostButton', () => {
}),
);
- expect(queryByText('Estimate cost')).toBeTruthy();
+ expect(queryByText('Estimate cost')).toBeInTheDocument();
fireEvent.click(getByText('Estimate cost'));
- expect(queryByText('Total cost')).toBeTruthy();
+ expect(queryByText('Total cost')).toBeInTheDocument();
});
});
diff --git a/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.tsx b/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.tsx
index 4dd5c48958..c685b1ad22 100644
--- a/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/EstimateQueryCostButton/index.tsx
@@ -42,12 +42,12 @@ const CostEstimateModalStyles = styled.div`
`}
`;
-const EstimateQueryCostButton = ({
+function EstimateQueryCostButton({
getEstimate,
queryEditorId,
tooltip = '',
disabled = false,
-}: EstimateQueryCostButtonProps) => {
+}: EstimateQueryCostButtonProps) {
const queryCostEstimate = useSelector<
SqlLabRootState,
QueryCostEstimate | undefined
@@ -117,6 +117,6 @@ const EstimateQueryCostButton = ({
/>
</span>
);
-};
+}
export default EstimateQueryCostButton;
diff --git a/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/ExploreCtasResultsButton.test.tsx b/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/ExploreCtasResultsButton.test.tsx
index e107c5109d..25a34870eb 100644
--- a/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/ExploreCtasResultsButton.test.tsx
+++ b/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/ExploreCtasResultsButton.test.tsx
@@ -55,7 +55,7 @@ describe('ExploreCtasResultsButton', () => {
it('renders', async () => {
const { queryByText } = setup({}, mockStore(initialState));
- expect(queryByText('Explore')).toBeTruthy();
+ expect(queryByText('Explore')).toBeInTheDocument();
});
it('visualize results', async () => {
diff --git a/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/index.tsx b/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/index.tsx
index ef3f8462ee..e424ce7f69 100644
--- a/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ExploreCtasResultsButton/index.tsx
@@ -36,12 +36,12 @@ export interface ExploreCtasResultsButtonProps {
templateParams?: string;
}
-const ExploreCtasResultsButton = ({
+function ExploreCtasResultsButton({
table,
schema,
dbId,
templateParams,
-}: ExploreCtasResultsButtonProps) => {
+}: ExploreCtasResultsButtonProps) {
const errorMessage = useSelector(
(state: SqlLabRootState) => state.sqlLab.errorMessage,
);
@@ -91,6 +91,6 @@ const ExploreCtasResultsButton = ({
{t('Explore')}
</Button>
);
-};
+}
export default ExploreCtasResultsButton;
diff --git a/superset-frontend/src/SqlLab/components/ExploreResultsButton/ExploreResultsButton.test.tsx b/superset-frontend/src/SqlLab/components/ExploreResultsButton/ExploreResultsButton.test.tsx
index 5126299fea..b0383e2567 100644
--- a/superset-frontend/src/SqlLab/components/ExploreResultsButton/ExploreResultsButton.test.tsx
+++ b/superset-frontend/src/SqlLab/components/ExploreResultsButton/ExploreResultsButton.test.tsx
@@ -38,14 +38,14 @@ describe('ExploreResultsButton', () => {
database: { allows_subquery: true },
});
- expect(queryByText('Create Chart')).toBeTruthy();
+ expect(queryByText('Create Chart')).toBeInTheDocument();
expect(screen.getByRole('button', { name: 'Create Chart' })).toBeEnabled();
});
it('renders disabled if subquery not allowed', async () => {
const { queryByText } = setup(jest.fn());
- expect(queryByText('Create Chart')).toBeTruthy();
+ expect(queryByText('Create Chart')).toBeInTheDocument();
expect(screen.getByRole('button', { name: 'Create Chart' })).toBeDisabled();
});
});
diff --git a/superset-frontend/src/SqlLab/components/ExploreResultsButton/index.tsx b/superset-frontend/src/SqlLab/components/ExploreResultsButton/index.tsx
index 454f3a26b0..ee81d0797f 100644
--- a/superset-frontend/src/SqlLab/components/ExploreResultsButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ExploreResultsButton/index.tsx
@@ -28,10 +28,10 @@ export interface ExploreResultsButtonProps {
onClick: OnClickHandler;
}
-const ExploreResultsButton = ({
+function ExploreResultsButton({
database,
onClick,
-}: ExploreResultsButtonProps) => {
+}: ExploreResultsButtonProps) {
const allowsSubquery = database?.allows_subquery ?? false;
return (
<Button
@@ -49,6 +49,6 @@ const ExploreResultsButton = ({
{t('Create Chart')}
</Button>
);
-};
+}
export default ExploreResultsButton;
diff --git a/superset-frontend/src/SqlLab/components/QueryHistory/index.tsx b/superset-frontend/src/SqlLab/components/QueryHistory/index.tsx
index cab1160144..530874ca0b 100644
--- a/superset-frontend/src/SqlLab/components/QueryHistory/index.tsx
+++ b/superset-frontend/src/SqlLab/components/QueryHistory/index.tsx
@@ -38,12 +38,12 @@ const StyledEmptyStateWrapper = styled.div`
}
`;
-const QueryHistory = ({
+function QueryHistory({
queries,
displayLimit,
latestQueryId,
-}: QueryHistoryProps) =>
- queries.length > 0 ? (
+}: QueryHistoryProps) {
+ return queries.length > 0 ? (
<QueryTable
columns={[
'state',
@@ -67,5 +67,6 @@ const QueryHistory = ({
/>
</StyledEmptyStateWrapper>
);
+}
export default QueryHistory;
diff --git a/superset-frontend/src/SqlLab/components/QueryLimitSelect/QueryLimitSelect.test.tsx b/superset-frontend/src/SqlLab/components/QueryLimitSelect/QueryLimitSelect.test.tsx
index 68a014ba52..4d976cf661 100644
--- a/superset-frontend/src/SqlLab/components/QueryLimitSelect/QueryLimitSelect.test.tsx
+++ b/superset-frontend/src/SqlLab/components/QueryLimitSelect/QueryLimitSelect.test.tsx
@@ -32,15 +32,27 @@ import QueryLimitSelect, {
const middlewares = [thunk];
const mockStore = configureStore(middlewares);
-jest.mock('src/components/DeprecatedSelect', () => () => (
- <div data-test="mock-deprecated-select" />
-));
-jest.mock('src/components/Select/Select', () => () => (
- <div data-test="mock-deprecated-select-select" />
-));
-jest.mock('src/components/Select/AsyncSelect', () => () => (
- <div data-test="mock-deprecated-async-select" />
-));
+jest.mock(
+ 'src/components/DeprecatedSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/Select',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/AsyncSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-async-select" />;
+ },
+);
const defaultQueryLimit = 100;
@@ -105,7 +117,7 @@ describe('QueryLimitSelect', () => {
});
it('renders dropdown select', async () => {
- const { baseElement, getAllByRole, getByRole } = setup(
+ const { baseElement, getAllByRole, findByRole } = setup(
{ maxRow: 50000 },
mockStore(initialState),
);
@@ -113,21 +125,21 @@ describe('QueryLimitSelect', () => {
'ant-dropdown-trigger',
)[0];
- userEvent.click(dropdown);
- await waitFor(() => expect(getByRole('menu')).toBeInTheDocument());
+ await userEvent.click(dropdown);
+ await findByRole('menu');
const expectedLabels = [10, 100, 1000, 10000, 50000].map(i =>
convertToNumWithSpaces(i),
);
- const actualLabels = getAllByRole('menuitem').map(elem =>
- elem.textContent?.trim(),
+ const actualLabels = getAllByRole('menuitem').map(
+ elem => elem.textContent?.trim(),
);
expect(actualLabels).toEqual(expectedLabels);
});
it('renders dropdown select correctly when maxRow is less than 10', async () => {
- const { baseElement, getAllByRole, getByRole } = setup(
+ const { baseElement, getAllByRole, findByRole } = setup(
{ maxRow: 5 },
mockStore(initialState),
);
@@ -135,19 +147,19 @@ describe('QueryLimitSelect', () => {
'ant-dropdown-trigger',
)[0];
- userEvent.click(dropdown);
- await waitFor(() => expect(getByRole('menu')).toBeInTheDocument());
+ await userEvent.click(dropdown);
+ await findByRole('menu');
const expectedLabels = [5].map(i => convertToNumWithSpaces(i));
- const actualLabels = getAllByRole('menuitem').map(elem =>
- elem.textContent?.trim(),
+ const actualLabels = getAllByRole('menuitem').map(
+ elem => elem.textContent?.trim(),
);
expect(actualLabels).toEqual(expectedLabels);
});
it('renders dropdown select correctly when maxRow is a multiple of 10', async () => {
- const { baseElement, getAllByRole, getByRole } = setup(
+ const { baseElement, getAllByRole, findByRole } = setup(
{ maxRow: 10000 },
mockStore(initialState),
);
@@ -155,14 +167,14 @@ describe('QueryLimitSelect', () => {
'ant-dropdown-trigger',
)[0];
- userEvent.click(dropdown);
- await waitFor(() => expect(getByRole('menu')).toBeInTheDocument());
+ await userEvent.click(dropdown);
+ await findByRole('menu');
const expectedLabels = [10, 100, 1000, 10000].map(i =>
convertToNumWithSpaces(i),
);
- const actualLabels = getAllByRole('menuitem').map(elem =>
- elem.textContent?.trim(),
+ const actualLabels = getAllByRole('menuitem').map(
+ elem => elem.textContent?.trim(),
);
expect(actualLabels).toEqual(expectedLabels);
@@ -171,13 +183,13 @@ describe('QueryLimitSelect', () => {
it('dispatches QUERY_EDITOR_SET_QUERY_LIMIT action on dropdown menu click', async () => {
const store = mockStore(initialState);
const expectedIndex = 1;
- const { baseElement, getAllByRole, getByRole } = setup({}, store);
+ const { baseElement, getAllByRole, findByRole } = setup({}, store);
const dropdown = baseElement.getElementsByClassName(
'ant-dropdown-trigger',
)[0];
- userEvent.click(dropdown);
- await waitFor(() => expect(getByRole('menu')).toBeInTheDocument());
+ await userEvent.click(dropdown);
+ await findByRole('menu');
const menu = getAllByRole('menuitem')[expectedIndex];
expect(store.getActions()).toEqual([]);
diff --git a/superset-frontend/src/SqlLab/components/QueryLimitSelect/index.tsx b/superset-frontend/src/SqlLab/components/QueryLimitSelect/index.tsx
index 040910f9a8..1bd52a4e28 100644
--- a/superset-frontend/src/SqlLab/components/QueryLimitSelect/index.tsx
+++ b/superset-frontend/src/SqlLab/components/QueryLimitSelect/index.tsx
@@ -81,11 +81,11 @@ function renderQueryLimit(
);
}
-const QueryLimitSelect = ({
+function QueryLimitSelect({
queryEditorId,
maxRow,
defaultQueryLimit,
-}: QueryLimitSelectProps) => {
+}: QueryLimitSelectProps) {
const theme = useTheme();
const dispatch = useDispatch();
@@ -110,6 +110,6 @@ const QueryLimitSelect = ({
</AntdDropdown>
</LimitSelectStyled>
);
-};
+}
export default QueryLimitSelect;
diff --git a/superset-frontend/src/SqlLab/components/QueryStateLabel/QueryStateLabel.test.tsx b/superset-frontend/src/SqlLab/components/QueryStateLabel/QueryStateLabel.test.tsx
index 6adbe7f972..54579c12bb 100644
--- a/superset-frontend/src/SqlLab/components/QueryStateLabel/QueryStateLabel.test.tsx
+++ b/superset-frontend/src/SqlLab/components/QueryStateLabel/QueryStateLabel.test.tsx
@@ -21,7 +21,13 @@ import type { QueryState } from '@superset-ui/core';
import { render } from 'spec/helpers/testing-library';
import QueryStateLabel from '.';
-jest.mock('src/components/Label', () => () => <div data-test="mock-label" />);
+jest.mock(
+ 'src/components/Label',
+ () =>
+ function () {
+ return <div data-test="mock-label" />;
+ },
+);
const mockedProps = {
query: {
diff --git a/superset-frontend/src/SqlLab/components/QueryTable/index.tsx b/superset-frontend/src/SqlLab/components/QueryTable/index.tsx
index 5dc8a43c19..7c949ad81a 100644
--- a/superset-frontend/src/SqlLab/components/QueryTable/index.tsx
+++ b/superset-frontend/src/SqlLab/components/QueryTable/index.tsx
@@ -65,14 +65,14 @@ const openQuery = (id: number) => {
window.open(url);
};
-const QueryTable = ({
+function QueryTable({
columns = ['started', 'duration', 'rows'],
queries = [],
onUserClicked = () => undefined,
onDbClicked = () => undefined,
displayLimit,
latestQueryId,
-}: QueryTableProps) => {
+}: QueryTableProps) {
const theme = useTheme();
const dispatch = useDispatch();
@@ -323,6 +323,6 @@ const QueryTable = ({
/>
</div>
);
-};
+}
export default QueryTable;
diff --git a/superset-frontend/src/SqlLab/components/ResultSet/ResultSet.test.tsx b/superset-frontend/src/SqlLab/components/ResultSet/ResultSet.test.tsx
index d823c586f7..1116ee4a56 100644
--- a/superset-frontend/src/SqlLab/components/ResultSet/ResultSet.test.tsx
+++ b/superset-frontend/src/SqlLab/components/ResultSet/ResultSet.test.tsx
@@ -241,7 +241,7 @@ describe('ResultSet', () => {
name: /fetch data preview/i,
}),
).toBeVisible();
- expect(screen.queryByRole('grid')).toBe(null);
+ expect(screen.queryByRole('grid')).not.toBeInTheDocument();
});
test('Async queries - renders "Refetch results" button when a query has no results', () => {
@@ -251,7 +251,7 @@ describe('ResultSet', () => {
name: /refetch results/i,
}),
).toBeVisible();
- expect(screen.queryByRole('grid')).toBe(null);
+ expect(screen.queryByRole('grid')).not.toBeInTheDocument();
});
test('Async queries - renders on the first call', () => {
@@ -261,11 +261,11 @@ describe('ResultSet', () => {
screen.queryByRole('button', {
name: /fetch data preview/i,
}),
- ).toBe(null);
+ ).not.toBeInTheDocument();
expect(
screen.queryByRole('button', {
name: /refetch results/i,
}),
- ).toBe(null);
+ ).not.toBeInTheDocument();
});
});
diff --git a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
index 58e55a1df7..c82da3dacb 100644
--- a/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ResultSet/index.tsx
@@ -139,7 +139,7 @@ const GAP = 8;
const extensionsRegistry = getExtensionsRegistry();
-const ResultSet = ({
+function ResultSet({
cache = false,
csv = true,
database = {},
@@ -152,7 +152,7 @@ const ResultSet = ({
visualize = true,
user,
defaultQueryLimit,
-}: ResultSetProps) => {
+}: ResultSetProps) {
const ResultTable =
extensionsRegistry.get('sqleditor.extension.resultTable') ??
FilterableTable;
@@ -660,6 +660,6 @@ const ResultSet = ({
{trackingUrl && <div>{trackingUrl}</div>}
</ResultlessStyles>
);
-};
+}
export default ResultSet;
diff --git a/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.tsx b/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.tsx
index 276f9b7d19..588f260980 100644
--- a/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.tsx
+++ b/superset-frontend/src/SqlLab/components/RunQueryActionButton/RunQueryActionButton.test.tsx
@@ -30,15 +30,27 @@ import RunQueryActionButton, {
const middlewares = [thunk];
const mockStore = configureStore(middlewares);
-jest.mock('src/components/DeprecatedSelect', () => () => (
- <div data-test="mock-deprecated-select" />
-));
-jest.mock('src/components/Select/Select', () => () => (
- <div data-test="mock-deprecated-select-select" />
-));
-jest.mock('src/components/Select/AsyncSelect', () => () => (
- <div data-test="mock-deprecated-async-select" />
-));
+jest.mock(
+ 'src/components/DeprecatedSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/Select',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/AsyncSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-async-select" />;
+ },
+);
const defaultProps = {
queryEditorId: defaultQueryEditor.id,
diff --git a/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx b/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
index 30f8121132..c685a2527b 100644
--- a/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/RunQueryActionButton/index.tsx
@@ -80,14 +80,14 @@ const StyledButton = styled.span`
}
`;
-const RunQueryActionButton = ({
+function RunQueryActionButton({
allowAsync = false,
queryEditorId,
queryState,
overlayCreateAsMenu,
runQuery,
stopQuery,
-}: RunQueryActionButtonProps) => {
+}: RunQueryActionButtonProps) {
const theme = useTheme();
const userOS = detectOS();
@@ -154,6 +154,6 @@ const RunQueryActionButton = ({
</ButtonComponent>
</StyledButton>
);
-};
+}
export default RunQueryActionButton;
diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/SaveDatasetActionButton.test.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/SaveDatasetActionButton.test.tsx
index 316404e3e4..c61f1a9010 100644
--- a/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/SaveDatasetActionButton.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/SaveDatasetActionButton.test.tsx
@@ -59,7 +59,7 @@ describe('SaveDatasetActionButton', () => {
expect(
await screen.findByRole('button', { name: /caret-down/i }),
).toBeInTheDocument();
- userEvent.click(caretBtn);
+ await userEvent.click(caretBtn);
const saveDatasetMenuItem = screen.getByText(/save dataset/i);
diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/index.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/index.tsx
index 79a3bf0b8e..1c21cdc5a4 100644
--- a/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveDatasetActionButton/index.tsx
@@ -28,10 +28,10 @@ interface SaveDatasetActionButtonProps {
overlayMenu: JSX.Element | null;
}
-const SaveDatasetActionButton = ({
+function SaveDatasetActionButton({
setShowSave,
overlayMenu,
-}: SaveDatasetActionButtonProps) => {
+}: SaveDatasetActionButtonProps) {
const theme = useTheme();
const StyledDropdownButton = styled(
@@ -80,6 +80,6 @@ const SaveDatasetActionButton = ({
{t('Save')}
</StyledDropdownButton>
);
-};
+}
export default SaveDatasetActionButton;
diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
index 8568bf2080..c9bc67d1a7 100644
--- a/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
@@ -109,14 +109,14 @@ describe('SaveDatasetModal', () => {
expect(screen.getByRole('button', { name: /save/i })).toBeVisible();
});
- it('renders an overwrite button when "Overwrite existing" is selected', () => {
+ it('renders an overwrite button when "Overwrite existing" is selected', async () => {
render(<SaveDatasetModal {...mockedProps} />, { useRedux: true });
// Click the overwrite radio button to reveal the overwrite confirmation and back buttons
const overwriteRadioBtn = screen.getByRole('radio', {
name: /overwrite existing/i,
});
- userEvent.click(overwriteRadioBtn);
+ await userEvent.click(overwriteRadioBtn);
expect(screen.getByRole('button', { name: /overwrite/i })).toBeVisible();
});
@@ -129,7 +129,7 @@ describe('SaveDatasetModal', () => {
const overwriteRadioBtn = screen.getByRole('radio', {
name: /overwrite existing/i,
});
- userEvent.click(overwriteRadioBtn);
+ await userEvent.click(overwriteRadioBtn);
// Overwrite confirmation button should be disabled at this point
const overwriteConfirmationBtn = screen.getByRole('button', {
@@ -139,7 +139,7 @@ describe('SaveDatasetModal', () => {
// Click the overwrite select component
const select = screen.getByRole('combobox', { name: /existing dataset/i })!;
- userEvent.click(select);
+ await userEvent.click(select);
await waitFor(() =>
expect(screen.queryByText('Loading...')).not.toBeVisible(),
@@ -147,7 +147,7 @@ describe('SaveDatasetModal', () => {
// Select the first "existing dataset" from the listbox
const option = screen.getAllByText('coolest table 0')[1];
- userEvent.click(option);
+ await userEvent.click(option);
// Overwrite button should now be enabled
expect(overwriteConfirmationBtn).toBeEnabled();
@@ -161,11 +161,11 @@ describe('SaveDatasetModal', () => {
const overwriteRadioBtn = screen.getByRole('radio', {
name: /overwrite existing/i,
});
- userEvent.click(overwriteRadioBtn);
+ await userEvent.click(overwriteRadioBtn);
// Click the overwrite select component
const select = screen.getByRole('combobox', { name: /existing dataset/i });
- userEvent.click(select);
+ await userEvent.click(select);
await waitFor(() =>
expect(screen.queryByText('Loading...')).not.toBeVisible(),
@@ -173,13 +173,13 @@ describe('SaveDatasetModal', () => {
// Select the first "existing dataset" from the listbox
const option = screen.getAllByText('coolest table 0')[1];
- userEvent.click(option);
+ await userEvent.click(option);
// Click the overwrite button to access the confirmation screen
const overwriteConfirmationBtn = screen.getByRole('button', {
name: /overwrite/i,
});
- userEvent.click(overwriteConfirmationBtn);
+ await userEvent.click(overwriteConfirmationBtn);
// Overwrite screen text
expect(screen.getByText(/save or overwrite dataset/i)).toBeVisible();
@@ -205,7 +205,7 @@ describe('SaveDatasetModal', () => {
const saveConfirmationBtn = screen.getByRole('button', {
name: /save/i,
});
- userEvent.click(saveConfirmationBtn);
+ await userEvent.click(saveConfirmationBtn);
expect(createDatasource).toHaveBeenCalledWith({
datasourceName: 'my dataset',
diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx
index 8e90f1c664..132df52f7c 100644
--- a/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveDatasetModal/index.tsx
@@ -146,7 +146,7 @@ const updateDataset = async (
const UNTITLED = t('Untitled Dataset');
-export const SaveDatasetModal = ({
+export function SaveDatasetModal({
visible,
onHide,
buttonTextOnSave,
@@ -155,7 +155,7 @@ export const SaveDatasetModal = ({
datasource,
openWindow = true,
formData = {},
-}: SaveDatasetModalProps) => {
+}: SaveDatasetModalProps) {
const defaultVizType = useSelector<SqlLabRootState, string>(
state => state.common?.conf?.DEFAULT_VIZ_TYPE || 'table',
);
@@ -434,4 +434,4 @@ export const SaveDatasetModal = ({
</Styles>
</StyledModal>
);
-};
+}
diff --git a/superset-frontend/src/SqlLab/components/SaveQuery/SaveQuery.test.tsx b/superset-frontend/src/SqlLab/components/SaveQuery/SaveQuery.test.tsx
index 54b81df960..d1d5c9b284 100644
--- a/superset-frontend/src/SqlLab/components/SaveQuery/SaveQuery.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveQuery/SaveQuery.test.tsx
@@ -91,14 +91,14 @@ describe('SavedQuery', () => {
expect(saveBtn).toBeVisible();
});
- it('renders a save query modal when user clicks save button', () => {
+ it('renders a save query modal when user clicks save button', async () => {
render(<SaveQuery {...mockedProps} />, {
useRedux: true,
store: mockStore(mockState),
});
const saveBtn = screen.getByRole('button', { name: /save/i });
- userEvent.click(saveBtn);
+ await userEvent.click(saveBtn);
const saveQueryModalHeader = screen.getByRole('heading', {
name: /save query/i,
@@ -107,14 +107,14 @@ describe('SavedQuery', () => {
expect(saveQueryModalHeader).toBeVisible();
});
- it('renders the save query modal UI', () => {
+ it('renders the save query modal UI', async () => {
render(<SaveQuery {...mockedProps} />, {
useRedux: true,
store: mockStore(mockState),
});
const saveBtn = screen.getByRole('button', { name: /save/i });
- userEvent.click(saveBtn);
+ await userEvent.click(saveBtn);
const closeBtn = screen.getByRole('button', { name: /close/i });
const saveQueryModalHeader = screen.getByRole('heading', {
@@ -142,7 +142,7 @@ describe('SavedQuery', () => {
expect(cancelBtn).toBeVisible();
});
- it('renders a "save as new" and "update" button if query already exists', () => {
+ it('renders a "save as new" and "update" button if query already exists', async () => {
render(<SaveQuery {...mockedProps} />, {
useRedux: true,
store: mockStore({
@@ -158,7 +158,7 @@ describe('SavedQuery', () => {
});
const saveBtn = screen.getByRole('button', { name: /save/i });
- userEvent.click(saveBtn);
+ await userEvent.click(saveBtn);
const saveAsNewBtn = screen.getByRole('button', { name: /save as new/i });
const updateBtn = screen.getByRole('button', { name: /update/i });
@@ -188,12 +188,12 @@ describe('SavedQuery', () => {
store: mockStore(mockState),
});
- await waitFor(() => {
+ await waitFor(async () => {
const caretBtn = screen.getByRole('button', { name: /caret-down/i });
- userEvent.click(caretBtn);
+ await userEvent.click(caretBtn);
const saveDatasetMenuItem = screen.getByText(/save dataset/i);
- userEvent.click(saveDatasetMenuItem);
+ await userEvent.click(saveDatasetMenuItem);
});
const saveDatasetHeader = screen.getByText(/save or overwrite dataset/i);
@@ -207,12 +207,12 @@ describe('SavedQuery', () => {
store: mockStore(mockState),
});
- await waitFor(() => {
+ await waitFor(async () => {
const caretBtn = screen.getByRole('button', { name: /caret-down/i });
- userEvent.click(caretBtn);
+ await userEvent.click(caretBtn);
const saveDatasetMenuItem = screen.getByText(/save dataset/i);
- userEvent.click(saveDatasetMenuItem);
+ await userEvent.click(saveDatasetMenuItem);
});
const closeBtn = screen.getByRole('button', { name: /close/i });
diff --git a/superset-frontend/src/SqlLab/components/SaveQuery/index.tsx b/superset-frontend/src/SqlLab/components/SaveQuery/index.tsx
index a7ac8b1b2a..99806a93ed 100644
--- a/superset-frontend/src/SqlLab/components/SaveQuery/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveQuery/index.tsx
@@ -62,14 +62,14 @@ const Styles = styled.span`
}
`;
-const SaveQuery = ({
+function SaveQuery({
queryEditorId,
onSave = () => {},
onUpdate,
saveQueryWarning,
database,
columns,
-}: SaveQueryProps) => {
+}: SaveQueryProps) {
const queryEditor = useQueryEditor(queryEditorId, [
'autorun',
'name',
@@ -234,6 +234,6 @@ const SaveQuery = ({
</Modal>
</Styles>
);
-};
+}
export default SaveQuery;
diff --git a/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/ShareSqlLabQuery.test.tsx b/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/ShareSqlLabQuery.test.tsx
index 877edb76c8..d634264ae3 100644
--- a/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/ShareSqlLabQuery.test.tsx
+++ b/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/ShareSqlLabQuery.test.tsx
@@ -125,9 +125,9 @@ describe('ShareSqlLabQuery', () => {
const button = screen.getByRole('button');
const { id, remoteId, ...expected } = mockQueryEditor;
const storeQuerySpy = jest.spyOn(utils, 'storeQuery');
- userEvent.click(button);
+ await userEvent.click(button);
expect(storeQuerySpy.mock.calls).toHaveLength(1);
- expect(storeQuerySpy).toBeCalledWith(expected);
+ expect(storeQuerySpy).toHaveBeenCalledWith(expected);
storeQuerySpy.mockRestore();
});
@@ -140,9 +140,9 @@ describe('ShareSqlLabQuery', () => {
const button = screen.getByRole('button');
const { id, ...expected } = unsavedQueryEditor;
const storeQuerySpy = jest.spyOn(utils, 'storeQuery');
- userEvent.click(button);
+ await userEvent.click(button);
expect(storeQuerySpy.mock.calls).toHaveLength(1);
- expect(storeQuerySpy).toBeCalledWith(expected);
+ expect(storeQuerySpy).toHaveBeenCalledWith(expected);
storeQuerySpy.mockRestore();
});
});
@@ -166,7 +166,7 @@ describe('ShareSqlLabQuery', () => {
});
const storeQuerySpy = jest.spyOn(utils, 'storeQuery');
const button = screen.getByRole('button');
- userEvent.click(button);
+ await userEvent.click(button);
expect(storeQuerySpy.mock.calls).toHaveLength(0);
storeQuerySpy.mockRestore();
});
diff --git a/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/index.tsx b/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/index.tsx
index a123576c3e..35b0a756da 100644
--- a/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/index.tsx
+++ b/superset-frontend/src/SqlLab/components/ShareSqlLabQuery/index.tsx
@@ -47,10 +47,10 @@ const StyledIcon = styled(Icons.Link)`
}
`;
-const ShareSqlLabQuery = ({
+function ShareSqlLabQuery({
queryEditorId,
addDangerToast,
-}: ShareSqlLabQueryProps) => {
+}: ShareSqlLabQueryProps) {
const theme = useTheme();
const { dbId, name, schema, autorun, sql, remoteId, templateParams } =
@@ -131,6 +131,6 @@ const ShareSqlLabQuery = ({
)}
</>
);
-};
+}
export default withToasts(ShareSqlLabQuery);
diff --git a/superset-frontend/src/SqlLab/components/SouthPane/index.tsx b/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
index 38a20f9f6d..716efb2b79 100644
--- a/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SouthPane/index.tsx
@@ -97,13 +97,13 @@ const StyledEmptyStateWrapper = styled.div`
}
`;
-const SouthPane = ({
+function SouthPane({
queryEditorId,
latestQueryId,
height,
displayLimit,
defaultQueryLimit,
-}: SouthPaneProps) => {
+}: SouthPaneProps) {
const dispatch = useDispatch();
const user = useSelector(({ user }: SqlLabRootState) => user, shallowEqual);
const { databases, offline, queries, tables } = useSelector(
@@ -256,6 +256,6 @@ const SouthPane = ({
</Tabs>
</StyledPane>
);
-};
+}
export default SouthPane;
diff --git a/superset-frontend/src/SqlLab/components/SqlEditor/SqlEditor.test.tsx b/superset-frontend/src/SqlLab/components/SqlEditor/SqlEditor.test.tsx
index 63f67170d0..e5496c7082 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditor/SqlEditor.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditor/SqlEditor.test.tsx
@@ -166,10 +166,8 @@ describe('SqlEditor', () => {
});
it('render a SqlEditorLeftBar', async () => {
- const { getByTestId } = setup(mockedProps, store);
- await waitFor(() =>
- expect(getByTestId('mock-sql-editor-left-bar')).toBeInTheDocument(),
- );
+ const { findByTestId } = setup(mockedProps, store);
+ await findByTestId('mock-sql-editor-left-bar');
});
it('render an AceEditorWrapper', async () => {
diff --git a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/SqlEditorLeftBar.test.jsx b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/SqlEditorLeftBar.test.jsx
index 6665091572..0b4b36673c 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/SqlEditorLeftBar.test.jsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/SqlEditorLeftBar.test.jsx
@@ -139,7 +139,7 @@ test('should toggle the table when the header is clicked', async () => {
const header = (await screen.findAllByText(/ab_user/))[1];
expect(header).toBeInTheDocument();
- userEvent.click(header);
+ await userEvent.click(header);
await waitFor(() => {
expect(actions[actions.length - 1].type).toEqual('COLLAPSE_TABLE');
diff --git a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
index 1a9cb17f97..fcafa1591e 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditorLeftBar/index.tsx
@@ -108,13 +108,13 @@ const LeftBarStyles = styled.div`
`}
`;
-const SqlEditorLeftBar = ({
+function SqlEditorLeftBar({
database,
queryEditorId,
tables = [],
height = 500,
setEmptyState,
-}: SqlEditorLeftBarProps) => {
+}: SqlEditorLeftBarProps) {
const dispatch = useDispatch();
const queryEditor = useQueryEditor(queryEditorId, ['dbId', 'schema']);
@@ -287,6 +287,6 @@ const SqlEditorLeftBar = ({
)}
</LeftBarStyles>
);
-};
+}
export default SqlEditorLeftBar;
diff --git a/superset-frontend/src/SqlLab/components/SqlEditorTabHeader/SqlEditorTabHeader.test.tsx b/superset-frontend/src/SqlLab/components/SqlEditorTabHeader/SqlEditorTabHeader.test.tsx
index 6c231401c7..fae5a0c692 100644
--- a/superset-frontend/src/SqlLab/components/SqlEditorTabHeader/SqlEditorTabHeader.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SqlEditorTabHeader/SqlEditorTabHeader.test.tsx
@@ -42,15 +42,27 @@ import {
} from 'src/SqlLab/actions/sqlLab';
import SqlEditorTabHeader from 'src/SqlLab/components/SqlEditorTabHeader';
-jest.mock('src/components/DeprecatedSelect', () => () => (
- <div data-test="mock-deprecated-select" />
-));
-jest.mock('src/components/Select/Select', () => () => (
- <div data-test="mock-deprecated-select-select" />
-));
-jest.mock('src/components/Select/AsyncSelect', () => () => (
- <div data-test="mock-async-select" />
-));
+jest.mock(
+ 'src/components/DeprecatedSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/Select',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/AsyncSelect',
+ () =>
+ function () {
+ return <div data-test="mock-async-select" />;
+ },
+);
const middlewares = [thunk];
const mockStore = configureStore(middlewares);
@@ -63,9 +75,9 @@ const setup = (queryEditor: QueryEditor, store?: Store) =>
describe('SqlEditorTabHeader', () => {
it('renders name', () => {
const { queryByText } = setup(defaultQueryEditor, mockStore(initialState));
- expect(queryByText(defaultQueryEditor.name)).toBeTruthy();
- expect(queryByText(extraQueryEditor1.name)).toBeFalsy();
- expect(queryByText(extraQueryEditor2.name)).toBeFalsy();
+ expect(queryByText(defaultQueryEditor.name)).toBeInTheDocument();
+ expect(queryByText(extraQueryEditor1.name)).not.toBeInTheDocument();
+ expect(queryByText(extraQueryEditor2.name)).not.toBeInTheDocument();
});
it('renders name from unsaved changes', () => {
@@ -83,10 +95,10 @@ describe('SqlEditorTabHeader', () => {
},
}),
);
- expect(queryByText(expectedTitle)).toBeTruthy();
- expect(queryByText(defaultQueryEditor.name)).toBeFalsy();
- expect(queryByText(extraQueryEditor1.name)).toBeFalsy();
- expect(queryByText(extraQueryEditor2.name)).toBeFalsy();
+ expect(queryByText(expectedTitle)).toBeInTheDocument();
+ expect(queryByText(defaultQueryEditor.name)).not.toBeInTheDocument();
+ expect(queryByText(extraQueryEditor1.name)).not.toBeInTheDocument();
+ expect(queryByText(extraQueryEditor2.name)).not.toBeInTheDocument();
});
it('renders current name for unrelated unsaved changes', () => {
@@ -104,10 +116,10 @@ describe('SqlEditorTabHeader', () => {
},
}),
);
- expect(queryByText(defaultQueryEditor.name)).toBeTruthy();
- expect(queryByText(unrelatedTitle)).toBeFalsy();
- expect(queryByText(extraQueryEditor1.name)).toBeFalsy();
- expect(queryByText(extraQueryEditor2.name)).toBeFalsy();
+ expect(queryByText(defaultQueryEditor.name)).toBeInTheDocument();
+ expect(queryByText(unrelatedTitle)).not.toBeInTheDocument();
+ expect(queryByText(extraQueryEditor1.name)).not.toBeInTheDocument();
+ expect(queryByText(extraQueryEditor2.name)).not.toBeInTheDocument();
});
describe('with dropdown menus', () => {
@@ -117,13 +129,11 @@ describe('SqlEditorTabHeader', () => {
const { getByTestId } = setup(defaultQueryEditor, store);
const dropdown = getByTestId('dropdown-trigger');
- userEvent.click(dropdown);
+ await userEvent.click(dropdown);
});
it('should dispatch removeQueryEditor action', async () => {
- await waitFor(() =>
- expect(screen.getByTestId('close-tab-menu-option')).toBeInTheDocument(),
- );
+ await screen.findByTestId('close-tab-menu-option');
fireEvent.click(screen.getByTestId('close-tab-menu-option'));
@@ -137,9 +147,7 @@ describe('SqlEditorTabHeader', () => {
});
it('should dispatch queryEditorSetTitle action', async () => {
- await waitFor(() =>
- expect(screen.getByTestId('close-tab-menu-option')).toBeInTheDocument(),
- );
+ await screen.findByTestId('close-tab-menu-option');
const expectedTitle = 'typed text';
const mockPrompt = jest
.spyOn(window, 'prompt')
@@ -160,9 +168,7 @@ describe('SqlEditorTabHeader', () => {
});
it('should dispatch toggleLeftBar action', async () => {
- await waitFor(() =>
- expect(screen.getByTestId('close-tab-menu-option')).toBeInTheDocument(),
- );
+ await screen.findByTestId('close-tab-menu-option');
fireEvent.click(screen.getByTestId('toggle-menu-option'));
const actions = store.getActions();
@@ -178,9 +184,7 @@ describe('SqlEditorTabHeader', () => {
});
it('should dispatch removeAllOtherQueryEditors action', async () => {
- await waitFor(() =>
- expect(screen.getByTestId('close-tab-menu-option')).toBeInTheDocument(),
- );
+ await screen.findByTestId('close-tab-menu-option');
fireEvent.click(screen.getByTestId('close-all-other-menu-option'));
const actions = store.getActions();
@@ -199,9 +203,7 @@ describe('SqlEditorTabHeader', () => {
});
it('should dispatch cloneQueryToNewTab action', async () => {
- await waitFor(() =>
- expect(screen.getByTestId('close-tab-menu-option')).toBeInTheDocument(),
- );
+ await screen.findByTestId('close-tab-menu-option');
fireEvent.click(screen.getByTestId('clone-tab-menu-option'));
const actions = store.getActions();
diff --git a/superset-frontend/src/SqlLab/components/TableElement/TableElement.test.tsx b/superset-frontend/src/SqlLab/components/TableElement/TableElement.test.tsx
index e25d88f5dc..c84f217bda 100644
--- a/superset-frontend/src/SqlLab/components/TableElement/TableElement.test.tsx
+++ b/superset-frontend/src/SqlLab/components/TableElement/TableElement.test.tsx
@@ -24,9 +24,13 @@ import TableElement, { Column } from 'src/SqlLab/components/TableElement';
import { table, initialState } from 'src/SqlLab/fixtures';
import { render, waitFor, fireEvent } from 'spec/helpers/testing-library';
-jest.mock('src/components/Loading', () => () => (
- <div data-test="mock-loading" />
-));
+jest.mock(
+ 'src/components/Loading',
+ () =>
+ function () {
+ return <div data-test="mock-loading" />;
+ },
+);
jest.mock('src/components/IconTooltip', () => ({
IconTooltip: ({
onClick,
@@ -43,8 +47,9 @@ jest.mock('src/components/IconTooltip', () => ({
jest.mock(
'src/SqlLab/components/ColumnElement',
() =>
- ({ column }: { column: Column }) =>
- <div data-test="mock-column-element">{column.name}</div>,
+ function ({ column }: { column: Column }) {
+ return <div data-test="mock-column-element">{column.name}</div>;
+ },
);
const getTableMetadataEndpoint = 'glob:**/api/v1/database/*/table/*/*/';
const getExtraTableMetadataEndpoint =
diff --git a/superset-frontend/src/SqlLab/components/TableElement/index.tsx b/superset-frontend/src/SqlLab/components/TableElement/index.tsx
index 7a21331d99..0dcd0ee9c7 100644
--- a/superset-frontend/src/SqlLab/components/TableElement/index.tsx
+++ b/superset-frontend/src/SqlLab/components/TableElement/index.tsx
@@ -100,7 +100,7 @@ const StyledCollapsePanel = styled(Collapse.Panel)`
`}
`;
-const TableElement = ({ table, ...props }: TableElementProps) => {
+function TableElement({ table, ...props }: TableElementProps) {
const { dbId, schema, name, expanded } = table;
const theme = useTheme();
const dispatch = useDispatch();
@@ -377,9 +377,7 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
>
{renderWell()}
<div>
- {cols?.map(col => (
- <ColumnElement column={col} key={col.name} />
- ))}
+ {cols?.map(col => <ColumnElement column={col} key={col.name} />)}
</div>
</div>
);
@@ -397,6 +395,6 @@ const TableElement = ({ table, ...props }: TableElementProps) => {
{renderBody()}
</StyledCollapsePanel>
);
-};
+}
export default TableElement;
diff --git a/superset-frontend/src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx b/superset-frontend/src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx
index fdf8fd3b53..e614bbebc1 100644
--- a/superset-frontend/src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx
+++ b/superset-frontend/src/SqlLab/components/TemplateParamsEditor/TemplateParamsEditor.test.tsx
@@ -33,15 +33,27 @@ import TemplateParamsEditor, {
TemplateParamsEditorProps,
} from 'src/SqlLab/components/TemplateParamsEditor';
-jest.mock('src/components/DeprecatedSelect', () => () => (
- <div data-test="mock-deprecated-select" />
-));
-jest.mock('src/components/Select/Select', () => () => (
- <div data-test="mock-deprecated-select-select" />
-));
-jest.mock('src/components/Select/AsyncSelect', () => () => (
- <div data-test="mock-async-select" />
-));
+jest.mock(
+ 'src/components/DeprecatedSelect',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/Select',
+ () =>
+ function () {
+ return <div data-test="mock-deprecated-select-select" />;
+ },
+);
+jest.mock(
+ 'src/components/Select/AsyncSelect',
+ () =>
+ function () {
+ return <div data-test="mock-async-select" />;
+ },
+);
jest.mock('src/components/AsyncAceEditor', () => ({
ConfigEditor: ({ value }: { value: string }) => (
<div data-test="mock-async-ace-editor">{value}</div>
diff --git a/superset-frontend/src/SqlLab/components/TemplateParamsEditor/index.tsx b/superset-frontend/src/SqlLab/components/TemplateParamsEditor/index.tsx
index 0aa5503861..7ba0f3f397 100644
--- a/superset-frontend/src/SqlLab/components/TemplateParamsEditor/index.tsx
+++ b/superset-frontend/src/SqlLab/components/TemplateParamsEditor/index.tsx
@@ -40,11 +40,11 @@ export type TemplateParamsEditorProps = {
onChange: (params: any) => void;
};
-const TemplateParamsEditor = ({
+function TemplateParamsEditor({
queryEditorId,
language,
onChange = () => {},
-}: TemplateParamsEditorProps) => {
+}: TemplateParamsEditorProps) {
const [parsedJSON, setParsedJSON] = useState({});
const [isValid, setIsValid] = useState(true);
@@ -121,6 +121,6 @@ const TemplateParamsEditor = ({
modalBody={modalBody}
/>
);
-};
+}
export default TemplateParamsEditor;
diff --git a/superset-frontend/src/SqlLab/utils/newQueryTabName.ts b/superset-frontend/src/SqlLab/utils/newQueryTabName.ts
index ac0728339c..577459628f 100644
--- a/superset-frontend/src/SqlLab/utils/newQueryTabName.ts
+++ b/superset-frontend/src/SqlLab/utils/newQueryTabName.ts
@@ -30,8 +30,8 @@ export const newQueryTabName = (
const resultTitle = t(initialTitle);
if (queryEditors.length > 0) {
- const mappedUntitled = queryEditors.filter(qe =>
- qe.name?.match(untitledQueryRegex),
+ const mappedUntitled = queryEditors.filter(
+ qe => qe.name?.match(untitledQueryRegex),
);
const untitledQueryNumbers = mappedUntitled.map(
qe => +qe.name.replace(untitledQuery, ''),
diff --git a/superset-frontend/src/components/Alert/Alert.stories.tsx b/superset-frontend/src/components/Alert/Alert.stories.tsx
index 88f7b86be3..bc2f07a11a 100644
--- a/superset-frontend/src/components/Alert/Alert.stories.tsx
+++ b/superset-frontend/src/components/Alert/Alert.stories.tsx
@@ -36,29 +36,31 @@ export default {
component: Alert,
};
-export const AlertGallery = () => (
- <>
- {types.map(type => (
- <div key={type} style={{ marginBottom: 40, width: 600 }}>
- <h4>{type}</h4>
- <Alert
- type={type}
- showIcon
- closable
- message={bigText}
- style={{ marginBottom: 20 }}
- />
- <Alert
- type={type}
- showIcon
- message={smallText}
- description={bigText}
- closable
- />
- </div>
- ))}
- </>
-);
+export function AlertGallery() {
+ return (
+ <>
+ {types.map(type => (
+ <div key={type} style={{ marginBottom: 40, width: 600 }}>
+ <h4>{type}</h4>
+ <Alert
+ type={type}
+ showIcon
+ closable
+ message={bigText}
+ style={{ marginBottom: 20 }}
+ />
+ <Alert
+ type={type}
+ showIcon
+ message={smallText}
+ description={bigText}
+ closable
+ />
+ </div>
+ ))}
+ </>
+ );
+}
AlertGallery.story = {
parameters: {
@@ -74,12 +76,14 @@ AlertGallery.story = {
},
};
-export const InteractiveAlert = (args: AlertProps) => (
- <>
- <Alert {...args} />
- Some content to test the `roomBelow` prop
- </>
-);
+export function InteractiveAlert(args: AlertProps) {
+ return (
+ <>
+ <Alert {...args} />
+ Some content to test the `roomBelow` prop
+ </>
+ );
+}
InteractiveAlert.args = {
closable: true,
diff --git a/superset-frontend/src/components/Alert/Alert.test.tsx b/superset-frontend/src/components/Alert/Alert.test.tsx
index 9d921d0301..2937d30fdf 100644
--- a/superset-frontend/src/components/Alert/Alert.test.tsx
+++ b/superset-frontend/src/components/Alert/Alert.test.tsx
@@ -50,9 +50,9 @@ test('renders without close button', async () => {
});
});
-test('disappear when closed', () => {
+test('disappear when closed', async () => {
render(<Alert message="Message" />);
- userEvent.click(screen.queryByLabelText('close icon')!);
+ await userEvent.click(screen.queryByLabelText('close icon')!);
expect(screen.queryByRole('alert')).not.toBeInTheDocument();
});
diff --git a/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.stories.tsx b/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.stories.tsx
index 5f34e53eb2..f9aa05cb57 100644
--- a/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.stories.tsx
+++ b/superset-frontend/src/components/AlteredSliceTag/AlteredSliceTag.stories.tsx
@@ -24,7 +24,9 @@ export default {
title: 'AlteredSliceTag',
};
-export const InteractiveSliceTag = (args: any) => <AlteredSliceTag {...args} />;
+export function InteractiveSliceTag(args: any) {
+ return <AlteredSliceTag {...args} />;
+}
InteractiveSliceTag.args = {
origFormData: defaultProps.origFormData,
diff --git a/superset-frontend/src/components/AsyncAceEditor/AsyncAceEditor.stories.tsx b/superset-frontend/src/components/AsyncAceEditor/AsyncAceEditor.stories.tsx
index 6269ba9224..056e4ef92a 100644
--- a/superset-frontend/src/components/AsyncAceEditor/AsyncAceEditor.stories.tsx
+++ b/superset-frontend/src/components/AsyncAceEditor/AsyncAceEditor.stories.tsx
@@ -70,13 +70,13 @@ const parseEditorType = (editorType: EditorType) => {
}
};
-export const AsyncAceEditor = (
+export function AsyncAceEditor(
args: AsyncAceEditorOptions & { editorType: EditorType },
-) => {
+) {
const { editorType, ...props } = args;
const Editor = parseEditorType(editorType);
return <Editor {...props} />;
-};
+}
AsyncAceEditor.args = {
defaultTabSize: 2,
diff --git a/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.stories.tsx b/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.stories.tsx
index 415ea4b4fa..d057f8ee40 100644
--- a/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.stories.tsx
+++ b/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.stories.tsx
@@ -23,20 +23,22 @@ export default {
title: 'AsyncEsmComponent',
};
-const Placeholder = () => <span>Loading...</span>;
+function Placeholder() {
+ return <span>Loading...</span>;
+}
-const AsyncComponent = ({ bold }: { bold: boolean }) => (
- <span style={{ fontWeight: bold ? 700 : 400 }}>AsyncComponent</span>
-);
+function AsyncComponent({ bold }: { bold: boolean }) {
+ return <span style={{ fontWeight: bold ? 700 : 400 }}>AsyncComponent</span>;
+}
const Component = AsyncEsmComponent(
new Promise(resolve => setTimeout(() => resolve(AsyncComponent), 3000)),
Placeholder,
);
-export const InteractiveEsmComponent = (args: PlaceholderProps) => (
- <Component {...args} showLoadingForImport />
-);
+export function InteractiveEsmComponent(args: PlaceholderProps) {
+ return <Component {...args} showLoadingForImport />;
+}
InteractiveEsmComponent.args = {
bold: true,
diff --git a/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.test.tsx b/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.test.tsx
index 75e9e5e0a4..6ce83701e9 100644
--- a/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.test.tsx
+++ b/superset-frontend/src/components/AsyncEsmComponent/AsyncEsmComponent.test.tsx
@@ -20,11 +20,13 @@ import React from 'react';
import { render, screen } from 'spec/helpers/testing-library';
import AsyncEsmComponent from 'src/components/AsyncEsmComponent';
-const Placeholder = () => <span>Loading...</span>;
+function Placeholder() {
+ return <span>Loading...</span>;
+}
-const AsyncComponent = ({ bold }: { bold: boolean }) => (
- <span style={{ fontWeight: bold ? 700 : 400 }}>AsyncComponent</span>
-);
+function AsyncComponent({ bold }: { bold: boolean }) {
+ return <span style={{ fontWeight: bold ? 700 : 400 }}>AsyncComponent</span>;
+}
const ComponentPromise = new Promise(resolve =>
setTimeout(() => resolve(AsyncComponent), 500),
diff --git a/superset-frontend/src/components/AsyncSelect/AsyncSelect.test.jsx b/superset-frontend/src/components/AsyncSelect/AsyncSelect.test.jsx
index f3bce12713..59a91d257f 100644
--- a/superset-frontend/src/components/AsyncSelect/AsyncSelect.test.jsx
+++ b/superset-frontend/src/components/AsyncSelect/AsyncSelect.test.jsx
@@ -88,7 +88,7 @@ describe('AsyncSelect', () => {
setTimeout(() => {
expect(fetchMock.calls(dataGlob)).toHaveLength(1);
expect(onChangeSpy.mock.calls).toHaveLength(1);
- expect(onChangeSpy).toBeCalledWith(
+ expect(onChangeSpy).toHaveBeenCalledWith(
wrapper.instance().state.options[0],
);
done();
@@ -141,7 +141,7 @@ describe('AsyncSelect', () => {
// once on component mount and once when calling `fetchOptions` again
expect(fetchMock.calls(errorGlob)).toHaveLength(8);
expect(onAsyncError.mock.calls).toHaveLength(2);
- expect(onAsyncError).toBeCalledWith('error');
+ expect(onAsyncError).toHaveBeenCalledWith('error');
return Promise.resolve();
});
diff --git a/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx b/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
index af9d6913d8..cac55a0f77 100644
--- a/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
+++ b/superset-frontend/src/components/AuditInfo/ModifiedInfo.test.tsx
@@ -19,7 +19,7 @@ test('should render a tooltip when user is provided', async () => {
expect(dateElement).toBeInTheDocument();
expect(screen.getByText(TEST_DATE)).toBeInTheDocument();
expect(screen.queryByText('Modified by: Foo Bar')).not.toBeInTheDocument();
- userEvent.hover(dateElement);
+ await userEvent.hover(dateElement);
const tooltip = await screen.findByRole('tooltip');
expect(tooltip).toBeInTheDocument();
expect(screen.getByText('Modified by: Foo Bar')).toBeInTheDocument();
@@ -31,7 +31,7 @@ test('should render only the date if username is not provided', async () => {
const dateElement = screen.getByTestId('audit-info-date');
expect(dateElement).toBeInTheDocument();
expect(screen.getByText(TEST_DATE)).toBeInTheDocument();
- userEvent.hover(dateElement);
+ await userEvent.hover(dateElement);
await waitFor(
() => {
const tooltip = screen.queryByRole('tooltip');
diff --git a/superset-frontend/src/components/AuditInfo/index.tsx b/superset-frontend/src/components/AuditInfo/index.tsx
index 24223a1554..fc0a7f8313 100644
--- a/superset-frontend/src/components/AuditInfo/index.tsx
+++ b/superset-frontend/src/components/AuditInfo/index.tsx
@@ -10,7 +10,7 @@ export type ModifiedInfoProps = {
date: string;
};
-export const ModifiedInfo = ({ user, date }: ModifiedInfoProps) => {
+export function ModifiedInfo({ user, date }: ModifiedInfoProps) {
const dateSpan = (
<span className="no-wrap" data-test="audit-info-date">
{date}
@@ -27,4 +27,4 @@ export const ModifiedInfo = ({ user, date }: ModifiedInfoProps) => {
);
}
return dateSpan;
-};
+}
diff --git a/superset-frontend/src/components/Badge/Badge.stories.tsx b/superset-frontend/src/components/Badge/Badge.stories.tsx
index 2ae1ac3455..183357bc66 100644
--- a/superset-frontend/src/components/Badge/Badge.stories.tsx
+++ b/superset-frontend/src/components/Badge/Badge.stories.tsx
@@ -59,7 +59,9 @@ const SIZES = {
defaultValue: undefined,
};
-export const InteractiveBadge = (args: BadgeProps) => <Badge {...args} />;
+export function InteractiveBadge(args: BadgeProps) {
+ return <Badge {...args} />;
+}
InteractiveBadge.args = {
count: null,
@@ -111,37 +113,41 @@ InteractiveBadge.story = {
},
};
-export const BadgeGallery = () => (
- <>
- {SIZES.options.map(size => (
- <div key={size} style={{ marginBottom: 40 }}>
- <h4>{size}</h4>
- {COLORS.options.map(color => (
- <Badge
- count={9}
- textColor={color}
- size={size}
- key={`${color}_${size}`}
- style={{ marginRight: '15px' }}
- />
- ))}
- </div>
- ))}
- </>
-);
+export function BadgeGallery() {
+ return (
+ <>
+ {SIZES.options.map(size => (
+ <div key={size} style={{ marginBottom: 40 }}>
+ <h4>{size}</h4>
+ {COLORS.options.map(color => (
+ <Badge
+ count={9}
+ textColor={color}
+ size={size}
+ key={`${color}_${size}`}
+ style={{ marginRight: '15px' }}
+ />
+ ))}
+ </div>
+ ))}
+ </>
+ );
+}
-export const BadgeTextGallery = () => (
- <>
- {COLORS.options.map(color => (
- <Badge
- text="Hello"
- color={color}
- key={color}
- style={{ marginRight: '15px' }}
- />
- ))}
- </>
-);
+export function BadgeTextGallery() {
+ return (
+ <>
+ {COLORS.options.map(color => (
+ <Badge
+ text="Hello"
+ color={color}
+ key={color}
+ style={{ marginRight: '15px' }}
+ />
+ ))}
+ </>
+ );
+}
BadgeGallery.story = {
parameters: {
diff --git a/superset-frontend/src/components/Button/Button.stories.tsx b/superset-frontend/src/components/Button/Button.stories.tsx
index 9a1853ce0f..ba06f2e60c 100644
--- a/superset-frontend/src/components/Button/Button.stories.tsx
+++ b/superset-frontend/src/components/Button/Button.stories.tsx
@@ -74,26 +74,28 @@ const HREFS = {
defaultValue: null,
};
-export const ButtonGallery = () => (
- <>
- {SIZES.options.map(size => (
- <div key={size} style={{ marginBottom: 40 }}>
- <h4>{size}</h4>
- {Object.values(STYLES.options).map(style => (
- <Button
- buttonStyle={style}
- buttonSize={size}
- onClick={() => true}
- key={`${style}_${size}`}
- style={{ marginRight: 20, marginBottom: 10 }}
- >
- {style}
- </Button>
- ))}
- </div>
- ))}
- </>
-);
+export function ButtonGallery() {
+ return (
+ <>
+ {SIZES.options.map(size => (
+ <div key={size} style={{ marginBottom: 40 }}>
+ <h4>{size}</h4>
+ {Object.values(STYLES.options).map(style => (
+ <Button
+ buttonStyle={style}
+ buttonSize={size}
+ onClick={() => true}
+ key={`${style}_${size}`}
+ style={{ marginRight: 20, marginBottom: 10 }}
+ >
+ {style}
+ </Button>
+ ))}
+ </div>
+ ))}
+ </>
+ );
+}
ButtonGallery.story = {
parameters: {
@@ -109,10 +111,10 @@ ButtonGallery.story = {
},
};
-export const InteractiveButton = (args: ButtonProps & { label: string }) => {
+export function InteractiveButton(args: ButtonProps & { label: string }) {
const { label, ...btnArgs } = args;
return <Button {...btnArgs}>{label}</Button>;
-};
+}
InteractiveButton.story = {
parameters: {
diff --git a/superset-frontend/src/components/ButtonGroup/ButtonGroup.stories.tsx b/superset-frontend/src/components/ButtonGroup/ButtonGroup.stories.tsx
index e5b0b94cbc..5b0ed2bef2 100644
--- a/superset-frontend/src/components/ButtonGroup/ButtonGroup.stories.tsx
+++ b/superset-frontend/src/components/ButtonGroup/ButtonGroup.stories.tsx
@@ -26,22 +26,24 @@ export default {
component: ButtonGroup,
};
-export const InteractiveButtonGroup = (args: ButtonProps) => (
- <>
- <ButtonGroup css={{ marginBottom: 40 }}>
- <Button {...args}>Button 1</Button>
- </ButtonGroup>
- <ButtonGroup css={{ marginBottom: 40 }}>
- <Button {...args}>Button 1</Button>
- <Button {...args}>Button 2</Button>
- </ButtonGroup>
- <ButtonGroup>
- <Button {...args}>Button 1</Button>
- <Button {...args}>Button 2</Button>
- <Button {...args}>Button 3</Button>
- </ButtonGroup>
- </>
-);
+export function InteractiveButtonGroup(args: ButtonProps) {
+ return (
+ <>
+ <ButtonGroup css={{ marginBottom: 40 }}>
+ <Button {...args}>Button 1</Button>
+ </ButtonGroup>
+ <ButtonGroup css={{ marginBottom: 40 }}>
+ <Button {...args}>Button 1</Button>
+ <Button {...args}>Button 2</Button>
+ </ButtonGroup>
+ <ButtonGroup>
+ <Button {...args}>Button 1</Button>
+ <Button {...args}>Button 2</Button>
+ <Button {...args}>Button 3</Button>
+ </ButtonGroup>
+ </>
+ );
+}
InteractiveButtonGroup.args = {
buttonStyle: 'tertiary',
buttonSize: 'default',
diff --git a/superset-frontend/src/components/Card/Card.stories.tsx b/superset-frontend/src/components/Card/Card.stories.tsx
index 8589289714..2d62608fa0 100644
--- a/superset-frontend/src/components/Card/Card.stories.tsx
+++ b/superset-frontend/src/components/Card/Card.stories.tsx
@@ -24,7 +24,9 @@ export default {
component: Card,
};
-export const InteractiveCard = (args: CardProps) => <Card {...args} />;
+export function InteractiveCard(args: CardProps) {
+ return <Card {...args} />;
+}
InteractiveCard.args = {
padded: true,
diff --git a/superset-frontend/src/components/Card/index.tsx b/superset-frontend/src/components/Card/index.tsx
index 40937d251f..bf4304e613 100644
--- a/superset-frontend/src/components/Card/index.tsx
+++ b/superset-frontend/src/components/Card/index.tsx
@@ -24,17 +24,19 @@ export interface CardProps extends AntdCardProps {
padded?: boolean;
}
-const Card = ({ padded, ...props }: CardProps) => (
- <AntdCard
- {...props}
- css={(theme: SupersetTheme) => ({
- backgroundColor: theme.colors.grayscale.light4,
- borderRadius: theme.borderRadius,
- '.ant-card-body': {
- padding: padded ? theme.gridUnit * 4 : theme.gridUnit,
- },
- })}
- />
-);
+function Card({ padded, ...props }: CardProps) {
+ return (
+ <AntdCard
+ {...props}
+ css={(theme: SupersetTheme) => ({
+ backgroundColor: theme.colors.grayscale.light4,
+ borderRadius: theme.borderRadius,
+ '.ant-card-body': {
+ padding: padded ? theme.gridUnit * 4 : theme.gridUnit,
+ },
+ })}
+ />
+ );
+}
export default Card;
diff --git a/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.stories.tsx b/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.stories.tsx
index bd2e39287f..1c401a161f 100644
--- a/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.stories.tsx
+++ b/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.stories.tsx
@@ -23,9 +23,9 @@ export default {
title: 'CertifiedBadgeWithTooltip',
};
-export const InteractiveIcon = (args: CertifiedBadgeProps) => (
- <CertifiedBadge {...args} />
-);
+export function InteractiveIcon(args: CertifiedBadgeProps) {
+ return <CertifiedBadge {...args} />;
+}
InteractiveIcon.args = {
certifiedBy: 'Trusted Authority',
diff --git a/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.test.tsx b/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.test.tsx
index faec666f60..22b0f93188 100644
--- a/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.test.tsx
+++ b/superset-frontend/src/components/CertifiedBadge/CertifiedBadge.test.tsx
@@ -33,20 +33,20 @@ test('renders with default props', async () => {
test('renders a tooltip when hovered', async () => {
await asyncRender();
- userEvent.hover(screen.getByRole('img'));
+ await userEvent.hover(screen.getByRole('img'));
expect(await screen.findByRole('tooltip')).toBeInTheDocument();
});
test('renders with certified by', async () => {
const certifiedBy = 'Trusted Authority';
await asyncRender({ certifiedBy });
- userEvent.hover(screen.getByRole('img'));
+ await userEvent.hover(screen.getByRole('img'));
expect(await screen.findByRole('tooltip')).toHaveTextContent(certifiedBy);
});
test('renders with details', async () => {
const details = 'All requirements have been met.';
await asyncRender({ details });
- userEvent.hover(screen.getByRole('img'));
+ await userEvent.hover(screen.getByRole('img'));
expect(await screen.findByRole('tooltip')).toHaveTextContent(details);
});
diff --git a/superset-frontend/src/components/Chart/ChartContextMenu/ChartContextMenu.tsx b/superset-frontend/src/components/Chart/ChartContextMenu/ChartContextMenu.tsx
index 6ab80aad9e..43f94a47fb 100644
--- a/superset-frontend/src/components/Chart/ChartContextMenu/ChartContextMenu.tsx
+++ b/superset-frontend/src/components/Chart/ChartContextMenu/ChartContextMenu.tsx
@@ -160,23 +160,17 @@ const ChartContextMenu = (
);
} else if (!crossFiltersEnabled) {
crossFilteringTooltipTitle = (
- <>
- <div>{t('Cross-filtering is not enabled for this dashboard.')}</div>
- </>
+ <div>{t('Cross-filtering is not enabled for this dashboard.')}</div>
);
} else if (!isCrossFilteringSupportedByChart) {
crossFilteringTooltipTitle = (
- <>
- <div>
- {t('This visualization type does not support cross-filtering.')}
- </div>
- </>
+ <div>
+ {t('This visualization type does not support cross-filtering.')}
+ </div>
);
} else if (!filters?.crossFilter) {
crossFilteringTooltipTitle = (
- <>
- <div>{t(`You can't apply cross-filter on this data point.`)}</div>
- </>
+ <div>{t(`You can't apply cross-filter on this data point.`)}</div>
);
}
menuItems.push(
diff --git a/superset-frontend/src/components/Chart/ChartRenderer.jsx b/superset-frontend/src/components/Chart/ChartRenderer.jsx
index 006dd54fcb..644794ed63 100644
--- a/superset-frontend/src/components/Chart/ChartRenderer.jsx
+++ b/superset-frontend/src/components/Chart/ChartRenderer.jsx
@@ -287,7 +287,7 @@ class ChartRenderer extends React.Component {
typeof __webpack_require__ !== 'undefined' &&
// eslint-disable-next-line camelcase, no-undef
typeof __webpack_require__.h === 'function' &&
- // eslint-disable-next-line no-undef
+ // eslint-disable-next-line camelcase, no-undef
__webpack_require__.h()
}`
: '';
diff --git a/superset-frontend/src/components/Chart/DisabledMenuItemTooltip.tsx b/superset-frontend/src/components/Chart/DisabledMenuItemTooltip.tsx
index e83ad9ac33..6416820744 100644
--- a/superset-frontend/src/components/Chart/DisabledMenuItemTooltip.tsx
+++ b/superset-frontend/src/components/Chart/DisabledMenuItemTooltip.tsx
@@ -22,27 +22,29 @@ import { css, SupersetTheme } from '@superset-ui/core';
import Icons from 'src/components/Icons';
import { Tooltip } from 'src/components/Tooltip';
-export const MenuItemTooltip = ({
+export function MenuItemTooltip({
title,
color,
}: {
title: ReactNode;
color?: string;
-}) => (
- <Tooltip title={title} placement="top">
- <Icons.InfoCircleOutlined
- data-test="tooltip-trigger"
- css={(theme: SupersetTheme) => css`
- color: ${color || theme.colors.text.label};
- margin-left: ${theme.gridUnit * 2}px;
- &.anticon {
- font-size: unset;
- .anticon {
- line-height: unset;
- vertical-align: unset;
+}) {
+ return (
+ <Tooltip title={title} placement="top">
+ <Icons.InfoCircleOutlined
+ data-test="tooltip-trigger"
+ css={(theme: SupersetTheme) => css`
+ color: ${color || theme.colors.text.label};
+ margin-left: ${theme.gridUnit * 2}px;
+ &.anticon {
+ font-size: unset;
+ .anticon {
+ line-height: unset;
+ vertical-align: unset;
+ }
}
- }
- `}
- />
- </Tooltip>
-);
+ `}
+ />
+ </Tooltip>
+ );
+}
diff --git a/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.test.tsx b/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.test.tsx
index 485e19652c..46839806b6 100644
--- a/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.test.tsx
@@ -83,7 +83,7 @@ const expectDrillByDisabled = async (tooltipContent: string) => {
expect(drillByMenuItem).toBeVisible();
expect(drillByMenuItem).toHaveAttribute('aria-disabled', 'true');
const tooltipTrigger = within(drillByMenuItem).getByTestId('tooltip-trigger');
- userEvent.hover(tooltipTrigger as HTMLElement);
+ await userEvent.hover(tooltipTrigger as HTMLElement);
const tooltip = await screen.findByRole('tooltip', { name: tooltipContent });
expect(tooltip).toBeInTheDocument();
@@ -101,7 +101,7 @@ const expectDrillByEnabled = async () => {
within(drillByMenuItem).queryByTestId('tooltip-trigger');
expect(tooltipTrigger).not.toBeInTheDocument();
- userEvent.hover(
+ await userEvent.hover(
within(drillByMenuItem).getByRole('button', { name: 'Drill by' }),
);
expect(await screen.findByTestId('drill-by-submenu')).toBeInTheDocument();
@@ -172,7 +172,7 @@ test('render menu item with submenu and searchbox', async () => {
const searchbox = screen.getByRole('textbox');
expect(searchbox).toBeInTheDocument();
- userEvent.type(searchbox, 'col1');
+ await userEvent.type(searchbox, 'col1');
await screen.findByText('col1');
@@ -231,7 +231,7 @@ test('When menu item is clicked, call onSelection with clicked column and drill
await waitFor(() => fetchMock.called(DATASET_ENDPOINT));
await expectDrillByEnabled();
- userEvent.click(screen.getByText('col1'));
+ await userEvent.click(screen.getByText('col1'));
expect(onSelectionMock).toHaveBeenCalledWith(
{
column_name: 'col1',
diff --git a/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.tsx b/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.tsx
index 3354241ef8..9d536cf938 100644
--- a/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.tsx
+++ b/superset-frontend/src/components/Chart/DrillBy/DrillByMenuItems.tsx
@@ -67,7 +67,7 @@ export interface DrillByMenuItemsProps {
excludedColumns?: Column[];
}
-export const DrillByMenuItems = ({
+export function DrillByMenuItems({
drillByConfig,
formData,
contextMenuY = 0,
@@ -77,7 +77,7 @@ export const DrillByMenuItems = ({
excludedColumns,
openNewModal = true,
...rest
-}: DrillByMenuItemsProps) => {
+}: DrillByMenuItemsProps) {
const theme = useTheme();
const { addDangerToast } = useToasts();
const [isLoadingColumns, setIsLoadingColumns] = useState(true);
@@ -288,4 +288,4 @@ export const DrillByMenuItems = ({
)}
</>
);
-};
+}
diff --git a/superset-frontend/src/components/Chart/DrillBy/DrillByModal.test.tsx b/superset-frontend/src/components/Chart/DrillBy/DrillByModal.test.tsx
index 95e2f6027f..050da9a8c3 100644
--- a/superset-frontend/src/components/Chart/DrillBy/DrillByModal.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillBy/DrillByModal.test.tsx
@@ -69,7 +69,7 @@ const dataset = {
};
const renderModal = async (modalProps: Partial<DrillByModalProps> = {}) => {
- const DrillByModalWrapper = () => {
+ function DrillByModalWrapper() {
const [showModal, setShowModal] = useState(false);
return (
@@ -88,7 +88,7 @@ const renderModal = async (modalProps: Partial<DrillByModalProps> = {}) => {
)}
</DashboardPageIdContext.Provider>
);
- };
+ }
render(<DrillByModalWrapper />, {
useDnd: true,
useRedux: true,
@@ -96,7 +96,7 @@ const renderModal = async (modalProps: Partial<DrillByModalProps> = {}) => {
initialState: drillByModalState,
});
- userEvent.click(screen.getByRole('button', { name: 'Show modal' }));
+ await userEvent.click(screen.getByRole('button', { name: 'Show modal' }));
await screen.findByRole('dialog', { name: `Drill by: ${chartName}` });
};
@@ -123,7 +123,7 @@ test('should render the button', async () => {
test('should close the modal', async () => {
await renderModal();
expect(screen.getByRole('dialog')).toBeInTheDocument();
- userEvent.click(screen.getAllByRole('button', { name: 'Close' })[1]);
+ await userEvent.click(screen.getAllByRole('button', { name: 'Close' })[1]);
expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
});
@@ -204,7 +204,7 @@ test('should render radio buttons', async () => {
expect(tableRadio).toBeInTheDocument();
expect(chartRadio).toBeChecked();
expect(tableRadio).not.toBeChecked();
- userEvent.click(tableRadio);
+ await userEvent.click(tableRadio);
expect(chartRadio).not.toBeChecked();
expect(tableRadio).toBeChecked();
});
@@ -225,7 +225,7 @@ test('render breadcrumbs', async () => {
).toBeInTheDocument();
expect(within(breadcrumbItems[1]).getByText('name')).toBeInTheDocument();
- userEvent.click(screen.getByText('gender (boy)'));
+ await userEvent.click(screen.getByText('gender (boy)'));
const newBreadcrumbItems = screen.getAllByTestId('drill-by-breadcrumb-item');
// we need to assert that there is only 1 element now
diff --git a/superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx b/superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx
index d1e8b39e0c..02a6215817 100644
--- a/superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx
+++ b/superset-frontend/src/components/Chart/DrillBy/DrillByModal.tsx
@@ -72,7 +72,7 @@ interface ModalFooterProps {
formData: BaseFormData;
}
-const ModalFooter = ({ formData, closeModal }: ModalFooterProps) => {
+function ModalFooter({ formData, closeModal }: ModalFooterProps) {
const dispatch = useDispatch();
const { addDangerToast } = useToasts();
const [url, setUrl] = useState('');
@@ -133,7 +133,7 @@ const ModalFooter = ({ formData, closeModal }: ModalFooterProps) => {
</Button>
</>
);
-};
+}
export interface DrillByModalProps {
column?: Column;
@@ -177,8 +177,8 @@ export default function DrillByModal({
const initialGroupbyColumns = useMemo(
() =>
ensureIsArray(formData[groupbyFieldName])
- .map(colName =>
- dataset.columns?.find(col => col.column_name === colName),
+ .map(
+ colName => dataset.columns?.find(col => col.column_name === colName),
)
.filter(isDefined),
[dataset.columns, formData, groupbyFieldName],
diff --git a/superset-frontend/src/components/Chart/DrillBy/useDisplayModeToggle.tsx b/superset-frontend/src/components/Chart/DrillBy/useDisplayModeToggle.tsx
index 9ca1351544..4886437ab1 100644
--- a/superset-frontend/src/components/Chart/DrillBy/useDisplayModeToggle.tsx
+++ b/superset-frontend/src/components/Chart/DrillBy/useDisplayModeToggle.tsx
@@ -32,7 +32,9 @@ export const useDisplayModeToggle = () => {
<div
css={(theme: SupersetTheme) => css`
margin-bottom: ${theme.gridUnit * 6}px;
- .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):focus-within {
+ .ant-radio-button-wrapper-checked:not(
+ .ant-radio-button-wrapper-disabled
+ ):focus-within {
box-shadow: none;
}
`}
diff --git a/superset-frontend/src/components/Chart/DrillBy/useDrillByBreadcrumbs.test.ts b/superset-frontend/src/components/Chart/DrillBy/useDrillByBreadcrumbs.test.ts
index 48cc328f7a..67b9c96c48 100644
--- a/superset-frontend/src/components/Chart/DrillBy/useDrillByBreadcrumbs.test.ts
+++ b/superset-frontend/src/components/Chart/DrillBy/useDrillByBreadcrumbs.test.ts
@@ -51,22 +51,24 @@ test('Render breadcrumbs', () => {
expect(screen.getByText('col4')).toBeInTheDocument();
});
-test('Call click handler with correct arguments when breadcrumb is clicked', () => {
+test('Call click handler with correct arguments when breadcrumb is clicked', async () => {
const onClick = jest.fn();
const { result } = renderHook(() =>
useDrillByBreadcrumbs(BREADCRUMBS_DATA, onClick),
);
render(result.current);
- userEvent.click(screen.getByText('col1, col2 (col1 filter, col2 filter)'));
+ await userEvent.click(
+ screen.getByText('col1, col2 (col1 filter, col2 filter)'),
+ );
expect(onClick).toHaveBeenCalledWith(BREADCRUMBS_DATA[0], 0);
onClick.mockClear();
- userEvent.click(screen.getByText('Column 3 (col3 filter)'));
+ await userEvent.click(screen.getByText('Column 3 (col3 filter)'));
expect(onClick).toHaveBeenCalledWith(BREADCRUMBS_DATA[1], 1);
onClick.mockClear();
- userEvent.click(screen.getByText('col4'));
+ await userEvent.click(screen.getByText('col4'));
expect(onClick).not.toHaveBeenCalled();
onClick.mockClear();
});
diff --git a/superset-frontend/src/components/Chart/DrillBy/useResultsTableView.test.ts b/superset-frontend/src/components/Chart/DrillBy/useResultsTableView.test.ts
index 36cc51a684..b873a49882 100644
--- a/superset-frontend/src/components/Chart/DrillBy/useResultsTableView.test.ts
+++ b/superset-frontend/src/components/Chart/DrillBy/useResultsTableView.test.ts
@@ -95,7 +95,7 @@ test('Displays results for 2 queries', async () => {
within(getActiveTabElement()).getAllByTestId('table-row'),
).toHaveLength(4);
- userEvent.click(screen.getByText('Results 2'));
+ await userEvent.click(screen.getByText('Results 2'));
await waitFor(() => {
expect(
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.test.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.test.tsx
index b57f061a3e..fef1c53920 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.test.tsx
@@ -33,8 +33,15 @@ import DrillDetailMenuItems, {
jest.mock(
'./DrillDetailPane',
() =>
- ({ initialFilters }: { initialFilters: BinaryQueryObjectFilterClause[] }) =>
- <pre data-test="modal-filters">{JSON.stringify(initialFilters)}</pre>,
+ function ({
+ initialFilters,
+ }: {
+ initialFilters: BinaryQueryObjectFilterClause[];
+ }) {
+ return (
+ <pre data-test="modal-filters">{JSON.stringify(initialFilters)}</pre>
+ );
+ },
);
const { id: defaultChartId, form_data: defaultFormData } =
@@ -94,7 +101,7 @@ const expectDrillToDetailModal = async (
filters: BinaryQueryObjectFilterClause[] = [],
) => {
const button = screen.getByRole('menuitem', { name: buttonName });
- userEvent.click(button);
+ await userEvent.click(button);
const modal = await screen.findByRole('dialog', {
name: `Drill to detail: ${chartName}`,
});
@@ -126,7 +133,7 @@ const expectMenuItemDisabled = async (
expect(menuItem).toHaveAttribute('aria-disabled', 'true');
const tooltipTrigger = within(menuItem).queryByTestId('tooltip-trigger');
if (tooltipContent) {
- userEvent.hover(tooltipTrigger as HTMLElement);
+ await userEvent.hover(tooltipTrigger as HTMLElement);
const tooltip = await screen.findByRole('tooltip', {
name: tooltipContent,
});
@@ -180,7 +187,7 @@ const expectDrillToDetailByEnabled = async () => {
});
await expectMenuItemEnabled(drillToDetailBy);
- userEvent.hover(
+ await userEvent.hover(
within(drillToDetailBy).getByRole('button', { name: 'Drill to detail by' }),
);
@@ -206,7 +213,9 @@ const expectDrillToDetailByDisabled = async (tooltipContent?: string) => {
const expectDrillToDetailByDimension = async (
filter: BinaryQueryObjectFilterClause,
) => {
- userEvent.hover(screen.getByRole('button', { name: 'Drill to detail by' }));
+ await userEvent.hover(
+ screen.getByRole('button', { name: 'Drill to detail by' }),
+ );
const drillToDetailBySubMenu = await screen.findByTestId(
'drill-to-detail-by-submenu',
);
@@ -227,7 +236,9 @@ const expectDrillToDetailByDimension = async (
const expectDrillToDetailByAll = async (
filters: BinaryQueryObjectFilterClause[],
) => {
- userEvent.hover(screen.getByRole('button', { name: 'Drill to detail by' }));
+ await userEvent.hover(
+ screen.getByRole('button', { name: 'Drill to detail by' }),
+ );
const drillToDetailBySubMenu = await screen.findByTestId(
'drill-to-detail-by-submenu',
);
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.tsx
index 73f3a028e9..54b80fd393 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailMenuItems.tsx
@@ -38,32 +38,34 @@ import { MenuItemWithTruncation } from '../MenuItemWithTruncation';
const DRILL_TO_DETAIL_TEXT = t('Drill to detail by');
-const DisabledMenuItem = ({ children, ...props }: { children: ReactNode }) => (
- <Menu.Item disabled {...props}>
- <div
- css={css`
- white-space: normal;
- max-width: 160px;
- `}
- >
- {children}
- </div>
- </Menu.Item>
-);
+function DisabledMenuItem({ children, ...props }: { children: ReactNode }) {
+ return (
+ <Menu.Item disabled {...props}>
+ <div
+ css={css`
+ white-space: normal;
+ max-width: 160px;
+ `}
+ >
+ {children}
+ </div>
+ </Menu.Item>
+ );
+}
-const Filter = ({
+function Filter({
children,
stripHTML = false,
}: {
children: ReactNode;
stripHTML: boolean;
-}) => {
+}) {
const content =
stripHTML && typeof children === 'string'
? removeHTMLTags(children)
: children;
return <span>{content}</span>;
-};
+}
const StyledFilter = styled(Filter)`
${({ theme }) => `
@@ -83,7 +85,7 @@ export type DrillDetailMenuItemsProps = {
submenuIndex?: number;
};
-const DrillDetailMenuItems = ({
+function DrillDetailMenuItems({
chartId,
formData,
filters = [],
@@ -93,7 +95,7 @@ const DrillDetailMenuItems = ({
onClick = () => null,
submenuIndex = 0,
...props
-}: DrillDetailMenuItemsProps) => {
+}: DrillDetailMenuItemsProps) {
const [modalFilters, setFilters] = useState<BinaryQueryObjectFilterClause[]>(
[],
);
@@ -252,6 +254,6 @@ const DrillDetailMenuItems = ({
/>
</>
);
-};
+}
export default DrillDetailMenuItems;
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.test.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.test.tsx
index 038541d390..50bed4d640 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.test.tsx
@@ -38,7 +38,7 @@ const { slice_name: chartName } = formData;
const renderModal = async () => {
const store = getMockStoreWithNativeFilters();
- const DrillDetailModalWrapper = () => {
+ function DrillDetailModalWrapper() {
const [showModal, setShowModal] = useState(false);
return (
<>
@@ -54,7 +54,7 @@ const renderModal = async () => {
/>
</>
);
- };
+ }
render(<DrillDetailModalWrapper />, {
useRouter: true,
@@ -62,7 +62,7 @@ const renderModal = async () => {
store,
});
- userEvent.click(screen.getByRole('button', { name: 'Show modal' }));
+ await userEvent.click(screen.getByRole('button', { name: 'Show modal' }));
await screen.findByRole('dialog', { name: `Drill to detail: ${chartName}` });
};
@@ -82,13 +82,13 @@ test('should render the button', async () => {
test('should close the modal', async () => {
await renderModal();
expect(screen.getByRole('dialog')).toBeInTheDocument();
- userEvent.click(screen.getAllByRole('button', { name: 'Close' })[1]);
+ await userEvent.click(screen.getAllByRole('button', { name: 'Close' })[1]);
expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
});
test('should forward to Explore', async () => {
await renderModal();
- userEvent.click(screen.getByRole('button', { name: 'Edit chart' }));
+ await userEvent.click(screen.getByRole('button', { name: 'Edit chart' }));
expect(mockHistoryPush).toHaveBeenCalledWith(
`/explore/?dashboard_page_id=&slice_id=${sliceId}`,
);
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.tsx
index e1207f8aac..3f6157e5bb 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailModal.tsx
@@ -38,21 +38,23 @@ interface ModalFooterProps {
closeModal?: () => void;
}
-const ModalFooter = ({ exploreChart, closeModal }: ModalFooterProps) => (
- <>
- <Button buttonStyle="secondary" buttonSize="small" onClick={exploreChart}>
- {t('Edit chart')}
- </Button>
- <Button
- buttonStyle="primary"
- buttonSize="small"
- onClick={closeModal}
- data-test="close-drilltodetail-modal"
- >
- {t('Close')}
- </Button>
- </>
-);
+function ModalFooter({ exploreChart, closeModal }: ModalFooterProps) {
+ return (
+ <>
+ <Button buttonStyle="secondary" buttonSize="small" onClick={exploreChart}>
+ {t('Edit chart')}
+ </Button>
+ <Button
+ buttonStyle="primary"
+ buttonSize="small"
+ onClick={closeModal}
+ data-test="close-drilltodetail-modal"
+ >
+ {t('Close')}
+ </Button>
+ </>
+ );
+}
interface DrillDetailModalProps {
chartId: number;
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.test.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.test.tsx
index 582f7b15e9..5f756267f1 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.test.tsx
@@ -129,9 +129,7 @@ test('should render', async () => {
test('should render loading indicator', async () => {
fetchWithData();
setup();
- await waitFor(() =>
- expect(screen.getByLabelText('Loading')).toBeInTheDocument(),
- );
+ await screen.findByLabelText('Loading');
});
test('should render the table with results', async () => {
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.tsx
index d337e9b013..448c1f5e35 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailPane.tsx
@@ -168,13 +168,14 @@ export default function DrillDetailPane({
const data: DataType[] = useMemo(
() =>
- resultsPage?.data.map((row, index) =>
- resultsPage?.colNames.reduce(
- (acc, curr) => ({ ...acc, [curr]: row[curr] }),
- {
- key: index,
- },
- ),
+ resultsPage?.data.map(
+ (row, index) =>
+ resultsPage?.colNames.reduce(
+ (acc, curr) => ({ ...acc, [curr]: row[curr] }),
+ {
+ key: index,
+ },
+ ),
) || [],
[resultsPage?.colNames, resultsPage?.data],
);
diff --git a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailTableControls.test.tsx b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailTableControls.test.tsx
index 179fc8ee35..0b00746fb6 100644
--- a/superset-frontend/src/components/Chart/DrillDetail/DrillDetailTableControls.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetail/DrillDetailTableControls.test.tsx
@@ -63,9 +63,9 @@ test('should show the loading indicator', () => {
expect(screen.getByText('Loading...')).toBeInTheDocument();
});
-test('should call onreload', () => {
+test('should call onreload', async () => {
setup();
- userEvent.click(screen.getByRole('button', { name: 'Reload' }));
+ await userEvent.click(screen.getByRole('button', { name: 'Reload' }));
expect(onReload).toHaveBeenCalledTimes(1);
});
@@ -90,7 +90,7 @@ test('should render with filters', () => {
expect(screen.getByText('IT')).toBeInTheDocument();
});
-test('should remove the filters on close', () => {
+test('should remove the filters on close', async () => {
setup({
filters: [
{
@@ -103,7 +103,7 @@ test('should remove the filters on close', () => {
expect(screen.getByText('platform')).toBeInTheDocument();
expect(screen.getByText('GB')).toBeInTheDocument();
- userEvent.click(screen.getByRole('img', { name: 'close' }));
+ await userEvent.click(screen.getByRole('img', { name: 'close' }));
expect(setFilters).toHaveBeenCalledWith([]);
});
diff --git a/superset-frontend/src/components/Chart/MenuItemWithTruncation.tsx b/superset-frontend/src/components/Chart/MenuItemWithTruncation.tsx
index 14e1100ea2..6680a4074a 100644
--- a/superset-frontend/src/components/Chart/MenuItemWithTruncation.tsx
+++ b/superset-frontend/src/components/Chart/MenuItemWithTruncation.tsx
@@ -29,11 +29,11 @@ export type MenuItemWithTruncationProps = {
onClick?: MenuProps['onClick'];
};
-export const MenuItemWithTruncation = ({
+export function MenuItemWithTruncation({
tooltipText,
children,
...props
-}: MenuItemWithTruncationProps) => {
+}: MenuItemWithTruncationProps) {
const [itemRef, itemIsTruncated] = useCSSTextTruncation<HTMLDivElement>();
return (
@@ -56,4 +56,4 @@ export const MenuItemWithTruncation = ({
</Tooltip>
</Menu.Item>
);
-};
+}
diff --git a/superset-frontend/src/components/Checkbox/Checkbox.stories.tsx b/superset-frontend/src/components/Checkbox/Checkbox.stories.tsx
index 64b29140e4..f77efe6a85 100644
--- a/superset-frontend/src/components/Checkbox/Checkbox.stories.tsx
+++ b/superset-frontend/src/components/Checkbox/Checkbox.stories.tsx
@@ -42,7 +42,7 @@ export const CheckboxGallery = () =>
</div>
));
-export const InteractiveCheckbox = ({ checked, style }: CheckboxProps) => {
+export function InteractiveCheckbox({ checked, style }: CheckboxProps) {
const [, updateArgs] = useArgs();
const toggleCheckbox = () => {
updateArgs({ checked: !checked });
@@ -54,7 +54,7 @@ export const InteractiveCheckbox = ({ checked, style }: CheckboxProps) => {
I'm an interactive checkbox
</>
);
-};
+}
InteractiveCheckbox.args = {
checked: false,
diff --git a/superset-frontend/src/components/Checkbox/CheckboxIcons.tsx b/superset-frontend/src/components/Checkbox/CheckboxIcons.tsx
index 447524a0f9..dfcdc61ed0 100644
--- a/superset-frontend/src/components/Checkbox/CheckboxIcons.tsx
+++ b/superset-frontend/src/components/Checkbox/CheckboxIcons.tsx
@@ -19,7 +19,7 @@
import React from 'react';
import { useTheme } from '@superset-ui/core';
-export const CheckboxChecked = () => {
+export function CheckboxChecked() {
const theme = useTheme();
return (
<svg
@@ -39,9 +39,9 @@ export const CheckboxChecked = () => {
/>
</svg>
);
-};
+}
-export const CheckboxHalfChecked = () => {
+export function CheckboxHalfChecked() {
const theme = useTheme();
return (
<svg
@@ -58,9 +58,9 @@ export const CheckboxHalfChecked = () => {
<path d="M14 10H4V8H14V10Z" fill="white" />
</svg>
);
-};
+}
-export const CheckboxUnchecked = () => {
+export function CheckboxUnchecked() {
const theme = useTheme();
return (
<svg
@@ -77,4 +77,4 @@ export const CheckboxUnchecked = () => {
<path d="M16 2V16H2V2H16V2Z" fill="white" />
</svg>
);
-};
+}
diff --git a/superset-frontend/src/components/Collapse/Collapse.stories.tsx b/superset-frontend/src/components/Collapse/Collapse.stories.tsx
index 169d3bc45a..09a528dfe0 100644
--- a/superset-frontend/src/components/Collapse/Collapse.stories.tsx
+++ b/superset-frontend/src/components/Collapse/Collapse.stories.tsx
@@ -25,7 +25,7 @@ export default {
component: Collapse,
};
-export const InteractiveCollapse = (args: CollapseProps) => {
+export function InteractiveCollapse(args: CollapseProps) {
const theme = useTheme();
return (
<Collapse
@@ -43,7 +43,7 @@ export const InteractiveCollapse = (args: CollapseProps) => {
</Collapse.Panel>
</Collapse>
);
-};
+}
InteractiveCollapse.args = {
ghost: false,
diff --git a/superset-frontend/src/components/Collapse/Collapse.test.tsx b/superset-frontend/src/components/Collapse/Collapse.test.tsx
index 75e004604a..12791bfb06 100644
--- a/superset-frontend/src/components/Collapse/Collapse.test.tsx
+++ b/superset-frontend/src/components/Collapse/Collapse.test.tsx
@@ -57,25 +57,25 @@ test('renders with one item expanded by default', () => {
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
});
-test('expands on click', () => {
+test('expands on click', async () => {
renderCollapse();
expect(screen.queryByText('Content 1')).not.toBeInTheDocument();
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
- userEvent.click(screen.getAllByRole('button')[0]);
+ await userEvent.click(screen.getAllByRole('button')[0]);
expect(screen.getByText('Content 1')).toBeInTheDocument();
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
});
-test('collapses on click', () => {
+test('collapses on click', async () => {
renderCollapse({ defaultActiveKey: ['1'] });
expect(screen.getByText('Content 1')).toBeInTheDocument();
expect(screen.queryByText('Content 2')).not.toBeInTheDocument();
- userEvent.click(screen.getAllByRole('button')[0]);
+ await userEvent.click(screen.getAllByRole('button')[0]);
expect(screen.getByText('Content 1').parentNode).toHaveClass(
'ant-collapse-content-hidden',
diff --git a/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.stories.tsx b/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.stories.tsx
index 076c97dd90..7c3785cf72 100644
--- a/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.stories.tsx
+++ b/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.stories.tsx
@@ -24,9 +24,9 @@ export default {
title: 'ConfirmStatusChange',
};
-export const InteractiveConfirmStatusChange = (
- args: ConfirmStatusChangeProps,
-) => <ConfirmStatusChange {...args} />;
+export function InteractiveConfirmStatusChange(args: ConfirmStatusChangeProps) {
+ return <ConfirmStatusChange {...args} />;
+}
InteractiveConfirmStatusChange.args = {
title: 'Delete confirmation',
diff --git a/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx b/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx
index ba41f5b51d..b6571f5502 100644
--- a/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx
+++ b/superset-frontend/src/components/ConfirmStatusChange/ConfirmStatusChange.test.jsx
@@ -32,11 +32,7 @@ describe('ConfirmStatusChange', () => {
};
const wrapper = mount(
<ConfirmStatusChange {...mockedProps}>
- {confirm => (
- <>
- <Button id="btn1" onClick={confirm} />
- </>
- )}
+ {confirm => <Button id="btn1" onClick={confirm} />}
</ConfirmStatusChange>,
{
wrappingComponent: ThemeProvider,
diff --git a/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.stories.tsx b/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.stories.tsx
index 3a52af5991..af51b26046 100644
--- a/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.stories.tsx
+++ b/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.stories.tsx
@@ -28,7 +28,7 @@ export default {
component: CopyToClipboard,
};
-export const InteractiveCopyToClipboard = ({ copyNode, ...rest }: any) => {
+export function InteractiveCopyToClipboard({ copyNode, ...rest }: any) {
const theme = useTheme();
let node = <Button>Copy</Button>;
if (copyNode === 'Icon') {
@@ -42,7 +42,7 @@ export const InteractiveCopyToClipboard = ({ copyNode, ...rest }: any) => {
<ToastContainer />
</>
);
-};
+}
InteractiveCopyToClipboard.args = {
shouldShowText: true,
diff --git a/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.test.tsx b/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.test.tsx
index 87dbca404b..1eba9a5cef 100644
--- a/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.test.tsx
+++ b/superset-frontend/src/components/CopyToClipboard/CopyToClipboard.test.tsx
@@ -45,14 +45,14 @@ test('renders without text showing', () => {
test('getText on copy', async () => {
const getText = jest.fn(() => 'Text');
render(<CopyToClipboard getText={getText} />, { useRedux: true });
- userEvent.click(screen.getByText('Copy'));
+ await userEvent.click(screen.getByText('Copy'));
await waitFor(() => expect(getText).toHaveBeenCalled());
});
test('renders tooltip on hover', async () => {
const tooltipText = 'Tooltip';
render(<CopyToClipboard tooltipText={tooltipText} />, { useRedux: true });
- userEvent.hover(screen.getByText('Copy'));
+ await userEvent.hover(screen.getByText('Copy'));
const tooltip = await screen.findByRole('tooltip');
expect(tooltip).toBeInTheDocument();
expect(tooltip).toHaveTextContent(tooltipText);
@@ -63,9 +63,9 @@ test('not renders tooltip on hover with hideTooltip props', async () => {
render(<CopyToClipboard tooltipText={tooltipText} hideTooltip />, {
useRedux: true,
});
- userEvent.hover(screen.getByText('Copy'));
+ await userEvent.hover(screen.getByText('Copy'));
const tooltip = screen.queryByRole('tooltip');
- expect(tooltip).toBe(null);
+ expect(tooltip).not.toBeInTheDocument();
});
test('triggers onCopyEnd', async () => {
@@ -73,7 +73,7 @@ test('triggers onCopyEnd', async () => {
render(<CopyToClipboard onCopyEnd={onCopyEnd} />, {
useRedux: true,
});
- userEvent.click(screen.getByText('Copy'));
+ await userEvent.click(screen.getByText('Copy'));
await waitFor(() => expect(onCopyEnd).toHaveBeenCalled());
});
diff --git a/superset-frontend/src/components/CronPicker/CronPicker.stories.tsx b/superset-frontend/src/components/CronPicker/CronPicker.stories.tsx
index 99d692952b..7a4b68b911 100644
--- a/superset-frontend/src/components/CronPicker/CronPicker.stories.tsx
+++ b/superset-frontend/src/components/CronPicker/CronPicker.stories.tsx
@@ -26,7 +26,7 @@ export default {
component: CronPicker,
};
-export const InteractiveCronPicker = (props: CronProps) => {
+export function InteractiveCronPicker(props: CronProps) {
// @ts-ignore
const inputRef = useRef<Input>(null);
const [value, setValue] = useState(props.value);
@@ -58,7 +58,7 @@ export const InteractiveCronPicker = (props: CronProps) => {
{error && <p style={{ marginTop: 20 }}>Error: {error.description}</p>}
</div>
);
-};
+}
InteractiveCronPicker.args = {
clearButton: false,
diff --git a/superset-frontend/src/components/CronPicker/CronPicker.test.tsx b/superset-frontend/src/components/CronPicker/CronPicker.test.tsx
index 79580310b4..af88b5ae14 100644
--- a/superset-frontend/src/components/CronPicker/CronPicker.test.tsx
+++ b/superset-frontend/src/components/CronPicker/CronPicker.test.tsx
@@ -29,7 +29,7 @@ test('Should send correct props to ReactCronPicker', () => {
myCustomProp: 'myCustomProp',
};
render(<CronPicker {...(props as any)} />);
- expect(spy).toBeCalledWith(
+ expect(spy).toHaveBeenCalledWith(
expect.objectContaining({
className: expect.any(String),
locale: expect.anything(),
diff --git a/superset-frontend/src/components/DatabaseSelector/DatabaseSelector.test.tsx b/superset-frontend/src/components/DatabaseSelector/DatabaseSelector.test.tsx
index 874d22ea6b..ce1dd8b066 100644
--- a/superset-frontend/src/components/DatabaseSelector/DatabaseSelector.test.tsx
+++ b/superset-frontend/src/components/DatabaseSelector/DatabaseSelector.test.tsx
@@ -196,25 +196,25 @@ test('Refresh should work', async () => {
name: 'Select schema or type to search schemas',
});
- userEvent.click(select);
+ await userEvent.click(select);
await waitFor(() => {
expect(fetchMock.calls(databaseApiRoute).length).toBe(1);
expect(fetchMock.calls(schemaApiRoute).length).toBe(1);
- expect(props.handleError).toBeCalledTimes(0);
- expect(props.onDbChange).toBeCalledTimes(0);
- expect(props.onSchemaChange).toBeCalledTimes(0);
+ expect(props.handleError).toHaveBeenCalledTimes(0);
+ expect(props.onDbChange).toHaveBeenCalledTimes(0);
+ expect(props.onSchemaChange).toHaveBeenCalledTimes(0);
});
// click schema reload
- userEvent.click(screen.getByRole('button', { name: 'refresh' }));
+ await userEvent.click(screen.getByRole('button', { name: 'refresh' }));
await waitFor(() => {
expect(fetchMock.calls(databaseApiRoute).length).toBe(1);
expect(fetchMock.calls(schemaApiRoute).length).toBe(2);
- expect(props.handleError).toBeCalledTimes(0);
- expect(props.onDbChange).toBeCalledTimes(0);
- expect(props.onSchemaChange).toBeCalledTimes(0);
+ expect(props.handleError).toHaveBeenCalledTimes(0);
+ expect(props.onDbChange).toHaveBeenCalledTimes(0);
+ expect(props.onSchemaChange).toHaveBeenCalledTimes(0);
});
});
@@ -225,7 +225,7 @@ test('Should database select display options', async () => {
name: 'Select database or type to search databases',
});
expect(select).toBeInTheDocument();
- userEvent.click(select);
+ await userEvent.click(select);
expect(await screen.findByText('test-mysql')).toBeInTheDocument();
});
@@ -246,7 +246,7 @@ test('should show empty state if there are no options', async () => {
const select = screen.getByRole('combobox', {
name: 'Select database or type to search databases',
});
- userEvent.click(select);
+ await userEvent.click(select);
const emptystate = await screen.findByText('empty');
expect(emptystate).toBeInTheDocument();
expect(screen.queryByText('test-mysql')).not.toBeInTheDocument();
@@ -259,7 +259,7 @@ test('Should schema select display options', async () => {
name: 'Select schema or type to search schemas',
});
expect(select).toBeInTheDocument();
- userEvent.click(select);
+ await userEvent.click(select);
expect(
await screen.findByRole('option', { name: 'public' }),
).toBeInTheDocument();
@@ -275,8 +275,8 @@ test('Sends the correct db when changing the database', async () => {
name: 'Select database or type to search databases',
});
expect(select).toBeInTheDocument();
- userEvent.click(select);
- userEvent.click(await screen.findByText('test-mysql'));
+ await userEvent.click(select);
+ await userEvent.click(await screen.findByText('test-mysql'));
await waitFor(() =>
expect(props.onDbChange).toHaveBeenCalledWith(
expect.objectContaining({
@@ -296,16 +296,16 @@ test('Sends the correct schema when changing the schema', async () => {
});
await waitFor(() => expect(fetchMock.calls(databaseApiRoute).length).toBe(1));
rerender(<DatabaseSelector {...props} />);
- expect(props.onSchemaChange).toBeCalledTimes(0);
+ expect(props.onSchemaChange).toHaveBeenCalledTimes(0);
const select = screen.getByRole('combobox', {
name: 'Select schema or type to search schemas',
});
expect(select).toBeInTheDocument();
- userEvent.click(select);
+ await userEvent.click(select);
const schemaOption = await screen.findAllByText('information_schema');
- userEvent.click(schemaOption[1]);
+ await userEvent.click(schemaOption[1]);
await waitFor(() =>
expect(props.onSchemaChange).toHaveBeenCalledWith('information_schema'),
);
- expect(props.onSchemaChange).toBeCalledTimes(1);
+ expect(props.onSchemaChange).toHaveBeenCalledTimes(1);
});
diff --git a/superset-frontend/src/components/DatabaseSelector/index.tsx b/superset-frontend/src/components/DatabaseSelector/index.tsx
index 7b4afd9af0..31c6e03f07 100644
--- a/superset-frontend/src/components/DatabaseSelector/index.tsx
+++ b/superset-frontend/src/components/DatabaseSelector/index.tsx
@@ -98,20 +98,22 @@ export interface DatabaseSelectorProps {
sqlLabMode?: boolean;
}
-const SelectLabel = ({
+function SelectLabel({
backend,
databaseName,
}: {
backend?: string;
databaseName: string;
-}) => (
- <LabelStyle>
- <Label className="backend">{backend || ''}</Label>
- <span className="name" title={databaseName}>
- {databaseName}
- </span>
- </LabelStyle>
-);
+}) {
+ return (
+ <LabelStyle>
+ <Label className="backend">{backend || ''}</Label>
+ <span className="name" title={databaseName}>
+ {databaseName}
+ </span>
+ </LabelStyle>
+ );
+}
const EMPTY_SCHEMA_OPTIONS: SchemaOption[] = [];
diff --git a/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx b/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx
index 9100eb6c86..6eb3142629 100644
--- a/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx
+++ b/superset-frontend/src/components/Datasource/DatasourceEditor.test.jsx
@@ -63,14 +63,14 @@ describe('DatasourceEditor', () => {
});
it('can sync columns from source', () =>
- new Promise(done => {
+ new Promise(async done => {
const columnsTab = screen.getByTestId('collection-tab-Columns');
- userEvent.click(columnsTab);
+ await userEvent.click(columnsTab);
const syncButton = screen.getByText(/sync columns from source/i);
expect(syncButton).toBeInTheDocument();
- userEvent.click(syncButton);
+ await userEvent.click(syncButton);
setTimeout(() => {
expect(fetchMock.calls(DATASOURCE_ENDPOINT)).toHaveLength(1);
@@ -85,12 +85,12 @@ describe('DatasourceEditor', () => {
// to add, remove and modify columns accordingly
it('can modify columns', async () => {
const columnsTab = screen.getByTestId('collection-tab-Columns');
- userEvent.click(columnsTab);
+ await userEvent.click(columnsTab);
const getToggles = screen.getAllByRole('button', {
name: /toggle expand/i,
});
- userEvent.click(getToggles[0]);
+ await userEvent.click(getToggles[0]);
const getTextboxes = screen.getAllByRole('textbox');
expect(getTextboxes.length).toEqual(5);
@@ -102,49 +102,49 @@ describe('DatasourceEditor', () => {
'Certification details',
);
- userEvent.type(await inputLabel, 'test_label');
- userEvent.type(await inputDescription, 'test');
- userEvent.type(await inputDtmFormat, 'test');
- userEvent.type(await inputCertifiedBy, 'test');
- userEvent.type(await inputCertDetails, 'test');
+ await userEvent.type(await inputLabel, 'test_label');
+ await userEvent.type(await inputDescription, 'test');
+ await userEvent.type(await inputDtmFormat, 'test');
+ await userEvent.type(await inputCertifiedBy, 'test');
+ await userEvent.type(await inputCertDetails, 'test');
});
it('can delete columns', async () => {
const columnsTab = screen.getByTestId('collection-tab-Columns');
- userEvent.click(columnsTab);
+ await userEvent.click(columnsTab);
const getToggles = screen.getAllByRole('button', {
name: /toggle expand/i,
});
- userEvent.click(getToggles[0]);
+ await userEvent.click(getToggles[0]);
const deleteButtons = screen.getAllByRole('button', {
name: /delete item/i,
});
expect(deleteButtons.length).toEqual(7);
- userEvent.click(deleteButtons[0]);
+ await userEvent.click(deleteButtons[0]);
const countRows = screen.getAllByRole('button', { name: /delete item/i });
expect(countRows.length).toEqual(6);
});
it('can add new columns', async () => {
const calcColsTab = screen.getByTestId('collection-tab-Calculated columns');
- userEvent.click(calcColsTab);
+ await userEvent.click(calcColsTab);
const addBtn = screen.getByRole('button', {
name: /add item/i,
});
expect(addBtn).toBeInTheDocument();
- userEvent.click(addBtn);
+ await userEvent.click(addBtn);
// newColumn (Column name) is the first textbox in the tab
const newColumn = screen.getAllByRole('textbox', { name: '' })[0];
expect(newColumn).toHaveValue('<new column>');
});
- it('renders isSqla fields', () => {
+ it('renders isSqla fields', async () => {
const columnsTab = screen.getByRole('tab', {
name: /settings/i,
});
- userEvent.click(columnsTab);
+ await userEvent.click(columnsTab);
const extraField = screen.getAllByText(/extra/i);
expect(extraField.length).toEqual(2);
expect(
@@ -164,9 +164,9 @@ describe('DatasourceEditor', () => {
isFeatureEnabledMock.mockRestore();
});
- it('Source Tab: edit mode', () => {
+ it('Source Tab: edit mode', async () => {
const getLockBtn = screen.getByRole('img', { name: /lock-locked/i });
- userEvent.click(getLockBtn);
+ await userEvent.click(getLockBtn);
const physicalRadioBtn = screen.getByRole('radio', {
name: /physical \(table or view\)/i,
});
@@ -212,9 +212,9 @@ describe('DatasourceEditor RTL', () => {
it('properly renders the metric information', async () => {
await asyncRender(props);
const metricButton = screen.getByTestId('collection-tab-Metrics');
- userEvent.click(metricButton);
+ await userEvent.click(metricButton);
const expandToggle = await screen.findAllByLabelText(/toggle expand/i);
- userEvent.click(expandToggle[0]);
+ await userEvent.click(expandToggle[0]);
const certificationDetails = await screen.findByPlaceholderText(
/certification details/i,
);
@@ -238,9 +238,9 @@ describe('DatasourceEditor RTL', () => {
};
await asyncRender(propsWithCurrency);
const metricButton = screen.getByTestId('collection-tab-Metrics');
- userEvent.click(metricButton);
+ await userEvent.click(metricButton);
const expandToggle = await screen.findAllByLabelText(/toggle expand/i);
- userEvent.click(expandToggle[0]);
+ await userEvent.click(expandToggle[0]);
expect(await screen.findByText('Metric currency')).toBeVisible();
expect(
@@ -308,22 +308,22 @@ describe('DatasourceEditor RTL', () => {
it('properly updates the metric information', async () => {
await asyncRender(props);
const metricButton = screen.getByTestId('collection-tab-Metrics');
- userEvent.click(metricButton);
+ await userEvent.click(metricButton);
const expandToggle = await screen.findAllByLabelText(/toggle expand/i);
- userEvent.click(expandToggle[1]);
+ await userEvent.click(expandToggle[1]);
const certifiedBy = await screen.findByPlaceholderText(/certified by/i);
- userEvent.type(certifiedBy, 'I am typing a new name');
+ await userEvent.type(certifiedBy, 'I am typing a new name');
const certificationDetails = await screen.findByPlaceholderText(
/certification details/i,
);
expect(certifiedBy.value).toEqual('I am typing a new name');
- userEvent.type(certificationDetails, 'I am typing something new');
+ await userEvent.type(certificationDetails, 'I am typing something new');
expect(certificationDetails.value).toEqual('I am typing something new');
});
it('shows the default datetime column', async () => {
await asyncRender(props);
const metricButton = screen.getByTestId('collection-tab-Columns');
- userEvent.click(metricButton);
+ await userEvent.click(metricButton);
const dsDefaultDatetimeRadio = screen.getByTestId('radio-default-dttm-ds');
expect(dsDefaultDatetimeRadio).toBeChecked();
const genderDefaultDatetimeRadio = screen.getByTestId(
@@ -334,7 +334,7 @@ describe('DatasourceEditor RTL', () => {
it('allows choosing only temporal columns as the default datetime', async () => {
await asyncRender(props);
const metricButton = screen.getByTestId('collection-tab-Columns');
- userEvent.click(metricButton);
+ await userEvent.click(metricButton);
const dsDefaultDatetimeRadio = screen.getByTestId('radio-default-dttm-ds');
expect(dsDefaultDatetimeRadio).toBeEnabled();
const genderDefaultDatetimeRadio = screen.getByTestId(
diff --git a/superset-frontend/src/components/DatePicker/DatePicker.stories.tsx b/superset-frontend/src/components/DatePicker/DatePicker.stories.tsx
index 4827b04d78..2bc6ab2e69 100644
--- a/superset-frontend/src/components/DatePicker/DatePicker.stories.tsx
+++ b/superset-frontend/src/components/DatePicker/DatePicker.stories.tsx
@@ -52,9 +52,9 @@ const interactiveTypes = {
},
};
-export const InteractiveDatePicker = (args: DatePickerProps) => (
- <DatePicker {...args} />
-);
+export function InteractiveDatePicker(args: DatePickerProps) {
+ return <DatePicker {...args} />;
+}
InteractiveDatePicker.args = {
...commonArgs,
@@ -73,9 +73,9 @@ InteractiveDatePicker.story = {
},
};
-export const InteractiveRangePicker = (args: RangePickerProps) => (
- <RangePicker {...args} />
-);
+export function InteractiveRangePicker(args: RangePickerProps) {
+ return <RangePicker {...args} />;
+}
InteractiveRangePicker.args = {
...commonArgs,
diff --git a/superset-frontend/src/components/DeleteModal/DeleteModal.test.tsx b/superset-frontend/src/components/DeleteModal/DeleteModal.test.tsx
index 6cec92e2a8..a3bfc93966 100644
--- a/superset-frontend/src/components/DeleteModal/DeleteModal.test.tsx
+++ b/superset-frontend/src/components/DeleteModal/DeleteModal.test.tsx
@@ -36,7 +36,7 @@ test('Must display title and content', () => {
expect(screen.getByTestId('test-description')).toBeVisible();
});
-test('Calling "onHide"', () => {
+test('Calling "onHide"', async () => {
const props = {
title: <div data-test="test-title">Title</div>,
description: <div data-test="test-description">Description</div>,
@@ -46,24 +46,24 @@ test('Calling "onHide"', () => {
};
const modal = <DeleteModal {...props} />;
render(modal);
- expect(props.onHide).toBeCalledTimes(0);
- expect(props.onConfirm).toBeCalledTimes(0);
+ expect(props.onHide).toHaveBeenCalledTimes(0);
+ expect(props.onConfirm).toHaveBeenCalledTimes(0);
// type "del" in the input
- userEvent.type(screen.getByTestId('delete-modal-input'), 'del');
+ await userEvent.type(screen.getByTestId('delete-modal-input'), 'del');
expect(screen.getByTestId('delete-modal-input')).toHaveValue('del');
// close the modal
expect(screen.getByText('×')).toBeVisible();
- userEvent.click(screen.getByText('×'));
- expect(props.onHide).toBeCalledTimes(1);
- expect(props.onConfirm).toBeCalledTimes(0);
+ await userEvent.click(screen.getByText('×'));
+ expect(props.onHide).toHaveBeenCalledTimes(1);
+ expect(props.onConfirm).toHaveBeenCalledTimes(0);
// confirm input has been cleared
expect(screen.getByTestId('delete-modal-input')).toHaveValue('');
});
-test('Calling "onConfirm" only after typing "delete" in the input', () => {
+test('Calling "onConfirm" only after typing "delete" in the input', async () => {
const props = {
title: <div data-test="test-title">Title</div>,
description: <div data-test="test-description">Description</div>,
@@ -72,19 +72,19 @@ test('Calling "onConfirm" only after typing "delete" in the input', () => {
open: true,
};
render(<DeleteModal {...props} />);
- expect(props.onHide).toBeCalledTimes(0);
- expect(props.onConfirm).toBeCalledTimes(0);
+ expect(props.onHide).toHaveBeenCalledTimes(0);
+ expect(props.onConfirm).toHaveBeenCalledTimes(0);
expect(screen.getByTestId('delete-modal-input')).toBeVisible();
- expect(props.onConfirm).toBeCalledTimes(0);
+ expect(props.onConfirm).toHaveBeenCalledTimes(0);
// do not execute "onConfirm" if you have not typed "delete"
- userEvent.click(screen.getByText('delete'));
- expect(props.onConfirm).toBeCalledTimes(0);
+ await userEvent.click(screen.getByText('delete'));
+ expect(props.onConfirm).toHaveBeenCalledTimes(0);
// execute "onConfirm" if you have typed "delete"
- userEvent.type(screen.getByTestId('delete-modal-input'), 'delete');
- userEvent.click(screen.getByText('delete'));
- expect(props.onConfirm).toBeCalledTimes(1);
+ await userEvent.type(screen.getByTestId('delete-modal-input'), 'delete');
+ await userEvent.click(screen.getByText('delete'));
+ expect(props.onConfirm).toHaveBeenCalledTimes(1);
// confirm input has been cleared
expect(screen.getByTestId('delete-modal-input')).toHaveValue('');
diff --git a/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.stories.tsx b/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.stories.tsx
index 191ee81e00..19f667da0f 100644
--- a/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.stories.tsx
+++ b/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.stories.tsx
@@ -49,43 +49,45 @@ export default {
},
};
-export const SelectGallery = ({ value }: { value: OptionTypeBase }) => (
- <>
- <h4>With default value</h4>
- <Select
- value={OPTIONS[0]}
- ignoreAccents={false}
- name="select-datasource"
- onChange={() => {}}
- options={OPTIONS}
- placeholder="choose one"
- width={600}
- />
- <hr />
- <h4>With no value</h4>
- <Select
- ignoreAccents={false}
- name="select-datasource"
- onChange={() => {}}
- options={OPTIONS}
- placeholder="choose one"
- width={600}
- value={value}
- />
- <hr />
- <h4>Multi select</h4>
- <Select
- ignoreAccents={false}
- name="select-datasource"
- onChange={() => {}}
- options={OPTIONS}
- placeholder="choose one or more values"
- width={600}
- value={[OPTIONS[0]]}
- multi
- />
- </>
-);
+export function SelectGallery({ value }: { value: OptionTypeBase }) {
+ return (
+ <>
+ <h4>With default value</h4>
+ <Select
+ value={OPTIONS[0]}
+ ignoreAccents={false}
+ name="select-datasource"
+ onChange={() => {}}
+ options={OPTIONS}
+ placeholder="choose one"
+ width={600}
+ />
+ <hr />
+ <h4>With no value</h4>
+ <Select
+ ignoreAccents={false}
+ name="select-datasource"
+ onChange={() => {}}
+ options={OPTIONS}
+ placeholder="choose one"
+ width={600}
+ value={value}
+ />
+ <hr />
+ <h4>Multi select</h4>
+ <Select
+ ignoreAccents={false}
+ name="select-datasource"
+ onChange={() => {}}
+ options={OPTIONS}
+ placeholder="choose one or more values"
+ width={600}
+ value={[OPTIONS[0]]}
+ multi
+ />
+ </>
+ );
+}
SelectGallery.args = {
value: '',
@@ -101,7 +103,7 @@ SelectGallery.story = {
};
// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export const InteractiveSelect = (args: any) => {
+export function InteractiveSelect(args: any) {
const [{ value, multi, clearable, placeholder }, updateArgs] = useArgs();
const onSelect = (selection: {}) => {
const { value }: { value?: any } = selection || {};
@@ -124,7 +126,7 @@ export const InteractiveSelect = (args: any) => {
multi={multi}
/>
);
-};
+}
InteractiveSelect.args = {
value: '',
diff --git a/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.tsx b/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.tsx
index 185829b23a..349107513a 100644
--- a/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.tsx
+++ b/superset-frontend/src/components/DeprecatedSelect/DeprecatedSelect.tsx
@@ -232,9 +232,9 @@ function styled<
const Input =
(components.Input as SelectComponentsType['Input']) ||
(defaultComponents.Input as SelectComponentsType['Input']);
- components.Input = (props: InputProps) => (
- <Input {...props} onPaste={onPaste} />
- );
+ components.Input = function (props: InputProps) {
+ return <Input {...props} onPaste={onPaste} />;
+ };
}
// for CreaTable
if (SelectComponent === WindowedCreatableSelect) {
diff --git a/superset-frontend/src/components/DeprecatedSelect/styles.tsx b/superset-frontend/src/components/DeprecatedSelect/styles.tsx
index f04cfbdba9..59dbc9cafd 100644
--- a/superset-frontend/src/components/DeprecatedSelect/styles.tsx
+++ b/superset-frontend/src/components/DeprecatedSelect/styles.tsx
@@ -92,21 +92,22 @@ export type ThemeConfig = {
export type PartialThemeConfig = RecursivePartial<ThemeConfig>;
-export const defaultTheme: (theme: SupersetTheme) => PartialThemeConfig =
- theme => ({
- borderRadius: theme.borderRadius,
- zIndex: 11,
- colors: colors(theme),
- spacing: {
- baseUnit: 3,
- menuGutter: 0,
- controlHeight: 34,
- lineHeight: 19,
- fontSize: 14,
- minWidth: '6.5em',
- },
- weights: theme.typography.weights,
- });
+export const defaultTheme: (
+ theme: SupersetTheme,
+) => PartialThemeConfig = theme => ({
+ borderRadius: theme.borderRadius,
+ zIndex: 11,
+ colors: colors(theme),
+ spacing: {
+ baseUnit: 3,
+ menuGutter: 0,
+ controlHeight: 34,
+ lineHeight: 19,
+ fontSize: 14,
+ minWidth: '6.5em',
+ },
+ weights: theme.typography.weights,
+});
// let styles accept serialized CSS, too
type CSSStyles = CSSProperties | SerializedStyles;
diff --git a/superset-frontend/src/components/Dropdown/Dropdown.stories.tsx b/superset-frontend/src/components/Dropdown/Dropdown.stories.tsx
index 0d15b17ce4..b287195455 100644
--- a/superset-frontend/src/components/Dropdown/Dropdown.stories.tsx
+++ b/superset-frontend/src/components/Dropdown/Dropdown.stories.tsx
@@ -48,15 +48,17 @@ const customOverlay = (
</div>
);
-export const InteractiveDropdown = ({
+export function InteractiveDropdown({
overlayType,
...rest
-}: DropdownProps & { overlayType: string }) => (
- <Dropdown
- {...rest}
- overlay={overlayType === 'custom' ? customOverlay : menu}
- />
-);
+}: DropdownProps & { overlayType: string }) {
+ return (
+ <Dropdown
+ {...rest}
+ overlay={overlayType === 'custom' ? customOverlay : menu}
+ />
+ );
+}
InteractiveDropdown.argTypes = {
overlayType: {
diff --git a/superset-frontend/src/components/Dropdown/index.tsx b/superset-frontend/src/components/Dropdown/index.tsx
index 1e2e03ceb2..c6cbf0a719 100644
--- a/superset-frontend/src/components/Dropdown/index.tsx
+++ b/superset-frontend/src/components/Dropdown/index.tsx
@@ -88,22 +88,26 @@ const RenderIcon = (
return component;
};
-export const Dropdown = ({
+export function Dropdown({
overlay,
iconOrientation = IconOrientation.VERTICAL,
...rest
-}: DropdownProps) => (
- <AntdDropdown overlay={overlay} {...rest}>
- <MenuDotsWrapper data-test="dropdown-trigger">
- {RenderIcon(iconOrientation)}
- </MenuDotsWrapper>
- </AntdDropdown>
-);
+}: DropdownProps) {
+ return (
+ <AntdDropdown overlay={overlay} {...rest}>
+ <MenuDotsWrapper data-test="dropdown-trigger">
+ {RenderIcon(iconOrientation)}
+ </MenuDotsWrapper>
+ </AntdDropdown>
+ );
+}
interface ExtendedDropDownProps extends DropDownProps {
ref?: RefObject<HTMLDivElement>;
}
-export const NoAnimationDropdown = (
+export function NoAnimationDropdown(
props: ExtendedDropDownProps & { children?: React.ReactNode },
-) => <AntdDropdown overlayStyle={props.overlayStyle} {...props} />;
+) {
+ return <AntdDropdown overlayStyle={props.overlayStyle} {...props} />;
+}
diff --git a/superset-frontend/src/components/DropdownButton/DropdownButton.stories.tsx b/superset-frontend/src/components/DropdownButton/DropdownButton.stories.tsx
index eefe5b781a..89a690512c 100644
--- a/superset-frontend/src/components/DropdownButton/DropdownButton.stories.tsx
+++ b/superset-frontend/src/components/DropdownButton/DropdownButton.stories.tsx
@@ -47,11 +47,13 @@ const PLACEMENTS = [
'topRight',
];
-export const InteractiveDropdownButton = (args: DropdownButtonProps) => (
- <div style={{ margin: '50px 100px' }}>
- <DropdownButton {...args}>Hover</DropdownButton>
- </div>
-);
+export function InteractiveDropdownButton(args: DropdownButtonProps) {
+ return (
+ <div style={{ margin: '50px 100px' }}>
+ <DropdownButton {...args}>Hover</DropdownButton>
+ </div>
+ );
+}
InteractiveDropdownButton.args = {
tooltip: 'Tooltip',
diff --git a/superset-frontend/src/components/DropdownContainer/DropdownContainer.stories.tsx b/superset-frontend/src/components/DropdownContainer/DropdownContainer.stories.tsx
index 4aeaa03a16..5a75111616 100644
--- a/superset-frontend/src/components/DropdownContainer/DropdownContainer.stories.tsx
+++ b/superset-frontend/src/components/DropdownContainer/DropdownContainer.stories.tsx
@@ -59,7 +59,7 @@ const generateItems = (overflowingState?: OverflowingState) =>
),
}));
-export const Component = (props: DropdownContainerProps) => {
+export function Component(props: DropdownContainerProps) {
const [items, setItems] = useState<ItemsType>([]);
const [overflowingState, setOverflowingState] = useState<OverflowingState>();
const containerRef = React.useRef<Ref>(null);
@@ -106,4 +106,4 @@ export const Component = (props: DropdownContainerProps) => {
</span>
</div>
);
-};
+}
diff --git a/superset-frontend/src/components/DropdownContainer/DropdownContainer.test.tsx b/superset-frontend/src/components/DropdownContainer/DropdownContainer.test.tsx
index 4a0fd99062..ba1cfce444 100644
--- a/superset-frontend/src/components/DropdownContainer/DropdownContainer.test.tsx
+++ b/superset-frontend/src/components/DropdownContainer/DropdownContainer.test.tsx
@@ -97,17 +97,17 @@ test('does not render a dropdown button when not overflowing', () => {
});
test('renders a dropdown when overflowing', async () => {
- await mockOverflowingIndex(3, () => {
+ await mockOverflowingIndex(3, async () => {
render(<DropdownContainer items={ITEMS} />);
- userEvent.click(screen.getByText('More'));
+ await userEvent.click(screen.getByText('More'));
expect(screen.getByTestId('dropdown-content')).toBeInTheDocument();
});
});
test('renders children with custom vertical spacing', async () => {
- await mockOverflowingIndex(3, () => {
+ await mockOverflowingIndex(3, async () => {
render(<DropdownContainer items={ITEMS} dropdownStyle={{ gap: 20 }} />);
- userEvent.click(screen.getByText('More'));
+ await userEvent.click(screen.getByText('More'));
expect(screen.getByTestId('dropdown-content')).toHaveStyle('gap: 20px');
});
});
@@ -129,7 +129,7 @@ test('fires event when overflowing state changes', async () => {
});
test('renders a dropdown with custom content', async () => {
- await mockOverflowingIndex(3, () => {
+ await mockOverflowingIndex(3, async () => {
const customDropdownContent = <div>Custom content</div>;
render(
<DropdownContainer
@@ -137,7 +137,7 @@ test('renders a dropdown with custom content', async () => {
dropdownContent={() => customDropdownContent}
/>,
);
- userEvent.click(screen.getByText('More'));
+ await userEvent.click(screen.getByText('More'));
expect(screen.getByText('Custom content')).toBeInTheDocument();
});
});
@@ -150,7 +150,7 @@ test('Shows tooltip on dropdown trigger hover', async () => {
dropdownTriggerTooltip="Test tooltip"
/>,
);
- userEvent.hover(screen.getByText('More'));
+ await userEvent.hover(screen.getByText('More'));
expect(await screen.findByText('Test tooltip')).toBeInTheDocument();
});
});
diff --git a/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.stories.tsx b/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.stories.tsx
index 1b5bfbc520..79d7b4f82e 100644
--- a/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.stories.tsx
+++ b/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.stories.tsx
@@ -25,12 +25,14 @@ export default {
component: DropdownSelectableIcon,
};
-export const Component = (props: DropDownSelectableProps) => (
- <DropdownSelectableIcon
- {...props}
- icon={<Icons.Gear name="gear" iconColor="#000000" />}
- />
-);
+export function Component(props: DropDownSelectableProps) {
+ return (
+ <DropdownSelectableIcon
+ {...props}
+ icon={<Icons.Gear name="gear" iconColor="#000000" />}
+ />
+ );
+}
Component.story = {
parameters: {
diff --git a/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.test.tsx b/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.test.tsx
index 51007d96ff..8bfe9fc1e9 100644
--- a/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.test.tsx
+++ b/superset-frontend/src/components/DropdownSelectableIcon/DropdownSelectableIcon.test.tsx
@@ -40,8 +40,8 @@ const mockedProps = {
const asyncRender = (props: DropDownSelectableProps) =>
waitFor(() => render(<DropdownSelectableIcon {...props} />));
-const openMenu = () => {
- userEvent.click(screen.getByRole('img', { name: 'gear' }));
+const openMenu = async () => {
+ await userEvent.click(screen.getByRole('img', { name: 'gear' }));
};
test('should render', async () => {
diff --git a/superset-frontend/src/components/DropdownSelectableIcon/index.tsx b/superset-frontend/src/components/DropdownSelectableIcon/index.tsx
index f668aa720d..438c4fd4b7 100644
--- a/superset-frontend/src/components/DropdownSelectableIcon/index.tsx
+++ b/superset-frontend/src/components/DropdownSelectableIcon/index.tsx
@@ -69,8 +69,8 @@ const StyledMenu = styled(Menu)`
font-size: ${theme.typography.sizes.s}px;
color: ${theme.colors.grayscale.base};
padding: ${theme.gridUnit}px ${theme.gridUnit * 3}px ${
- theme.gridUnit
- }px ${theme.gridUnit * 3}px;
+ theme.gridUnit
+ }px ${theme.gridUnit * 3}px;
}
.ant-dropdown-menu-item-selected {
color: ${theme.colors.grayscale.dark1};
@@ -97,25 +97,31 @@ const StyleSubmenuItem = styled.div`
}
`;
-export default (props: DropDownSelectableProps) => {
+export default function (props: DropDownSelectableProps) {
const theme = useTheme();
const { icon, info, menuItems, selectedKeys, onSelect } = props;
const menuItem = useMemo(
- () => (label: string | React.ReactNode, key: string, divider?: boolean) =>
- (
- <StyleMenuItem key={key} divider={divider}>
- <StyleSubmenuItem>
- <span>{label}</span>
- {selectedKeys?.includes(key) && (
- <Icons.Check
- iconColor={theme.colors.primary.base}
- className="tick-menu-item"
- iconSize="xl"
- />
- )}
- </StyleSubmenuItem>
- </StyleMenuItem>
- ),
+ () =>
+ function (
+ label: string | React.ReactNode,
+ key: string,
+ divider?: boolean,
+ ) {
+ return (
+ <StyleMenuItem key={key} divider={divider}>
+ <StyleSubmenuItem>
+ <span>{label}</span>
+ {selectedKeys?.includes(key) && (
+ <Icons.Check
+ iconColor={theme.colors.primary.base}
+ className="tick-menu-item"
+ iconSize="xl"
+ />
+ )}
+ </StyleSubmenuItem>
+ </StyleMenuItem>
+ );
+ },
[selectedKeys, theme.colors.primary.base],
);
@@ -152,4 +158,4 @@ export default (props: DropDownSelectableProps) => {
icon={icon}
/>
);
-};
+}
diff --git a/superset-frontend/src/components/DynamicEditableTitle/DynamicEditableTitle.test.tsx b/superset-frontend/src/components/DynamicEditableTitle/DynamicEditableTitle.test.tsx
index 95567d2948..e8fb6f3b1d 100644
--- a/superset-frontend/src/components/DynamicEditableTitle/DynamicEditableTitle.test.tsx
+++ b/superset-frontend/src/components/DynamicEditableTitle/DynamicEditableTitle.test.tsx
@@ -45,25 +45,25 @@ describe('Chart editable title', () => {
expect(screen.getByText('Add the name of the chart')).toBeVisible();
});
- it('click, edit and save title', () => {
+ it('click, edit and save title', async () => {
const props = createProps();
render(<DynamicEditableTitle {...props} />);
const textboxElement = screen.getByRole('textbox');
- userEvent.click(textboxElement);
- userEvent.type(textboxElement, ' edited');
+ await userEvent.click(textboxElement);
+ await userEvent.type(textboxElement, ' edited');
expect(screen.getByText('Chart title edited')).toBeVisible();
- userEvent.type(textboxElement, '{enter}');
+ await userEvent.type(textboxElement, '{enter}');
expect(props.onSave).toHaveBeenCalled();
});
- it('renders in non-editable mode', () => {
+ it('renders in non-editable mode', async () => {
const props = createProps({ canEdit: false });
render(<DynamicEditableTitle {...props} />);
const titleElement = screen.getByLabelText('Chart title');
expect(screen.queryByRole('textbox')).not.toBeInTheDocument();
expect(titleElement).toBeVisible();
- userEvent.click(titleElement);
- userEvent.type(titleElement, ' edited{enter}');
+ await userEvent.click(titleElement);
+ await userEvent.type(titleElement, ' edited{enter}');
expect(props.onSave).not.toHaveBeenCalled();
});
});
diff --git a/superset-frontend/src/components/DynamicEditableTitle/index.tsx b/superset-frontend/src/components/DynamicEditableTitle/index.tsx
index 670962de5f..6a4e4d33b6 100644
--- a/superset-frontend/src/components/DynamicEditableTitle/index.tsx
+++ b/superset-frontend/src/components/DynamicEditableTitle/index.tsx
@@ -75,13 +75,13 @@ const titleStyles = (theme: SupersetTheme) => css`
}
`;
-export const DynamicEditableTitle = ({
+export function DynamicEditableTitle({
title,
placeholder,
onSave,
canEdit,
label,
-}: DynamicEditableTitleProps) => {
+}: DynamicEditableTitleProps) {
const [isEditing, setIsEditing] = useState(false);
const [currentTitle, setCurrentTitle] = useState(title || '');
const contentRef = useRef<HTMLInputElement>(null);
@@ -212,4 +212,4 @@ export const DynamicEditableTitle = ({
<span ref={sizerRef} className="input-sizer" aria-hidden tabIndex={-1} />
</div>
);
-};
+}
diff --git a/superset-frontend/src/components/EditableTitle/EditableTitle.stories.tsx b/superset-frontend/src/components/EditableTitle/EditableTitle.stories.tsx
index de7cbb94f3..cfa5979850 100644
--- a/superset-frontend/src/components/EditableTitle/EditableTitle.stories.tsx
+++ b/superset-frontend/src/components/EditableTitle/EditableTitle.stories.tsx
@@ -24,9 +24,9 @@ export default {
component: EditableTitle,
};
-export const InteractiveEditableTitle = (props: EditableTitleProps) => (
- <EditableTitle {...props} />
-);
+export function InteractiveEditableTitle(props: EditableTitleProps) {
+ return <EditableTitle {...props} />;
+}
InteractiveEditableTitle.args = {
canEdit: true,
diff --git a/superset-frontend/src/components/EmptyState/EmptyState.stories.tsx b/superset-frontend/src/components/EmptyState/EmptyState.stories.tsx
index 7872c4ec92..7de294b67f 100644
--- a/superset-frontend/src/components/EmptyState/EmptyState.stories.tsx
+++ b/superset-frontend/src/components/EmptyState/EmptyState.stories.tsx
@@ -28,46 +28,56 @@ export default {
component: EmptyStateMedium,
};
-export const SmallEmptyState = () => (
- <EmptyStateSmall
- image={<FilterImage />}
- title="Small empty state"
- description="This is an example of a small empty state"
- />
-);
+export function SmallEmptyState() {
+ return (
+ <EmptyStateSmall
+ image={<FilterImage />}
+ title="Small empty state"
+ description="This is an example of a small empty state"
+ />
+ );
+}
-export const MediumEmptyState = () => (
- <EmptyStateMedium
- image={<ChartImage />}
- title="Medium empty state"
- description="This is an example of a medium empty state"
- />
-);
+export function MediumEmptyState() {
+ return (
+ <EmptyStateMedium
+ image={<ChartImage />}
+ title="Medium empty state"
+ description="This is an example of a medium empty state"
+ />
+ );
+}
-export const MediumEmptyStateWithButton = () => (
- <EmptyStateMedium
- image={<EmptyImage />}
- title="Medium empty state"
- description="This is an example of a medium empty state with a button"
- buttonAction={() => {}}
- buttonText="Click!"
- />
-);
+export function MediumEmptyStateWithButton() {
+ return (
+ <EmptyStateMedium
+ image={<EmptyImage />}
+ title="Medium empty state"
+ description="This is an example of a medium empty state with a button"
+ buttonAction={() => {}}
+ buttonText="Click!"
+ />
+ );
+}
-export const BigEmptyState = () => (
- <EmptyStateBig
- image={<EmptyImage />}
- title="Big empty state"
- description="This is an example of a big empty state"
- />
-);
+export function BigEmptyState() {
+ return (
+ <EmptyStateBig
+ image={<EmptyImage />}
+ title="Big empty state"
+ description="This is an example of a big empty state"
+ />
+ );
+}
-export const BigEmptyStateWithButton = () => (
- <EmptyStateBig
- image={<ChartImage />}
- title="Big empty state"
- description="This is an example of a big empty state with a button"
- buttonText="Click!"
- buttonAction={() => {}}
- />
-);
+export function BigEmptyStateWithButton() {
+ return (
+ <EmptyStateBig
+ image={<ChartImage />}
+ title="Big empty state"
+ description="This is an example of a big empty state with a button"
+ buttonText="Click!"
+ buttonAction={() => {}}
+ />
+ );
+}
diff --git a/superset-frontend/src/components/EmptyState/index.tsx b/superset-frontend/src/components/EmptyState/index.tsx
index 95c454b0ae..2838056512 100644
--- a/superset-frontend/src/components/EmptyState/index.tsx
+++ b/superset-frontend/src/components/EmptyState/index.tsx
@@ -134,95 +134,103 @@ const getImageHeight = (size: EmptyStateSize) => {
}
};
-const ImageContainer = ({ image, size }: ImageContainerProps) => (
- <Empty
- description={false}
- image={getImage(image)}
- imageStyle={getImageHeight(size)}
- />
-);
+function ImageContainer({ image, size }: ImageContainerProps) {
+ return (
+ <Empty
+ description={false}
+ image={getImage(image)}
+ imageStyle={getImageHeight(size)}
+ />
+ );
+}
const handleMouseDown = (e: SyntheticEvent) => {
e.preventDefault();
e.stopPropagation();
};
-export const EmptyStateBig = ({
+export function EmptyStateBig({
title,
image,
description,
buttonAction,
buttonText,
className,
-}: EmptyStateProps) => (
- <EmptyStateContainer className={className}>
- {image && <ImageContainer image={image} size={EmptyStateSize.Big} />}
- <TextContainer
- css={(theme: SupersetTheme) => css`
- max-width: ${theme.gridUnit * 150}px;
- `}
- >
- <BigTitle>{title}</BigTitle>
- {description && <BigDescription>{description}</BigDescription>}
- {buttonAction && buttonText && (
- <ActionButton
- buttonStyle="primary"
- onClick={buttonAction}
- onMouseDown={handleMouseDown}
- >
- {buttonText}
- </ActionButton>
- )}
- </TextContainer>
- </EmptyStateContainer>
-);
+}: EmptyStateProps) {
+ return (
+ <EmptyStateContainer className={className}>
+ {image && <ImageContainer image={image} size={EmptyStateSize.Big} />}
+ <TextContainer
+ css={(theme: SupersetTheme) => css`
+ max-width: ${theme.gridUnit * 150}px;
+ `}
+ >
+ <BigTitle>{title}</BigTitle>
+ {description && <BigDescription>{description}</BigDescription>}
+ {buttonAction && buttonText && (
+ <ActionButton
+ buttonStyle="primary"
+ onClick={buttonAction}
+ onMouseDown={handleMouseDown}
+ >
+ {buttonText}
+ </ActionButton>
+ )}
+ </TextContainer>
+ </EmptyStateContainer>
+ );
+}
-export const EmptyStateMedium = ({
+export function EmptyStateMedium({
title,
image,
description,
buttonAction,
buttonText,
-}: EmptyStateProps) => (
- <EmptyStateContainer>
- {image && <ImageContainer image={image} size={EmptyStateSize.Medium} />}
- <TextContainer
- css={(theme: SupersetTheme) => css`
- max-width: ${theme.gridUnit * 100}px;
- `}
- >
- <Title>{title}</Title>
- {description && <Description>{description}</Description>}
- {buttonText && buttonAction && (
- <ActionButton
- buttonStyle="primary"
- onClick={buttonAction}
- onMouseDown={handleMouseDown}
- >
- {buttonText}
- </ActionButton>
- )}
- </TextContainer>
- </EmptyStateContainer>
-);
+}: EmptyStateProps) {
+ return (
+ <EmptyStateContainer>
+ {image && <ImageContainer image={image} size={EmptyStateSize.Medium} />}
+ <TextContainer
+ css={(theme: SupersetTheme) => css`
+ max-width: ${theme.gridUnit * 100}px;
+ `}
+ >
+ <Title>{title}</Title>
+ {description && <Description>{description}</Description>}
+ {buttonText && buttonAction && (
+ <ActionButton
+ buttonStyle="primary"
+ onClick={buttonAction}
+ onMouseDown={handleMouseDown}
+ >
+ {buttonText}
+ </ActionButton>
+ )}
+ </TextContainer>
+ </EmptyStateContainer>
+ );
+}
-export const EmptyStateSmall = ({
+export function EmptyStateSmall({
title,
image,
description,
-}: EmptyStateSmallProps) => (
- <EmptyStateContainer>
- {image && <ImageContainer image={image} size={EmptyStateSize.Small} />}
- <TextContainer
- css={(theme: SupersetTheme) => css`
- max-width: ${theme.gridUnit * 75}px;
- `}
- >
- <Title>{title}</Title>
- {description && <SmallDescription>{description}</SmallDescription>}
- </TextContainer>
- </EmptyStateContainer>
-);
+}: EmptyStateSmallProps) {
+ return (
+ <EmptyStateContainer>
+ {image && <ImageContainer image={image} size={EmptyStateSize.Small} />}
+ <TextContainer
+ css={(theme: SupersetTheme) => css`
+ max-width: ${theme.gridUnit * 75}px;
+ `}
+ >
+ <Title>{title}</Title>
+ {description && <SmallDescription>{description}</SmallDescription>}
+ </TextContainer>
+ </EmptyStateContainer>
+ );
+}
const TRANSLATIONS = {
NO_DATABASES_MATCH_TITLE: t('No databases match your search'),
diff --git a/superset-frontend/src/components/ErrorMessage/BasicErrorAlert.test.tsx b/superset-frontend/src/components/ErrorMessage/BasicErrorAlert.test.tsx
index dd2187c931..38f2056fa0 100644
--- a/superset-frontend/src/components/ErrorMessage/BasicErrorAlert.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/BasicErrorAlert.test.tsx
@@ -26,8 +26,9 @@ import { ErrorLevel } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
diff --git a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
index c8dbe8ba34..9ce53795a6 100644
--- a/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/DatabaseErrorMessage.test.tsx
@@ -26,8 +26,9 @@ import { ErrorLevel, ErrorSource, ErrorTypeEnum } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
@@ -59,17 +60,17 @@ test('should render', () => {
expect(container).toBeInTheDocument();
});
-test('should render the error message', () => {
+test('should render the error message', async () => {
render(<DatabaseErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Error message')).toBeInTheDocument();
});
-test('should render the issue codes', () => {
+test('should render the issue codes', async () => {
render(<DatabaseErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText(/This may be triggered by:/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message A/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message B/)).toBeInTheDocument();
@@ -80,10 +81,10 @@ test('should render the engine name', () => {
expect(screen.getByText(/Engine name/)).toBeInTheDocument();
});
-test('should render the owners', () => {
+test('should render the owners', async () => {
render(<DatabaseErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(
screen.getByText('Please reach out to the Chart Owners for assistance.'),
).toBeInTheDocument();
@@ -92,7 +93,7 @@ test('should render the owners', () => {
).toBeInTheDocument();
});
-test('should NOT render the owners', () => {
+test('should NOT render the owners', async () => {
const noVisualizationProps = {
...mockedProps,
source: 'sqllab' as ErrorSource,
@@ -101,7 +102,7 @@ test('should NOT render the owners', () => {
useRedux: true,
});
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(
screen.queryByText('Chart Owners: Owner A, Owner B'),
).not.toBeInTheDocument();
diff --git a/superset-frontend/src/components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx b/superset-frontend/src/components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx
index e73d2eb93b..a6c35874e2 100644
--- a/superset-frontend/src/components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/DatasetNotFoundErrorMessage.test.tsx
@@ -25,8 +25,9 @@ import { ErrorLevel, ErrorSource, ErrorTypeEnum } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
diff --git a/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx b/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
index 2c2f1c2349..eef4e1f1b3 100644
--- a/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
@@ -28,8 +28,9 @@ import { ErrorLevel, ErrorSource } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
jest.mock('src/utils/isBot', () => ({
@@ -89,17 +90,17 @@ test('should render the error description', () => {
expect(screen.getByText('we are unable to connect db.')).toBeInTheDocument();
});
-test('should render the error subtitle', () => {
+test('should render the error subtitle', async () => {
render(<ErrorAlert {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Error subtitle')).toBeInTheDocument();
});
-test('should render the error body', () => {
+test('should render the error body', async () => {
render(<ErrorAlert {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Error body')).toBeInTheDocument();
});
@@ -124,41 +125,41 @@ test('should render the error subtitle and body defaultly for the screen capture
expect(screen.getByText('Error body')).toBeInTheDocument();
});
-test('should render the modal', () => {
+test('should render the modal', async () => {
render(<ErrorAlert {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByRole('dialog')).toBeInTheDocument();
expect(screen.getByText('Close')).toBeInTheDocument();
});
-test('should NOT render the modal', () => {
+test('should NOT render the modal', async () => {
const expandableProps = {
...mockedProps,
source: 'explore' as ErrorSource,
};
render(<ErrorAlert {...expandableProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
});
-test('should render the See less button', () => {
+test('should render the See less button', async () => {
const expandableProps = {
...mockedProps,
source: 'explore' as ErrorSource,
};
render(<ErrorAlert {...expandableProps} />);
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('See less')).toBeInTheDocument();
expect(screen.queryByText('See more')).not.toBeInTheDocument();
});
-test('should render the Copy button', () => {
+test('should render the Copy button', async () => {
render(<ErrorAlert {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Copy message')).toBeInTheDocument();
});
diff --git a/superset-frontend/src/components/ErrorMessage/ErrorMessageWithStackTrace.test.tsx b/superset-frontend/src/components/ErrorMessage/ErrorMessageWithStackTrace.test.tsx
index 99f22955a3..1dd28a5bcd 100644
--- a/superset-frontend/src/components/ErrorMessage/ErrorMessageWithStackTrace.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ErrorMessageWithStackTrace.test.tsx
@@ -27,8 +27,9 @@ import { ErrorLevel, ErrorSource, ErrorTypeEnum } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
@@ -43,17 +44,17 @@ test('should render', () => {
expect(container).toBeInTheDocument();
});
-test('should render the stacktrace', () => {
+test('should render the stacktrace', async () => {
render(<ErrorMessageWithStackTrace {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Stacktrace')).toBeInTheDocument();
});
-test('should render the link', () => {
+test('should render the link', async () => {
render(<ErrorMessageWithStackTrace {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
const link = screen.getByRole('link');
expect(link).toHaveTextContent('(Request Access)');
expect(link).toHaveAttribute('href', mockedProps.link);
diff --git a/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.test.tsx b/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.test.tsx
index e8be71b7e3..c2c5d2b642 100644
--- a/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.test.tsx
@@ -26,8 +26,9 @@ import { ErrorLevel, ErrorSource, ErrorTypeEnum } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
@@ -64,26 +65,26 @@ test('should render the default title', () => {
expect(screen.getByText('Parameter error')).toBeInTheDocument();
});
-test('should render the error message', () => {
+test('should render the error message', async () => {
render(<ParameterErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText('Error message')).toBeInTheDocument();
});
-test('should render the issue codes', () => {
+test('should render the issue codes', async () => {
render(<ParameterErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText(/This may be triggered by:/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message A/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message B/)).toBeInTheDocument();
});
-test('should render the suggestions', () => {
+test('should render the suggestions', async () => {
render(<ParameterErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText(/Did you mean:/)).toBeInTheDocument();
expect(screen.getByText('"state" instead of "stat?"')).toBeInTheDocument();
expect(screen.getByText('"country" instead of "count?"')).toBeInTheDocument();
diff --git a/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.tsx b/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.tsx
index 739cfa74a6..2d88530818 100644
--- a/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ParameterErrorMessage.tsx
@@ -70,41 +70,39 @@ function ParameterErrorMessage({
);
const body = (
- <>
- <p>
- {Object.keys(matches).length > 0 && (
- <>
- <p>{t('Did you mean:')}</p>
- <ul>
- {Object.entries(matches).map(
- ([undefinedParameter, templateKeys]) => (
- <li>
- {tn(
- '%(suggestion)s instead of "%(undefinedParameter)s?"',
- '%(firstSuggestions)s or %(lastSuggestion)s instead of "%(undefinedParameter)s"?',
- templateKeys.length,
- {
- suggestion: templateKeys.join(', '),
- firstSuggestions: templateKeys.slice(0, -1).join(', '),
- lastSuggestion: templateKeys[templateKeys.length - 1],
- undefinedParameter,
- },
- )}
- </li>
- ),
- )}
- </ul>
- <br />
- </>
- )}
- {triggerMessage}
- <br />
- {extra.issue_codes.length > 0 &&
- extra.issue_codes
- .map<React.ReactNode>(issueCode => <IssueCode {...issueCode} />)
- .reduce((prev, curr) => [prev, <br />, curr])}
- </p>
- </>
+ <p>
+ {Object.keys(matches).length > 0 && (
+ <>
+ <p>{t('Did you mean:')}</p>
+ <ul>
+ {Object.entries(matches).map(
+ ([undefinedParameter, templateKeys]) => (
+ <li>
+ {tn(
+ '%(suggestion)s instead of "%(undefinedParameter)s?"',
+ '%(firstSuggestions)s or %(lastSuggestion)s instead of "%(undefinedParameter)s"?',
+ templateKeys.length,
+ {
+ suggestion: templateKeys.join(', '),
+ firstSuggestions: templateKeys.slice(0, -1).join(', '),
+ lastSuggestion: templateKeys[templateKeys.length - 1],
+ undefinedParameter,
+ },
+ )}
+ </li>
+ ),
+ )}
+ </ul>
+ <br />
+ </>
+ )}
+ {triggerMessage}
+ <br />
+ {extra.issue_codes.length > 0 &&
+ extra.issue_codes
+ .map<React.ReactNode>(issueCode => <IssueCode {...issueCode} />)
+ .reduce((prev, curr) => [prev, <br />, curr])}
+ </p>
);
const copyText = `${message}
diff --git a/superset-frontend/src/components/ErrorMessage/TimeoutErrorMessage.test.tsx b/superset-frontend/src/components/ErrorMessage/TimeoutErrorMessage.test.tsx
index cc3a8a9a59..10cd7b24d7 100644
--- a/superset-frontend/src/components/ErrorMessage/TimeoutErrorMessage.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/TimeoutErrorMessage.test.tsx
@@ -26,8 +26,9 @@ import { ErrorLevel, ErrorSource, ErrorTypeEnum } from './types';
jest.mock(
'src/components/Icons/Icon',
() =>
- ({ fileName }: { fileName: string }) =>
- <span role="img" aria-label={fileName.replace('_', '-')} />,
+ function ({ fileName }: { fileName: string }) {
+ return <span role="img" aria-label={fileName.replace('_', '-')} />;
+ },
);
const mockedProps = {
@@ -63,19 +64,19 @@ test('should render the default title', () => {
expect(screen.getByText('Timeout error')).toBeInTheDocument();
});
-test('should render the issue codes', () => {
+test('should render the issue codes', async () => {
render(<TimeoutErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(screen.getByText(/This may be triggered by:/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message A/)).toBeInTheDocument();
expect(screen.getByText(/Issue code message B/)).toBeInTheDocument();
});
-test('should render the owners', () => {
+test('should render the owners', async () => {
render(<TimeoutErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(
screen.getByText('Please reach out to the Chart Owners for assistance.'),
).toBeInTheDocument();
@@ -84,7 +85,7 @@ test('should render the owners', () => {
).toBeInTheDocument();
});
-test('should NOT render the owners', () => {
+test('should NOT render the owners', async () => {
const noVisualizationProps = {
...mockedProps,
source: 'sqllab' as ErrorSource,
@@ -93,16 +94,16 @@ test('should NOT render the owners', () => {
useRedux: true,
});
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(
screen.queryByText('Chart Owners: Owner A, Owner B'),
).not.toBeInTheDocument();
});
-test('should render the timeout message', () => {
+test('should render the timeout message', async () => {
render(<TimeoutErrorMessage {...mockedProps} />, { useRedux: true });
const button = screen.getByText('See more');
- userEvent.click(button);
+ await userEvent.click(button);
expect(
screen.getByText(
/We’re having trouble loading this visualization. Queries are set to timeout after 30 seconds./,
diff --git a/superset-frontend/src/components/ErrorMessage/getErrorMessageComponentRegistry.test.tsx b/superset-frontend/src/components/ErrorMessage/getErrorMessageComponentRegistry.test.tsx
index 6cff2de4d4..64910b1145 100644
--- a/superset-frontend/src/components/ErrorMessage/getErrorMessageComponentRegistry.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/getErrorMessageComponentRegistry.test.tsx
@@ -21,14 +21,14 @@ import getErrorMessageComponentRegistry from 'src/components/ErrorMessage/getErr
import { ErrorMessageComponentProps } from 'src/components/ErrorMessage/types';
// eslint-disable-next-line @typescript-eslint/no-unused-vars
-const ERROR_MESSAGE_COMPONENT = (_: ErrorMessageComponentProps) => (
- <div>Test error</div>
-);
+function ERROR_MESSAGE_COMPONENT(_: ErrorMessageComponentProps) {
+ return <div>Test error</div>;
+}
// eslint-disable-next-line @typescript-eslint/no-unused-vars
-const OVERRIDE_ERROR_MESSAGE_COMPONENT = (_: ErrorMessageComponentProps) => (
- <div>Custom error</div>
-);
+function OVERRIDE_ERROR_MESSAGE_COMPONENT(_: ErrorMessageComponentProps) {
+ return <div>Custom error</div>;
+}
test('should return undefined for a non existent key', () => {
expect(getErrorMessageComponentRegistry().get('INVALID_KEY')).toEqual(
diff --git a/superset-frontend/src/components/FacePile/FacePile.stories.tsx b/superset-frontend/src/components/FacePile/FacePile.stories.tsx
index aa0d998497..1b226dafe1 100644
--- a/superset-frontend/src/components/FacePile/FacePile.stories.tsx
+++ b/superset-frontend/src/components/FacePile/FacePile.stories.tsx
@@ -55,6 +55,6 @@ const users = [...new Array(10)].map((_, i) => ({
id: i,
}));
-export const SupersetFacePile = () => (
- <FacePile users={users} maxCount={number('maxCount', 4)} />
-);
+export function SupersetFacePile() {
+ return <FacePile users={users} maxCount={number('maxCount', 4)} />;
+}
diff --git a/superset-frontend/src/components/FaveStar/FaveStar.test.tsx b/superset-frontend/src/components/FaveStar/FaveStar.test.tsx
index 1ecb372dd0..9ac49809e4 100644
--- a/superset-frontend/src/components/FaveStar/FaveStar.test.tsx
+++ b/superset-frontend/src/components/FaveStar/FaveStar.test.tsx
@@ -38,20 +38,20 @@ test('render right content', async () => {
screen.getByRole('img', { name: 'favorite-selected' }),
).toBeInTheDocument();
- expect(props.saveFaveStar).toBeCalledTimes(0);
- userEvent.click(screen.getByRole('button'));
- expect(props.saveFaveStar).toBeCalledTimes(1);
- expect(props.saveFaveStar).toBeCalledWith(props.itemId, true);
+ expect(props.saveFaveStar).toHaveBeenCalledTimes(0);
+ await userEvent.click(screen.getByRole('button'));
+ expect(props.saveFaveStar).toHaveBeenCalledTimes(1);
+ expect(props.saveFaveStar).toHaveBeenCalledWith(props.itemId, true);
rerender(<FaveStar {...props} />);
expect(
await findByRole('img', { name: 'favorite-unselected' }),
).toBeInTheDocument();
- expect(props.saveFaveStar).toBeCalledTimes(1);
- userEvent.click(screen.getByRole('button'));
- expect(props.saveFaveStar).toBeCalledTimes(2);
- expect(props.saveFaveStar).toBeCalledWith(props.itemId, false);
+ expect(props.saveFaveStar).toHaveBeenCalledTimes(1);
+ await userEvent.click(screen.getByRole('button'));
+ expect(props.saveFaveStar).toHaveBeenCalledTimes(2);
+ expect(props.saveFaveStar).toHaveBeenCalledWith(props.itemId, false);
});
test('render content on tooltip', async () => {
@@ -88,9 +88,9 @@ test('Call fetchFaveStar on first render and on itemId change', async () => {
expect(
await findByRole('img', { name: 'favorite-unselected' }),
).toBeInTheDocument();
- expect(props.fetchFaveStar).toBeCalledTimes(1);
- expect(props.fetchFaveStar).toBeCalledWith(props.itemId);
+ expect(props.fetchFaveStar).toHaveBeenCalledTimes(1);
+ expect(props.fetchFaveStar).toHaveBeenCalledWith(props.itemId);
rerender(<FaveStar {...{ ...props, itemId: 2 }} />);
- expect(props.fetchFaveStar).toBeCalledTimes(2);
+ expect(props.fetchFaveStar).toHaveBeenCalledTimes(2);
});
diff --git a/superset-frontend/src/components/FaveStar/index.tsx b/superset-frontend/src/components/FaveStar/index.tsx
index 8b5d3ee89a..242c78701d 100644
--- a/superset-frontend/src/components/FaveStar/index.tsx
+++ b/superset-frontend/src/components/FaveStar/index.tsx
@@ -38,13 +38,13 @@ const StyledLink = styled.a`
`};
`;
-const FaveStar = ({
+function FaveStar({
itemId,
isStarred,
showTooltip,
saveFaveStar,
fetchFaveStar,
-}: FaveStarProps) => {
+}: FaveStarProps) {
useEffect(() => {
fetchFaveStar?.(itemId);
}, [fetchFaveStar, itemId]);
@@ -81,5 +81,5 @@ const FaveStar = ({
}
return content;
-};
+}
export default FaveStar;
diff --git a/superset-frontend/src/components/FilterableTable/FilterableTable.stories.tsx b/superset-frontend/src/components/FilterableTable/FilterableTable.stories.tsx
index 3b774f4f4d..f689a6f881 100644
--- a/superset-frontend/src/components/FilterableTable/FilterableTable.stories.tsx
+++ b/superset-frontend/src/components/FilterableTable/FilterableTable.stories.tsx
@@ -24,11 +24,13 @@ export default {
component: FilterableTable,
};
-export const InteractiveTable = (args: FilterableTableProps) => (
- <div css={{ maxWidth: 700 }}>
- <FilterableTable {...args} />
- </div>
-);
+export function InteractiveTable(args: FilterableTableProps) {
+ return (
+ <div css={{ maxWidth: 700 }}>
+ <FilterableTable {...args} />
+ </div>
+ );
+}
InteractiveTable.args = {
filterText: '',
diff --git a/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx b/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx
index 3cc04f8c25..937ec56a07 100644
--- a/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx
+++ b/superset-frontend/src/components/FilterableTable/FilterableTable.test.tsx
@@ -52,8 +52,8 @@ describe('FilterableTable', () => {
};
const { getByText, queryByText } = render(<FilterableTable {...props} />);
expect(getByText(props.filterText)).toBeInTheDocument();
- expect(queryByText('b2')).toBeFalsy();
- expect(queryByText('b3')).toBeFalsy();
+ expect(queryByText('b2')).not.toBeInTheDocument();
+ expect(queryByText('b3')).not.toBeInTheDocument();
});
it('filters on a number', () => {
const props = {
@@ -62,13 +62,13 @@ describe('FilterableTable', () => {
};
const { getByText, queryByText } = render(<FilterableTable {...props} />);
expect(getByText('b2')).toBeInTheDocument();
- expect(queryByText('b1')).toBeFalsy();
- expect(queryByText('b3')).toBeFalsy();
+ expect(queryByText('b1')).not.toBeInTheDocument();
+ expect(queryByText('b3')).not.toBeInTheDocument();
});
});
describe('FilterableTable sorting - RTL', () => {
- it('sorts strings correctly', () => {
+ it('sorts strings correctly', async () => {
const stringProps = {
orderedColumnKeys: ['columnA'],
data: [
@@ -93,7 +93,7 @@ describe('FilterableTable sorting - RTL', () => {
if (stringColumn) {
// First click to sort ascending
- userEvent.click(stringColumn);
+ await userEvent.click(stringColumn);
}
expect(gridCells?.textContent).toEqual(
@@ -102,7 +102,7 @@ describe('FilterableTable sorting - RTL', () => {
if (stringColumn) {
// Second click to sort descending
- userEvent.click(stringColumn);
+ await userEvent.click(stringColumn);
}
expect(gridCells?.textContent).toEqual(
@@ -111,14 +111,14 @@ describe('FilterableTable sorting - RTL', () => {
... 15822 lines suppressed ...
(superset) 02/02: Dealing with VX deps
Posted by ru...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rusackas pushed a commit to branch bump-react-and-eslint
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 13edf94bb3920b0280e1cd14a235ebe2a5f6459d
Author: Evan Rusackas <ev...@rusackas.com>
AuthorDate: Thu Jan 11 10:04:33 2024 -0700
Dealing with VX deps
---
superset-frontend/package-lock.json | 123103 ++++++++++--------
.../src/chart-composition/legend/WithLegend.tsx | 2 +-
.../legacy-plugin-chart-histogram/package.json | 4 +-
.../src/Histogram.jsx | 4 +-
.../src/WithLegend.jsx | 2 +-
.../AceEditorWrapper/AceEditorWrapper.test.tsx | 2 +-
.../src/visualizations/TimeTable/types.d.ts | 19 -
7 files changed, 70517 insertions(+), 52619 deletions(-)
diff --git a/superset-frontend/package-lock.json b/superset-frontend/package-lock.json
index d84c688b12..5769e50d5a 100644
--- a/superset-frontend/package-lock.json
+++ b/superset-frontend/package-lock.json
@@ -50,12 +50,12 @@
"@superset-ui/plugin-chart-word-cloud": "file:./plugins/plugin-chart-word-cloud",
"@superset-ui/switchboard": "file:./packages/superset-ui-switchboard",
"@types/d3-format": "^3.0.1",
- "@visx/axis": "^3.0.1",
- "@visx/grid": "^3.0.1",
- "@visx/responsive": "^3.0.0",
- "@visx/scale": "^3.0.0",
- "@visx/tooltip": "^3.0.0",
- "@visx/xychart": "^3.0.0",
+ "@visx/axis": "^3.5.0",
+ "@visx/grid": "^3.5.0",
+ "@visx/responsive": "^3.3.0",
+ "@visx/scale": "^3.5.0",
+ "@visx/tooltip": "^3.3.0",
+ "@visx/xychart": "^3.5.1",
"abortcontroller-polyfill": "^1.1.9",
"ace-builds": "^1.4.14",
"ansi-regex": "^4.1.1",
@@ -66,9 +66,11 @@
"bootstrap-slider": "^10.0.0",
"brace": "^0.11.1",
"broadcast-channel": "^4.10.0",
+ "caniuse-lite": "^1.0.30001576",
"chrono-node": "^2.2.6",
"classnames": "^2.2.5",
"core-js": "^3.6.5",
+ "currencyformatter.js": "^2.2.0",
"d3-array": "^1.2.4",
"d3-color": "^3.1.0",
"d3-scale": "^2.1.2",
@@ -103,7 +105,7 @@
"prop-types": "^15.7.2",
"query-string": "^6.13.7",
"re-resizable": "^6.6.1",
- "react": "^16.13.1",
+ "react": "^17.0.0",
"react-ace": "^10.1.0",
"react-checkbox-tree": "^1.8.0",
"react-color": "^2.13.8",
@@ -111,7 +113,7 @@
"react-diff-viewer-continued": "^3.2.5",
"react-dnd": "^11.1.3",
"react-dnd-html5-backend": "^11.1.3",
- "react-dom": "^16.13.0",
+ "react-dom": "^17.0.0",
"react-draggable": "^4.4.3",
"react-gravatar": "^2.6.1",
"react-hot-loader": "^4.13.1",
@@ -156,7 +158,7 @@
"@babel/cli": "^7.22.6",
"@babel/compat-data": "^7.22.6",
"@babel/core": "^7.22.8",
- "@babel/eslint-parser": "^7.22.7",
+ "@babel/eslint-parser": "^7.23.3",
"@babel/node": "^7.22.6",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
@@ -165,8 +167,8 @@
"@babel/preset-env": "^7.22.7",
"@babel/preset-react": "^7.22.5",
"@babel/register": "^7.22.5",
- "@cypress/react": "^5.10.0",
- "@emotion/jest": "^11.3.0",
+ "@cypress/react": "^8.0.0",
+ "@emotion/jest": "^11.11.0",
"@hot-loader/react-dom": "^16.13.0",
"@istanbuljs/nyc-config-typescript": "^1.0.1",
"@storybook/addon-actions": "^6.4.22",
@@ -180,17 +182,16 @@
"@storybook/manager-webpack5": "^6.4.22",
"@storybook/react": "^6.4.22",
"@svgr/webpack": "^8.0.1",
- "@testing-library/dom": "^7.29.4",
- "@testing-library/jest-dom": "^5.11.6",
- "@testing-library/react": "^11.2.0",
- "@testing-library/react-hooks": "^5.0.3",
- "@testing-library/user-event": "^12.7.0",
+ "@testing-library/dom": "^9.3.4",
+ "@testing-library/jest-dom": "^6.2.0",
+ "@testing-library/react": "^12.0.0",
+ "@testing-library/react-hooks": "^8.0.1",
+ "@testing-library/user-event": "^14.5.2",
"@types/classnames": "^2.2.10",
"@types/dom-to-image": "^2.6.7",
"@types/enzyme": "^3.10.5",
- "@types/enzyme-adapter-react-16": "^1.0.6",
"@types/fetch-mock": "^7.3.2",
- "@types/jest": "^26.0.3",
+ "@types/jest": "^29.5.11",
"@types/jquery": "^3.5.8",
"@types/js-levenshtein": "^1.1.0",
"@types/json-bigint": "^1.0.1",
@@ -214,8 +215,8 @@
"@types/sinon": "^9.0.5",
"@types/tinycolor2": "^1.4.3",
"@types/yargs": "12 - 15",
- "@typescript-eslint/eslint-plugin": "^5.62.0",
- "@typescript-eslint/parser": "^5.62.0",
+ "@typescript-eslint/eslint-plugin": "^6.18.1",
+ "@typescript-eslint/parser": "^6.18.1",
"babel-jest": "^26.6.3",
"babel-loader": "^8.3.0",
"babel-plugin-dynamic-import-node": "^2.3.3",
@@ -228,21 +229,21 @@
"css-minimizer-webpack-plugin": "^3.4.1",
"enzyme": "^3.11.0",
"enzyme-adapter-react-16": "^1.15.7",
- "eslint": "^7.32.0",
- "eslint-config-airbnb": "^18.2.1",
- "eslint-config-prettier": "^7.1.0",
- "eslint-import-resolver-typescript": "^2.5.0",
- "eslint-plugin-cypress": "^2.11.2",
- "eslint-plugin-file-progress": "^1.2.0",
- "eslint-plugin-import": "^2.24.2",
- "eslint-plugin-jest": "^24.7.0",
- "eslint-plugin-jest-dom": "^3.6.5",
- "eslint-plugin-jsx-a11y": "^6.4.1",
- "eslint-plugin-no-only-tests": "^2.4.0",
- "eslint-plugin-prettier": "^4.0.0",
- "eslint-plugin-react": "^7.22.0",
- "eslint-plugin-react-hooks": "^4.2.0",
- "eslint-plugin-testing-library": "^3.10.2",
+ "eslint": "^8.56.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-import-resolver-typescript": "^3.6.1",
+ "eslint-plugin-cypress": "^2.15.1",
+ "eslint-plugin-file-progress": "^1.3.0",
+ "eslint-plugin-import": "^2.29.1",
+ "eslint-plugin-jest": "^27.6.2",
+ "eslint-plugin-jest-dom": "^5.1.0",
+ "eslint-plugin-jsx-a11y": "^6.8.0",
+ "eslint-plugin-no-only-tests": "^3.1.0",
+ "eslint-plugin-prettier": "^5.1.3",
+ "eslint-plugin-react": "^7.33.2",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-testing-library": "^6.2.0",
"eslint-plugin-theme-colors": "file:tools/eslint-plugin-theme-colors",
"eslint-plugin-translation-vars": "file:tools/eslint-plugin-translation-vars",
"exports-loader": "^0.7.0",
@@ -251,7 +252,7 @@
"history": "^4.10.1",
"ignore-styles": "^5.0.1",
"imports-loader": "^3.1.1",
- "jest": "^26.6.3",
+ "jest": "^29.7.0",
"jest-environment-enzyme": "^7.1.2",
"jest-enzyme": "^7.1.2",
"jest-websocket-mock": "^2.2.0",
@@ -262,11 +263,11 @@
"mini-css-extract-plugin": "^2.7.6",
"mock-socket": "^9.0.3",
"node-fetch": "^2.6.7",
- "prettier": "^2.4.1",
- "prettier-plugin-packagejson": "^2.2.15",
+ "prettier": "^3.1.1",
+ "prettier-plugin-packagejson": "^2.4.9",
"process": "^0.11.10",
"react-resizable": "^3.0.4",
- "react-test-renderer": "^16.9.0",
+ "react-test-renderer": "^17.0.0",
"redux-mock-store": "^1.5.4",
"sinon": "^9.0.2",
"source-map": "^0.7.4",
@@ -304,6 +305,15 @@
"npm": "^7.5.4"
}
},
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@actions/core": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.9.1.tgz",
@@ -344,6 +354,11 @@
"tunnel": "^0.0.6"
}
},
+ "node_modules/@adobe/css-tools": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz",
+ "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw=="
+ },
"node_modules/@ampproject/remapping": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
@@ -396,9 +411,9 @@
}
},
"node_modules/@ant-design/icons-svg": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz",
- "integrity": "sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw=="
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz",
+ "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g=="
},
"node_modules/@applitools/core": {
"version": "1.3.7",
@@ -1701,20 +1716,20 @@
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/@babel/eslint-parser": {
- "version": "7.22.7",
- "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.7.tgz",
- "integrity": "sha512-LH6HJqjOyu/Qtp7LuSycZXK/CYXQ4ohdkliEaL1QTdtOXVdOVpTBKVxAo/+eeyt+x/2SRzB+zUPduVl+xiEvdg==",
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz",
+ "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==",
"dev": true,
"dependencies": {
"@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1",
- "@nicolo-ribaudo/semver-v6": "^6.3.3",
- "eslint-visitor-keys": "^2.1.0"
+ "eslint-visitor-keys": "^2.1.0",
+ "semver": "^6.3.1"
},
"engines": {
"node": "^10.13.0 || ^12.13.0 || >=14.0.0"
},
"peerDependencies": {
- "@babel/core": ">=7.11.0",
+ "@babel/core": "^7.11.0",
"eslint": "^7.5.0 || ^8.0.0"
}
},
@@ -1727,6 +1742,15 @@
"node": ">=10"
}
},
+ "node_modules/@babel/eslint-parser/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@babel/generator": {
"version": "7.22.7",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz",
@@ -2300,14 +2324,15 @@
}
},
"node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz",
- "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==",
+ "version": "7.21.11",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz",
+ "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==",
+ "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead.",
"dev": true,
"dependencies": {
"@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.21.0",
+ "@babel/helper-plugin-utils": "^7.20.2",
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
@@ -2347,7 +2372,7 @@
"version": "7.8.3",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
"integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@babel/helper-plugin-utils": "^7.8.0"
},
@@ -3796,11 +3821,11 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
},
"node_modules/@babel/runtime": {
- "version": "7.20.1",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz",
- "integrity": "sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==",
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
+ "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
"dependencies": {
- "regenerator-runtime": "^0.13.10"
+ "regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
@@ -3837,6 +3862,11 @@
"node": ">=6.9.0"
}
},
+ "node_modules/@babel/runtime/node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ },
"node_modules/@babel/template": {
"version": "7.22.5",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
@@ -4103,82 +4133,23 @@
"node": ">=10"
}
},
- "node_modules/@cypress/mount-utils": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@cypress/mount-utils/-/mount-utils-1.0.2.tgz",
- "integrity": "sha512-Fn3fdTiyayHoy8Ol0RSu4MlBH2maQ2ZEXeEVKl/zHHXEQpld5HX3vdNLhK5YLij8cLynA4DxOT/nO9iEnIiOXw==",
- "dev": true
- },
"node_modules/@cypress/react": {
- "version": "5.10.1",
- "resolved": "https://registry.npmjs.org/@cypress/react/-/react-5.10.1.tgz",
- "integrity": "sha512-/q9dJTAGRQv68PxK6ab0xTKICMA/ulLNB+1lrghavScOwhVdk4v/GAVRRAdBg7eFuFp3ZhPOJME9INudxBnjqg==",
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/@cypress/react/-/react-8.0.0.tgz",
+ "integrity": "sha512-3fnW1ow+GZVCdVHikSoYBWMZCKpaRIJe76vA7a1qS7MYXSeX/xs+VgIIrZmnM1fnc23w5nHtWh4bjGCyTfWyXA==",
"dev": true,
- "dependencies": {
- "@cypress/mount-utils": "1.0.2",
- "debug": "4.3.2",
- "find-webpack": "2.2.1",
- "find-yarn-workspace-root": "2.0.0"
- },
"peerDependencies": {
- "@babel/core": ">=7",
- "@babel/preset-env": ">=7",
- "@cypress/webpack-dev-server": "*",
"@types/react": "^16.9.16 || ^17.0.0",
- "babel-loader": ">=8",
"cypress": "*",
- "next": ">=8",
"react": "^=16.x || ^=17.x",
- "react-dom": "^=16.x || ^=17.x",
- "webpack": ">=4"
+ "react-dom": "^=16.x || ^=17.x"
},
"peerDependenciesMeta": {
- "@babel/core": {
- "optional": true
- },
- "@babel/preset-env": {
- "optional": true
- },
- "@cypress/webpack-dev-server": {
- "optional": true
- },
"@types/react": {
"optional": true
- },
- "babel-loader": {
- "optional": true
- },
- "next": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/@cypress/react/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
}
}
},
- "node_modules/@cypress/react/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
- },
"node_modules/@cypress/request": {
"version": "2.88.6",
"resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.6.tgz",
@@ -4289,18 +4260,7 @@
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/event-flow/node_modules/@vx/responsive": {
- "version": "0.0.140",
- "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.140.tgz",
- "integrity": "sha1-xz7Gi56JoYFgXxrJ7MCfNSFneag=",
- "dependencies": {
- "lodash": "^4.0.8"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/forms": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/forms": {
"version": "0.0.84",
"resolved": "https://registry.npmjs.org/@data-ui/forms/-/forms-0.0.84.tgz",
"integrity": "sha512-c6AEV4XDsIGT0+gwe8MNfRldtZfZaCs+ge2R1p9fkRwQd/nu8dJFVspuu0/EyHBtjm1F9y+6Drs3yyLFK3M+ug==",
@@ -4313,7 +4273,7 @@
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/forms/node_modules/react-select": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/forms/node_modules/react-select": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/react-select/-/react-select-1.3.0.tgz",
"integrity": "sha512-g/QAU1HZrzSfxkwMAo/wzi6/ezdWye302RGZevsATec07hI/iSxcpB1hejFIp7V63DJ8mwuign6KmB3VjdlinQ==",
@@ -4327,208 +4287,18 @@
"react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0"
}
},
- "node_modules/@data-ui/histogram": {
- "version": "0.0.84",
- "resolved": "https://registry.npmjs.org/@data-ui/histogram/-/histogram-0.0.84.tgz",
- "integrity": "sha512-JuAUd3cgbDvXd1PKddB3L3SvZj5VFXTLG9za0RlqgbEsddR2dgUfJJQ5GacJ7a3o/SpmJ0zRGJVXb5VZozjj2Q==",
- "dependencies": {
- "@data-ui/shared": "^0.0.84",
- "@data-ui/theme": "^0.0.84",
- "@vx/axis": "^0.0.179",
- "@vx/curve": "^0.0.165",
- "@vx/event": "^0.0.179",
- "@vx/glyph": "^0.0.179",
- "@vx/gradient": "^0.0.165",
- "@vx/group": "^0.0.170",
- "@vx/pattern": "^0.0.179",
- "@vx/responsive": "^0.0.192",
- "@vx/scale": "^0.0.179",
- "@vx/shape": "^0.0.179",
- "@vx/tooltip": "0.0.179",
- "d3-array": "^1.2.0",
- "d3-scale": "^1.0.6",
- "prop-types": "^15.5.10",
- "react-move": "^2.1.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-dom": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/axis": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.179.tgz",
- "integrity": "sha512-FtUcdJxejYn5jgixSgSk9AdA96VwP9sCRATVfGvugEL0gtTKWYDbJEgSgqXfKqpeUdsDdf/JT7NVbLMc1hzrZg==",
- "dependencies": {
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "@vx/shape": "0.0.179",
- "@vx/text": "0.0.179",
- "classnames": "^2.2.5",
- "prop-types": "^15.6.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/bounds": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz",
- "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==",
- "dependencies": {
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-dom": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/event": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.179.tgz",
- "integrity": "sha512-wEwqKsxrzoRV/A9Va/f/CHPmV9asrTH/kW/f88jCydsVXd5W/nrJZiVpozN2Zr1Ernv0i1gW5896FWo/LHRg0A==",
- "dependencies": {
- "@vx/point": "0.0.165"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/glyph": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.179.tgz",
- "integrity": "sha512-RO7adwyG+9gGzjFdfmplrojgWCT+gsOnIFcRgJNJjx41+P6hWdI9X4OpsLx8VVqNhp7g+hxBDZWte8AxTvLQGw==",
- "dependencies": {
- "@vx/group": "0.0.170",
- "classnames": "^2.2.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.6.2"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/gradient": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.165.tgz",
- "integrity": "sha512-FjRXMTmcy7k0TWsfDzWWXw6T9WXKP+6LS/GRgnguq271pab/P+AdOJThsVxtBgUc8ZOAPbub3/2Gggz9d8tocg==",
- "dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.7"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/group": {
- "version": "0.0.170",
- "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
- "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==",
- "dependencies": {
- "classnames": "^2.2.5"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/pattern": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.179.tgz",
- "integrity": "sha512-qvJsK07oUnSbuzj9jo7b/1Up13DknIeTlj9FDIhg0UNmz90ikVN2CZIWtdJyc2I1AFDEg0odOqYXzUx9aEBRfg==",
- "dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/point": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
- "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA=="
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/responsive": {
- "version": "0.0.192",
- "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.192.tgz",
- "integrity": "sha512-HaXVwhSJXUfRbzRV+glxsX0ki2Hi1mdpz42iuGArVQgDPJEmBHjkXyoiXU8U6v66M7FAH+OyKgtc5j2bfhyYzA==",
- "dependencies": {
- "lodash": "^4.17.10",
- "prop-types": "^15.6.1",
- "resize-observer-polyfill": "1.5.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/scale": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.179.tgz",
- "integrity": "sha512-j40WiGu4VcHZdaSQAl12ig2w5c4Q9EVn7qqYf9PX7uoS5PbxRYNnHeKZ7e5Bf8O6b57iv5jFTfUV7HkpNF4vvg==",
- "dependencies": {
- "d3-scale": "^2.0.0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/scale/node_modules/d3-scale": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/forms/node_modules/react-select/node_modules/react-input-autosize": {
"version": "2.2.2",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-2.2.2.tgz",
- "integrity": "sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==",
- "dependencies": {
- "d3-array": "^1.2.0",
- "d3-collection": "1",
- "d3-format": "1",
- "d3-interpolate": "1",
- "d3-time": "1",
- "d3-time-format": "2"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/shape": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.179.tgz",
- "integrity": "sha512-YHVNx4xGpbjolkW3Lb5pEgJB0+u349vfnLI976DJlinY0hRNa4TZbWXOB4ywLIrYzQEXXPMUR8WtdubNxg6g0w==",
- "dependencies": {
- "@vx/curve": "0.0.165",
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "classnames": "^2.2.5",
- "d3-path": "^1.0.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/@vx/tooltip": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.179.tgz",
- "integrity": "sha512-BjMURtNpc1g3Li00iHt4bA9lbhk1FnsxCemYI1OF5tSSKHHal2ZAdxRS7o1sR9+jIa3RyD9flfIa1ibtrJh2Ew==",
+ "resolved": "https://registry.npmjs.org/react-input-autosize/-/react-input-autosize-2.2.2.tgz",
+ "integrity": "sha512-jQJgYCA3S0j+cuOwzuCd1OjmBmnZLdqQdiLKRYrsMMzbjUrVDS5RvJUDwJqA7sKuksDuzFtm6hZGKFu7Mjk5aw==",
"dependencies": {
- "@vx/bounds": "0.0.165",
- "classnames": "^2.2.5",
- "prop-types": "^15.5.10"
+ "prop-types": "^15.5.8"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/histogram/node_modules/d3-scale": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-1.0.7.tgz",
- "integrity": "sha512-KvU92czp2/qse5tUfGms6Kjig0AhHOwkzXG0+PqIJB3ke0WUv088AHMZI0OssO9NCkXt4RP8yju9rpH8aGB7Lw==",
- "dependencies": {
- "d3-array": "^1.2.0",
- "d3-collection": "1",
- "d3-color": "1",
- "d3-format": "1",
- "d3-interpolate": "1",
- "d3-time": "1",
- "d3-time-format": "2"
+ "react": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0"
}
},
- "node_modules/@data-ui/histogram/node_modules/resize-observer-polyfill": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz",
- "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg=="
- },
- "node_modules/@data-ui/radial-chart": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart": {
"version": "0.0.84",
"resolved": "https://registry.npmjs.org/@data-ui/radial-chart/-/radial-chart-0.0.84.tgz",
"integrity": "sha512-YKvcrtXD+RnZIngB398exuGICIwbQeVbV3Sbqg6txd4dVN9ixsvOFHCaNO5ugqMcyVeFGpMZAtGeau5kUZa73Q==",
@@ -4547,7 +4317,7 @@
"react-dom": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/shared": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared": {
"version": "0.0.84",
"resolved": "https://registry.npmjs.org/@data-ui/shared/-/shared-0.0.84.tgz",
"integrity": "sha512-MsDLsFzBHFEREr/eF2/RX1o/cXioEg+VQTsM8gViW5ywGQ7Xo5+EqUOaBSrwqKAkvp3e8PaEZVkchPC54IBhrA==",
@@ -4565,19 +4335,7 @@
"react-dom": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/shared/node_modules/@vx/bounds": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz",
- "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==",
- "dependencies": {
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-dom": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/shared/node_modules/@vx/event": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared/node_modules/@vx/event": {
"version": "0.0.165",
"resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.165.tgz",
"integrity": "sha512-FsQiw0f3s5DQB6aBQmBcoWk9e4q65LcDobHIyV8qrmpW2QgV2NvQFM1w0Q300ohpRMgJDzGk68HHHQgFOJvApw==",
@@ -4585,7 +4343,7 @@
"@vx/point": "0.0.165"
}
},
- "node_modules/@data-ui/shared/node_modules/@vx/group": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared/node_modules/@vx/group": {
"version": "0.0.165",
"resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.165.tgz",
"integrity": "sha512-gi1DSg8AAaVRseyWiq8y4bzyvKiQIXT6vDUYBVRmv2LBcpHocBGaxNiNK0X602RgLG0XmNyRv6qSCWLOaBs3Mg==",
@@ -4596,12 +4354,7 @@
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/shared/node_modules/@vx/point": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
- "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA=="
- },
- "node_modules/@data-ui/shared/node_modules/@vx/shape": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared/node_modules/@vx/shape": {
"version": "0.0.168",
"resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.168.tgz",
"integrity": "sha512-urKZkwSafMpPQ0wI/L5FJmufRiAR4UsgYUCKxROjfE1Cf4jWNlK6mlVIIASxCdHlh9CGBbIrRMdl5Yv5lzqhjA==",
@@ -4618,7 +4371,7 @@
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/shared/node_modules/@vx/tooltip": {
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared/node_modules/@vx/tooltip": {
"version": "0.0.165",
"resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.165.tgz",
"integrity": "sha512-/x1NZc67QGQ4e/WNT7Ks5LYRyeLSqp8lG04gX5J6leUS0zscAVzo3aE5u65Qqbc0cnMyMPRZ2Qtb4klWTLg+eQ==",
@@ -4631,26 +4384,11 @@
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline": {
- "version": "0.0.84",
- "resolved": "https://registry.npmjs.org/@data-ui/sparkline/-/sparkline-0.0.84.tgz",
- "integrity": "sha512-Ja7T2JjioZtnoy0PEXF72qv/J8xIotu+oS1Z+ygVGZni6aN/DUY35eGpg/DDeemEFDMoifcx+kYa5LU7hQCnJg==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@data-ui/shared/node_modules/@vx/tooltip/node_modules/@vx/bounds": {
+ "version": "0.0.165",
+ "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz",
+ "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==",
"dependencies": {
- "@data-ui/shared": "^0.0.84",
- "@data-ui/theme": "^0.0.8",
- "@vx/axis": "^0.0.179",
- "@vx/curve": "^0.0.165",
- "@vx/event": "^0.0.179",
- "@vx/glyph": "^0.0.179",
- "@vx/gradient": "^0.0.165",
- "@vx/group": "^0.0.170",
- "@vx/pattern": "^0.0.179",
- "@vx/point": "^0.0.165",
- "@vx/responsive": "^0.0.192",
- "@vx/scale": "^0.0.179",
- "@vx/shape": "^0.0.179",
- "d3-array": "^1.2.0",
"prop-types": "^15.5.10"
},
"peerDependencies": {
@@ -4658,425 +4396,303 @@
"react-dom": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@data-ui/theme": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.8.tgz",
- "integrity": "sha1-MRZyPQS5n2XHdQ+BpQDpYItIN8M=",
- "peer": true
- },
- "node_modules/@data-ui/sparkline/node_modules/@vx/axis": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.179.tgz",
- "integrity": "sha512-FtUcdJxejYn5jgixSgSk9AdA96VwP9sCRATVfGvugEL0gtTKWYDbJEgSgqXfKqpeUdsDdf/JT7NVbLMc1hzrZg==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@vx/curve": {
+ "version": "0.0.165",
+ "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.165.tgz",
+ "integrity": "sha512-fiQAGrKNGjJbL+eixUckJqIZDWXH/1NtIyyDbSz3J7ksk0QpYr5BgWcNJN76HLNt7wfcLwNzCHeNs4iVYyFGTg==",
"dependencies": {
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "@vx/shape": "0.0.179",
- "@vx/text": "0.0.179",
- "classnames": "^2.2.5",
- "prop-types": "^15.6.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "d3-shape": "^1.0.6"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/event": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.179.tgz",
- "integrity": "sha512-wEwqKsxrzoRV/A9Va/f/CHPmV9asrTH/kW/f88jCydsVXd5W/nrJZiVpozN2Zr1Ernv0i1gW5896FWo/LHRg0A==",
- "peer": true,
- "dependencies": {
- "@vx/point": "0.0.165"
- }
+ "node_modules/@data-ui/event-flow/node_modules/@data-ui/radial-chart/node_modules/@vx/point": {
+ "version": "0.0.165",
+ "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
+ "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA=="
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/glyph": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.179.tgz",
- "integrity": "sha512-RO7adwyG+9gGzjFdfmplrojgWCT+gsOnIFcRgJNJjx41+P6hWdI9X4OpsLx8VVqNhp7g+hxBDZWte8AxTvLQGw==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/axis": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.140.tgz",
+ "integrity": "sha512-lxMgWySkSh7ew8XS25Kpn95HH4d8dpL2vLv1UvASJY2VxdczQayTUUvQLecesJI4bbJV2R7Fasm64EBlJAezTw==",
"dependencies": {
- "@vx/group": "0.0.170",
+ "@vx/group": "0.0.140",
+ "@vx/point": "0.0.136",
+ "@vx/shape": "0.0.140",
"classnames": "^2.2.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.6.2"
+ "prop-types": "15.5.10"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/gradient": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.165.tgz",
- "integrity": "sha512-FjRXMTmcy7k0TWsfDzWWXw6T9WXKP+6LS/GRgnguq271pab/P+AdOJThsVxtBgUc8ZOAPbub3/2Gggz9d8tocg==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/axis/node_modules/prop-types": {
+ "version": "15.5.10",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.5.10.tgz",
+ "integrity": "sha512-vCFzoUFaZkVNeFkhK1KbSq4cn97GDrpfBt9K2qLkGnPAEFhEv3M61Lk5t+B7c0QfMLWo0fPkowk/4SuXerh26Q==",
"dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.7"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "fbjs": "^0.8.9",
+ "loose-envify": "^1.3.1"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/group": {
- "version": "0.0.170",
- "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
- "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/bounds": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.140.tgz",
+ "integrity": "sha512-6TLF2KsSW3aqeBhTnouFhSLGT//zgrDz2uThYfrmL2oVkkXRtjNBKXW/BR+E3ugI+gSH6VfoL85s2bSAkAJo7w==",
"dependencies": {
- "classnames": "^2.2.5"
+ "prop-types": "^15.5.10"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "react": "^15.0.0-0 || ^16.0.0-0",
+ "react-dom": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/pattern": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.179.tgz",
- "integrity": "sha512-qvJsK07oUnSbuzj9jo7b/1Up13DknIeTlj9FDIhg0UNmz90ikVN2CZIWtdJyc2I1AFDEg0odOqYXzUx9aEBRfg==",
- "peer": true,
- "dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.10"
- },
+ "node_modules/@data-ui/event-flow/node_modules/@vx/clip-path": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/clip-path/-/clip-path-0.0.140.tgz",
+ "integrity": "sha512-Un/9v5Pvu6rEHmQzkN5nPnPsmiSRVl4xhcdelK01xxWAnkFJoXvQiTGdOvF0JOtntVOPDwKUimx+iUiCxBZjoA==",
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/point": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
- "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA==",
- "peer": true
- },
- "node_modules/@data-ui/sparkline/node_modules/@vx/responsive": {
- "version": "0.0.192",
- "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.192.tgz",
- "integrity": "sha512-HaXVwhSJXUfRbzRV+glxsX0ki2Hi1mdpz42iuGArVQgDPJEmBHjkXyoiXU8U6v66M7FAH+OyKgtc5j2bfhyYzA==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/curve": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/curve/-/curve-0.0.140.tgz",
+ "integrity": "sha512-rVjxj6Vi9taGLxjzzilfNdoh3kUfYnc8G8rZ/l+0caNPBIY3OQW3HDGhITc2bh72daCfFsylQXwpc/YxLfbSWA==",
"dependencies": {
- "lodash": "^4.17.10",
- "prop-types": "^15.6.1",
- "resize-observer-polyfill": "1.5.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "d3-shape": "^1.0.6"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/scale": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.179.tgz",
- "integrity": "sha512-j40WiGu4VcHZdaSQAl12ig2w5c4Q9EVn7qqYf9PX7uoS5PbxRYNnHeKZ7e5Bf8O6b57iv5jFTfUV7HkpNF4vvg==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/event": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.140.tgz",
+ "integrity": "sha512-m51d8rz4Uu8Vyvu50dulKcrBt6/y4+ZDvgBjs5QNfhNHIa8T+Uqcs6m3jWNw2mpsnC8MtEavi5S3SUDuWlwl7A==",
"dependencies": {
- "d3-scale": "^2.0.0"
+ "@vx/point": "0.0.136"
}
},
- "node_modules/@data-ui/sparkline/node_modules/@vx/shape": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.179.tgz",
- "integrity": "sha512-YHVNx4xGpbjolkW3Lb5pEgJB0+u349vfnLI976DJlinY0hRNa4TZbWXOB4ywLIrYzQEXXPMUR8WtdubNxg6g0w==",
- "peer": true,
+ "node_modules/@data-ui/event-flow/node_modules/@vx/glyph": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.140.tgz",
+ "integrity": "sha512-ev/DCvE3a8YyDC8bQhoZ5WILzeQMqI2mKeAVARsJpX1mmwvi5Hn8S35TZcV9yaIZ36LC8cbhtQY5wjsQU6FGcA==",
"dependencies": {
- "@vx/curve": "0.0.165",
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
+ "@vx/group": "0.0.140",
"classnames": "^2.2.5",
- "d3-path": "^1.0.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.5.10"
+ "d3-shape": "^1.2.0"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/sparkline/node_modules/resize-observer-polyfill": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz",
- "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==",
- "peer": true
- },
- "node_modules/@data-ui/theme": {
- "version": "0.0.84",
- "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.84.tgz",
- "integrity": "sha512-jIoHftC/5c/LVJYF4VSBjjVjrjc0yj4mLkGe8p0eVO7qUYKVvlWx7PrpM7ucyefvuAaKIwlr+Nh2xPGPdADjaA=="
- },
- "node_modules/@data-ui/xy-chart": {
- "version": "0.0.84",
- "resolved": "https://registry.npmjs.org/@data-ui/xy-chart/-/xy-chart-0.0.84.tgz",
- "integrity": "sha512-4mRWEGfeQJ2kFXmQ81k1gDPx2zdkty6lt0+srui4zleSyhnBv1dmm9J03dq+qwr7+bpzjfq77nINV5HXWb31Bg==",
- "dependencies": {
- "@data-ui/shared": "^0.0.84",
- "@data-ui/theme": "^0.0.84",
- "@vx/axis": "^0.0.175",
- "@vx/curve": "^0.0.165",
- "@vx/event": "^0.0.165",
- "@vx/glyph": "^0.0.165",
- "@vx/gradient": "^0.0.165",
- "@vx/grid": "^0.0.180",
- "@vx/group": "^0.0.165",
- "@vx/pattern": "^0.0.165",
- "@vx/point": "^0.0.165",
- "@vx/responsive": "^0.0.192",
- "@vx/scale": "^0.0.165",
- "@vx/shape": "^0.0.165",
- "@vx/stats": "^0.0.165",
- "@vx/text": "^0.0.192",
- "@vx/threshold": "0.0.170",
- "@vx/tooltip": "^0.0.165",
- "@vx/voronoi": "^0.0.165",
- "d3-array": "^1.2.0",
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-dom": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/xy-chart/node_modules/@vx/axis": {
- "version": "0.0.175",
- "resolved": "https://registry.npmjs.org/@vx/axis/-/axis-0.0.175.tgz",
- "integrity": "sha512-qVRIHurnbPnRF4p0KQITArOUSF564tWW1pc48giLz+DJGlcJ4H9RfOSTpV6rnnP15xto6pQdQehBgBAvFRmoig==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/gradient": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.140.tgz",
+ "integrity": "sha512-VHaZ6YIjRj3l26LGWg3Bz82vAyp0Te890W3tMABGZC+pwU3lpZJzN89UBJ8vT+42Jcc1o3B7vS67mBjITFTHVQ==",
"dependencies": {
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "@vx/shape": "0.0.175",
- "@vx/text": "0.0.175",
"classnames": "^2.2.5",
- "prop-types": "^15.6.0"
+ "prop-types": "^15.5.7"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/axis/node_modules/@vx/group": {
- "version": "0.0.170",
- "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
- "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/grid": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/grid/-/grid-0.0.140.tgz",
+ "integrity": "sha512-QtAEzdR4gtQtuqkiP3BAXlyU7Fsuwom0HHY1lEdO/wyIijYhpHf3fG1GgPVJsr7YXY1ieUQ6k1A9EEmdEIlBxw==",
"dependencies": {
+ "@vx/group": "0.0.140",
+ "@vx/point": "0.0.136",
+ "@vx/shape": "0.0.140",
"classnames": "^2.2.5"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/axis/node_modules/@vx/shape": {
- "version": "0.0.175",
- "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.175.tgz",
- "integrity": "sha512-bjAJoIIpKjUEPDV2xmTYGUvSvwRztv+6rd1c6NPZG/nIuqsMHFnFig/2xTcQJEQhRg6aKzvxIUo43zPSSq3fWA==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/group": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.140.tgz",
+ "integrity": "sha512-es87IDOWhXSW++gajslK7bl9FTdp1kkVMH8AKAhSoDjh0DSZan5yYpS3OvMgJHh1Tlgl3KZzh/RJ1Qfh/FKLCg==",
"dependencies": {
- "@vx/curve": "0.0.165",
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "classnames": "^2.2.5",
- "d3-path": "^1.0.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.5.10"
+ "classnames": "^2.2.5"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/axis/node_modules/@vx/text": {
- "version": "0.0.175",
- "resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.175.tgz",
- "integrity": "sha512-SOBhctXXAGhhpCOiTjxOM/8NDaDqGRk3OGfsJ714Mt1UJX6VQaKxFocZJwn6IMw3mNG6/p7O4Eao/gGDcoM6+A==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/legend": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/legend/-/legend-0.0.140.tgz",
+ "integrity": "sha512-fpt2XUDQcKKfZc5DedRWfMWm+BUIKePkv+M6y0zpWaw/k63LIZUr9oCnGdTk9yCBfSxLBvwfcxY7jhUCJIT84Q==",
"dependencies": {
- "babel-plugin-lodash": "^3.3.2",
+ "@vx/group": "0.0.140",
"classnames": "^2.2.5",
- "lodash": "^4.17.4",
- "reduce-css-calc": "^1.3.0"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/xy-chart/node_modules/@vx/bounds": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/bounds/-/bounds-0.0.165.tgz",
- "integrity": "sha512-ZvRb72/4QNs1ZrytZTZxd0hfAb/KKfhsdkcYtIQkmdF6dTsjigMQZ+h2bLvLnbZb/RxyCCoxdiZSGXd+T1c//Q==",
- "dependencies": {
"prop-types": "^15.5.10"
},
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0",
- "react-dom": "^15.0.0-0 || ^16.0.0-0"
- }
- },
- "node_modules/@data-ui/xy-chart/node_modules/@vx/event": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/event/-/event-0.0.165.tgz",
- "integrity": "sha512-FsQiw0f3s5DQB6aBQmBcoWk9e4q65LcDobHIyV8qrmpW2QgV2NvQFM1w0Q300ohpRMgJDzGk68HHHQgFOJvApw==",
- "dependencies": {
- "@vx/point": "0.0.165"
- }
- },
- "node_modules/@data-ui/xy-chart/node_modules/@vx/glyph": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/glyph/-/glyph-0.0.165.tgz",
- "integrity": "sha512-kccUm40e/VCtayxqvcwc2K2M6oNXO7IafwIfw1RRv6Fj4Iutto9ZpI+PGOf/zPnYVueoLnWBXT/HE7IRS+C2gw==",
- "dependencies": {
- "@vx/group": "0.0.165",
- "classnames": "^2.2.5",
- "d3-shape": "^1.2.0"
- },
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/gradient": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/gradient/-/gradient-0.0.165.tgz",
- "integrity": "sha512-FjRXMTmcy7k0TWsfDzWWXw6T9WXKP+6LS/GRgnguq271pab/P+AdOJThsVxtBgUc8ZOAPbub3/2Gggz9d8tocg==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/pattern": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.140.tgz",
+ "integrity": "sha512-TRP/i2C4TW1rwp3AzcrxTP0Zk0XalgSKOzUuTFasceEUkyVFTZ+MrwWIEG2YYs6S7d5M/VqvIQdI3KGRRyKysA==",
"dependencies": {
"classnames": "^2.2.5",
- "prop-types": "^15.5.7"
+ "prop-types": "^15.5.10"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/grid": {
- "version": "0.0.180",
- "resolved": "https://registry.npmjs.org/@vx/grid/-/grid-0.0.180.tgz",
- "integrity": "sha512-+ugS0c6GbwHr6pFU0znnOG3/zTwRRadvWwj3E4ZOHmKUSz6ZEN6JNo+rD3WSZckYwLis6UivmYfJ5cV6AM4ufg==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/responsive": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.140.tgz",
+ "integrity": "sha1-xz7Gi56JoYFgXxrJ7MCfNSFneag=",
"dependencies": {
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
- "@vx/shape": "0.0.179",
- "classnames": "^2.2.5",
- "prop-types": "^15.6.2"
+ "lodash": "^4.0.8"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/grid/node_modules/@vx/group": {
- "version": "0.0.170",
- "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.170.tgz",
- "integrity": "sha512-RnDdRoy0YI5hokk+YWXc8t39Kp51i4BdCpiwkDJU4YypGycTYnDFjicam6jigUmZ/6wyMirDf/aQboWviFLt2Q==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/shape": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.140.tgz",
+ "integrity": "sha512-njU9Fby0+Fykr3cOla95Brn7Yh/oRMX2DXh65yn2Rx8hUWLrLwsQW46mWBaxO+Dq85UQ6BKTJxa+l1vrc2u8nw==",
"dependencies": {
- "classnames": "^2.2.5"
+ "@vx/curve": "0.0.140",
+ "@vx/group": "0.0.140",
+ "@vx/point": "0.0.136",
+ "classnames": "^2.2.5",
+ "d3-shape": "^1.2.0",
+ "prop-types": "^15.5.10"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/grid/node_modules/@vx/shape": {
- "version": "0.0.179",
- "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.179.tgz",
- "integrity": "sha512-YHVNx4xGpbjolkW3Lb5pEgJB0+u349vfnLI976DJlinY0hRNa4TZbWXOB4ywLIrYzQEXXPMUR8WtdubNxg6g0w==",
+ "node_modules/@data-ui/event-flow/node_modules/@vx/tooltip": {
+ "version": "0.0.140",
+ "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.140.tgz",
+ "integrity": "sha512-D6D6b6Pm5ZR39CWi250OV2Ub1P9Zk/199a6smUygBAXVVXhBHMe+wz9WuGllJQkMcRvIi+DMhgMHDNihDwjTVA==",
"dependencies": {
- "@vx/curve": "0.0.165",
- "@vx/group": "0.0.170",
- "@vx/point": "0.0.165",
+ "@vx/bounds": "0.0.140",
"classnames": "^2.2.5",
- "d3-path": "^1.0.5",
- "d3-shape": "^1.2.0",
"prop-types": "^15.5.10"
},
"peerDependencies": {
"react": "^15.0.0-0 || ^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/group": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/group/-/group-0.0.165.tgz",
- "integrity": "sha512-gi1DSg8AAaVRseyWiq8y4bzyvKiQIXT6vDUYBVRmv2LBcpHocBGaxNiNK0X602RgLG0XmNyRv6qSCWLOaBs3Mg==",
+ "node_modules/@data-ui/event-flow/node_modules/hoist-non-react-statics": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-1.2.0.tgz",
+ "integrity": "sha512-r8huvKK+m+VraiRipdZYc+U4XW43j6OFG/oIafe7GfDbRpCduRoX9JI/DRxqgtBSCeL+et6N6ibZoedHS2NyOQ=="
+ },
+ "node_modules/@data-ui/event-flow/node_modules/react-dom": {
+ "version": "16.14.0",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.14.0.tgz",
+ "integrity": "sha512-1gCeQXDLoIqMgqD3IO2Ah9bnf0w9kzhwN5q4FGnHZ67hBm9yePzB5JJAIQCc8x3pFnNlwFq4RidZggNAAkzWWw==",
+ "peer": true,
"dependencies": {
- "classnames": "^2.2.5"
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "prop-types": "^15.6.2",
+ "scheduler": "^0.19.1"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "react": "^16.14.0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/pattern": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/pattern/-/pattern-0.0.165.tgz",
- "integrity": "sha512-h5nmfcYlQYYzNhlhqaYUvVnkmGnC0yWv5yU1snjHweGmIHTovV3RAbKgVFAP7kB3i2rbEtC3O8WkJN++cZdLzA==",
+ "node_modules/@data-ui/event-flow/node_modules/react-split-pane": {
+ "version": "0.1.92",
+ "resolved": "https://registry.npmjs.org/react-split-pane/-/react-split-pane-0.1.92.tgz",
+ "integrity": "sha512-GfXP1xSzLMcLJI5BM36Vh7GgZBpy+U/X0no+VM3fxayv+p1Jly5HpMofZJraeaMl73b3hvlr+N9zJKvLB/uz9w==",
"dependencies": {
- "classnames": "^2.2.5",
- "prop-types": "^15.5.10"
+ "prop-types": "^15.7.2",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-style-proptype": "^3.2.2"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "react": "^16.0.0-0",
+ "react-dom": "^16.0.0-0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/point": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/point/-/point-0.0.165.tgz",
- "integrity": "sha512-spoHilhjcWNgccrSzBUPw+PXV81tYxeyEWBkgr35aGVU4m7YT86Ywvfemwp7AVVGPn+XJHrhB0ujAhDoyqFPoA=="
- },
- "node_modules/@data-ui/xy-chart/node_modules/@vx/responsive": {
- "version": "0.0.192",
- "resolved": "https://registry.npmjs.org/@vx/responsive/-/responsive-0.0.192.tgz",
- "integrity": "sha512-HaXVwhSJXUfRbzRV+glxsX0ki2Hi1mdpz42iuGArVQgDPJEmBHjkXyoiXU8U6v66M7FAH+OyKgtc5j2bfhyYzA==",
+ "node_modules/@data-ui/event-flow/node_modules/recompose": {
+ "version": "0.23.5",
+ "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.23.5.tgz",
+ "integrity": "sha512-QFM1/k05FtmoFgZj6m5lw0PUMXKLU5/iOEicv1lEQJ7LFUrrxpaPe2U54P8lIdiPeVcTsSHu5t5eeKSHCRXK+Q==",
"dependencies": {
- "lodash": "^4.17.10",
- "prop-types": "^15.6.1",
- "resize-observer-polyfill": "1.5.0"
+ "change-emitter": "^0.1.2",
+ "fbjs": "^0.8.1",
+ "hoist-non-react-statics": "^1.0.0",
+ "symbol-observable": "^1.0.4"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "react": "^0.14.0 || ^15.0.0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/scale": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/scale/-/scale-0.0.165.tgz",
- "integrity": "sha512-5jSgXJDU6J/KWIyCbpjHqysPCddp7tG3LbTV7UmtB1Qleb4m4slShTVSE7+EKU+zgiQPDGm0+E2ht4cet+7F7A==",
+ "node_modules/@data-ui/event-flow/node_modules/scheduler": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz",
+ "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==",
+ "peer": true,
"dependencies": {
- "d3-scale": "^2.0.0"
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/shape": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/shape/-/shape-0.0.165.tgz",
- "integrity": "sha512-D9naH/glDtw8J8IcdumpRz1ihaoCAYMwFNh2KTv73HiTKrLQSXvIjwYFv9C0b8BCPNOXkDZS8s+AlgMSqGlZNQ==",
+ "node_modules/@data-ui/theme": {
+ "version": "0.0.84",
+ "resolved": "https://registry.npmjs.org/@data-ui/theme/-/theme-0.0.84.tgz",
+ "integrity": "sha512-jIoHftC/5c/LVJYF4VSBjjVjrjc0yj4mLkGe8p0eVO7qUYKVvlWx7PrpM7ucyefvuAaKIwlr+Nh2xPGPdADjaA=="
+ },
+ "node_modules/@deck.gl/core": {
+ "version": "8.9.22",
+ "resolved": "https://registry.npmjs.org/@deck.gl/core/-/core-8.9.22.tgz",
+ "integrity": "sha512-HnUPB6qKgRfKQ3Dstw6vlI7+fyO9Ni4gukh8ysQM94mw89BRLkVcuQV0XvlzbbojrG1Z6QpC7KZmodW0y5o2og==",
"dependencies": {
- "@vx/curve": "0.0.165",
- "@vx/group": "0.0.165",
- "@vx/point": "0.0.165",
- "classnames": "^2.2.5",
- "d3-path": "^1.0.5",
- "d3-shape": "^1.2.0",
- "prop-types": "^15.5.10"
- },
- "peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "@babel/runtime": "^7.0.0",
+ "@loaders.gl/core": "^3.4.2",
+ "@loaders.gl/images": "^3.4.2",
+ "@luma.gl/constants": "^8.5.20",
+ "@luma.gl/core": "^8.5.20",
+ "@luma.gl/webgl": "^8.5.20",
+ "@math.gl/core": "^3.6.2",
+ "@math.gl/sun": "^3.6.2",
+ "@math.gl/web-mercator": "^3.6.2",
+ "@probe.gl/env": "^3.5.0",
+ "@probe.gl/log": "^3.5.0",
+ "@probe.gl/stats": "^3.5.0",
+ "gl-matrix": "^3.0.0",
+ "math.gl": "^3.6.2",
+ "mjolnir.js": "^2.7.0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/text": {
- "version": "0.0.192",
- "resolved": "https://registry.npmjs.org/@vx/text/-/text-0.0.192.tgz",
- "integrity": "sha512-lyy7eXfmQ8SJF7Qx+bCRcaEgvVSa18Lp6eRMo3GMANumUh9kSe7LwgqRFSdBJ85WkPqX+UOkJVyCH7AOlt0IWA==",
+ "node_modules/@deck.gl/core/node_modules/@math.gl/core": {
+ "version": "3.6.3",
+ "resolved": "https://registry.npmjs.org/@math.gl/core/-/core-3.6.3.tgz",
+ "integrity": "sha512-jBABmDkj5uuuE0dTDmwwss7Cup5ZwQ6Qb7h1pgvtkEutTrhkcv8SuItQNXmF45494yIHeoGue08NlyeY6wxq2A==",
"dependencies": {
- "classnames": "^2.2.5",
- "lodash": "^4.17.15",
- "prop-types": "^15.7.2",
- "reduce-css-calc": "^1.3.0"
- },
- "peerDependencies": {
- "react": "^16.3.0-0"
+ "@babel/runtime": "^7.12.0",
+ "@math.gl/types": "3.6.3",
+ "gl-matrix": "^3.4.0"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/@vx/tooltip": {
- "version": "0.0.165",
- "resolved": "https://registry.npmjs.org/@vx/tooltip/-/tooltip-0.0.165.tgz",
- "integrity": "sha512-/x1NZc67QGQ4e/WNT7Ks5LYRyeLSqp8lG04gX5J6leUS0zscAVzo3aE5u65Qqbc0cnMyMPRZ2Qtb4klWTLg+eQ==",
+ "node_modules/@deck.gl/react": {
+ "version": "8.9.22",
+ "resolved": "https://registry.npmjs.org/@deck.gl/react/-/react-8.9.22.tgz",
+ "integrity": "sha512-NZcWBlOWYPs+DQqYSZQFLxfguFe0GP2AE1ojlrstnckV1N3bsMf1dT6AI5AvX5h9DbiBc216ZrV9iwVhlfkLng==",
"dependencies": {
- "@vx/bounds": "0.0.165",
- "classnames": "^2.2.5",
- "prop-types": "^15.5.10"
+ "@babel/runtime": "^7.0.0"
},
"peerDependencies": {
- "react": "^15.0.0-0 || ^16.0.0-0"
+ "@deck.gl/core": "^8.0.0",
+ "@types/react": ">= 16.3",
+ "react": ">=16.3",
+ "react-dom": ">=16.3"
}
},
- "node_modules/@data-ui/xy-chart/node_modules/resize-observer-polyfill": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz",
- "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg=="
- },
"node_modules/@discoveryjs/json-ext": {
"version": "0.5.7",
"resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
@@ -5238,15 +4854,21 @@
}
},
"node_modules/@emotion/css-prettifier": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@emotion/css-prettifier/-/css-prettifier-1.0.0.tgz",
- "integrity": "sha512-efxSrRTiTqHTQVKW15Gz5H4pNAw8OqcG8NaiwkJIkqIdNXTD4Qr1zC1Ou6r2acd1oJJ2s56nb1ClnXMiWoj6gQ==",
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@emotion/css-prettifier/-/css-prettifier-1.1.3.tgz",
+ "integrity": "sha512-KNv23+VQ+pcw3ebd1vSEl11CQ6SKAG5EQkrinjVGsfw3ZTWe6/tpWQrsvFLqCtU2LRiLPi04KgFCE4A9+crfpQ==",
"dev": true,
"dependencies": {
- "@emotion/memoize": "^0.7.4",
- "stylis": "^4.0.3"
+ "@emotion/memoize": "^0.8.1",
+ "stylis": "4.2.0"
}
},
+ "node_modules/@emotion/css-prettifier/node_modules/@emotion/memoize": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz",
+ "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==",
+ "dev": true
+ },
"node_modules/@emotion/hash": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz",
@@ -5261,19 +4883,19 @@
}
},
"node_modules/@emotion/jest": {
- "version": "11.3.0",
- "resolved": "https://registry.npmjs.org/@emotion/jest/-/jest-11.3.0.tgz",
- "integrity": "sha512-LZqYc3yerhic1IvAcEwBLRs1DsUt3oY7Oz6n+e+HU32iYOK/vpfzlhgmQURE94BHfv6eCOj6DV38f3jSnIkBkQ==",
+ "version": "11.11.0",
+ "resolved": "https://registry.npmjs.org/@emotion/jest/-/jest-11.11.0.tgz",
+ "integrity": "sha512-XZlnmdUZ32YjQnInsCFk/plKpkV/NXN1Ab4YoNvXN887MeR3Hr5ZsTyoblIW8AWwdfQiZHHphaPMb56lk6Ofdw==",
"dev": true,
"dependencies": {
- "@babel/runtime": "^7.13.10",
- "@emotion/css-prettifier": "^1.0.0",
+ "@babel/runtime": "^7.18.3",
+ "@emotion/css-prettifier": "^1.1.3",
"chalk": "^4.1.0",
"specificity": "^0.4.1",
- "stylis": "^4.0.3"
+ "stylis": "4.2.0"
},
"peerDependencies": {
- "@types/jest": "^26.0.14",
+ "@types/jest": "^26.0.14 || ^27.0.0 || ^28.0.0 || ^29.0.0",
"enzyme-to-json": "^3.2.1"
},
"peerDependenciesMeta": {
@@ -5573,7 +5195,7 @@
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"eslint-visitor-keys": "^3.3.0"
},
@@ -5585,39 +5207,48 @@
}
},
"node_modules/@eslint-community/regexpp": {
- "version": "4.5.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz",
- "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==",
- "dev": true,
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "devOptional": true,
"engines": {
"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
}
},
"node_modules/@eslint/eslintrc": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz",
- "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==",
- "dev": true,
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "devOptional": true,
"dependencies": {
"ajv": "^6.12.4",
- "debug": "^4.1.1",
- "espree": "^7.3.0",
- "globals": "^13.9.0",
- "ignore": "^4.0.6",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
"import-fresh": "^3.2.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
"strip-json-comments": "^3.1.1"
},
"engines": {
- "node": "^10.12.0 || >=12.0.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "devOptional": true
+ },
"node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "devOptional": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -5631,10 +5262,10 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "13.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
- "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
- "dev": true,
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "devOptional": true,
"dependencies": {
"type-fest": "^0.20.2"
},
@@ -5645,17 +5276,38 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@eslint/eslintrc/node_modules/ignore": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "devOptional": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "devOptional": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
"node_modules/@eslint/eslintrc/node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "devOptional": true
},
"node_modules/@eslint/eslintrc/node_modules/type-fest": {
"version": "0.20.2",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=10"
},
@@ -5663,6 +5315,15 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/@eslint/js": {
+ "version": "8.56.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
+ "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "devOptional": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
"node_modules/@fontsource/inter": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-4.0.0.tgz",
@@ -5699,24 +5360,24 @@
}
},
"node_modules/@humanwhocodes/config-array": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz",
- "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==",
- "dev": true,
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "devOptional": true,
"dependencies": {
- "@humanwhocodes/object-schema": "^1.2.0",
- "debug": "^4.1.1",
- "minimatch": "^3.0.4"
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
},
"engines": {
"node": ">=10.10.0"
}
},
"node_modules/@humanwhocodes/config-array/node_modules/debug": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
- "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
- "dev": true,
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "devOptional": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -5733,13 +5394,26 @@
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "devOptional": true
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
},
"node_modules/@humanwhocodes/object-schema": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
- "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
- "dev": true
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
+ "devOptional": true
},
"node_modules/@hutson/parse-repository-url": {
"version": "3.0.2",
@@ -5856,7 +5530,7 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
"integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"camelcase": "^5.3.1",
"find-up": "^4.1.0",
@@ -5872,7 +5546,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
@@ -5885,7 +5559,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"p-locate": "^4.1.0"
},
@@ -5897,7 +5571,7 @@
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"p-try": "^2.0.0"
},
@@ -5912,7 +5586,7 @@
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"p-limit": "^2.2.0"
},
@@ -5924,7 +5598,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=6"
}
@@ -5933,7 +5607,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
@@ -5942,7 +5616,7 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
@@ -5973,159 +5647,213 @@
}
},
"node_modules/@jest/console": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-26.6.2.tgz",
- "integrity": "sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==",
- "dev": true,
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
+ "@jest/types": "^29.6.3",
"@types/node": "*",
"chalk": "^4.0.0",
- "jest-message-util": "^26.6.2",
- "jest-util": "^26.6.2",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
"slash": "^3.0.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/console/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
+ "node_modules/@jest/console/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/console/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
+ "node_modules/@jest/console/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
"dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
+ "@types/istanbul-lib-report": "*"
}
},
- "node_modules/@jest/console/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
+ "node_modules/@jest/console/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/console/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true,
"engines": {
- "node": ">=0.12.0"
+ "node": ">=8"
}
},
- "node_modules/@jest/console/node_modules/jest-util": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
- "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
- "dev": true,
+ "node_modules/@jest/core": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
+ "@jest/console": "^29.7.0",
+ "@jest/reporters": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
"@types/node": "*",
+ "ansi-escapes": "^4.2.1",
"chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "micromatch": "^4.0.2"
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^29.7.0",
+ "jest-config": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-resolve-dependencies": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
}
},
- "node_modules/@jest/console/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+ "devOptional": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/console/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/console/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
"dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
+ "@types/istanbul-lib-report": "*"
}
},
- "node_modules/@jest/core": {
- "version": "26.6.3",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-26.6.3.tgz",
- "integrity": "sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
"dependencies": {
- "@jest/console": "^26.6.2",
- "@jest/reporters": "^26.6.2",
- "@jest/test-result": "^26.6.2",
- "@jest/transform": "^26.6.2",
- "@jest/types": "^26.6.2",
- "@types/node": "*",
- "ansi-escapes": "^4.2.1",
- "chalk": "^4.0.0",
- "exit": "^0.1.2",
- "graceful-fs": "^4.2.4",
- "jest-changed-files": "^26.6.2",
- "jest-config": "^26.6.3",
- "jest-haste-map": "^26.6.2",
- "jest-message-util": "^26.6.2",
- "jest-regex-util": "^26.0.0",
- "jest-resolve": "^26.6.2",
- "jest-resolve-dependencies": "^26.6.3",
- "jest-runner": "^26.6.3",
- "jest-runtime": "^26.6.3",
- "jest-snapshot": "^26.6.2",
- "jest-util": "^26.6.2",
- "jest-validate": "^26.6.2",
- "jest-watcher": "^26.6.2",
- "micromatch": "^4.0.2",
- "p-each-series": "^2.1.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "engines": {
- "node": ">= 10.14.2"
+ "@types/yargs-parser": "*"
}
},
"node_modules/@jest/core/node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
},
+ "node_modules/@jest/core/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/@jest/core/node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "devOptional": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
"node_modules/@jest/core/node_modules/braces": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"fill-range": "^7.0.1"
},
@@ -6133,11 +5861,32 @@
"node": ">=8"
}
},
+ "node_modules/@jest/core/node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "devOptional": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/core/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "devOptional": true
+ },
"node_modules/@jest/core/node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -6145,71 +5894,156 @@
"node": ">=8"
}
},
+ "node_modules/@jest/core/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@jest/core/node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=0.12.0"
}
},
- "node_modules/@jest/core/node_modules/jest-util": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
- "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
"@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "micromatch": "^4.0.2"
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/@jest/core/node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "devOptional": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/core/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
"node_modules/@jest/core/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "devOptional": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/@jest/core/node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/core/node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
+ "node_modules/@jest/core/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "devOptional": true
+ },
"node_modules/@jest/core/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/@jest/core/node_modules/strip-ansi": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
- "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
- "dev": true,
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "devOptional": true,
"dependencies": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
"node": ">=8"
}
},
+ "node_modules/@jest/core/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "devOptional": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
"node_modules/@jest/core/node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -6217,182 +6051,363 @@
"node": ">=8.0"
}
},
- "node_modules/@jest/environment": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-26.6.2.tgz",
- "integrity": "sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==",
- "dev": true,
+ "node_modules/@jest/core/node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "devOptional": true,
"dependencies": {
- "@jest/fake-timers": "^26.6.2",
- "@jest/types": "^26.6.2",
- "@types/node": "*",
- "jest-mock": "^26.6.2"
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
}
},
- "node_modules/@jest/fake-timers": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-26.6.2.tgz",
- "integrity": "sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==",
- "dev": true,
+ "node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
- "@sinonjs/fake-timers": "^6.0.1",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
"@types/node": "*",
- "jest-message-util": "^26.6.2",
- "jest-mock": "^26.6.2",
- "jest-util": "^26.6.2"
+ "jest-mock": "^29.7.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
+ "node_modules/@jest/environment/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
+ "node_modules/@jest/environment/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
"dependencies": {
- "to-regex-range": "^5.0.1"
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/environment/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
+ "devOptional": true,
+ "dependencies": {
+ "expect": "^29.7.0",
+ "jest-snapshot": "^29.7.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
+ "node_modules/@jest/expect-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+ "devOptional": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3"
+ },
"engines": {
- "node": ">=0.12.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/jest-util": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
- "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
- "dev": true,
+ "node_modules/@jest/fake-timers": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
"@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "micromatch": "^4.0.2"
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
+ "node_modules/@jest/fake-timers/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/fake-timers/node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
+ "node_modules/@jest/fake-timers/node_modules/@sinonjs/commons": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz",
+ "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==",
+ "devOptional": true,
"dependencies": {
- "is-number": "^7.0.0"
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@jest/fake-timers/node_modules/@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+ "devOptional": true,
+ "dependencies": {
+ "@sinonjs/commons": "^3.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/fake-timers/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "jest-mock": "^29.7.0"
},
"engines": {
- "node": ">=8.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/globals": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-26.6.2.tgz",
- "integrity": "sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==",
- "dev": true,
+ "node_modules/@jest/globals/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
"dependencies": {
- "@jest/environment": "^26.6.2",
- "@jest/types": "^26.6.2",
- "expect": "^26.6.2"
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/globals/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/globals/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
"node_modules/@jest/reporters": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-26.6.2.tgz",
- "integrity": "sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==",
- "dev": true,
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
+ "devOptional": true,
"dependencies": {
"@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "^26.6.2",
- "@jest/test-result": "^26.6.2",
- "@jest/transform": "^26.6.2",
- "@jest/types": "^26.6.2",
+ "@jest/console": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/node": "*",
"chalk": "^4.0.0",
"collect-v8-coverage": "^1.0.0",
"exit": "^0.1.2",
- "glob": "^7.1.2",
- "graceful-fs": "^4.2.4",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
"istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^4.0.3",
+ "istanbul-lib-instrument": "^6.0.0",
"istanbul-lib-report": "^3.0.0",
"istanbul-lib-source-maps": "^4.0.0",
- "istanbul-reports": "^3.0.2",
- "jest-haste-map": "^26.6.2",
- "jest-resolve": "^26.6.2",
- "jest-util": "^26.6.2",
- "jest-worker": "^26.6.2",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
"slash": "^3.0.0",
- "source-map": "^0.6.0",
"string-length": "^4.0.1",
- "terminal-link": "^2.0.0",
- "v8-to-istanbul": "^7.0.0"
+ "strip-ansi": "^6.0.0",
+ "v8-to-istanbul": "^9.0.1"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
},
- "optionalDependencies": {
- "node-notifier": "^8.0.0"
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
}
},
- "node_modules/@jest/reporters/node_modules/braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "dev": true,
+ "node_modules/@jest/reporters/node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+ "devOptional": true,
"dependencies": {
- "fill-range": "^7.0.1"
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
},
"engines": {
- "node": ">=8"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/reporters/node_modules/fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "dev": true,
+ "node_modules/@jest/reporters/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "devOptional": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "devOptional": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "devOptional": true
+ },
+ "node_modules/@jest/reporters/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "devOptional": true,
"dependencies": {
"to-regex-range": "^5.0.1"
},
@@ -6400,68 +6415,179 @@
"node": ">=8"
}
},
+ "node_modules/@jest/reporters/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@jest/reporters/node_modules/is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=0.12.0"
}
},
- "node_modules/@jest/reporters/node_modules/jest-util": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-26.6.2.tgz",
- "integrity": "sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==",
- "dev": true,
+ "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
+ "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "devOptional": true,
"dependencies": {
- "@jest/types": "^26.6.2",
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
"@types/node": "*",
- "chalk": "^4.0.0",
- "graceful-fs": "^4.2.4",
- "is-ci": "^2.0.0",
- "micromatch": "^4.0.2"
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "devOptional": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "devOptional": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/@jest/reporters/node_modules/micromatch": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
- "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
- "dev": true,
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "devOptional": true,
"dependencies": {
- "braces": "^3.0.1",
- "picomatch": "^2.0.5"
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
},
"engines": {
- "node": ">=8"
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "devOptional": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
}
},
"node_modules/@jest/reporters/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
+ "devOptional": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/@jest/reporters/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
+ "node_modules/@jest/reporters/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "devOptional": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "devOptional": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
"node_modules/@jest/reporters/node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"is-number": "^7.0.0"
},
@@ -6469,11 +6595,30 @@
"node": ">=8.0"
}
},
+ "node_modules/@jest/reporters/node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "devOptional": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@jest/reporters/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "devOptional": true
+ },
"node_modules/@jest/schemas": {
- "version": "29.6.0",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz",
- "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==",
- "dev": true,
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "devOptional": true,
"dependencies": {
"@sinclair/typebox": "^0.27.8"
},
@@ -6482,57 +6627,279 @@
}
},
"node_modules/@jest/source-map": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-26.6.2.tgz",
- "integrity": "sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==",
- "dev": true,
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
+ "devOptional": true,
"dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.18",
"callsites": "^3.0.0",
- "graceful-fs": "^4.2.4",
- "source-map": "^0.6.0"
+ "graceful-fs": "^4.2.9"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/source-map/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
+ "node_modules/@jest/test-result": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
}
},
- "node_modules/@jest/test-result": {
- "version": "26.6.2",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-26.6.2.tgz",
- "integrity": "sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==",
- "dev": true,
+ "node_modules/@jest/test-result/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
"dependencies": {
- "@jest/console": "^26.6.2",
- "@jest/types": "^26.6.2",
+ "@jest/schemas": "^29.6.3",
"@types/istanbul-lib-coverage": "^2.0.0",
- "collect-v8-coverage": "^1.0.0"
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/test-result/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
}
},
"node_modules/@jest/test-sequencer": {
- "version": "26.6.3",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz",
- "integrity": "sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==",
- "dev": true,
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
+ "devOptional": true,
"dependencies": {
- "@jest/test-result": "^26.6.2",
- "graceful-fs": "^4.2.4",
- "jest-haste-map": "^26.6.2",
- "jest-runner": "^26.6.3",
- "jest-runtime": "^26.6.3"
+ "@jest/test-result": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "slash": "^3.0.0"
},
"engines": {
- "node": ">= 10.14.2"
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "devOptional": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "devOptional": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "devOptional": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+ "devOptional": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "devOptional": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "devOptional": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "devOptional": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "devOptional": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "devOptional": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/@jest/test-sequencer/node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "devOptional": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
}
},
"node_modules/@jest/transform": {
@@ -6658,6 +7025,7 @@
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/@jest/types/-/types-26.6.2.tgz",
"integrity": "sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==",
+ "dev": true,
"dependencies": {
"@types/istanbul-lib-coverage": "^2.0.0",
"@types/istanbul-reports": "^3.0.0",
@@ -6673,6 +7041,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
"integrity": "sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA==",
+ "dev": true,
"dependencies": {
"@types/istanbul-lib-report": "*"
}
@@ -10858,7 +11227,7 @@
"node_modules/@mrmlnc/readdir-enhanced/node_modules/glob-to-regexp": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
- "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
+ "integrity": "sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig=="
},
"node_modules/@nicolo-ribaudo/chokidar-2": {
"version": "2.1.8-no-fsevents.3",
@@ -10885,25 +11254,17 @@
}
},
"node_modules/@nodelib/fs.scandir": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
- "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dependencies": {
- "@nodelib/fs.stat": "2.0.3",
+ "@nodelib/fs.stat": "2.0.5",
"run-parallel": "^1.1.9"
},
"engines": {
"node": ">= 8"
}
},
- "node_modules/@nodelib/fs.scandir/node_modules/@nodelib/fs.stat": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
- "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
- "engines": {
- "node": ">= 8"
- }
- },
"node_modules/@nodelib/fs.stat": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
@@ -10913,11 +11274,11 @@
}
},
"node_modules/@nodelib/fs.walk": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
- "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dependencies": {
- "@nodelib/fs.scandir": "2.1.3",
+ "@nodelib/fs.scandir": "2.1.5",
"fastq": "^1.6.0"
},
"engines": {
@@ -12119,6 +12480,18 @@
"node": ">=14"
}
},
+ "node_modules/@pkgr/core": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz",
+ "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/unts"
+ }
+ },
"node_modules/@polka/url": {
"version": "1.0.0-next.20",
"resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz",
@@ -12126,9 +12499,9 @@
"dev": true
},
"node_modules/@popperjs/core": {
- "version": "2.10.1",
- "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.10.1.tgz",
- "integrity": "sha512-HnUhk1Sy9IuKrxEMdIRCxpIqPw6BFsbYSEUO9p/hNw5sMld/+3OLMWQP80F8/db9qsv3qUjs7ZR5bS/R+iinXw==",
+ "version": "2.11.8",
+ "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+ "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/popperjs"
@@ -12183,28 +12556,27 @@
}
},
"node_modules/@react-spring/animated": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.6.1.tgz",
- "integrity": "sha512-ls/rJBrAqiAYozjLo5EPPLLOb1LM0lNVQcXODTC1SMtS6DbuBCPaKco5svFUQFMP2dso3O+qcC4k9FsKc0KxMQ==",
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.3.tgz",
+ "integrity": "sha512-5CWeNJt9pNgyvuSzQH+uy2pvTg8Y4/OisoscZIR8/ZNLIOI+CatFBhGZpDGTF/OzdNFsAoGk3wiUYTwoJ0YIvw==",
"peer": true,
"dependencies": {
- "@react-spring/shared": "~9.6.1",
- "@react-spring/types": "~9.6.1"
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/@react-spring/core": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.6.1.tgz",
- "integrity": "sha512-3HAAinAyCPessyQNNXe5W0OHzRfa8Yo5P748paPcmMowZ/4sMfaZ2ZB6e5x5khQI8NusOHj8nquoutd6FRY5WQ==",
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/core/-/core-9.7.3.tgz",
+ "integrity": "sha512-IqFdPVf3ZOC1Cx7+M0cXf4odNLxDC+n7IN3MDcVCTIOSBfqEcBebSv+vlY5AhM0zw05PDbjKrNmBpzv/AqpjnQ==",
"peer": true,
"dependencies": {
- "@react-spring/animated": "~9.6.1",
- "@react-spring/rafz": "~9.6.1",
- "@react-spring/shared": "~9.6.1",
- "@react-spring/types": "~9.6.1"
+ "@react-spring/animated": "~9.7.3",
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
},
"funding": {
"type": "opencollective",
@@ -12214,41 +12586,34 @@
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@react-spring/rafz": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/rafz/-/rafz-9.6.1.tgz",
- "integrity": "sha512-v6qbgNRpztJFFfSE3e2W1Uz+g8KnIBs6SmzCzcVVF61GdGfGOuBrbjIcp+nUz301awVmREKi4eMQb2Ab2gGgyQ==",
- "peer": true
- },
"node_modules/@react-spring/shared": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.6.1.tgz",
- "integrity": "sha512-PBFBXabxFEuF8enNLkVqMC9h5uLRBo6GQhRMQT/nRTnemVENimgRd+0ZT4yFnAQ0AxWNiJfX3qux+bW2LbG6Bw==",
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/shared/-/shared-9.7.3.tgz",
+ "integrity": "sha512-NEopD+9S5xYyQ0pGtioacLhL2luflh6HACSSDUZOwLHoxA5eku1UPuqcJqjwSD6luKjjLfiLOspxo43FUHKKSA==",
"peer": true,
"dependencies": {
- "@react-spring/rafz": "~9.6.1",
- "@react-spring/types": "~9.6.1"
+ "@react-spring/types": "~9.7.3"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
"node_modules/@react-spring/types": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.6.1.tgz",
- "integrity": "sha512-POu8Mk0hIU3lRXB3bGIGe4VHIwwDsQyoD1F394OK7STTiX9w4dG3cTLljjYswkQN+hDSHRrj4O36kuVa7KPU8Q==",
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/types/-/types-9.7.3.tgz",
+ "integrity": "sha512-Kpx/fQ/ZFX31OtlqVEFfgaD1ACzul4NksrvIgYfIFq9JpDHFwQkMVZ10tbo0FU/grje4rcL4EIrjekl3kYwgWw==",
"peer": true
},
"node_modules/@react-spring/web": {
- "version": "9.6.1",
- "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.6.1.tgz",
- "integrity": "sha512-X2zR6q2Z+FjsWfGAmAXlQaoUHbPmfuCaXpuM6TcwXPpLE1ZD4A1eys/wpXboFQmDkjnrlTmKvpVna1MjWpZ5Hw==",
+ "version": "9.7.3",
+ "resolved": "https://registry.npmjs.org/@react-spring/web/-/web-9.7.3.tgz",
+ "integrity": "sha512-BXt6BpS9aJL/QdVqEIX9YoUy8CE6TJrU0mNCqSoxdXlIeNcEBWOfIyE6B14ENNsyQKS3wOWkiJfco0tCr/9tUg==",
"peer": true,
"dependencies": {
- "@react-spring/animated": "~9.6.1",
- "@react-spring/core": "~9.6.1",
- "@react-spring/shared": "~9.6.1",
- "@react-spring/types": "~9.6.1"
+ "@react-spring/animated": "~9.7.3",
+ "@react-spring/core": "~9.7.3",
+ "@react-spring/shared": "~9.7.3",
+ "@react-spring/types": "~9.7.3"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
@@ -12278,6 +12643,14 @@
}
}
},
+ "node_modules/@remix-run/router": {
+ "version": "1.14.2",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz",
+ "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==",
+ "engines": {
+ "node": ">=14.0.0"
+ }
+ },
"node_modules/@samverschueren/stream-to-observable": {
"version": "0.3.1",
"resolved": "https://registry.npmjs.org/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz",
@@ -12330,7 +12703,7 @@
"version": "0.27.8",
"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
- "dev": true
+ "devOptional": true
},
"node_modules/@sinonjs/commons": {
"version": "1.8.3",
@@ -12378,25 +12751,26 @@
"dev": true
},
"node_modules/@storybook/addon-actions": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.22.tgz",
- "integrity": "sha512-t2w3iLXFul+R/1ekYxIEzUOZZmvEa7EzUAVAuCHP4i6x0jBnTTZ7sAIUVRaxVREPguH5IqI/2OklYhKanty2Yw==",
- "dependencies": {
- "@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core-events": "6.4.22",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/theming": "6.4.22",
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.5.16.tgz",
+ "integrity": "sha512-aADjilFmuD6TNGz2CRPSupnyiA/IGkPJHDBTqMpsDXTUr8xnuD122xkIhg6UxmCM2y1c+ncwYXy3WPK2xXK57g==",
+ "dependencies": {
+ "@storybook/addons": "6.5.16",
+ "@storybook/api": "6.5.16",
+ "@storybook/client-logger": "6.5.16",
+ "@storybook/components": "6.5.16",
+ "@storybook/core-events": "6.5.16",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/theming": "6.5.16",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
"lodash": "^4.17.21",
- "polished": "^4.0.5",
+ "polished": "^4.2.2",
"prop-types": "^15.7.2",
"react-inspector": "^5.1.0",
"regenerator-runtime": "^0.13.7",
- "telejson": "^5.3.2",
+ "telejson": "^6.0.8",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"uuid-browser": "^3.1.0"
@@ -12406,8 +12780,8 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
"react": {
@@ -12418,6 +12792,47 @@
}
}
},
+ "node_modules/@storybook/addon-actions/node_modules/@storybook/client-logger": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.16.tgz",
+ "integrity": "sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==",
+ "dependencies": {
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/addon-actions/node_modules/@storybook/core-events": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.16.tgz",
+ "integrity": "sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==",
+ "dependencies": {
+ "core-js": "^3.8.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/addon-actions/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.4566f4d.1",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz",
+ "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@storybook/addon-actions/node_modules/isobject": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
+ "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/@storybook/addon-actions/node_modules/polished": {
"version": "4.2.2",
"resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
@@ -12429,6 +12844,21 @@
"node": ">=10"
}
},
+ "node_modules/@storybook/addon-actions/node_modules/telejson": {
+ "version": "6.0.8",
+ "resolved": "https://registry.npmjs.org/telejson/-/telejson-6.0.8.tgz",
+ "integrity": "sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==",
+ "dependencies": {
+ "@types/is-function": "^1.0.0",
+ "global": "^4.4.0",
+ "is-function": "^1.0.2",
+ "is-regex": "^1.1.2",
+ "is-symbol": "^1.0.3",
+ "isobject": "^4.0.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3"
+ }
+ },
"node_modules/@storybook/addon-backgrounds": {
"version": "6.4.22",
"resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-6.4.22.tgz",
@@ -12466,6 +12896,203 @@
}
}
},
+ "node_modules/@storybook/addon-backgrounds/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/addons": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.4.22",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/components": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
+ "dev": true,
+ "dependencies": {
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.17.8"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/@storybook/addon-backgrounds/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/@storybook/addon-controls": {
"version": "6.4.22",
"resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-6.4.22.tgz",
@@ -12502,75 +13129,33 @@
}
}
},
- "node_modules/@storybook/addon-docs": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.5.10.tgz",
- "integrity": "sha512-1kgjo3f0vL6GN8fTwLL05M/q/kDdzvuqwhxPY/v5hubFb3aQZGr2yk9pRBaLAbs4bez0yG0ASXcwhYnrEZUppg==",
+ "node_modules/@storybook/addon-controls/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
"dev": true,
"dependencies": {
- "@babel/plugin-transform-react-jsx": "^7.12.12",
- "@babel/preset-env": "^7.12.11",
- "@jest/transform": "^26.6.2",
- "@mdx-js/react": "^1.6.22",
- "@storybook/addons": "6.5.10",
- "@storybook/api": "6.5.10",
- "@storybook/components": "6.5.10",
- "@storybook/core-common": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/docs-tools": "6.5.10",
- "@storybook/mdx1-csf": "^0.0.1",
- "@storybook/node-logger": "6.5.10",
- "@storybook/postinstall": "6.5.10",
- "@storybook/preview-web": "6.5.10",
- "@storybook/source-loader": "6.5.10",
- "@storybook/store": "6.5.10",
- "@storybook/theming": "6.5.10",
- "babel-loader": "^8.0.0",
- "core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
- "global": "^4.4.0",
- "lodash": "^4.17.21",
- "regenerator-runtime": "^0.13.7",
- "remark-external-links": "^8.0.0",
- "remark-slug": "^6.0.0",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
- "@storybook/mdx2-csf": "^0.0.3",
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- },
- "peerDependenciesMeta": {
- "@storybook/mdx2-csf": {
- "optional": true
- },
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/addons": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.10.tgz",
- "integrity": "sha512-VD4tBCQ23PkSeDoxuHcKy0RfhIs3oMYjBacOZx7d0bvOzK9WjPyvE2ysDAh7r/ceqnwmWHAScIpE+I1RU7gl+g==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/addons": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
"dev": true,
"dependencies": {
- "@storybook/api": "6.5.10",
- "@storybook/channels": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/router": "6.5.10",
- "@storybook/theming": "6.5.10",
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
"@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
@@ -12581,23 +13166,23 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/api": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.10.tgz",
- "integrity": "sha512-AkmgSPNEGdKp4oZA4KQ+RJsacw7GwfvjsVDnCkcXqS9zmSr/RNL0fhpcd60KKkmx/hGKPTDFpK3ZayxDrJ/h4A==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
"dev": true,
"dependencies": {
- "@storybook/channels": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/router": "6.5.10",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
"@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.5.10",
+ "@storybook/theming": "6.4.22",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -12605,7 +13190,7 @@
"memoizerific": "^1.11.3",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
- "telejson": "^6.0.8",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -12614,71 +13199,39 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/channel-postmessage": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.5.10.tgz",
- "integrity": "sha512-t9PTA0UzFvYa3IlOfpBOolfrRMPTjUMIeCQ6FNyM0aj5GqLKSvoQzP8NeoRpIrvyf6ljFKKdaMaZ3fiCvh45ag==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/components": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
"dev": true,
"dependencies": {
- "@storybook/channels": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
"core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "qs": "^6.10.0",
- "telejson": "^6.0.8"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.10.tgz",
- "integrity": "sha512-lo26YZ6kWpHXLhuHJF4P/bICY7jD/rXEZqReKtGOSk1Lv99/xvG6pqmcy3hWLf3v3Dy/8otjRPSR7izFVIIZgQ==",
- "dev": true,
- "dependencies": {
- "core-js": "^3.8.2",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.10.tgz",
- "integrity": "sha512-/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w==",
- "dev": true,
- "dependencies": {
- "core-js": "^3.8.2",
- "global": "^4.4.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/components": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.10.tgz",
- "integrity": "sha512-9OhgB8YQfGwOKjo/N96N5mrtJ6qDVVoEM1zuhea32tJUd2eYf0aSWpryA9VnOM0V1q/8DAoCg5rPBMYWMBU5uw==",
- "dev": true,
- "dependencies": {
- "@storybook/client-logger": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/theming": "6.5.10",
- "core-js": "^3.8.2",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
"regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
"funding": {
@@ -12686,14 +13239,14 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/core-common": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.5.10.tgz",
- "integrity": "sha512-Bx+VKkfWdrAmD8T51Sjq/mMhRaiapBHcpG4cU5bc3DMbg+LF2/yrgqv/cjVu+m5gHAzYCac5D7gqzBgvG7Myww==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/core-common": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.22.tgz",
+ "integrity": "sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==",
"dev": true,
"dependencies": {
"@babel/core": "^7.12.10",
@@ -12704,7 +13257,6 @@
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/plugin-proposal-optional-chaining": "^7.12.7",
"@babel/plugin-proposal-private-methods": "^7.12.1",
- "@babel/plugin-proposal-private-property-in-object": "^7.12.1",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-transform-arrow-functions": "^7.12.1",
"@babel/plugin-transform-block-scoping": "^7.12.12",
@@ -12718,9 +13270,9 @@
"@babel/preset-react": "^7.12.10",
"@babel/preset-typescript": "^7.12.7",
"@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.5.10",
+ "@storybook/node-logger": "6.4.22",
"@storybook/semver": "^7.3.2",
- "@types/node": "^14.0.10 || ^16.0.0",
+ "@types/node": "^14.0.10",
"@types/pretty-hrtime": "^1.0.0",
"babel-loader": "^8.0.0",
"babel-plugin-macros": "^3.0.1",
@@ -12742,7 +13294,7 @@
"pretty-hrtime": "^1.0.3",
"resolve-from": "^5.0.0",
"slash": "^3.0.0",
- "telejson": "^6.0.8",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2",
"webpack": "4"
@@ -12752,8 +13304,8 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
"typescript": {
@@ -12761,161 +13313,16 @@
}
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.10.tgz",
- "integrity": "sha512-EVb1gO1172klVIAABLOoigFMx0V88uctY0K/qVCO8n6v+wd2+0Ccn63kl+gTxsAC3WZ8XhXh9q2w5ImHklVECw==",
- "dev": true,
- "dependencies": {
- "core-js": "^3.8.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/csf": {
- "version": "0.0.2--canary.4566f4d.1",
- "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz",
- "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==",
- "dev": true,
- "dependencies": {
- "lodash": "^4.17.15"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/node-logger": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.10.tgz",
- "integrity": "sha512-bYswXIKV7Stru8vYfkjUMNN8UhF7Qg7NRsUvG5Djt5lLIae1XmUIgnH40mU/nW4X4BSfcR9MKxsSsngvn2WmQg==",
- "dev": true,
- "dependencies": {
- "@types/npmlog": "^4.1.2",
- "chalk": "^4.1.0",
- "core-js": "^3.8.2",
- "npmlog": "^5.0.1",
- "pretty-hrtime": "^1.0.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/postinstall": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.5.10.tgz",
- "integrity": "sha512-xqUdpnFHYkn8MgtV+QztvIsRWa6jQUk7QT1Mu17Y0S7PbslNGsuskRPHenHhACXBJF+TM86R+4BaAhnVYTmElw==",
- "dev": true,
- "dependencies": {
- "core-js": "^3.8.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/preview-web": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.5.10.tgz",
- "integrity": "sha512-sTC/o5gkvALOtcNgtApGKGN9EavvSxRHBeBh+5BQjV2qQ8ap+26RsfUizNBECAa2Jrn4osaDYn9HRhJLFL69WA==",
- "dev": true,
- "dependencies": {
- "@storybook/addons": "6.5.10",
- "@storybook/channel-postmessage": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/store": "6.5.10",
- "ansi-to-html": "^0.6.11",
- "core-js": "^3.8.2",
- "global": "^4.4.0",
- "lodash": "^4.17.21",
- "qs": "^6.10.0",
- "regenerator-runtime": "^0.13.7",
- "synchronous-promise": "^2.0.15",
- "ts-dedent": "^2.0.0",
- "unfetch": "^4.2.0",
- "util-deprecate": "^1.0.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/router": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.10.tgz",
- "integrity": "sha512-O+vNW/eEpYFF8eCg5jZjNQ6q2DKQVxqDRPCy9pJdEbvavMDZn6AFYgVK+VJe5F4211WW2yncOu922xObCxXJYg==",
- "dev": true,
- "dependencies": {
- "@storybook/client-logger": "6.5.10",
- "core-js": "^3.8.2",
- "memoizerific": "^1.11.3",
- "qs": "^6.10.0",
- "regenerator-runtime": "^0.13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/source-loader": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.5.10.tgz",
- "integrity": "sha512-1RxxRumpjs8VUUwES9LId+cuNQnixhZAcwCxd6jaKkTZbjiQCtAhXX6DBTjJGV1u/JnCsqEp5b1wB8j/EioNHw==",
- "dev": true,
- "dependencies": {
- "@storybook/addons": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "core-js": "^3.8.2",
- "estraverse": "^5.2.0",
- "global": "^4.4.0",
- "loader-utils": "^2.0.0",
- "lodash": "^4.17.21",
- "prettier": ">=2.2.1 <=2.3.0",
- "regenerator-runtime": "^0.13.7"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/source-loader/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/@storybook/store": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.10.tgz",
- "integrity": "sha512-RswrSYh2IiKkytFPxP9AvP+hekjrvHK2ILvyDk2ZgduCN4n5ivsekOb+N3M2t+dq1eLuW9or5n2T4OWwAwjxxQ==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/store": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.22.tgz",
+ "integrity": "sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/addons": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
@@ -12933,37 +13340,45 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.10.tgz",
- "integrity": "sha512-BvTQBBcSEwKKcsVmF+Ol6v0RIQUr+bxP7gb10wtfBd23mZTEFA0C1N5FnZr/dDeiBKG1pvf1UKvoYA731y0BsA==",
+ "node_modules/@storybook/addon-controls/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
"dev": true,
"dependencies": {
- "@storybook/client-logger": "6.5.10",
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
"core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
"memoizerific": "^1.11.3",
- "regenerator-runtime": "^0.13.7"
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/@types/node": {
- "version": "16.11.48",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.48.tgz",
- "integrity": "sha512-Z9r9UWlNeNkYnxybm+1fc0jxUNjZqRekTAr1pG0qdXe9apT9yCiqk1c4VvKQJsFpnchU4+fLl25MabSLA2wxIw==",
+ "node_modules/@storybook/addon-controls/node_modules/@types/node": {
+ "version": "14.18.63",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
+ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==",
"dev": true
},
- "node_modules/@storybook/addon-docs/node_modules/acorn": {
+ "node_modules/@storybook/addon-controls/node_modules/acorn": {
"version": "6.4.2",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
"integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
@@ -12975,29 +13390,7 @@
"node": ">=0.4.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/are-we-there-yet": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
- "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
- "dev": true,
- "dependencies": {
- "delegates": "^1.0.0",
- "readable-stream": "^3.6.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/babel-plugin-macros": {
+ "node_modules/@storybook/addon-controls/node_modules/babel-plugin-macros": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
"integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
@@ -13012,7 +13405,25 @@
"npm": ">=6"
}
},
- "node_modules/@storybook/addon-docs/node_modules/eslint-scope": {
+ "node_modules/@storybook/addon-controls/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-controls/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-controls/node_modules/eslint-scope": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
"integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
@@ -13025,25 +13436,7 @@
"node": ">=4.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/eslint-scope/node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/find-up": {
+ "node_modules/@storybook/addon-controls/node_modules/find-up": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
"integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
@@ -13059,7 +13452,7 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/addon-docs/node_modules/fs-extra": {
+ "node_modules/@storybook/addon-controls/node_modules/fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
@@ -13074,45 +13467,7 @@
"node": ">=10"
}
},
- "node_modules/@storybook/addon-docs/node_modules/gauge": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
- "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
- "dev": true,
- "dependencies": {
- "aproba": "^1.0.3 || ^2.0.0",
- "color-support": "^1.1.2",
- "console-control-strings": "^1.0.0",
- "has-unicode": "^2.0.1",
- "object-assign": "^4.1.1",
- "signal-exit": "^3.0.0",
- "string-width": "^4.2.3",
- "strip-ansi": "^6.0.1",
- "wide-align": "^1.1.2"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/isobject": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
- "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
- "dev": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/json5": {
+ "node_modules/@storybook/addon-controls/node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
@@ -13124,7 +13479,7 @@
"node": ">=6"
}
},
- "node_modules/@storybook/addon-docs/node_modules/loader-runner": {
+ "node_modules/@storybook/addon-controls/node_modules/loader-runner": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
"integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
@@ -13133,7 +13488,7 @@
"node": ">=4.3.0 <5.0.0 || >=5.10"
}
},
- "node_modules/@storybook/addon-docs/node_modules/locate-path": {
+ "node_modules/@storybook/addon-controls/node_modules/locate-path": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
"integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
@@ -13148,19 +13503,7 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/addon-docs/node_modules/npmlog": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
- "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
- "dev": true,
- "dependencies": {
- "are-we-there-yet": "^2.0.0",
- "console-control-strings": "^1.1.0",
- "gauge": "^3.0.0",
- "set-blocking": "^2.0.0"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/p-limit": {
+ "node_modules/@storybook/addon-controls/node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
@@ -13175,7 +13518,7 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/addon-docs/node_modules/p-locate": {
+ "node_modules/@storybook/addon-controls/node_modules/p-locate": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
"integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
@@ -13190,7 +13533,7 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/addon-docs/node_modules/path-exists": {
+ "node_modules/@storybook/addon-controls/node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
@@ -13199,7 +13542,7 @@
"node": ">=8"
}
},
- "node_modules/@storybook/addon-docs/node_modules/pkg-dir": {
+ "node_modules/@storybook/addon-controls/node_modules/pkg-dir": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
"integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
@@ -13211,48 +13554,35 @@
"node": ">=10"
}
},
- "node_modules/@storybook/addon-docs/node_modules/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
+ "node_modules/@storybook/addon-controls/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
"dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
+ "dependencies": {
+ "@babel/runtime": "^7.17.8"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=10"
}
},
- "node_modules/@storybook/addon-docs/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "node_modules/@storybook/addon-controls/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
"dev": true,
"dependencies": {
- "side-channel": "^1.0.4"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
},
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/readable-stream": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
- "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
- "dev": true,
- "dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- },
- "engines": {
- "node": ">= 6"
+ "peerDependencies": {
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/resolve-from": {
+ "node_modules/@storybook/addon-controls/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
@@ -13261,7 +13591,7 @@
"node": ">=8"
}
},
- "node_modules/@storybook/addon-docs/node_modules/schema-utils": {
+ "node_modules/@storybook/addon-controls/node_modules/schema-utils": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
"integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
@@ -13275,7 +13605,7 @@
"node": ">= 4"
}
},
- "node_modules/@storybook/addon-docs/node_modules/slash": {
+ "node_modules/@storybook/addon-controls/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
@@ -13284,7 +13614,7 @@
"node": ">=8"
}
},
- "node_modules/@storybook/addon-docs/node_modules/source-map": {
+ "node_modules/@storybook/addon-controls/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
@@ -13293,49 +13623,7 @@
"node": ">=0.10.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
- "dev": true,
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
- "dependencies": {
- "ansi-regex": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/telejson": {
- "version": "6.0.8",
- "resolved": "https://registry.npmjs.org/telejson/-/telejson-6.0.8.tgz",
- "integrity": "sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==",
- "dev": true,
- "dependencies": {
- "@types/is-function": "^1.0.0",
- "global": "^4.4.0",
- "is-function": "^1.0.2",
- "is-regex": "^1.1.2",
- "is-symbol": "^1.0.3",
- "isobject": "^4.0.0",
- "lodash": "^4.17.21",
- "memoizerific": "^1.11.3"
- }
- },
- "node_modules/@storybook/addon-docs/node_modules/terser-webpack-plugin": {
+ "node_modules/@storybook/addon-controls/node_modules/terser-webpack-plugin": {
"version": "1.4.5",
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
"integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
@@ -13358,10 +13646,10 @@
"webpack": "^4.0.0"
}
},
- "node_modules/@storybook/addon-docs/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/addon-controls/node_modules/webpack": {
+ "version": "4.47.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz",
+ "integrity": "sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==",
"dev": true,
"dependencies": {
"@webassemblyjs/ast": "1.9.0",
@@ -13407,7 +13695,7 @@
}
}
},
- "node_modules/@storybook/addon-docs/node_modules/webpack-sources": {
+ "node_modules/@storybook/addon-controls/node_modules/webpack-sources": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
"integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
@@ -13417,49 +13705,52 @@
"source-map": "~0.6.1"
}
},
- "node_modules/@storybook/addon-essentials": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.4.22.tgz",
- "integrity": "sha512-GTv291fqvWq2wzm7MruBvCGuWaCUiuf7Ca3kzbQ/WqWtve7Y/1PDsqRNQLGZrQxkXU0clXCqY1XtkTrtA3WGFQ==",
+ "node_modules/@storybook/addon-docs": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.5.10.tgz",
+ "integrity": "sha512-1kgjo3f0vL6GN8fTwLL05M/q/kDdzvuqwhxPY/v5hubFb3aQZGr2yk9pRBaLAbs4bez0yG0ASXcwhYnrEZUppg==",
"dev": true,
"dependencies": {
- "@storybook/addon-actions": "6.4.22",
- "@storybook/addon-backgrounds": "6.4.22",
- "@storybook/addon-controls": "6.4.22",
- "@storybook/addon-docs": "6.4.22",
- "@storybook/addon-measure": "6.4.22",
- "@storybook/addon-outline": "6.4.22",
- "@storybook/addon-toolbars": "6.4.22",
- "@storybook/addon-viewport": "6.4.22",
- "@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
- "@storybook/node-logger": "6.4.22",
+ "@babel/plugin-transform-react-jsx": "^7.12.12",
+ "@babel/preset-env": "^7.12.11",
+ "@jest/transform": "^26.6.2",
+ "@mdx-js/react": "^1.6.22",
+ "@storybook/addons": "6.5.10",
+ "@storybook/api": "6.5.10",
+ "@storybook/components": "6.5.10",
+ "@storybook/core-common": "6.5.10",
+ "@storybook/core-events": "6.5.10",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/docs-tools": "6.5.10",
+ "@storybook/mdx1-csf": "^0.0.1",
+ "@storybook/node-logger": "6.5.10",
+ "@storybook/postinstall": "6.5.10",
+ "@storybook/preview-web": "6.5.10",
+ "@storybook/source-loader": "6.5.10",
+ "@storybook/store": "6.5.10",
+ "@storybook/theming": "6.5.10",
+ "babel-loader": "^8.0.0",
"core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
"regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0"
+ "remark-external-links": "^8.0.0",
+ "remark-slug": "^6.0.0",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@babel/core": "^7.9.6",
- "@storybook/vue": "6.4.22",
- "@storybook/web-components": "6.4.22",
- "babel-loader": "^8.0.0",
- "lit-html": "^1.4.1 || ^2.0.0-rc.3",
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0",
- "webpack": "*"
+ "@storybook/mdx2-csf": "^0.0.3",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
},
"peerDependenciesMeta": {
- "@storybook/vue": {
- "optional": true
- },
- "@storybook/web-components": {
- "optional": true
- },
- "lit-html": {
+ "@storybook/mdx2-csf": {
"optional": true
},
"react": {
@@ -13467,62 +13758,57 @@
},
"react-dom": {
"optional": true
- },
- "webpack": {
- "optional": true
}
}
},
- "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.4.22.tgz",
- "integrity": "sha512-9j+i+W+BGHJuRe4jUrqk6ubCzP4fc1xgFS2o8pakRiZgPn5kUQPdkticmsyh1XeEJifwhqjKJvkEDrcsleytDA==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/addons": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.10.tgz",
+ "integrity": "sha512-VD4tBCQ23PkSeDoxuHcKy0RfhIs3oMYjBacOZx7d0bvOzK9WjPyvE2ysDAh7r/ceqnwmWHAScIpE+I1RU7gl+g==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/generator": "^7.12.11",
- "@babel/parser": "^7.12.11",
- "@babel/plugin-transform-react-jsx": "^7.12.12",
- "@babel/preset-env": "^7.12.11",
- "@jest/transform": "^26.6.2",
- "@mdx-js/loader": "^1.6.22",
- "@mdx-js/mdx": "^1.6.22",
- "@mdx-js/react": "^1.6.22",
- "@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
- "@storybook/builder-webpack4": "6.4.22",
- "@storybook/client-logger": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core": "6.4.22",
- "@storybook/core-events": "6.4.22",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/csf-tools": "6.4.22",
- "@storybook/node-logger": "6.4.22",
- "@storybook/postinstall": "6.4.22",
- "@storybook/preview-web": "6.4.22",
- "@storybook/source-loader": "6.4.22",
- "@storybook/store": "6.4.22",
- "@storybook/theming": "6.4.22",
- "acorn": "^7.4.1",
- "acorn-jsx": "^5.3.1",
- "acorn-walk": "^7.2.0",
+ "@storybook/api": "6.5.10",
+ "@storybook/channels": "6.5.10",
+ "@storybook/client-logger": "6.5.10",
+ "@storybook/core-events": "6.5.10",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/router": "6.5.10",
+ "@storybook/theming": "6.5.10",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/api": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.10.tgz",
+ "integrity": "sha512-AkmgSPNEGdKp4oZA4KQ+RJsacw7GwfvjsVDnCkcXqS9zmSr/RNL0fhpcd60KKkmx/hGKPTDFpK3ZayxDrJ/h4A==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/channels": "6.5.10",
+ "@storybook/client-logger": "6.5.10",
+ "@storybook/core-events": "6.5.10",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/router": "6.5.10",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.5.10",
"core-js": "^3.8.2",
- "doctrine": "^3.0.0",
- "escodegen": "^2.0.0",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "html-tags": "^3.1.0",
- "js-string-escape": "^1.0.1",
- "loader-utils": "^2.0.0",
"lodash": "^4.17.21",
- "nanoid": "^3.1.23",
- "p-limit": "^3.1.0",
- "prettier": ">=2.2.1 <=2.3.0",
- "prop-types": "^15.7.2",
- "react-element-to-jsx-string": "^14.3.4",
+ "memoizerific": "^1.11.3",
"regenerator-runtime": "^0.13.7",
- "remark-external-links": "^8.0.0",
- "remark-slug": "^6.0.0",
+ "store2": "^2.12.0",
+ "telejson": "^6.0.8",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -13531,236 +13817,233 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/angular": "6.4.22",
- "@storybook/html": "6.4.22",
- "@storybook/react": "6.4.22",
- "@storybook/vue": "6.4.22",
- "@storybook/vue3": "6.4.22",
- "@storybook/web-components": "6.4.22",
- "lit": "^2.0.0",
- "lit-html": "^1.4.1 || ^2.0.0",
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0",
- "svelte": "^3.31.2",
- "sveltedoc-parser": "^4.1.0",
- "vue": "^2.6.10 || ^3.0.0",
- "webpack": "*"
- },
- "peerDependenciesMeta": {
- "@storybook/angular": {
- "optional": true
- },
- "@storybook/html": {
- "optional": true
- },
- "@storybook/react": {
- "optional": true
- },
- "@storybook/vue": {
- "optional": true
- },
- "@storybook/vue3": {
- "optional": true
- },
- "@storybook/web-components": {
- "optional": true
- },
- "lit": {
- "optional": true
- },
- "lit-html": {
- "optional": true
- },
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- },
- "svelte": {
- "optional": true
- },
- "sveltedoc-parser": {
- "optional": true
- },
- "vue": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/acorn": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
- "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/channels": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.10.tgz",
+ "integrity": "sha512-lo26YZ6kWpHXLhuHJF4P/bICY7jD/rXEZqReKtGOSk1Lv99/xvG6pqmcy3hWLf3v3Dy/8otjRPSR7izFVIIZgQ==",
"dev": true,
- "bin": {
- "acorn": "bin/acorn"
+ "dependencies": {
+ "core-js": "^3.8.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=0.4.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/escodegen": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
- "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/client-logger": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.10.tgz",
+ "integrity": "sha512-/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w==",
"dev": true,
"dependencies": {
- "esprima": "^4.0.1",
- "estraverse": "^5.2.0",
- "esutils": "^2.0.2",
- "optionator": "^0.8.1"
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
},
- "bin": {
- "escodegen": "bin/escodegen.js",
- "esgenerate": "bin/esgenerate.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/components": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.5.10.tgz",
+ "integrity": "sha512-9OhgB8YQfGwOKjo/N96N5mrtJ6qDVVoEM1zuhea32tJUd2eYf0aSWpryA9VnOM0V1q/8DAoCg5rPBMYWMBU5uw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/client-logger": "6.5.10",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/theming": "6.5.10",
+ "core-js": "^3.8.2",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=6.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
- "optionalDependencies": {
- "source-map": "~0.6.1"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/esprima": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
- "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/core-events": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.10.tgz",
+ "integrity": "sha512-EVb1gO1172klVIAABLOoigFMx0V88uctY0K/qVCO8n6v+wd2+0Ccn63kl+gTxsAC3WZ8XhXh9q2w5ImHklVECw==",
"dev": true,
- "bin": {
- "esparse": "bin/esparse.js",
- "esvalidate": "bin/esvalidate.js"
+ "dependencies": {
+ "core-js": "^3.8.2"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.4566f4d.1",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz",
+ "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==",
"dev": true,
- "engines": {
- "node": ">=4.0"
+ "dependencies": {
+ "lodash": "^4.17.15"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/node-logger": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-6.5.10.tgz",
+ "integrity": "sha512-bYswXIKV7Stru8vYfkjUMNN8UhF7Qg7NRsUvG5Djt5lLIae1XmUIgnH40mU/nW4X4BSfcR9MKxsSsngvn2WmQg==",
"dev": true,
- "bin": {
- "json5": "lib/cli.js"
+ "dependencies": {
+ "@types/npmlog": "^4.1.2",
+ "chalk": "^4.1.0",
+ "core-js": "^3.8.2",
+ "npmlog": "^5.0.1",
+ "pretty-hrtime": "^1.0.3"
},
- "engines": {
- "node": ">=6"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/postinstall": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-6.5.10.tgz",
+ "integrity": "sha512-xqUdpnFHYkn8MgtV+QztvIsRWa6jQUk7QT1Mu17Y0S7PbslNGsuskRPHenHhACXBJF+TM86R+4BaAhnVYTmElw==",
"dev": true,
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "core-js": "^3.8.2"
},
- "engines": {
- "node": ">=8.9.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/router": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.10.tgz",
+ "integrity": "sha512-O+vNW/eEpYFF8eCg5jZjNQ6q2DKQVxqDRPCy9pJdEbvavMDZn6AFYgVK+VJe5F4211WW2yncOu922xObCxXJYg==",
"dev": true,
- "bin": {
- "nanoid": "bin/nanoid.cjs"
+ "dependencies": {
+ "@storybook/client-logger": "6.5.10",
+ "core-js": "^3.8.2",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/@storybook/theming": {
+ "version": "6.5.10",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.10.tgz",
+ "integrity": "sha512-BvTQBBcSEwKKcsVmF+Ol6v0RIQUr+bxP7gb10wtfBd23mZTEFA0C1N5FnZr/dDeiBKG1pvf1UKvoYA731y0BsA==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/client-logger": "6.5.10",
+ "core-js": "^3.8.2",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
"engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ "node": ">=8"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "node_modules/@storybook/addon-docs/node_modules/are-we-there-yet": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz",
+ "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==",
"dev": true,
"dependencies": {
- "yocto-queue": "^0.1.0"
+ "delegates": "^1.0.0",
+ "readable-stream": "^3.6.0"
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
+ "node_modules/@storybook/addon-docs/node_modules/gauge": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz",
+ "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==",
"dev": true,
- "bin": {
- "prettier": "bin-prettier.js"
+ "dependencies": {
+ "aproba": "^1.0.3 || ^2.0.0",
+ "color-support": "^1.1.2",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.1",
+ "object-assign": "^4.1.1",
+ "signal-exit": "^3.0.0",
+ "string-width": "^4.2.3",
+ "strip-ansi": "^6.0.1",
+ "wide-align": "^1.1.2"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=10"
}
},
- "node_modules/@storybook/addon-essentials/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/@storybook/addon-docs/node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
- "optional": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=8"
}
},
- "node_modules/@storybook/addon-knobs": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-6.3.1.tgz",
- "integrity": "sha512-2GGGnQSPXXUhHHYv4IW6pkyQlCPYXKYiyGzfhV7Zhs95M2Ban08OA6KLmliMptWCt7U9tqTO8dB5u0C2cWmCTw==",
+ "node_modules/@storybook/addon-docs/node_modules/isobject": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
+ "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@storybook/addon-docs/node_modules/npmlog": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz",
+ "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==",
+ "dev": true,
"dependencies": {
- "copy-to-clipboard": "^3.3.1",
- "core-js": "^3.8.2",
- "escape-html": "^1.0.3",
- "fast-deep-equal": "^3.1.3",
- "global": "^4.4.0",
- "lodash": "^4.17.20",
- "prop-types": "^15.7.2",
- "qs": "^6.10.0",
- "react-colorful": "^5.1.2",
- "react-lifecycles-compat": "^3.0.4",
- "react-select": "^3.2.0"
- },
- "peerDependencies": {
- "@storybook/addons": "^6.3.0",
- "@storybook/api": "^6.3.0",
- "@storybook/components": "^6.3.0",
- "@storybook/core-events": "^6.3.0",
- "@storybook/theming": "^6.3.0",
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
+ "are-we-there-yet": "^2.0.0",
+ "console-control-strings": "^1.1.0",
+ "gauge": "^3.0.0",
+ "set-blocking": "^2.0.0"
}
},
- "node_modules/@storybook/addon-knobs/node_modules/qs": {
+ "node_modules/@storybook/addon-docs/node_modules/qs": {
"version": "6.11.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dev": true,
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -13771,101 +14054,80 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/addon-links": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.4.22.tgz",
- "integrity": "sha512-OSOyDnTXnmcplJHlXTYUTMkrfpLqxtHp2R69IXfAyI1e8WNDb79mXflrEXDA/RSNEliLkqYwCyYby7gDMGds5Q==",
+ "node_modules/@storybook/addon-docs/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
"dependencies": {
- "@storybook/addons": "6.4.22",
- "@storybook/client-logger": "6.4.22",
- "@storybook/core-events": "6.4.22",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/router": "6.4.22",
- "@types/qs": "^6.9.5",
- "core-js": "^3.8.2",
- "global": "^4.4.0",
- "prop-types": "^15.7.2",
- "qs": "^6.10.0",
- "regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
},
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
+ "engines": {
+ "node": ">= 6"
}
},
- "node_modules/@storybook/addon-links/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "node_modules/@storybook/addon-docs/node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
"dependencies": {
- "side-channel": "^1.0.4"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "node": ">=8"
}
},
- "node_modules/@storybook/addon-measure": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.4.22.tgz",
- "integrity": "sha512-CjDXoCNIXxNfXfgyJXPc0McjCcwN1scVNtHa9Ckr+zMjiQ8pPHY7wDZCQsG69KTqcWHiVfxKilI82456bcHYhQ==",
+ "node_modules/@storybook/addon-docs/node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"dependencies": {
- "@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
- "@storybook/client-logger": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core-events": "6.4.22",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
- "core-js": "^3.8.2",
- "global": "^4.4.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "ansi-regex": "^5.0.1"
},
- "peerDependenciesMeta": {
- "react": {
- "optional": true
- },
- "react-dom": {
- "optional": true
- }
+ "engines": {
+ "node": ">=8"
}
},
- "node_modules/@storybook/addon-outline": {
+ "node_modules/@storybook/addon-docs/node_modules/telejson": {
+ "version": "6.0.8",
+ "resolved": "https://registry.npmjs.org/telejson/-/telejson-6.0.8.tgz",
+ "integrity": "sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==",
+ "dev": true,
+ "dependencies": {
+ "@types/is-function": "^1.0.0",
+ "global": "^4.4.0",
+ "is-function": "^1.0.2",
+ "is-regex": "^1.1.2",
+ "is-symbol": "^1.0.3",
+ "isobject": "^4.0.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3"
+ }
+ },
+ "node_modules/@storybook/addon-essentials": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.4.22.tgz",
- "integrity": "sha512-VIMEzvBBRbNnupGU7NV0ahpFFb6nKVRGYWGREjtABdFn2fdKr1YicOHFe/3U7hRGjb5gd+VazSvyUvhaKX9T7Q==",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-6.4.22.tgz",
+ "integrity": "sha512-GTv291fqvWq2wzm7MruBvCGuWaCUiuf7Ca3kzbQ/WqWtve7Y/1PDsqRNQLGZrQxkXU0clXCqY1XtkTrtA3WGFQ==",
"dev": true,
"dependencies": {
+ "@storybook/addon-actions": "6.4.22",
+ "@storybook/addon-backgrounds": "6.4.22",
+ "@storybook/addon-controls": "6.4.22",
+ "@storybook/addon-docs": "6.4.22",
+ "@storybook/addon-measure": "6.4.22",
+ "@storybook/addon-outline": "6.4.22",
+ "@storybook/addon-toolbars": "6.4.22",
+ "@storybook/addon-viewport": "6.4.22",
"@storybook/addons": "6.4.22",
"@storybook/api": "6.4.22",
- "@storybook/client-logger": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core-events": "6.4.22",
- "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/node-logger": "6.4.22",
"core-js": "^3.8.2",
- "global": "^4.4.0",
"regenerator-runtime": "^0.13.7",
"ts-dedent": "^2.0.0"
},
@@ -13874,30 +14136,74 @@
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
+ "@babel/core": "^7.9.6",
+ "@storybook/vue": "6.4.22",
+ "@storybook/web-components": "6.4.22",
+ "babel-loader": "^8.0.0",
+ "lit-html": "^1.4.1 || ^2.0.0-rc.3",
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "react-dom": "^16.8.0 || ^17.0.0",
+ "webpack": "*"
},
"peerDependenciesMeta": {
+ "@storybook/vue": {
+ "optional": true
+ },
+ "@storybook/web-components": {
+ "optional": true
+ },
+ "lit-html": {
+ "optional": true
+ },
"react": {
"optional": true
},
"react-dom": {
"optional": true
+ },
+ "webpack": {
+ "optional": true
}
}
},
- "node_modules/@storybook/addon-toolbars": {
+ "node_modules/@storybook/addon-essentials/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-actions": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.4.22.tgz",
- "integrity": "sha512-FFyj6XDYpBBjcUu6Eyng7R805LUbVclEfydZjNiByAoDVyCde9Hb4sngFxn/T4fKAfBz/32HKVXd5iq4AHYtLg==",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-6.4.22.tgz",
+ "integrity": "sha512-t2w3iLXFul+R/1ekYxIEzUOZZmvEa7EzUAVAuCHP4i6x0jBnTTZ7sAIUVRaxVREPguH5IqI/2OklYhKanty2Yw==",
"dev": true,
"dependencies": {
"@storybook/addons": "6.4.22",
"@storybook/api": "6.4.22",
"@storybook/components": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"@storybook/theming": "6.4.22",
"core-js": "^3.8.2",
- "regenerator-runtime": "^0.13.7"
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-inspector": "^5.1.0",
+ "regenerator-runtime": "^0.13.7",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2",
+ "uuid-browser": "^3.1.0"
},
"funding": {
"type": "opencollective",
@@ -13916,45 +14222,129 @@
}
}
},
- "node_modules/@storybook/addon-viewport": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addon-docs": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.4.22.tgz",
- "integrity": "sha512-6jk0z49LemeTblez5u2bYXYr6U+xIdLbywe3G283+PZCBbEDE6eNYy2d2HDL+LbCLbezJBLYPHPalElphjJIcw==",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-6.4.22.tgz",
+ "integrity": "sha512-9j+i+W+BGHJuRe4jUrqk6ubCzP4fc1xgFS2o8pakRiZgPn5kUQPdkticmsyh1XeEJifwhqjKJvkEDrcsleytDA==",
"dev": true,
"dependencies": {
+ "@babel/core": "^7.12.10",
+ "@babel/generator": "^7.12.11",
+ "@babel/parser": "^7.12.11",
+ "@babel/plugin-transform-react-jsx": "^7.12.12",
+ "@babel/preset-env": "^7.12.11",
+ "@jest/transform": "^26.6.2",
+ "@mdx-js/loader": "^1.6.22",
+ "@mdx-js/mdx": "^1.6.22",
+ "@mdx-js/react": "^1.6.22",
"@storybook/addons": "6.4.22",
"@storybook/api": "6.4.22",
+ "@storybook/builder-webpack4": "6.4.22",
"@storybook/client-logger": "6.4.22",
"@storybook/components": "6.4.22",
+ "@storybook/core": "6.4.22",
"@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/csf-tools": "6.4.22",
+ "@storybook/node-logger": "6.4.22",
+ "@storybook/postinstall": "6.4.22",
+ "@storybook/preview-web": "6.4.22",
+ "@storybook/source-loader": "6.4.22",
+ "@storybook/store": "6.4.22",
"@storybook/theming": "6.4.22",
+ "acorn": "^7.4.1",
+ "acorn-jsx": "^5.3.1",
+ "acorn-walk": "^7.2.0",
"core-js": "^3.8.2",
+ "doctrine": "^3.0.0",
+ "escodegen": "^2.0.0",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "memoizerific": "^1.11.3",
+ "html-tags": "^3.1.0",
+ "js-string-escape": "^1.0.1",
+ "loader-utils": "^2.0.0",
+ "lodash": "^4.17.21",
+ "nanoid": "^3.1.23",
+ "p-limit": "^3.1.0",
+ "prettier": ">=2.2.1 <=2.3.0",
"prop-types": "^15.7.2",
- "regenerator-runtime": "^0.13.7"
+ "react-element-to-jsx-string": "^14.3.4",
+ "regenerator-runtime": "^0.13.7",
+ "remark-external-links": "^8.0.0",
+ "remark-slug": "^6.0.0",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
+ "@storybook/angular": "6.4.22",
+ "@storybook/html": "6.4.22",
+ "@storybook/react": "6.4.22",
+ "@storybook/vue": "6.4.22",
+ "@storybook/vue3": "6.4.22",
+ "@storybook/web-components": "6.4.22",
+ "lit": "^2.0.0",
+ "lit-html": "^1.4.1 || ^2.0.0",
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
+ "react-dom": "^16.8.0 || ^17.0.0",
+ "svelte": "^3.31.2",
+ "sveltedoc-parser": "^4.1.0",
+ "vue": "^2.6.10 || ^3.0.0",
+ "webpack": "*"
},
"peerDependenciesMeta": {
+ "@storybook/angular": {
+ "optional": true
+ },
+ "@storybook/html": {
+ "optional": true
+ },
+ "@storybook/react": {
+ "optional": true
+ },
+ "@storybook/vue": {
+ "optional": true
+ },
+ "@storybook/vue3": {
+ "optional": true
+ },
+ "@storybook/web-components": {
+ "optional": true
+ },
+ "lit": {
+ "optional": true
+ },
+ "lit-html": {
+ "optional": true
+ },
"react": {
"optional": true
},
"react-dom": {
"optional": true
+ },
+ "svelte": {
+ "optional": true
+ },
+ "sveltedoc-parser": {
+ "optional": true
+ },
+ "vue": {
+ "optional": true
+ },
+ "webpack": {
+ "optional": true
}
}
},
- "node_modules/@storybook/addons": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/addons": {
"version": "6.4.22",
"resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
"integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
"dependencies": {
"@storybook/api": "6.4.22",
"@storybook/channels": "6.4.22",
@@ -13977,10 +14367,11 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/api": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/api": {
"version": "6.4.22",
"resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
"integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
+ "dev": true,
"dependencies": {
"@storybook/channels": "6.4.22",
"@storybook/client-logger": "6.4.22",
@@ -14009,80 +14400,68 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack4": {
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/components": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.22.tgz",
- "integrity": "sha512-A+GgGtKGnBneRFSFkDarUIgUTI8pYFdLmUVKEAGdh2hL+vLXAz9A46sEY7C8LQ85XWa8TKy3OTDxqR4+4iWj3A==",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
+ "dev": true,
+ "dependencies": {
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/preview-web": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.22.tgz",
+ "integrity": "sha512-sWS+sgvwSvcNY83hDtWUUL75O2l2LY/GTAS0Zp2dh3WkObhtuJ/UehftzPZlZmmv7PCwhb4Q3+tZDKzMlFxnKQ==",
+ "dev": true,
"dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/plugin-proposal-class-properties": "^7.12.1",
- "@babel/plugin-proposal-decorators": "^7.12.12",
- "@babel/plugin-proposal-export-default-from": "^7.12.1",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
- "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
- "@babel/plugin-proposal-optional-chaining": "^7.12.7",
- "@babel/plugin-proposal-private-methods": "^7.12.1",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-arrow-functions": "^7.12.1",
- "@babel/plugin-transform-block-scoping": "^7.12.12",
- "@babel/plugin-transform-classes": "^7.12.1",
- "@babel/plugin-transform-destructuring": "^7.12.1",
- "@babel/plugin-transform-for-of": "^7.12.1",
- "@babel/plugin-transform-parameters": "^7.12.1",
- "@babel/plugin-transform-shorthand-properties": "^7.12.1",
- "@babel/plugin-transform-spread": "^7.12.1",
- "@babel/plugin-transform-template-literals": "^7.12.1",
- "@babel/preset-env": "^7.12.11",
- "@babel/preset-react": "^7.12.10",
- "@babel/preset-typescript": "^7.12.7",
"@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
"@storybook/channel-postmessage": "6.4.22",
- "@storybook/channels": "6.4.22",
- "@storybook/client-api": "6.4.22",
"@storybook/client-logger": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core-common": "6.4.22",
"@storybook/core-events": "6.4.22",
- "@storybook/node-logger": "6.4.22",
- "@storybook/preview-web": "6.4.22",
- "@storybook/router": "6.4.22",
- "@storybook/semver": "^7.3.2",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"@storybook/store": "6.4.22",
- "@storybook/theming": "6.4.22",
- "@storybook/ui": "6.4.22",
- "@types/node": "^14.0.10",
- "@types/webpack": "^4.41.26",
- "autoprefixer": "^9.8.6",
- "babel-loader": "^8.0.0",
- "babel-plugin-macros": "^2.8.0",
- "babel-plugin-polyfill-corejs3": "^0.1.0",
- "case-sensitive-paths-webpack-plugin": "^2.3.0",
+ "ansi-to-html": "^0.6.11",
"core-js": "^3.8.2",
- "css-loader": "^3.6.0",
- "file-loader": "^6.2.0",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^4.1.6",
- "glob": "^7.1.6",
- "glob-promise": "^3.4.0",
"global": "^4.4.0",
- "html-webpack-plugin": "^4.0.0",
- "pnp-webpack-plugin": "1.6.4",
- "postcss": "^7.0.36",
- "postcss-flexbugs-fixes": "^4.2.1",
- "postcss-loader": "^4.2.0",
- "raw-loader": "^4.0.2",
- "stable": "^0.1.8",
- "style-loader": "^1.3.0",
- "terser-webpack-plugin": "^4.2.3",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
"ts-dedent": "^2.0.0",
- "url-loader": "^4.1.1",
- "util-deprecate": "^1.0.2",
- "webpack": "4",
- "webpack-dev-middleware": "^3.7.3",
- "webpack-filter-warnings-plugin": "^1.2.1",
- "webpack-hot-middleware": "^2.25.1",
- "webpack-virtual-modules": "^0.2.2"
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
@@ -14091,173 +14470,171 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/@types/node": {
- "version": "14.18.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz",
- "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q=="
- },
- "node_modules/@storybook/builder-webpack4/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "bin": {
- "acorn": "bin/acorn"
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/source-loader": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/source-loader/-/source-loader-6.4.22.tgz",
+ "integrity": "sha512-O4RxqPgRyOgAhssS6q1Rtc8LiOvPBpC1EqhCYWRV3K+D2EjFarfQMpjgPj18hC+QzpUSfzoBZYqsMECewEuLNw==",
+ "dev": true,
+ "dependencies": {
+ "@storybook/addons": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "estraverse": "^5.2.0",
+ "global": "^4.4.0",
+ "loader-utils": "^2.0.0",
+ "lodash": "^4.17.21",
+ "prettier": ">=2.2.1 <=2.3.0",
+ "regenerator-runtime": "^0.13.7"
},
- "engines": {
- "node": ">=0.4.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/store": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.22.tgz",
+ "integrity": "sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==",
+ "dev": true,
"dependencies": {
- "color-convert": "^1.9.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=4"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
+ "node_modules/@storybook/addon-essentials/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dev": true,
"dependencies": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">= 8.9.0"
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/css-loader/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "node_modules/@storybook/addon-essentials/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true,
"bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
- "dependencies": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "acorn": "bin/acorn"
},
"engines": {
- "node": ">=4.0.0"
+ "node": ">=0.4.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "node_modules/@storybook/addon-essentials/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=7.0.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": {
- "version": "4.1.6",
- "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
- "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
+ "node_modules/@storybook/addon-essentials/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-essentials/node_modules/escodegen": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+ "dev": true,
"dependencies": {
- "@babel/code-frame": "^7.5.5",
- "chalk": "^2.4.1",
- "micromatch": "^3.1.10",
- "minimatch": "^3.0.4",
- "semver": "^5.6.0",
- "tapable": "^1.0.0",
- "worker-rpc": "^0.1.0"
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
},
"engines": {
- "node": ">=6.11.5",
- "yarn": ">=1.0.0"
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/html-webpack-plugin": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
- "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
- "dependencies": {
- "@types/html-minifier-terser": "^5.0.0",
- "@types/tapable": "^1.0.5",
- "@types/webpack": "^4.41.8",
- "html-minifier-terser": "^5.0.1",
- "loader-utils": "^1.2.3",
- "lodash": "^4.17.20",
- "pretty-error": "^2.1.1",
- "tapable": "^1.1.3",
- "util.promisify": "1.0.0"
+ "node_modules/@storybook/addon-essentials/node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
},
"engines": {
- "node": ">=6.9"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "node": ">=4"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/icss-utils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
- "dependencies": {
- "postcss": "^7.0.14"
- },
+ "node_modules/@storybook/addon-essentials/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
"engines": {
- "node": ">= 6"
+ "node": ">=4.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/json5": {
+ "node_modules/@storybook/addon-essentials/node_modules/json5": {
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
"bin": {
"json5": "lib/cli.js"
},
@@ -14265,40 +14642,43 @@
"node": ">=6"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "node_modules/@storybook/addon-essentials/node_modules/loader-utils": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
+ "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "dev": true,
"dependencies": {
- "p-locate": "^5.0.0"
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=8.9.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "node_modules/@storybook/addon-essentials/node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/p-limit": {
+ "node_modules/@storybook/addon-essentials/node_modules/p-limit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
"dependencies": {
"yocto-queue": "^0.1.0"
},
@@ -14309,333 +14689,234 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "node_modules/@storybook/addon-essentials/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
"dependencies": {
- "p-limit": "^3.0.2"
+ "@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "node_modules/@storybook/addon-essentials/node_modules/prettier": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
+ "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=10.13.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "node_modules/@storybook/addon-essentials/node_modules/qs": {
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
+ "dev": true,
"dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
+ "side-channel": "^1.0.4"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=0.6"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-extract-imports": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
- "dependencies": {
- "postcss": "^7.0.5"
- },
- "engines": {
- "node": ">= 6"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-local-by-default": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
- "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
+ "node_modules/@storybook/addon-essentials/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
"dependencies": {
- "icss-utils": "^4.1.1",
- "postcss": "^7.0.32",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
},
- "engines": {
- "node": ">= 6"
+ "peerDependencies": {
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-scope": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
- "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
- "dependencies": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0"
- },
+ "node_modules/@storybook/addon-essentials/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
"engines": {
- "node": ">= 6"
+ "node": ">=8"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/postcss-modules-values": {
+ "node_modules/@storybook/addon-essentials/node_modules/slash": {
"version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
- "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
- "dependencies": {
- "icss-utils": "^4.0.0",
- "postcss": "^7.0.6"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/pretty-error": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
- "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
- "dependencies": {
- "lodash": "^4.17.20",
- "renderkid": "^2.0.4"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- },
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
"engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">=8"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/source-map": {
+ "node_modules/@storybook/addon-essentials/node_modules/source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "optional": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/style-loader": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
- "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
+ "node_modules/@storybook/addon-knobs": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-knobs/-/addon-knobs-6.3.1.tgz",
+ "integrity": "sha512-2GGGnQSPXXUhHHYv4IW6pkyQlCPYXKYiyGzfhV7Zhs95M2Ban08OA6KLmliMptWCt7U9tqTO8dB5u0C2cWmCTw==",
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.7.0"
- },
- "engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "copy-to-clipboard": "^3.3.1",
+ "core-js": "^3.8.2",
+ "escape-html": "^1.0.3",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.20",
+ "prop-types": "^15.7.2",
+ "qs": "^6.10.0",
+ "react-colorful": "^5.1.2",
+ "react-lifecycles-compat": "^3.0.4",
+ "react-select": "^3.2.0"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/style-loader/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "@storybook/addons": "^6.3.0",
+ "@storybook/api": "^6.3.0",
+ "@storybook/components": "^6.3.0",
+ "@storybook/core-events": "^6.3.0",
+ "@storybook/theming": "^6.3.0",
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
},
- "engines": {
- "node": ">=8.9.0"
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "node_modules/@storybook/addon-knobs/node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dependencies": {
- "has-flag": "^3.0.0"
+ "side-channel": "^1.0.4"
},
"engines": {
- "node": ">=4"
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/addon-links": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-6.4.22.tgz",
+ "integrity": "sha512-OSOyDnTXnmcplJHlXTYUTMkrfpLqxtHp2R69IXfAyI1e8WNDb79mXflrEXDA/RSNEliLkqYwCyYby7gDMGds5Q==",
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=6.11.5"
+ "@storybook/addons": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@types/qs": "^6.9.5",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "prop-types": "^15.7.2",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
- "webpack-cli": {
+ "react": {
"optional": true
},
- "webpack-command": {
+ "react-dom": {
"optional": true
}
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/webpack-filter-warnings-plugin": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/webpack-filter-warnings-plugin/-/webpack-filter-warnings-plugin-1.2.1.tgz",
- "integrity": "sha512-Ez6ytc9IseDMLPo0qCuNNYzgtUl8NovOqjIq4uAU8LTD4uoa1w1KpZyyzFtLTEMZpkkOkLfL9eN+KGYdk1Qtwg==",
- "engines": {
- "node": ">= 4.3 < 5.0.0 || >= 5.10"
+ "node_modules/@storybook/addon-links/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
- "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0"
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+ "node_modules/@storybook/addon-links/node_modules/@storybook/addons": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
"dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/@storybook/addon-links/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
- },
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@storybook/builder-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
- "dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
- },
- "engines": {
- "node": ">= 6.9.0"
- },
- "peerDependencies": {
- "webpack": "^4.0.0"
- }
- },
- "node_modules/@storybook/builder-webpack5": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-6.4.22.tgz",
- "integrity": "sha512-vvQ0HgkIIVz+cmaCXIRor0UFZbGZqh4aV0ISSof60BjdW5ld+R+XCr/bdTU6Zg8b2fL9CXh7/LE6fImnIMpRIA==",
- "devOptional": true,
- "dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/plugin-proposal-class-properties": "^7.12.1",
- "@babel/plugin-proposal-decorators": "^7.12.12",
- "@babel/plugin-proposal-export-default-from": "^7.12.1",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
- "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
- "@babel/plugin-proposal-optional-chaining": "^7.12.7",
- "@babel/plugin-proposal-private-methods": "^7.12.1",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-arrow-functions": "^7.12.1",
- "@babel/plugin-transform-block-scoping": "^7.12.12",
- "@babel/plugin-transform-classes": "^7.12.1",
- "@babel/plugin-transform-destructuring": "^7.12.1",
- "@babel/plugin-transform-for-of": "^7.12.1",
- "@babel/plugin-transform-parameters": "^7.12.1",
- "@babel/plugin-transform-shorthand-properties": "^7.12.1",
- "@babel/plugin-transform-spread": "^7.12.1",
- "@babel/preset-env": "^7.12.11",
- "@babel/preset-react": "^7.12.10",
- "@babel/preset-typescript": "^7.12.7",
- "@storybook/addons": "6.4.22",
- "@storybook/api": "6.4.22",
- "@storybook/channel-postmessage": "6.4.22",
"@storybook/channels": "6.4.22",
- "@storybook/client-api": "6.4.22",
"@storybook/client-logger": "6.4.22",
- "@storybook/components": "6.4.22",
- "@storybook/core-common": "6.4.22",
"@storybook/core-events": "6.4.22",
- "@storybook/node-logger": "6.4.22",
- "@storybook/preview-web": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
"@storybook/router": "6.4.22",
"@storybook/semver": "^7.3.2",
- "@storybook/store": "6.4.22",
"@storybook/theming": "6.4.22",
- "@types/node": "^14.0.10",
- "babel-loader": "^8.0.0",
- "babel-plugin-macros": "^3.0.1",
- "babel-plugin-polyfill-corejs3": "^0.1.0",
- "case-sensitive-paths-webpack-plugin": "^2.3.0",
"core-js": "^3.8.2",
- "css-loader": "^5.0.1",
- "fork-ts-checker-webpack-plugin": "^6.0.4",
- "glob": "^7.1.6",
- "glob-promise": "^3.4.0",
- "html-webpack-plugin": "^5.0.0",
- "path-browserify": "^1.0.1",
- "process": "^0.11.10",
- "stable": "^0.1.8",
- "style-loader": "^2.0.0",
- "terser-webpack-plugin": "^5.0.3",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "webpack": "^5.9.0",
- "webpack-dev-middleware": "^4.1.0",
- "webpack-hot-middleware": "^2.25.1",
- "webpack-virtual-modules": "^0.4.1"
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
@@ -14644,380 +14925,162 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/@types/node": {
- "version": "14.17.19",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.19.tgz",
- "integrity": "sha512-jjYI6NkyfXykucU6ELEoT64QyKOdvaA6enOqKtP4xUsGY0X0ZUZz29fUmrTRo+7v7c6TgDu82q3GHHaCEkqZwA==",
- "devOptional": true
- },
- "node_modules/@storybook/builder-webpack5/node_modules/babel-plugin-macros": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
- "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
- "devOptional": true,
- "dependencies": {
- "@babel/runtime": "^7.12.5",
- "cosmiconfig": "^7.0.0",
- "resolve": "^1.19.0"
- },
- "engines": {
- "node": ">=10",
- "npm": ">=6"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/css-loader": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
- "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
- "devOptional": true,
+ "node_modules/@storybook/addon-links/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
"dependencies": {
- "icss-utils": "^5.1.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.15",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^3.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">= 10.13.0"
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.27.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "devOptional": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/jest-worker": {
- "version": "27.2.3",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.3.tgz",
- "integrity": "sha512-ZwOvv4GCIPviL+Ie4pVguz4N5w/6IGbTaHBYOl3ZcsZZktaL7d8JOU0rmovoED7AJZKA8fvmLbBg8yg80u/tGA==",
- "devOptional": true,
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "devOptional": true,
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "devOptional": true,
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "devOptional": true,
- "dependencies": {
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "devOptional": true,
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
- "devOptional": true,
+ "node_modules/@storybook/addon-links/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
"dependencies": {
- "lru-cache": "^6.0.0"
- },
- "bin": {
- "semver": "bin/semver.js"
+ "@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/serialize-javascript": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz",
- "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==",
- "devOptional": true,
- "dependencies": {
- "randombytes": "^2.1.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "devOptional": true,
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/style-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
- "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==",
- "devOptional": true,
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/builder-webpack5/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "devOptional": true,
+ "node_modules/@storybook/addon-links/node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"dependencies": {
- "has-flag": "^4.0.0"
+ "side-channel": "^1.0.4"
},
"engines": {
- "node": ">=10"
+ "node": ">=0.6"
},
"funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/terser": {
- "version": "5.14.2",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz",
- "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==",
- "devOptional": true,
- "dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
+ "node_modules/@storybook/addon-links/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"engines": {
- "node": ">=10"
+ "node": ">=8"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/terser-webpack-plugin": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz",
- "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==",
- "devOptional": true,
+ "node_modules/@storybook/addon-measure": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-6.4.22.tgz",
+ "integrity": "sha512-CjDXoCNIXxNfXfgyJXPc0McjCcwN1scVNtHa9Ckr+zMjiQ8pPHY7wDZCQsG69KTqcWHiVfxKilI82456bcHYhQ==",
+ "dev": true,
"dependencies": {
- "jest-worker": "^27.0.6",
- "p-limit": "^3.1.0",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.0",
- "source-map": "^0.6.1",
- "terser": "^5.7.2"
- },
- "engines": {
- "node": ">= 10.13.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/components": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^5.1.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
+ "react": {
"optional": true
},
- "uglify-js": {
+ "react-dom": {
"optional": true
}
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-4.3.0.tgz",
- "integrity": "sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==",
- "devOptional": true,
+ "node_modules/@storybook/addon-measure/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
"dependencies": {
- "colorette": "^1.2.2",
- "mem": "^8.1.1",
- "memfs": "^3.2.2",
- "mime-types": "^2.1.30",
- "range-parser": "^1.2.1",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= v10.23.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/builder-webpack5/node_modules/webpack-virtual-modules": {
- "version": "0.4.3",
- "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz",
- "integrity": "sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==",
- "devOptional": true
- },
- "node_modules/@storybook/builder-webpack5/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "devOptional": true
- },
- "node_modules/@storybook/channel-postmessage": {
+ "node_modules/@storybook/addon-measure/node_modules/@storybook/addons": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/channel-postmessage/-/channel-postmessage-6.4.22.tgz",
- "integrity": "sha512-gt+0VZLszt2XZyQMh8E94TqjHZ8ZFXZ+Lv/Mmzl0Yogsc2H+6VzTTQO4sv0IIx6xLbpgG72g5cr8VHsxW5kuDQ==",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
"dependencies": {
+ "@storybook/api": "6.4.22",
"@storybook/channels": "6.4.22",
"@storybook/client-logger": "6.4.22",
"@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "qs": "^6.10.0",
- "telejson": "^5.3.2"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/channel-postmessage/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@storybook/channel-websocket": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/channel-websocket/-/channel-websocket-6.4.22.tgz",
- "integrity": "sha512-Bm/FcZ4Su4SAK5DmhyKKfHkr7HiHBui6PNutmFkASJInrL9wBduBfN8YQYaV7ztr8ezoHqnYRx8sj28jpwa6NA==",
- "dependencies": {
- "@storybook/channels": "6.4.22",
- "@storybook/client-logger": "6.4.22",
- "core-js": "^3.8.2",
- "global": "^4.4.0",
- "telejson": "^5.3.2"
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/channels": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.4.22.tgz",
- "integrity": "sha512-cfR74tu7MLah1A8Rru5sak71I+kH2e/sY6gkpVmlvBj4hEmdZp4Puj9PTeaKcMXh9DgIDPNA5mb8yvQH6VcyxQ==",
- "dependencies": {
- "core-js": "^3.8.2",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/client-api": {
+ "node_modules/@storybook/addon-measure/node_modules/@storybook/api": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.4.22.tgz",
- "integrity": "sha512-sO6HJNtrrdit7dNXQcZMdlmmZG1k6TswH3gAyP/DoYajycrTwSJ6ovkarzkO+0QcJ+etgra4TEdTIXiGHBMe/A==",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
+ "dev": true,
"dependencies": {
- "@storybook/addons": "6.4.22",
- "@storybook/channel-postmessage": "6.4.22",
"@storybook/channels": "6.4.22",
"@storybook/client-logger": "6.4.22",
"@storybook/core-events": "6.4.22",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/store": "6.4.22",
- "@types/qs": "^6.9.5",
- "@types/webpack-env": "^1.16.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.4.22",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7",
"store2": "^2.12.0",
- "synchronous-promise": "^2.0.15",
+ "telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -15030,37 +15093,11 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/client-api/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/@storybook/client-logger": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.4.22.tgz",
- "integrity": "sha512-LXhxh/lcDsdGnK8kimqfhu3C0+D2ylCSPPQNbU0IsLRmTfbpQYMdyl0XBjPdHiRVwlL7Gkw5OMjYemQgJ02zlw==",
- "dependencies": {
- "core-js": "^3.8.2",
- "global": "^4.4.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/components": {
+ "node_modules/@storybook/addon-measure/node_modules/@storybook/components": {
"version": "6.4.22",
"resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
"integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
+ "dev": true,
"dependencies": {
"@popperjs/core": "^2.6.0",
"@storybook/client-logger": "6.4.22",
@@ -15096,37 +15133,69 @@
"react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/components/node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "node_modules/@storybook/addon-measure/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dev": true,
"dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/@storybook/components/node_modules/color-name": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-measure/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-measure/node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "node_modules/@storybook/components/node_modules/polished": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/polished/-/polished-4.1.3.tgz",
- "integrity": "sha512-ocPAcVBUOryJEKe0z2KLd1l9EBa1r5mSwlKpExmrLzsnIzJo4axsoU9O2BjOTkDGDT4mZ0WFE5XKTlR3nLnZOA==",
+ "node_modules/@storybook/addon-measure/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
"dependencies": {
- "@babel/runtime": "^7.14.0"
+ "@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=10"
}
},
- "node_modules/@storybook/components/node_modules/react-syntax-highlighter": {
+ "node_modules/@storybook/addon-measure/node_modules/react-syntax-highlighter": {
"version": "13.5.3",
"resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
"integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
"dependencies": {
"@babel/runtime": "^7.3.1",
"highlight.js": "^10.1.1",
@@ -15138,58 +15207,80 @@
"react": ">= 0.14.0"
}
},
- "node_modules/@storybook/core": {
+ "node_modules/@storybook/addon-measure/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/addon-outline": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/core/-/core-6.4.22.tgz",
- "integrity": "sha512-KZYJt7GM5NgKFXbPRZZZPEONZ5u/tE/cRbMdkn/zWN3He8+VP+65/tz8hbriI/6m91AWVWkBKrODSkeq59NgRA==",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-6.4.22.tgz",
+ "integrity": "sha512-VIMEzvBBRbNnupGU7NV0ahpFFb6nKVRGYWGREjtABdFn2fdKr1YicOHFe/3U7hRGjb5gd+VazSvyUvhaKX9T7Q==",
+ "dev": true,
"dependencies": {
- "@storybook/core-client": "6.4.22",
- "@storybook/core-server": "6.4.22"
+ "@storybook/addons": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/components": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.4.22",
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0",
- "webpack": "*"
+ "react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
- "@storybook/builder-webpack5": {
+ "react": {
"optional": true
},
- "typescript": {
+ "react-dom": {
"optional": true
}
}
},
- "node_modules/@storybook/core-client": {
+ "node_modules/@storybook/addon-outline/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
+ }
+ },
+ "node_modules/@storybook/addon-outline/node_modules/@storybook/addons": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-6.4.22.tgz",
- "integrity": "sha512-uHg4yfCBeM6eASSVxStWRVTZrAnb4FT6X6v/xDqr4uXCpCttZLlBzrSDwPBLNNLtCa7ntRicHM8eGKIOD5lMYQ==",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
"dependencies": {
- "@storybook/addons": "6.4.22",
- "@storybook/channel-postmessage": "6.4.22",
- "@storybook/channel-websocket": "6.4.22",
- "@storybook/client-api": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
"@storybook/client-logger": "6.4.22",
"@storybook/core-events": "6.4.22",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/preview-web": "6.4.22",
- "@storybook/store": "6.4.22",
- "@storybook/ui": "6.4.22",
- "airbnb-js-shims": "^2.2.1",
- "ansi-to-html": "^0.6.11",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
"global": "^4.4.0",
- "lodash": "^4.17.21",
- "qs": "^6.10.0",
- "regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0",
- "unfetch": "^4.2.0",
- "util-deprecate": "^1.0.2"
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
@@ -15197,83 +15288,32 @@
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0",
- "webpack": "*"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/core-client/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dependencies": {
- "side-channel": "^1.0.4"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-common": {
+ "node_modules/@storybook/addon-outline/node_modules/@storybook/api": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.22.tgz",
- "integrity": "sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
+ "dev": true,
"dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/plugin-proposal-class-properties": "^7.12.1",
- "@babel/plugin-proposal-decorators": "^7.12.12",
- "@babel/plugin-proposal-export-default-from": "^7.12.1",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
- "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
- "@babel/plugin-proposal-optional-chaining": "^7.12.7",
- "@babel/plugin-proposal-private-methods": "^7.12.1",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-arrow-functions": "^7.12.1",
- "@babel/plugin-transform-block-scoping": "^7.12.12",
- "@babel/plugin-transform-classes": "^7.12.1",
- "@babel/plugin-transform-destructuring": "^7.12.1",
- "@babel/plugin-transform-for-of": "^7.12.1",
- "@babel/plugin-transform-parameters": "^7.12.1",
- "@babel/plugin-transform-shorthand-properties": "^7.12.1",
- "@babel/plugin-transform-spread": "^7.12.1",
- "@babel/preset-env": "^7.12.11",
- "@babel/preset-react": "^7.12.10",
- "@babel/preset-typescript": "^7.12.7",
- "@babel/register": "^7.12.1",
- "@storybook/node-logger": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
"@storybook/semver": "^7.3.2",
- "@types/node": "^14.0.10",
- "@types/pretty-hrtime": "^1.0.0",
- "babel-loader": "^8.0.0",
- "babel-plugin-macros": "^3.0.1",
- "babel-plugin-polyfill-corejs3": "^0.1.0",
- "chalk": "^4.1.0",
+ "@storybook/theming": "6.4.22",
"core-js": "^3.8.2",
- "express": "^4.17.1",
- "file-system-cache": "^1.0.5",
- "find-up": "^5.0.0",
- "fork-ts-checker-webpack-plugin": "^6.0.4",
- "fs-extra": "^9.0.1",
- "glob": "^7.1.6",
- "handlebars": "^4.7.7",
- "interpret": "^2.2.0",
- "json5": "^2.1.3",
- "lazy-universal-dotenv": "^3.0.1",
- "picomatch": "^2.3.0",
- "pkg-dir": "^5.0.0",
- "pretty-hrtime": "^1.0.3",
- "resolve-from": "^5.0.0",
- "slash": "^3.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
"telejson": "^5.3.2",
"ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "webpack": "4"
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
@@ -15282,703 +15322,606 @@
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/core-common/node_modules/@types/node": {
- "version": "14.18.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz",
- "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q=="
- },
- "node_modules/@storybook/core-common/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
}
},
- "node_modules/@storybook/core-common/node_modules/babel-plugin-macros": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
- "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
+ "node_modules/@storybook/addon-outline/node_modules/@storybook/components": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
+ "dev": true,
"dependencies": {
- "@babel/runtime": "^7.12.5",
- "cosmiconfig": "^7.0.0",
- "resolve": "^1.19.0"
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=10",
- "npm": ">=6"
- }
- },
- "node_modules/@storybook/core-common/node_modules/eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
- "dependencies": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
- "engines": {
- "node": ">=4.0.0"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-common/node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "node_modules/@storybook/addon-outline/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dev": true,
"dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/core-common/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/core-common/node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "bin": {
- "json5": "lib/cli.js"
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@storybook/core-common/node_modules/loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-common/node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "node_modules/@storybook/addon-outline/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
- "p-locate": "^5.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=7.0.0"
}
},
- "node_modules/@storybook/core-common/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "dependencies": {
- "yocto-queue": "^0.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
+ "node_modules/@storybook/addon-outline/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "node_modules/@storybook/core-common/node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "node_modules/@storybook/addon-outline/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
"dependencies": {
- "p-limit": "^3.0.2"
+ "@babel/runtime": "^7.17.8"
},
"engines": {
"node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/core-common/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "engines": {
- "node": ">=8"
}
},
- "node_modules/@storybook/core-common/node_modules/pkg-dir": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
- "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "node_modules/@storybook/addon-outline/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
"dependencies": {
- "find-up": "^5.0.0"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
},
- "engines": {
- "node": ">=10"
+ "peerDependencies": {
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/core-common/node_modules/resolve-from": {
+ "node_modules/@storybook/addon-outline/node_modules/resolve-from": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
"engines": {
"node": ">=8"
}
},
- "node_modules/@storybook/core-common/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/@storybook/addon-toolbars": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-6.4.22.tgz",
+ "integrity": "sha512-FFyj6XDYpBBjcUu6Eyng7R805LUbVclEfydZjNiByAoDVyCde9Hb4sngFxn/T4fKAfBz/32HKVXd5iq4AHYtLg==",
+ "dev": true,
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/components": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "core-js": "^3.8.2",
+ "regenerator-runtime": "^0.13.7"
},
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@storybook/core-common/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/core-common/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
+ "node_modules/@storybook/addon-toolbars/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/core-common/node_modules/terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "node_modules/@storybook/addon-toolbars/node_modules/@storybook/addons": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
"dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
},
- "engines": {
- "node": ">= 6.9.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-common/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/addon-toolbars/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
+ "dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=6.11.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- },
- "webpack-command": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/core-common/node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "node_modules/@storybook/core-events": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.4.22.tgz",
- "integrity": "sha512-5GYY5+1gd58Gxjqex27RVaX6qbfIQmJxcbzbNpXGNSqwqAuIIepcV1rdCVm6I4C3Yb7/AQ3cN5dVbf33QxRIwA==",
- "dependencies": {
- "core-js": "^3.8.2"
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.4.22",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-server": {
+ "node_modules/@storybook/addon-toolbars/node_modules/@storybook/components": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-6.4.22.tgz",
- "integrity": "sha512-wFh3e2fa0un1d4+BJP+nd3FVWUO7uHTqv3OGBfOmzQMKp4NU1zaBNdSQG7Hz6mw0fYPBPZgBjPfsJRwIYLLZyw==",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
+ "dev": true,
"dependencies": {
- "@discoveryjs/json-ext": "^0.5.3",
- "@storybook/builder-webpack4": "6.4.22",
- "@storybook/core-client": "6.4.22",
- "@storybook/core-common": "6.4.22",
- "@storybook/core-events": "6.4.22",
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
"@storybook/csf": "0.0.2--canary.87bc651.0",
- "@storybook/csf-tools": "6.4.22",
- "@storybook/manager-webpack4": "6.4.22",
- "@storybook/node-logger": "6.4.22",
- "@storybook/semver": "^7.3.2",
- "@storybook/store": "6.4.22",
- "@types/node": "^14.0.10",
- "@types/node-fetch": "^2.5.7",
- "@types/pretty-hrtime": "^1.0.0",
- "@types/webpack": "^4.41.26",
- "better-opn": "^2.1.1",
- "boxen": "^5.1.2",
- "chalk": "^4.1.0",
- "cli-table3": "^0.6.1",
- "commander": "^6.2.1",
- "compression": "^1.7.4",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
"core-js": "^3.8.2",
- "cpy": "^8.1.2",
- "detect-port": "^1.3.0",
- "express": "^4.17.1",
- "file-system-cache": "^1.0.5",
- "fs-extra": "^9.0.1",
- "globby": "^11.0.2",
- "ip": "^1.1.5",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
"lodash": "^4.17.21",
- "node-fetch": "^2.6.1",
- "pretty-hrtime": "^1.0.3",
- "prompts": "^2.4.0",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
"regenerator-runtime": "^0.13.7",
- "serve-favicon": "^2.5.0",
- "slash": "^3.0.0",
- "telejson": "^5.3.3",
"ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "watchpack": "^2.2.0",
- "webpack": "4",
- "ws": "^8.2.3"
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "@storybook/builder-webpack5": "6.4.22",
- "@storybook/manager-webpack5": "6.4.22",
"react": "^16.8.0 || ^17.0.0",
"react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "@storybook/builder-webpack5": {
- "optional": true
- },
- "@storybook/manager-webpack5": {
- "optional": true
- },
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/core-server/node_modules/@types/node": {
- "version": "14.18.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz",
- "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q=="
- },
- "node_modules/@storybook/core-server/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/@storybook/core-server/node_modules/commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "engines": {
- "node": ">= 6"
}
},
- "node_modules/@storybook/core-server/node_modules/eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
+ "node_modules/@storybook/addon-toolbars/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dev": true,
"dependencies": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
},
- "engines": {
- "node": ">=4.0.0"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/core-server/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "node_modules/@storybook/addon-toolbars/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
"dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">=10"
+ "node": ">=7.0.0"
}
},
- "node_modules/@storybook/core-server/node_modules/loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
- }
+ "node_modules/@storybook/addon-toolbars/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
},
- "node_modules/@storybook/core-server/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/@storybook/addon-toolbars/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "@babel/runtime": "^7.17.8"
},
"engines": {
- "node": ">= 4"
- }
- },
- "node_modules/@storybook/core-server/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/core-server/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "engines": {
- "node": ">=0.10.0"
+ "node": ">=10"
}
},
- "node_modules/@storybook/core-server/node_modules/terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "node_modules/@storybook/addon-toolbars/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
"dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
- },
- "engines": {
- "node": ">= 6.9.0"
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
},
"peerDependencies": {
- "webpack": "^4.0.0"
+ "react": ">= 0.14.0"
}
},
- "node_modules/@storybook/core-server/node_modules/watchpack": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz",
- "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
+ "node_modules/@storybook/addon-toolbars/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
"engines": {
- "node": ">=10.13.0"
+ "node": ">=8"
}
},
- "node_modules/@storybook/core-server/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/addon-viewport": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-6.4.22.tgz",
+ "integrity": "sha512-6jk0z49LemeTblez5u2bYXYr6U+xIdLbywe3G283+PZCBbEDE6eNYy2d2HDL+LbCLbezJBLYPHPalElphjJIcw==",
+ "dev": true,
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
- "micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=6.11.5"
+ "@storybook/addons": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/components": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "prop-types": "^15.7.2",
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- },
- "webpack-command": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/core-server/node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "node_modules/@storybook/core-server/node_modules/webpack/node_modules/watchpack": {
- "version": "1.7.5",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
- "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==",
- "dependencies": {
- "graceful-fs": "^4.1.2",
- "neo-async": "^2.5.0"
- },
- "optionalDependencies": {
- "chokidar": "^3.4.1",
- "watchpack-chokidar2": "^2.0.1"
- }
- },
- "node_modules/@storybook/core-server/node_modules/ws": {
- "version": "8.6.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.6.0.tgz",
- "integrity": "sha512-AzmM3aH3gk0aX7/rZLYvjdvZooofDu3fFOzGqcSnQ1tOcTWwhM/o+q++E8mAyVVIyUdajrkzWUGftaVSDLn1bw==",
- "engines": {
- "node": ">=10.0.0"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
},
"peerDependenciesMeta": {
- "bufferutil": {
+ "react": {
"optional": true
},
- "utf-8-validate": {
+ "react-dom": {
"optional": true
}
}
},
- "node_modules/@storybook/csf": {
- "version": "0.0.2--canary.87bc651.0",
- "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.87bc651.0.tgz",
- "integrity": "sha512-ajk1Uxa+rBpFQHKrCcTmJyQBXZ5slfwHVEaKlkuFaW77it8RgbPJp/ccna3sgoi8oZ7FkkOyvv1Ve4SmwFqRqw==",
+ "node_modules/@storybook/addon-viewport/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dev": true,
"dependencies": {
- "lodash": "^4.17.15"
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
+ },
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/csf-tools": {
+ "node_modules/@storybook/addon-viewport/node_modules/@storybook/addons": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-6.4.22.tgz",
- "integrity": "sha512-LMu8MZAiQspJAtMBLU2zitsIkqQv7jOwX7ih5JrXlyaDticH7l2j6Q+1mCZNWUOiMTizj0ivulmUsSaYbpToSw==",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
+ "dev": true,
"dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/generator": "^7.12.11",
- "@babel/parser": "^7.12.11",
- "@babel/plugin-transform-react-jsx": "^7.12.12",
- "@babel/preset-env": "^7.12.11",
- "@babel/traverse": "^7.12.11",
- "@babel/types": "^7.12.11",
- "@mdx-js/mdx": "^1.6.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
"@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
"core-js": "^3.8.2",
- "fs-extra": "^9.0.1",
"global": "^4.4.0",
- "js-string-escape": "^1.0.1",
- "lodash": "^4.17.21",
- "prettier": ">=2.2.1 <=2.3.0",
- "regenerator-runtime": "^0.13.7",
- "ts-dedent": "^2.0.0"
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
- }
- },
- "node_modules/@storybook/csf-tools/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/@storybook/csf-tools/node_modules/prettier": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.0.tgz",
- "integrity": "sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==",
- "bin": {
- "prettier": "bin-prettier.js"
},
- "engines": {
- "node": ">=10.13.0"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/docs-tools": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-6.5.10.tgz",
- "integrity": "sha512-/bvYgOO+CxMEcHifkjJg0A60OTGOhcjGxnsB1h0gJuxMrqA/7Qwc108bFmPiX0eiD1BovFkZLJV4O6OY7zP5Vw==",
+ "node_modules/@storybook/addon-viewport/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
"dev": true,
"dependencies": {
- "@babel/core": "^7.12.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/store": "6.5.10",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.4.22",
"core-js": "^3.8.2",
- "doctrine": "^3.0.0",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
"lodash": "^4.17.21",
- "regenerator-runtime": "^0.13.7"
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/addons": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.10.tgz",
- "integrity": "sha512-VD4tBCQ23PkSeDoxuHcKy0RfhIs3oMYjBacOZx7d0bvOzK9WjPyvE2ysDAh7r/ceqnwmWHAScIpE+I1RU7gl+g==",
+ "node_modules/@storybook/addon-viewport/node_modules/@storybook/components": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
"dev": true,
"dependencies": {
- "@storybook/api": "6.5.10",
- "@storybook/channels": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/router": "6.5.10",
- "@storybook/theming": "6.5.10",
- "@types/webpack-env": "^1.16.0",
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
"core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
- "regenerator-runtime": "^0.13.7"
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
- "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/api": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.10.tgz",
- "integrity": "sha512-AkmgSPNEGdKp4oZA4KQ+RJsacw7GwfvjsVDnCkcXqS9zmSr/RNL0fhpcd60KKkmx/hGKPTDFpK3ZayxDrJ/h4A==",
+ "node_modules/@storybook/addon-viewport/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
"dev": true,
"dependencies": {
- "@storybook/channels": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
- "@storybook/csf": "0.0.2--canary.4566f4d.1",
- "@storybook/router": "6.5.10",
- "@storybook/semver": "^7.3.2",
- "@storybook/theming": "6.5.10",
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
"core-js": "^3.8.2",
- "fast-deep-equal": "^3.1.3",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
"global": "^4.4.0",
- "lodash": "^4.17.21",
"memoizerific": "^1.11.3",
- "regenerator-runtime": "^0.13.7",
- "store2": "^2.12.0",
- "telejson": "^6.0.8",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2"
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-viewport/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/@storybook/addon-viewport/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/@storybook/addon-viewport/node_modules/polished": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/polished/-/polished-4.2.2.tgz",
+ "integrity": "sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.17.8"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@storybook/addon-viewport/node_modules/react-syntax-highlighter": {
+ "version": "13.5.3",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-13.5.3.tgz",
+ "integrity": "sha512-crPaF+QGPeHNIblxxCdf2Lg936NAHKhNhuMzRL3F9ct6aYXL3NcZtCL0Rms9+qVo6Y1EQLdXGypBNSbPL/r+qg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.1.1",
+ "lowlight": "^1.14.0",
+ "prismjs": "^1.21.0",
+ "refractor": "^3.1.0"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/@storybook/addon-viewport/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@storybook/addons": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.5.16.tgz",
+ "integrity": "sha512-p3DqQi+8QRL5k7jXhXmJZLsE/GqHqyY6PcoA1oNTJr0try48uhTGUOYkgzmqtDaa/qPFO5LP+xCPzZXckGtquQ==",
+ "dependencies": {
+ "@storybook/api": "6.5.16",
+ "@storybook/channels": "6.5.16",
+ "@storybook/client-logger": "6.5.16",
+ "@storybook/core-events": "6.5.16",
+ "@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/router": "6.5.16",
+ "@storybook/theming": "6.5.16",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
@@ -15989,11 +15932,10 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/channels": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.10.tgz",
- "integrity": "sha512-lo26YZ6kWpHXLhuHJF4P/bICY7jD/rXEZqReKtGOSk1Lv99/xvG6pqmcy3hWLf3v3Dy/8otjRPSR7izFVIIZgQ==",
- "dev": true,
+ "node_modules/@storybook/addons/node_modules/@storybook/channels": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.16.tgz",
+ "integrity": "sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==",
"dependencies": {
"core-js": "^3.8.2",
"ts-dedent": "^2.0.0",
@@ -16004,11 +15946,10 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/client-logger": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.10.tgz",
- "integrity": "sha512-/xA0MHOevXev68hyLMQw8Qo8KczSIdXOxliAgrycMTkDmw5eKeA8TP7B8zP3wGuq/e3MrdD9/8MWhb/IQBNC3w==",
- "dev": true,
+ "node_modules/@storybook/addons/node_modules/@storybook/client-logger": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.16.tgz",
+ "integrity": "sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==",
"dependencies": {
"core-js": "^3.8.2",
"global": "^4.4.0"
@@ -16018,11 +15959,10 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/core-events": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.10.tgz",
- "integrity": "sha512-EVb1gO1172klVIAABLOoigFMx0V88uctY0K/qVCO8n6v+wd2+0Ccn63kl+gTxsAC3WZ8XhXh9q2w5ImHklVECw==",
- "dev": true,
+ "node_modules/@storybook/addons/node_modules/@storybook/core-events": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.16.tgz",
+ "integrity": "sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==",
"dependencies": {
"core-js": "^3.8.2"
},
@@ -16031,22 +15971,20 @@
"url": "https://opencollective.com/storybook"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/csf": {
+ "node_modules/@storybook/addons/node_modules/@storybook/csf": {
"version": "0.0.2--canary.4566f4d.1",
"resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz",
"integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==",
- "dev": true,
"dependencies": {
"lodash": "^4.17.15"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/router": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.10.tgz",
- "integrity": "sha512-O+vNW/eEpYFF8eCg5jZjNQ6q2DKQVxqDRPCy9pJdEbvavMDZn6AFYgVK+VJe5F4211WW2yncOu922xObCxXJYg==",
- "dev": true,
+ "node_modules/@storybook/addons/node_modules/@storybook/router": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.16.tgz",
+ "integrity": "sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==",
"dependencies": {
- "@storybook/client-logger": "6.5.10",
+ "@storybook/client-logger": "6.5.16",
"core-js": "^3.8.2",
"memoizerific": "^1.11.3",
"qs": "^6.10.0",
@@ -16061,25 +15999,40 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/store": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.5.10.tgz",
- "integrity": "sha512-RswrSYh2IiKkytFPxP9AvP+hekjrvHK2ILvyDk2ZgduCN4n5ivsekOb+N3M2t+dq1eLuW9or5n2T4OWwAwjxxQ==",
- "dev": true,
+ "node_modules/@storybook/addons/node_modules/qs": {
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
"dependencies": {
- "@storybook/addons": "6.5.10",
- "@storybook/client-logger": "6.5.10",
- "@storybook/core-events": "6.5.10",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/@storybook/api": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.5.16.tgz",
+ "integrity": "sha512-HOsuT8iomqeTMQJrRx5U8nsC7lJTwRr1DhdD0SzlqL4c80S/7uuCy4IZvOt4sYQjOzW5fOo/kamcoBXyLproTA==",
+ "dependencies": {
+ "@storybook/channels": "6.5.16",
+ "@storybook/client-logger": "6.5.16",
+ "@storybook/core-events": "6.5.16",
"@storybook/csf": "0.0.2--canary.4566f4d.1",
+ "@storybook/router": "6.5.16",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.5.16",
"core-js": "^3.8.2",
"fast-deep-equal": "^3.1.3",
"global": "^4.4.0",
"lodash": "^4.17.21",
"memoizerific": "^1.11.3",
"regenerator-runtime": "^0.13.7",
- "slash": "^3.0.0",
- "stable": "^0.1.8",
- "synchronous-promise": "^2.0.15",
+ "store2": "^2.12.0",
+ "telejson": "^6.0.8",
"ts-dedent": "^2.0.0",
"util-deprecate": "^1.0.2"
},
@@ -16092,15 +16045,62 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/@storybook/theming": {
- "version": "6.5.10",
- "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.5.10.tgz",
- "integrity": "sha512-BvTQBBcSEwKKcsVmF+Ol6v0RIQUr+bxP7gb10wtfBd23mZTEFA0C1N5FnZr/dDeiBKG1pvf1UKvoYA731y0BsA==",
- "dev": true,
+ "node_modules/@storybook/api/node_modules/@storybook/channels": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-6.5.16.tgz",
+ "integrity": "sha512-VylzaWQZaMozEwZPJdyJoz+0jpDa8GRyaqu9TGG6QGv+KU5POoZaGLDkRE7TzWkyyP0KQLo80K99MssZCpgSeg==",
"dependencies": {
- "@storybook/client-logger": "6.5.10",
+ "core-js": "^3.8.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/api/node_modules/@storybook/client-logger": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-6.5.16.tgz",
+ "integrity": "sha512-pxcNaCj3ItDdicPTXTtmYJE3YC1SjxFrBmHcyrN+nffeNyiMuViJdOOZzzzucTUG0wcOOX8jaSyak+nnHg5H1Q==",
+ "dependencies": {
+ "core-js": "^3.8.2",
+ "global": "^4.4.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/api/node_modules/@storybook/core-events": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-6.5.16.tgz",
+ "integrity": "sha512-qMZQwmvzpH5F2uwNUllTPg6eZXr2OaYZQRRN8VZJiuorZzDNdAFmiVWMWdkThwmyLEJuQKXxqCL8lMj/7PPM+g==",
+ "dependencies": {
+ "core-js": "^3.8.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ }
+ },
+ "node_modules/@storybook/api/node_modules/@storybook/csf": {
+ "version": "0.0.2--canary.4566f4d.1",
+ "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.0.2--canary.4566f4d.1.tgz",
+ "integrity": "sha512-9OVvMVh3t9znYZwb0Svf/YQoxX2gVOeQTGe2bses2yj+a3+OJnCrUF3/hGv6Em7KujtOdL2LL+JnG49oMVGFgQ==",
+ "dependencies": {
+ "lodash": "^4.17.15"
+ }
+ },
+ "node_modules/@storybook/api/node_modules/@storybook/router": {
+ "version": "6.5.16",
+ "resolved": "https://registry.npmjs.org/@storybook/router/-/router-6.5.16.tgz",
+ "integrity": "sha512-ZgeP8a5YV/iuKbv31V8DjPxlV4AzorRiR8OuSt/KqaiYXNXlOoQDz/qMmiNcrshrfLpmkzoq7fSo4T8lWo2UwQ==",
+ "dependencies": {
+ "@storybook/client-logger": "6.5.16",
"core-js": "^3.8.2",
"memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
"regenerator-runtime": "^0.13.7"
},
"funding": {
@@ -16112,20 +16112,18 @@
"react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/isobject": {
+ "node_modules/@storybook/api/node_modules/isobject": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
"integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
- "dev": true,
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/@storybook/docs-tools/node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "dev": true,
+ "node_modules/@storybook/api/node_modules/qs": {
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -16136,20 +16134,10 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/@storybook/docs-tools/node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@storybook/docs-tools/node_modules/telejson": {
+ "node_modules/@storybook/api/node_modules/telejson": {
"version": "6.0.8",
"resolved": "https://registry.npmjs.org/telejson/-/telejson-6.0.8.tgz",
"integrity": "sha512-nerNXi+j8NK1QEfBHtZUN/aLdDcyupA//9kAboYLrtzZlPLpUfqbVGWb9zz91f/mIjRbAYhbgtnJHY8I1b5MBg==",
- "dev": true,
"dependencies": {
"@types/is-function": "^1.0.0",
"global": "^4.4.0",
@@ -16161,46 +16149,79 @@
"memoizerific": "^1.11.3"
}
},
- "node_modules/@storybook/manager-webpack4": {
+ "node_modules/@storybook/builder-webpack4": {
"version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack4/-/manager-webpack4-6.4.22.tgz",
- "integrity": "sha512-nzhDMJYg0vXdcG0ctwE6YFZBX71+5NYaTGkxg3xT7gbgnP1YFXn9gVODvgq3tPb3gcRapjyOIxUa20rV+r8edA==",
+ "resolved": "https://registry.npmjs.org/@storybook/builder-webpack4/-/builder-webpack4-6.4.22.tgz",
+ "integrity": "sha512-A+GgGtKGnBneRFSFkDarUIgUTI8pYFdLmUVKEAGdh2hL+vLXAz9A46sEY7C8LQ85XWa8TKy3OTDxqR4+4iWj3A==",
"dependencies": {
"@babel/core": "^7.12.10",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-decorators": "^7.12.12",
+ "@babel/plugin-proposal-export-default-from": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.7",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.12",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
"@babel/plugin-transform-template-literals": "^7.12.1",
+ "@babel/preset-env": "^7.12.11",
"@babel/preset-react": "^7.12.10",
+ "@babel/preset-typescript": "^7.12.7",
"@storybook/addons": "6.4.22",
- "@storybook/core-client": "6.4.22",
+ "@storybook/api": "6.4.22",
+ "@storybook/channel-postmessage": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-api": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/components": "6.4.22",
"@storybook/core-common": "6.4.22",
+ "@storybook/core-events": "6.4.22",
"@storybook/node-logger": "6.4.22",
+ "@storybook/preview-web": "6.4.22",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/store": "6.4.22",
"@storybook/theming": "6.4.22",
"@storybook/ui": "6.4.22",
"@types/node": "^14.0.10",
"@types/webpack": "^4.41.26",
+ "autoprefixer": "^9.8.6",
"babel-loader": "^8.0.0",
+ "babel-plugin-macros": "^2.8.0",
+ "babel-plugin-polyfill-corejs3": "^0.1.0",
"case-sensitive-paths-webpack-plugin": "^2.3.0",
- "chalk": "^4.1.0",
"core-js": "^3.8.2",
"css-loader": "^3.6.0",
- "express": "^4.17.1",
"file-loader": "^6.2.0",
- "file-system-cache": "^1.0.5",
"find-up": "^5.0.0",
- "fs-extra": "^9.0.1",
+ "fork-ts-checker-webpack-plugin": "^4.1.6",
+ "glob": "^7.1.6",
+ "glob-promise": "^3.4.0",
+ "global": "^4.4.0",
"html-webpack-plugin": "^4.0.0",
- "node-fetch": "^2.6.1",
"pnp-webpack-plugin": "1.6.4",
- "read-pkg-up": "^7.0.1",
- "regenerator-runtime": "^0.13.7",
- "resolve-from": "^5.0.0",
+ "postcss": "^7.0.36",
+ "postcss-flexbugs-fixes": "^4.2.1",
+ "postcss-loader": "^4.2.0",
+ "raw-loader": "^4.0.2",
+ "stable": "^0.1.8",
"style-loader": "^1.3.0",
- "telejson": "^5.3.2",
"terser-webpack-plugin": "^4.2.3",
"ts-dedent": "^2.0.0",
"url-loader": "^4.1.1",
"util-deprecate": "^1.0.2",
"webpack": "4",
"webpack-dev-middleware": "^3.7.3",
+ "webpack-filter-warnings-plugin": "^1.2.1",
+ "webpack-hot-middleware": "^2.25.1",
"webpack-virtual-modules": "^0.2.2"
},
"funding": {
@@ -16217,290 +16238,480 @@
}
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/@types/node": {
- "version": "14.18.16",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz",
- "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q=="
- },
- "node_modules/@storybook/manager-webpack4/node_modules/acorn": {
- "version": "6.4.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
- "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
- "bin": {
- "acorn": "bin/acorn"
+ "node_modules/@storybook/builder-webpack4/node_modules/@emotion/styled": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-10.3.0.tgz",
+ "integrity": "sha512-GgcUpXBBEU5ido+/p/mCT2/Xx+Oqmp9JzQRuC+a4lYM4i4LBBn/dWvc0rQ19N9ObA8/T4NWMrPNe79kMBDJqoQ==",
+ "dependencies": {
+ "@emotion/styled-base": "^10.3.0",
+ "babel-plugin-emotion": "^10.0.27"
},
- "engines": {
- "node": ">=0.4.0"
+ "peerDependencies": {
+ "@emotion/core": "^10.0.27",
+ "react": ">=16.3.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/css-loader": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
- "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/addons": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/addons/-/addons-6.4.22.tgz",
+ "integrity": "sha512-P/R+Jsxh7pawKLYo8MtE3QU/ilRFKbtCewV/T1o5U/gm8v7hKQdFz3YdRMAra4QuCY8bQIp7MKd2HrB5aH5a1A==",
"dependencies": {
- "camelcase": "^5.3.1",
- "cssesc": "^3.0.0",
- "icss-utils": "^4.1.1",
- "loader-utils": "^1.2.3",
- "normalize-path": "^3.0.0",
- "postcss": "^7.0.32",
- "postcss-modules-extract-imports": "^2.0.0",
- "postcss-modules-local-by-default": "^3.0.2",
- "postcss-modules-scope": "^2.2.0",
- "postcss-modules-values": "^3.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^2.7.0",
- "semver": "^6.3.0"
- },
- "engines": {
- "node": ">= 8.9.0"
+ "@storybook/api": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/theming": "6.4.22",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "regenerator-runtime": "^0.13.7"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/eslint-scope": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
- "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
- "dependencies": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=4.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/api/-/api-6.4.22.tgz",
+ "integrity": "sha512-lAVI3o2hKupYHXFTt+1nqFct942up5dHH6YD7SZZJGyW21dwKC3HK1IzCsTawq3fZAKkgWFgmOO649hKk60yKg==",
"dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/router": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@storybook/theming": "6.4.22",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
- "engines": {
- "node": ">=10"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/html-webpack-plugin": {
- "version": "4.5.2",
- "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
- "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/client-api": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/client-api/-/client-api-6.4.22.tgz",
+ "integrity": "sha512-sO6HJNtrrdit7dNXQcZMdlmmZG1k6TswH3gAyP/DoYajycrTwSJ6ovkarzkO+0QcJ+etgra4TEdTIXiGHBMe/A==",
"dependencies": {
- "@types/html-minifier-terser": "^5.0.0",
- "@types/tapable": "^1.0.5",
- "@types/webpack": "^4.41.8",
- "html-minifier-terser": "^5.0.1",
- "loader-utils": "^1.2.3",
- "lodash": "^4.17.20",
- "pretty-error": "^2.1.1",
- "tapable": "^1.1.3",
- "util.promisify": "1.0.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/channel-postmessage": "6.4.22",
+ "@storybook/channels": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.22",
+ "@types/qs": "^6.9.5",
+ "@types/webpack-env": "^1.16.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "store2": "^2.12.0",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">=6.9"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
"peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/icss-utils": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
- "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/components": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/components/-/components-6.4.22.tgz",
+ "integrity": "sha512-dCbXIJF9orMvH72VtAfCQsYbe57OP7fAADtR6YTwfCw9Sm1jFuZr8JbblQ1HcrXEoJG21nOyad3Hm5EYVb/sBw==",
"dependencies": {
- "postcss": "^7.0.14"
+ "@popperjs/core": "^2.6.0",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/theming": "6.4.22",
+ "@types/color-convert": "^2.0.0",
+ "@types/overlayscrollbars": "^1.12.0",
+ "@types/react-syntax-highlighter": "11.0.5",
+ "color-convert": "^2.0.1",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "markdown-to-jsx": "^7.1.3",
+ "memoizerific": "^1.11.3",
+ "overlayscrollbars": "^1.13.1",
+ "polished": "^4.0.5",
+ "prop-types": "^15.7.2",
+ "react-colorful": "^5.1.2",
+ "react-popper-tooltip": "^3.1.1",
+ "react-syntax-highlighter": "^13.5.3",
+ "react-textarea-autosize": "^8.3.0",
+ "regenerator-runtime": "^0.13.7",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
},
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/loader-runner": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
- "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==",
- "engines": {
- "node": ">=4.3.0 <5.0.0 || >=5.10"
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/locate-path": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
- "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-6.4.22.tgz",
+ "integrity": "sha512-PD3N/FJXPNRHeQS2zdgzYFtqPLdi3MLwAicbnw+U3SokcsspfsAuyYHZOYZgwO8IAEKy6iCc7TpBdiSJZ/vAKQ==",
"dependencies": {
- "p-locate": "^5.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/@storybook/manager-webpack4/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "@babel/core": "^7.12.10",
+ "@babel/plugin-proposal-class-properties": "^7.12.1",
+ "@babel/plugin-proposal-decorators": "^7.12.12",
+ "@babel/plugin-proposal-export-default-from": "^7.12.1",
+ "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1",
+ "@babel/plugin-proposal-object-rest-spread": "^7.12.1",
+ "@babel/plugin-proposal-optional-chaining": "^7.12.7",
+ "@babel/plugin-proposal-private-methods": "^7.12.1",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-transform-arrow-functions": "^7.12.1",
+ "@babel/plugin-transform-block-scoping": "^7.12.12",
+ "@babel/plugin-transform-classes": "^7.12.1",
+ "@babel/plugin-transform-destructuring": "^7.12.1",
+ "@babel/plugin-transform-for-of": "^7.12.1",
+ "@babel/plugin-transform-parameters": "^7.12.1",
+ "@babel/plugin-transform-shorthand-properties": "^7.12.1",
+ "@babel/plugin-transform-spread": "^7.12.1",
+ "@babel/preset-env": "^7.12.11",
+ "@babel/preset-react": "^7.12.10",
+ "@babel/preset-typescript": "^7.12.7",
+ "@babel/register": "^7.12.1",
+ "@storybook/node-logger": "6.4.22",
+ "@storybook/semver": "^7.3.2",
+ "@types/node": "^14.0.10",
+ "@types/pretty-hrtime": "^1.0.0",
+ "babel-loader": "^8.0.0",
+ "babel-plugin-macros": "^3.0.1",
+ "babel-plugin-polyfill-corejs3": "^0.1.0",
+ "chalk": "^4.1.0",
+ "core-js": "^3.8.2",
+ "express": "^4.17.1",
+ "file-system-cache": "^1.0.5",
+ "find-up": "^5.0.0",
+ "fork-ts-checker-webpack-plugin": "^6.0.4",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "handlebars": "^4.7.7",
+ "interpret": "^2.2.0",
+ "json5": "^2.1.3",
+ "lazy-universal-dotenv": "^3.0.1",
+ "picomatch": "^2.3.0",
+ "pkg-dir": "^5.0.0",
+ "pretty-hrtime": "^1.0.3",
+ "resolve-from": "^5.0.0",
+ "slash": "^3.0.0",
+ "telejson": "^5.3.2",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2",
+ "webpack": "4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/babel-plugin-macros": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz",
+ "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==",
"dependencies": {
- "yocto-queue": "^0.1.0"
+ "@babel/runtime": "^7.12.5",
+ "cosmiconfig": "^7.0.0",
+ "resolve": "^1.19.0"
},
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">=10",
+ "npm": ">=6"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/p-locate": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
- "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/fork-ts-checker-webpack-plugin": {
+ "version": "6.5.3",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz",
+ "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==",
"dependencies": {
- "p-limit": "^3.0.2"
+ "@babel/code-frame": "^7.8.3",
+ "@types/json-schema": "^7.0.5",
+ "chalk": "^4.1.0",
+ "chokidar": "^3.4.2",
+ "cosmiconfig": "^6.0.0",
+ "deepmerge": "^4.2.2",
+ "fs-extra": "^9.0.0",
+ "glob": "^7.1.6",
+ "memfs": "^3.1.2",
+ "minimatch": "^3.0.4",
+ "schema-utils": "2.7.0",
+ "semver": "^7.3.2",
+ "tapable": "^1.0.0"
},
"engines": {
- "node": ">=10"
+ "node": ">=10",
+ "yarn": ">=1.0.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "peerDependencies": {
+ "eslint": ">= 6",
+ "typescript": ">= 2.7",
+ "vue-template-compiler": "*",
+ "webpack": ">= 4"
+ },
+ "peerDependenciesMeta": {
+ "eslint": {
+ "optional": true
+ },
+ "vue-template-compiler": {
+ "optional": true
+ }
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
+ "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
+ "dependencies": {
+ "@types/parse-json": "^4.0.0",
+ "import-fresh": "^3.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0",
+ "yaml": "^1.7.2"
+ },
"engines": {
"node": ">=8"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/schema-utils": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+ "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
"dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
+ "@types/json-schema": "^7.0.4",
+ "ajv": "^6.12.2",
+ "ajv-keywords": "^3.4.1"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">= 8.9.0"
},
"funding": {
"type": "opencollective",
- "url": "https://opencollective.com/postcss/"
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-extract-imports": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
- "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/core-common/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
- "postcss": "^7.0.5"
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": ">= 6"
+ "node": ">=10"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-local-by-default": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.3.tgz",
- "integrity": "sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/preview-web": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/preview-web/-/preview-web-6.4.22.tgz",
+ "integrity": "sha512-sWS+sgvwSvcNY83hDtWUUL75O2l2LY/GTAS0Zp2dh3WkObhtuJ/UehftzPZlZmmv7PCwhb4Q3+tZDKzMlFxnKQ==",
"dependencies": {
- "icss-utils": "^4.1.1",
- "postcss": "^7.0.32",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/channel-postmessage": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "@storybook/store": "6.4.22",
+ "ansi-to-html": "^0.6.11",
+ "core-js": "^3.8.2",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "qs": "^6.10.0",
+ "regenerator-runtime": "^0.13.7",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "unfetch": "^4.2.0",
+ "util-deprecate": "^1.0.2"
},
- "engines": {
- "node": ">= 6"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-scope": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
- "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/store": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/store/-/store-6.4.22.tgz",
+ "integrity": "sha512-lrmcZtYJLc2emO+1l6AG4Txm9445K6Pyv9cGAuhOJ9Kks0aYe0YtvMkZVVry0RNNAIv6Ypz72zyKc/QK+tZLAQ==",
"dependencies": {
- "postcss": "^7.0.6",
- "postcss-selector-parser": "^6.0.0"
+ "@storybook/addons": "6.4.22",
+ "@storybook/client-logger": "6.4.22",
+ "@storybook/core-events": "6.4.22",
+ "@storybook/csf": "0.0.2--canary.87bc651.0",
+ "core-js": "^3.8.2",
+ "fast-deep-equal": "^3.1.3",
+ "global": "^4.4.0",
+ "lodash": "^4.17.21",
+ "memoizerific": "^1.11.3",
+ "regenerator-runtime": "^0.13.7",
+ "slash": "^3.0.0",
+ "stable": "^0.1.8",
+ "synchronous-promise": "^2.0.15",
+ "ts-dedent": "^2.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/@storybook/theming": {
+ "version": "6.4.22",
+ "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-6.4.22.tgz",
+ "integrity": "sha512-NVMKH/jxSPtnMTO4VCN1k47uztq+u9fWv4GSnzq/eezxdGg9ceGL4/lCrNGoNajht9xbrsZ4QvsJ/V2sVGM8wA==",
+ "dependencies": {
+ "@emotion/core": "^10.1.1",
+ "@emotion/is-prop-valid": "^0.8.6",
+ "@emotion/styled": "^10.0.27",
+ "@storybook/client-logger": "6.4.22",
+ "core-js": "^3.8.2",
+ "deep-object-diff": "^1.1.0",
+ "emotion-theming": "^10.0.27",
+ "global": "^4.4.0",
+ "memoizerific": "^1.11.3",
+ "polished": "^4.0.5",
+ "resolve-from": "^5.0.0",
+ "ts-dedent": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/storybook"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/@types/node": {
+ "version": "14.18.63",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz",
+ "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ=="
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/acorn": {
+ "version": "6.4.2",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz",
+ "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==",
+ "bin": {
+ "acorn": "bin/acorn"
},
"engines": {
- "node": ">= 6"
+ "node": ">=0.4.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/postcss-modules-values": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
- "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
+ "node_modules/@storybook/builder-webpack4/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
"dependencies": {
- "icss-utils": "^4.0.0",
- "postcss": "^7.0.6"
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/pretty-error": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz",
- "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/ansi-styles/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dependencies": {
- "lodash": "^4.17.20",
- "renderkid": "^2.0.4"
+ "color-name": "1.1.3"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/ansi-styles/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=7.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "node_modules/@storybook/builder-webpack4/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/@storybook/builder-webpack4/node_modules/css-loader": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.6.0.tgz",
+ "integrity": "sha512-M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==",
"dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
+ "camelcase": "^5.3.1",
+ "cssesc": "^3.0.0",
+ "icss-utils": "^4.1.1",
+ "loader-utils": "^1.2.3",
+ "normalize-path": "^3.0.0",
+ "postcss": "^7.0.32",
+ "postcss-modules-extract-imports": "^2.0.0",
+ "postcss-modules-local-by-default": "^3.0.2",
+ "postcss-modules-scope": "^2.2.0",
+ "postcss-modules-values": "^3.0.0",
+ "postcss-value-parser": "^4.1.0",
+ "schema-utils": "^2.7.0",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">= 8.9.0"
@@ -16508,9 +16719,12 @@
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/semver": {
+ "node_modules/@storybook/builder-webpack4/node_modules/css-loader/node_modules/semver": {
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
@@ -16518,285 +16732,123 @@
"semver": "bin/semver.js"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "node_modules/@storybook/builder-webpack4/node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
"engines": {
"node": ">=0.10.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/style-loader": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
- "integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
+ "node_modules/@storybook/builder-webpack4/node_modules/eslint-scope": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz",
+ "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==",
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^2.7.0"
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
},
"engines": {
- "node": ">= 8.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "node": ">=4.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/style-loader/node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
"dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": ">=8.9.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/webpack": {
- "version": "4.46.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz",
- "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==",
+ "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin": {
+ "version": "4.1.6",
+ "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz",
+ "integrity": "sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==",
"dependencies": {
- "@webassemblyjs/ast": "1.9.0",
- "@webassemblyjs/helper-module-context": "1.9.0",
- "@webassemblyjs/wasm-edit": "1.9.0",
- "@webassemblyjs/wasm-parser": "1.9.0",
- "acorn": "^6.4.1",
- "ajv": "^6.10.2",
- "ajv-keywords": "^3.4.1",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^4.5.0",
- "eslint-scope": "^4.0.3",
- "json-parse-better-errors": "^1.0.2",
- "loader-runner": "^2.4.0",
- "loader-utils": "^1.2.3",
- "memory-fs": "^0.4.1",
+ "@babel/code-frame": "^7.5.5",
+ "chalk": "^2.4.1",
"micromatch": "^3.1.10",
- "mkdirp": "^0.5.3",
- "neo-async": "^2.6.1",
- "node-libs-browser": "^2.2.1",
- "schema-utils": "^1.0.0",
- "tapable": "^1.1.3",
- "terser-webpack-plugin": "^1.4.3",
- "watchpack": "^1.7.4",
- "webpack-sources": "^1.4.1"
- },
- "bin": {
- "webpack": "bin/webpack.js"
+ "minimatch": "^3.0.4",
+ "semver": "^5.6.0",
+ "tapable": "^1.0.0",
+ "worker-rpc": "^0.1.0"
},
"engines": {
- "node": ">=6.11.5"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- },
- "webpack-command": {
- "optional": true
- }
+ "node": ">=6.11.5",
+ "yarn": ">=1.0.0"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+ "node_modules/@storybook/builder-webpack4/node_modules/fork-ts-checker-webpack-plugin/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/schema-utils": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz",
- "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==",
+ "node_modules/@storybook/builder-webpack4/node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"dependencies": {
- "ajv": "^6.1.0",
- "ajv-errors": "^1.0.0",
- "ajv-keywords": "^3.1.0"
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
},
"engines": {
- "node": ">= 4"
+ "node": ">=10"
}
},
- "node_modules/@storybook/manager-webpack4/node_modules/webpack/node_modules/terser-webpack-plugin": {
- "version": "1.4.5",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
- "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==",
+ "node_modules/@storybook/builder-webpack4/node_modules/html-webpack-plugin": {
+ "version": "4.5.2",
+ "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.2.tgz",
+ "integrity": "sha512-q5oYdzjKUIPQVjOosjgvCHQOv9Ett9CYYHlgvJeXG0qQvdSojnBq4vAdQBwn1+yGveAwHCoe/rMR86ozX3+c2A==",
"dependencies": {
- "cacache": "^12.0.2",
- "find-cache-dir": "^2.1.0",
- "is-wsl": "^1.1.0",
- "schema-utils": "^1.0.0",
- "serialize-javascript": "^4.0.0",
- "source-map": "^0.6.1",
- "terser": "^4.1.2",
- "webpack-sources": "^1.4.0",
- "worker-farm": "^1.7.0"
+ "@types/html-minifier-terser": "^5.0.0",
+ "@types/tapable": "^1.0.5",
+ "@types/webpack": "^4.41.8",
+ "html-minifier-terser": "^5.0.1",
+ "loader-utils": "^1.2.3",
+ "lodash": "^4.17.20",
+ "pretty-error": "^2.1.1",
+ "tapable": "^1.1.3",
+ "util.promisify": "1.0.0"
},
"engines": {
- "node": ">= 6.9.0"
+ "node": ">=6.9"
},
"peerDependencies": {
- "webpack": "^4.0.0"
+ "webpack": "^4.0.0 || ^5.0.0"
}
},
- "node_modules/@storybook/manager-webpack5": {
- "version": "6.4.22",
- "resolved": "https://registry.npmjs.org/@storybook/manager-webpack5/-/manager-webpack5-6.4.22.tgz",
- "integrity": "sha512-BMkOMselT4jOn7EQGt748FurM5ewtDfZtOQPCVK8MZX+HYE2AgjNOzm562TYODIxk12Fkhgj3EIz7GGMe1U3RA==",
- "devOptional": true,
+ "node_modules/@storybook/builder-webpack4/node_modules/icss-utils": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
+ "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
"dependencies": {
- "@babel/core": "^7.12.10",
- "@babel/plugin-transform-template-literals": "^7.12.1",
- "@babel/preset-react": "^7.12.10",
- "@storybook/addons": "6.4.22",
- "@storybook/core-client": "6.4.22",
- "@storybook/core-common": "6.4.22",
- "@storybook/node-logger": "6.4.22",
- "@storybook/theming": "6.4.22",
- "@storybook/ui": "6.4.22",
- "@types/node": "^14.0.10",
- "babel-loader": "^8.0.0",
- "case-sensitive-paths-webpack-plugin": "^2.3.0",
- "chalk": "^4.1.0",
- "core-js": "^3.8.2",
- "css-loader": "^5.0.1",
- "express": "^4.17.1",
- "file-system-cache": "^1.0.5",
- "find-up": "^5.0.0",
- "fs-extra": "^9.0.1",
- "html-webpack-plugin": "^5.0.0",
- "node-fetch": "^2.6.1",
- "process": "^0.11.10",
- "read-pkg-up": "^7.0.1",
- "regenerator-runtime": "^0.13.7",
- "resolve-from": "^5.0.0",
- "style-loader": "^2.0.0",
- "telejson": "^5.3.2",
- "terser-webpack-plugin": "^5.0.3",
- "ts-dedent": "^2.0.0",
- "util-deprecate": "^1.0.2",
- "webpack": "^5.9.0",
- "webpack-dev-middleware": "^4.1.0",
- "webpack-virtual-modules": "^0.4.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/storybook"
- },
- "peerDependencies": {
- "react": "^16.8.0 || ^17.0.0",
- "react-dom": "^16.8.0 || ^17.0.0"
- },
- "peerDependenciesMeta": {
- "typescript": {
- "optional": true
- }
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/@types/node": {
- "version": "14.17.19",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.17.19.tgz",
- "integrity": "sha512-jjYI6NkyfXykucU6ELEoT64QyKOdvaA6enOqKtP4xUsGY0X0ZUZz29fUmrTRo+7v7c6TgDu82q3GHHaCEkqZwA==",
- "devOptional": true
- },
- "node_modules/@storybook/manager-webpack5/node_modules/css-loader": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
- "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
- "devOptional": true,
- "dependencies": {
- "icss-utils": "^5.1.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.15",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^3.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.27.0 || ^5.0.0"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/find-up": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
- "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
- "devOptional": true,
- "dependencies": {
- "locate-path": "^6.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@storybook/manager-webpack5/node_modules/fs-extra": {
- "version": "9.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
- "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
- "devOptional": true,
- "dependencies": {
- "at-least-node": "^1.0.0",
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
... 133405 lines suppressed ...