From 49244468e28cf61959a52a21eed56e3e4470d135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomek=20Wytr=C4=99bowicz?= Date: Thu, 25 Nov 2021 12:52:28 +0100 Subject: [PATCH] Remove forked `ReportFilters` & co. as those fixes were released in `@woocommerce/components`: - https://github.com/woocommerce/woocommerce-admin/issues/6890, - https://github.com/woocommerce/woocommerce-admin/issues/6062 Remove no longer needed dependencies. --- .../woocommerce/compare-filter/index.js | 191 -------- .../woocommerce/filter-picker/index.js | 418 ------------------ .../woocommerce/filters/index.js | 255 ----------- .../programs/programs-report-filters.js | 6 +- package-lock.json | 68 +-- package.json | 2 - 6 files changed, 37 insertions(+), 903 deletions(-) delete mode 100644 js/src/external-components/woocommerce/compare-filter/index.js delete mode 100644 js/src/external-components/woocommerce/filter-picker/index.js delete mode 100644 js/src/external-components/woocommerce/filters/index.js diff --git a/js/src/external-components/woocommerce/compare-filter/index.js b/js/src/external-components/woocommerce/compare-filter/index.js deleted file mode 100644 index 8aa1c13b8d..0000000000 --- a/js/src/external-components/woocommerce/compare-filter/index.js +++ /dev/null @@ -1,191 +0,0 @@ -/** - * This file was cloned from - * https://github.com/woocommerce/woocommerce-admin/blob/93b1979a2ea80ff2affc030d3a8e832edea61239/packages/components/src/compare-filter/index.js - * To use unreleased fixes: - * https://github.com/woocommerce/woocommerce-admin/issues/6890 - */ -/** - * External dependencies - */ -import { __ } from '@wordpress/i18n'; -import { Component } from '@wordpress/element'; -import { - Button, - Card, - CardBody, - CardFooter, - CardHeader, - __experimentalText as Text, -} from '@wordpress/components'; -import { isEqual, isFunction } from 'lodash'; -import PropTypes from 'prop-types'; -import { getIdsFromQuery, updateQueryString } from '@woocommerce/navigation'; - -// /** -// * Internal dependencies -// */ -// import CompareButton from './button'; -// import Search from '../search'; - -// export { default as CompareButton } from './button'; - -/** - * External dependencies - */ -import { CompareButton, Search } from '@woocommerce/components'; - -export { CompareButton }; - -/** - * Displays a card + search used to filter results as a comparison between objects. - */ -export class CompareFilter extends Component { - constructor( { getLabels, param, query } ) { - super( ...arguments ); - this.state = { - selected: [], - }; - this.clearQuery = this.clearQuery.bind( this ); - this.updateQuery = this.updateQuery.bind( this ); - this.updateLabels = this.updateLabels.bind( this ); - this.onButtonClicked = this.onButtonClicked.bind( this ); - if ( query[ param ] ) { - getLabels( query[ param ], query ).then( this.updateLabels ); - } - } - - componentDidUpdate( - { param: prevParam, query: prevQuery }, - { selected: prevSelected } - ) { - const { getLabels, param, query } = this.props; - const { selected } = this.state; - if ( - prevParam !== param || - ( prevSelected.length > 0 && selected.length === 0 ) - ) { - this.clearQuery(); - return; - } - - const prevIds = getIdsFromQuery( prevQuery[ param ] ); - const currentIds = getIdsFromQuery( query[ param ] ); - if ( ! isEqual( prevIds.sort(), currentIds.sort() ) ) { - getLabels( query[ param ], query ).then( this.updateLabels ); - } - } - - clearQuery() { - const { param, path, query } = this.props; - - this.setState( { - selected: [], - } ); - - updateQueryString( { [ param ]: undefined }, path, query ); - } - - updateLabels( selected ) { - this.setState( { selected } ); - } - - updateQuery() { - const { param, path, query } = this.props; - const { selected } = this.state; - const idList = selected.map( ( p ) => p.key ); - updateQueryString( { [ param ]: idList.join( ',' ) }, path, query ); - } - - onButtonClicked( e ) { - this.updateQuery( e ); - if ( isFunction( this.props.onClick ) ) { - this.props.onClick( e ); - } - } - - render() { - const { labels, type, autocompleter } = this.props; - const { selected } = this.state; - return ( - - - { labels.title } - - - { - this.setState( { selected: value } ); - } } - /> - - - - { labels.update } - - { selected.length > 0 && ( - - ) } - - - ); - } -} - -CompareFilter.propTypes = { - /** - * Function used to fetch object labels via an API request, returns a Promise. - */ - getLabels: PropTypes.func.isRequired, - /** - * Object of localized labels. - */ - labels: PropTypes.shape( { - /** - * Label for the search placeholder. - */ - placeholder: PropTypes.string, - /** - * Label for the card title. - */ - title: PropTypes.string, - /** - * Label for button which updates the URL/report. - */ - update: PropTypes.string, - } ), - /** - * The parameter to use in the querystring. - */ - param: PropTypes.string.isRequired, - /** - * The `path` parameter supplied by React-Router - */ - path: PropTypes.string.isRequired, - /** - * The query string represented in object form - */ - query: PropTypes.object, - /** - * Which type of autocompleter should be used in the Search - */ - type: PropTypes.string.isRequired, - /** - * The custom autocompleter to be forwarded to the `Search` component. - */ - autocompleter: PropTypes.object, -}; - -CompareFilter.defaultProps = { - labels: {}, - query: {}, -}; diff --git a/js/src/external-components/woocommerce/filter-picker/index.js b/js/src/external-components/woocommerce/filter-picker/index.js deleted file mode 100644 index 723eb90146..0000000000 --- a/js/src/external-components/woocommerce/filter-picker/index.js +++ /dev/null @@ -1,418 +0,0 @@ -/** - * This file was cloned from - * https://github.com/woocommerce/woocommerce-admin/blob/fa72c01b3d57d164fa4fcd621be2a7dd14e1be25/packages/components/src/filters/index.js - * To use unreleased fixes: - * https://github.com/woocommerce/woocommerce-admin/issues/6062 - */ -/** - * External dependencies - */ -import { __ } from '@wordpress/i18n'; -import { Button, Dropdown } from '@wordpress/components'; -import { focus } from '@wordpress/dom'; -import classnames from 'classnames'; -import { Component } from '@wordpress/element'; -import { find, partial, last, get, includes } from 'lodash'; -import PropTypes from 'prop-types'; -import { Icon, chevronLeft } from '@wordpress/icons'; -import { - flattenFilters, - getPersistedQuery, - updateQueryString, -} from '@woocommerce/navigation'; - -// /** -// * Internal dependencies -// */ -// import AnimationSlider from '../animation-slider'; -// import DropdownButton from '../dropdown-button'; -// import Search from '../search'; - -/** - * External dependencies - */ -import { - AnimationSlider, - DropdownButton, - Search, -} from '@woocommerce/components'; - -export const DEFAULT_FILTER = 'all'; - -/** - * Modify a url query parameter via a dropdown selection of configurable options. - * This component manipulates the `filter` query parameter. - */ -class FilterPicker extends Component { - constructor( props ) { - super( props ); - - const selectedFilter = this.getFilter(); - this.state = { - nav: selectedFilter.path || [], - animate: null, - selectedTag: null, - }; - - this.selectSubFilter = this.selectSubFilter.bind( this ); - this.getVisibleFilters = this.getVisibleFilters.bind( this ); - this.updateSelectedTag = this.updateSelectedTag.bind( this ); - this.onTagChange = this.onTagChange.bind( this ); - this.onContentMount = this.onContentMount.bind( this ); - this.goBack = this.goBack.bind( this ); - - if ( selectedFilter.settings && selectedFilter.settings.getLabels ) { - const { query } = this.props; - const { param: filterParam, getLabels } = selectedFilter.settings; - getLabels( query[ filterParam ], query ).then( - this.updateSelectedTag - ); - } - } - - componentDidUpdate( { query: prevQuery } ) { - const { query: nextQuery, config } = this.props; - if ( prevQuery[ config.param ] !== nextQuery[ [ config.param ] ] ) { - const selectedFilter = this.getFilter(); - if ( selectedFilter && selectedFilter.component === 'Search' ) { - /* eslint-disable react/no-did-update-set-state */ - this.setState( { nav: selectedFilter.path || [] } ); - /* eslint-enable react/no-did-update-set-state */ - const { - param: filterParam, - getLabels, - } = selectedFilter.settings; - getLabels( nextQuery[ filterParam ], nextQuery ).then( - this.updateSelectedTag - ); - } - } - } - - updateSelectedTag( tags ) { - this.setState( { selectedTag: tags[ 0 ] } ); - } - - getFilter( value ) { - const { config, query } = this.props; - const allFilters = flattenFilters( config.filters ); - value = - value || - query[ config.param ] || - config.defaultValue || - DEFAULT_FILTER; - return find( allFilters, { value } ) || {}; - } - - getButtonLabel( selectedFilter ) { - if ( selectedFilter.component === 'Search' ) { - const { selectedTag } = this.state; - return [ - selectedTag && selectedTag.label, - get( selectedFilter, 'settings.labels.button' ), - ]; - } - return selectedFilter ? [ selectedFilter.label ] : []; - } - - getVisibleFilters( filters, nav ) { - if ( nav.length === 0 ) { - return filters; - } - const value = nav[ 0 ]; - const nextFilters = find( filters, { value } ); - return this.getVisibleFilters( - nextFilters && nextFilters.subFilters, - nav.slice( 1 ) - ); - } - - selectSubFilter( value ) { - // Add the value onto the nav path - this.setState( ( prevState ) => ( { - nav: [ ...prevState.nav, value ], - animate: 'left', - } ) ); - } - - goBack() { - // Remove the last item from the nav path - this.setState( ( prevState ) => ( { - nav: prevState.nav.slice( 0, -1 ), - animate: 'right', - } ) ); - } - - update( value, additionalQueries = {} ) { - const { path, query, config, onFilterSelect } = this.props; - // Keep only time related queries when updating to a new filter - const persistedQuery = getPersistedQuery( query ); - const update = { - [ config.param ]: - ( config.defaultValue || DEFAULT_FILTER ) === value - ? undefined - : value, - ...additionalQueries, - }; - // Keep any url parameters as designated by the config - config.staticParams.forEach( ( param ) => { - update[ param ] = query[ param ]; - } ); - updateQueryString( update, path, persistedQuery ); - onFilterSelect( update ); - } - - onTagChange( filter, onClose, config, tags ) { - const tag = last( tags ); - const { value, settings } = filter; - const { param: filterParam } = settings; - if ( tag ) { - this.update( value, { [ filterParam ]: tag.key } ); - onClose(); - } else { - this.update( config.defaultValue || DEFAULT_FILTER ); - } - this.updateSelectedTag( [ tag ] ); - } - - renderButton( filter, onClose, config ) { - if ( filter.component ) { - const { type, labels, autocompleter } = filter.settings; - const persistedFilter = this.getFilter(); - const selectedTag = - persistedFilter.value === filter.value - ? this.state.selectedTag - : null; - - return ( - - ); - } - - const selectFilter = ( event ) => { - onClose( event ); - this.update( filter.value, filter.query || {} ); - this.setState( { selectedTag: null } ); - }; - - const selectSubFilter = partial( this.selectSubFilter, filter.value ); - const selectedFilter = this.getFilter(); - const buttonIsSelected = - selectedFilter.value === filter.value || - ( selectedFilter.path && - includes( selectedFilter.path, filter.value ) ); - const onClick = ( event ) => { - if ( buttonIsSelected ) { - // Don't navigate if the button is already selected. - onClose( event ); - return; - } - - if ( filter.subFilters ) { - selectSubFilter( event ); - return; - } - - selectFilter( event ); - }; - - return ( - - ); - } - - onContentMount( content ) { - const { nav } = this.state; - const parentFilter = nav.length - ? this.getFilter( nav[ nav.length - 1 ] ) - : false; - const focusableIndex = parentFilter ? 1 : 0; - const focusable = focus.tabbable.find( content )[ focusableIndex ]; - setTimeout( () => { - focusable.focus(); - }, 0 ); - } - - render() { - const { config } = this.props; - const { nav, animate } = this.state; - const visibleFilters = this.getVisibleFilters( config.filters, nav ); - const parentFilter = nav.length - ? this.getFilter( nav[ nav.length - 1 ] ) - : false; - const selectedFilter = this.getFilter(); - return ( -
- { config.label && ( - - { config.label }: - - ) } - ( - - ) } - renderContent={ ( { onClose } ) => ( - - { () => ( -
    - { parentFilter && ( -
  • - -
  • - ) } - { visibleFilters.map( ( filter ) => ( -
  • - { this.renderButton( - filter, - onClose, - config - ) } -
  • - ) ) } -
- ) } -
- ) } - /> -
- ); - } -} - -FilterPicker.propTypes = { - /** - * An array of filters and subFilters to construct the menu. - */ - config: PropTypes.shape( { - /** - * A label above the filter selector. - */ - label: PropTypes.string, - /** - * Url parameters to persist when selecting a new filter. - */ - staticParams: PropTypes.array.isRequired, - /** - * The url paramter this filter will modify. - */ - param: PropTypes.string.isRequired, - /** - * The default paramter value to use instead of 'all'. - */ - defaultValue: PropTypes.string, - /** - * Determine if the filter should be shown. Supply a function with the query object as an argument returning a boolean. - */ - showFilters: PropTypes.func.isRequired, - /** - * An array of filter a user can select. - */ - filters: PropTypes.arrayOf( - PropTypes.shape( { - /** - * The chart display mode to use for charts displayed when this filter is active. - */ - chartMode: PropTypes.oneOf( [ - 'item-comparison', - 'time-comparison', - ] ), - /** - * A custom component used instead of a button, might have special handling for filtering. TBD, not yet implemented. - */ - component: PropTypes.string, - /** - * The label for this filter. Optional only for custom component filters. - */ - label: PropTypes.string, - /** - * An array representing the "path" to this filter, if nested. - */ - path: PropTypes.string, - /** - * An array of more filter objects that act as "children" to this item. - * This set of filters is shown if the parent filter is clicked. - */ - subFilters: PropTypes.array, - /** - * The value for this filter, used to set the `filter` query param when clicked, if there are no `subFilters`. - */ - value: PropTypes.string.isRequired, - } ) - ), - } ).isRequired, - /** - * The `path` parameter supplied by React-Router. - */ - path: PropTypes.string.isRequired, - /** - * The query string represented in object form. - */ - query: PropTypes.object, - /** - * Function to be called after filter selection. - */ - onFilterSelect: PropTypes.func, -}; - -FilterPicker.defaultProps = { - query: {}, - onFilterSelect: () => {}, -}; - -export default FilterPicker; diff --git a/js/src/external-components/woocommerce/filters/index.js b/js/src/external-components/woocommerce/filters/index.js deleted file mode 100644 index 399ef32477..0000000000 --- a/js/src/external-components/woocommerce/filters/index.js +++ /dev/null @@ -1,255 +0,0 @@ -/** - * This file was cloned from 5.1.2 - * https://github.com/woocommerce/woocommerce-admin/blob/c7b4af768727eed39c34b14e6b49350f27eed8db/packages/components/src/filters/index.js - * To use unreleased fixes: - * https://github.com/woocommerce/woocommerce-admin/issues/6890 - * https://github.com/woocommerce/woocommerce-admin/issues/6062 - */ -/** - * External dependencies - */ -import { __ } from '@wordpress/i18n'; -import { Component, Fragment } from '@wordpress/element'; -import { find } from 'lodash'; -import PropTypes from 'prop-types'; -import { updateQueryString } from '@woocommerce/navigation'; -import { getDateParamsFromQuery, getCurrentDates } from '@woocommerce/date'; -import CurrencyFactory from '@woocommerce/currency'; - -// /** -// * Internal dependencies -// */ -// import AdvancedFilters from '../advanced-filters'; -// import { CompareFilter } from '../compare-filter'; -// import DateRangeFilterPicker from '../date-range-filter-picker'; -// import FilterPicker from '../filter-picker'; -// import { H, Section } from '../section'; - -/** - * External dependencies - */ -import { - AdvancedFilters, - DateRangeFilterPicker, - H, - Section, -} from '@woocommerce/components'; -/** - * Internal dependencies - */ -import { CompareFilter } from '../compare-filter'; -import FilterPicker from '../filter-picker'; - -/** - * Add a collection of report filters to a page. This uses `DatePicker` & `FilterPicker` for the "basic" filters, and `AdvancedFilters` - * or a comparison card if "advanced" or "compare" are picked from `FilterPicker`. - * - * @return {Object} - - */ -class ReportFilters extends Component { - constructor() { - super(); - this.renderCard = this.renderCard.bind( this ); - this.onRangeSelect = this.onRangeSelect.bind( this ); - } - - renderCard( config ) { - const { - siteLocale, - advancedFilters, - query, - path, - onAdvancedFilterAction, - currency, - } = this.props; - const { filters, param } = config; - if ( ! query[ param ] ) { - return null; - } - - if ( query[ param ].indexOf( 'compare' ) === 0 ) { - const filter = find( filters, { value: query[ param ] } ); - if ( ! filter ) { - return null; - } - const { settings = {} } = filter; - return ( -
- -
- ); - } - if ( query[ param ] === 'advanced' ) { - return ( -
- -
- ); - } - } - - onRangeSelect( data ) { - const { query, path, onDateSelect } = this.props; - updateQueryString( data, path, query ); - onDateSelect( data ); - } - - getDateQuery( query ) { - const { period, compare, before, after } = getDateParamsFromQuery( - query - ); - const { - primary: primaryDate, - secondary: secondaryDate, - } = getCurrentDates( query ); - return { - period, - compare, - before, - after, - primaryDate, - secondaryDate, - }; - } - - render() { - const { - dateQuery, - filters, - query, - path, - showDatePicker, - onFilterSelect, - isoDateFormat, - } = this.props; - return ( - - - { __( 'Filters', 'woocommerce-admin' ) } - -
-
- { showDatePicker && ( - - ) } - { filters.map( ( config ) => { - if ( config.showFilters( query ) ) { - return ( - - ); - } - return null; - } ) } -
- { filters.map( this.renderCard ) } -
-
- ); - } -} - -ReportFilters.propTypes = { - /** - * The locale of the site (passed through to `AdvancedFilters`) - */ - siteLocale: PropTypes.string, - /** - * Config option passed through to `AdvancedFilters` - */ - advancedFilters: PropTypes.object, - /** - * Config option passed through to `FilterPicker` - if not used, `FilterPicker` is not displayed. - */ - filters: PropTypes.array, - /** - * The `path` parameter supplied by React-Router - */ - path: PropTypes.string.isRequired, - /** - * The query string represented in object form - */ - query: PropTypes.object, - /** - * Whether the date picker must be shown. - */ - showDatePicker: PropTypes.bool, - /** - * Function to be called after date selection. - */ - onDateSelect: PropTypes.func, - /** - * Function to be called after filter selection. - */ - onFilterSelect: PropTypes.func, - /** - * Function to be called after an advanced filter action has been taken. - */ - onAdvancedFilterAction: PropTypes.func, - /** - * The currency formatting instance for the site. - */ - currency: PropTypes.object, - /** - * The date query string represented in object form. - */ - dateQuery: PropTypes.shape( { - period: PropTypes.string.isRequired, - compare: PropTypes.string.isRequired, - before: PropTypes.object, - after: PropTypes.object, - primaryDate: PropTypes.shape( { - label: PropTypes.string.isRequired, - range: PropTypes.string.isRequired, - } ).isRequired, - secondaryDate: PropTypes.shape( { - label: PropTypes.string.isRequired, - range: PropTypes.string.isRequired, - } ), - } ), - /** - * ISO date format string. - */ - isoDateFormat: PropTypes.string, -}; - -ReportFilters.defaultProps = { - siteLocale: 'en_US', - advancedFilters: {}, - filters: [], - query: {}, - showDatePicker: true, - onDateSelect: () => {}, - currency: CurrencyFactory().getCurrencyConfig(), -}; - -export default ReportFilters; diff --git a/js/src/reports/programs/programs-report-filters.js b/js/src/reports/programs/programs-report-filters.js index 258d4498e6..bc1166222d 100644 --- a/js/src/reports/programs/programs-report-filters.js +++ b/js/src/reports/programs/programs-report-filters.js @@ -7,10 +7,7 @@ import { getDateParamsFromQuery, isoDateFormat, } from '@woocommerce/date'; -// We are waiting for the release of the following fixes: -// https://github.com/woocommerce/woocommerce-admin/issues/6890 -// https://github.com/woocommerce/woocommerce-admin/issues/6062 -// import { ReportFilters } from '@woocommerce/components'; +import { ReportFilters } from '@woocommerce/components'; import { getSetting } from '@woocommerce/settings'; // eslint-disable-line import/no-unresolved, @woocommerce/dependency-group // The above is an unpublished package, delivered with WC, we use Dependency Extraction Webpack Plugin to import it. // See https://github.com/woocommerce/woocommerce-admin/issues/7781 @@ -25,7 +22,6 @@ import { import { createProgramsFilterConfig } from './filter-config'; import useAdsCampaigns from '.~/hooks/useAdsCampaigns'; import useStoreCurrency from '.~/hooks/useStoreCurrency'; -import ReportFilters from '.~/external-components/woocommerce/filters'; const siteLocale = getSetting( 'locale' ).siteLocale; const getProgramsFilter = createProgramsFilterConfig(); diff --git a/package-lock.json b/package-lock.json index d03ad76464..b1a90a6f0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4569,16 +4569,6 @@ "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", "dev": true }, - "@types/yauzl": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", - "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", - "dev": true, - "optional": true, - "requires": { - "@types/node": "*" - } - }, "@typescript-eslint/experimental-utils": { "version": "4.33.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz", @@ -8802,6 +8792,18 @@ "debug": "^4.1.1", "get-stream": "^5.1.0", "yauzl": "^2.10.0" + }, + "dependencies": { + "@types/yauzl": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.9.2.tgz", + "integrity": "sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + } } }, "file-entry-cache": { @@ -9099,6 +9101,30 @@ "tar-fs": "^2.0.0", "unbzip2-stream": "^1.3.3", "ws": "^7.2.3" + }, + "dependencies": { + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "unbzip2-stream": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", + "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + } } }, "read-pkg": { @@ -25174,18 +25200,6 @@ } } }, - "tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, "tar-stream": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", @@ -25753,16 +25767,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "requires": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "unherit": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", diff --git a/package.json b/package.json index 591907ecff..7b3ea80dee 100644 --- a/package.json +++ b/package.json @@ -75,7 +75,6 @@ "@wordpress/data": "^4.26.1", "@wordpress/data-controls": "^1.20.1", "@wordpress/date": "^3.9.0", - "@wordpress/dom": "^3.1.1", "@wordpress/element": "^2.18.0", "@wordpress/hooks": "^3.1.1", "@wordpress/html-entities": "^3.2.1", @@ -88,7 +87,6 @@ "libphonenumber-js": "^1.9.22", "lodash": "^4.17.20", "md5": "^2.3.0", - "prop-types": "^15.7.2", "rememo": "^3.0.0", "use-debounce": "^5.2.0" },