From dca9b9aa0f4820ab08710156710fb30a10a0b304 Mon Sep 17 00:00:00 2001 From: Marcus Notheis Date: Wed, 8 Apr 2020 10:27:05 +0200 Subject: [PATCH] refactor(withWebComponent): new static wrapper & web components as peer dependency (#412) BREAKING CHANGE: the dependencies `@ui5/webcomponents`, `@ui5/webcomponents-fiori` and `@ui5/webcomponents-icons` are now `peerDependencies` and have to be installed next to `@ui5/webcomponents-react` --- package.json | 17 +- packages/main/package.json | 8 +- .../scripts/create-web-components-wrapper.js | 96 ++- .../main/src/interfaces/DynamicObjectList.ts | 3 - packages/main/src/interfaces/Ui5Property.ts | 5 - .../src/interfaces/Ui5WebComponentMetadata.ts | 14 - .../src/internal/WithWebComponent.test.tsx | 5 +- .../main/src/internal/withWebComponent.tsx | 189 +++--- .../main/src/webComponents/Avatar/index.tsx | 10 +- .../main/src/webComponents/Badge/index.tsx | 4 +- .../src/webComponents/BusyIndicator/index.tsx | 10 +- .../main/src/webComponents/Button/index.tsx | 15 +- .../main/src/webComponents/Calendar/index.tsx | 10 +- .../main/src/webComponents/Card/index.tsx | 10 +- .../main/src/webComponents/Carousel/index.tsx | 10 +- .../main/src/webComponents/CheckBox/index.tsx | 12 +- .../main/src/webComponents/ComboBox/index.tsx | 21 +- .../src/webComponents/ComboBoxItem/index.tsx | 10 +- .../webComponents/CustomListItem/index.tsx | 26 +- .../src/webComponents/DatePicker/index.tsx | 12 +- .../main/src/webComponents/Dialog/index.tsx | 10 +- .../FileUploader/FileUploader.stories.tsx | 2 +- .../src/webComponents/FileUploader/index.tsx | 22 +- .../GroupHeaderListItem/index.tsx | 8 +- .../main/src/webComponents/Icon/index.tsx | 10 +- .../main/src/webComponents/Input/index.tsx | 14 +- .../main/src/webComponents/Label/index.tsx | 10 +- .../main/src/webComponents/Link/index.tsx | 12 +- .../main/src/webComponents/List/index.tsx | 10 +- .../src/webComponents/MessageStrip/index.tsx | 10 +- .../src/webComponents/MultiComboBox/index.tsx | 12 +- .../webComponents/MultiComboBoxItem/index.tsx | 8 +- .../main/src/webComponents/Option/index.tsx | 10 +- .../main/src/webComponents/Panel/index.tsx | 10 +- .../main/src/webComponents/Popover/index.tsx | 10 +- .../src/webComponents/ProductSwitch/index.tsx | 10 +- .../webComponents/ProductSwitchItem/index.tsx | 10 +- .../src/webComponents/RadioButton/index.tsx | 12 +- .../webComponents/ResponsivePopover/index.tsx | 8 +- .../webComponents/SegmentedButton/index.tsx | 10 +- .../main/src/webComponents/Select/index.tsx | 12 +- .../main/src/webComponents/ShellBar/index.tsx | 10 +- .../src/webComponents/ShellBarItem/index.tsx | 10 +- .../webComponents/StandardListItem/index.tsx | 16 +- .../webComponents/SuggestionItem/index.tsx | 10 +- .../main/src/webComponents/Switch/index.tsx | 12 +- packages/main/src/webComponents/Tab/index.tsx | 10 +- .../src/webComponents/TabContainer/index.tsx | 10 +- .../src/webComponents/TabSeparator/index.tsx | 10 +- .../main/src/webComponents/Table/index.tsx | 10 +- .../src/webComponents/TableCell/index.tsx | 4 +- .../src/webComponents/TableColumn/index.tsx | 10 +- .../main/src/webComponents/TableRow/index.tsx | 4 +- .../main/src/webComponents/TextArea/index.tsx | 12 +- .../src/webComponents/TimePicker/index.tsx | 12 +- .../main/src/webComponents/Timeline/index.tsx | 4 +- .../src/webComponents/TimelineItem/index.tsx | 17 +- .../main/src/webComponents/Title/index.tsx | 4 +- .../main/src/webComponents/Toast/index.tsx | 4 +- .../src/webComponents/ToggleButton/index.tsx | 12 +- .../main/src/webComponents/Token/index.tsx | 12 +- .../src/webComponents/Tokenizer/index.tsx | 10 +- packages/main/tsconfig.json | 3 - scripts/rollup/build.js | 10 +- scripts/rollup/bundles.js | 3 +- scripts/rollup/packaging.js | 4 +- scripts/rollup/results.json | 24 +- yarn.lock | 566 ++++++++++++++---- 68 files changed, 1075 insertions(+), 445 deletions(-) delete mode 100644 packages/main/src/interfaces/DynamicObjectList.ts delete mode 100644 packages/main/src/interfaces/Ui5Property.ts delete mode 100644 packages/main/src/interfaces/Ui5WebComponentMetadata.ts diff --git a/package.json b/package.json index c63c2b97224..bc9dc040f9c 100644 --- a/package.json +++ b/package.json @@ -24,12 +24,15 @@ "@storybook/cli": "5.3.18", "@storybook/react": "5.3.18", "@storybook/theming": "5.3.18", + "@ui5/webcomponents": "1.0.0-rc.6", + "@ui5/webcomponents-fiori": "1.0.0-rc.6", + "@ui5/webcomponents-icons": "1.0.0-rc.6", "react-docgen-typescript-loader": "3.7.2" }, "devDependencies": { - "@babel/core": "^7.8.7", + "@babel/core": "^7.9.0", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-proposal-optional-chaining": "^7.8.0", + "@babel/plugin-proposal-optional-chaining": "^7.9.0", "@rollup/plugin-json": "^4.0.2", "@rollup/plugin-node-resolve": "^7.1.1", "@rollup/plugin-replace": "^2.3.1", @@ -44,8 +47,8 @@ "@typescript-eslint/parser": "^2.19.0", "@webcomponents/webcomponentsjs": "^2.4.2", "babel-code-frame": "^6.26.0", - "babel-loader": "^8.0.5", - "babel-preset-react-app": "^9.1.1", + "babel-loader": "^8.1.0", + "babel-preset-react-app": "^9.1.2", "chalk": "^3.0.0", "cli-table": "^0.3.1", "dedent": "^0.7.0", @@ -59,7 +62,7 @@ "eslint-plugin-react": "^7.18.3", "filesize": "^6.0.1", "glob": "^7.1.6", - "google-closure-compiler": "^20200204.0.0", + "google-closure-compiler": "^20200315.0.0", "gzip-size": "^5.1.0", "husky": "^4.2.1", "identity-obj-proxy": "^3.0.0", @@ -71,7 +74,7 @@ "lerna": "^3.20.2", "lint-staged": "^9.5.0", "minimist": "^1.2.0", - "mkdirp": "^1.0.3", + "mkdirp": "^1.0.4", "ncp": "^2.0.0", "npm-run-all": "^4.1.5", "prettier": "^1.19.1", @@ -81,7 +84,7 @@ "rimraf": "^3.0.1", "rollup": "^2.3.1", "rollup-plugin-babel": "^4.3.2", - "rollup-plugin-prettier": "^0.6.0", + "rollup-plugin-prettier": "^0.7.0", "rollup-plugin-strip-banner": "^2.0.0", "shelljs": "^0.8.3", "sinon": "^8.1.1", diff --git a/packages/main/package.json b/packages/main/package.json index 7af8f142d38..1f85d727741 100644 --- a/packages/main/package.json +++ b/packages/main/package.json @@ -14,6 +14,8 @@ "license": "Apache-2.0", "sideEffects": [ "@ui5/webcomponents-icons/dist/icons/*", + "@ui5/webcomponents/dist/*", + "@ui5/webcomponents-fiori/dist/*", "*/ThemingSupport.js" ], "scripts": { @@ -21,9 +23,6 @@ "postbuild": "rollup -c rollup.config.js" }, "dependencies": { - "@ui5/webcomponents": "1.0.0-rc.6", - "@ui5/webcomponents-fiori": "1.0.0-rc.6", - "@ui5/webcomponents-icons": "1.0.0-rc.6", "@ui5/webcomponents-react-base": "^0.9.0-rc.9", "lodash.debounce": "^4.0.8", "react-content-loader": "^5.0.2", @@ -32,6 +31,9 @@ "react-window": "^1.8.5" }, "peerDependencies": { + "@ui5/webcomponents": "1.0.0-rc.6", + "@ui5/webcomponents-fiori": "1.0.0-rc.6", + "@ui5/webcomponents-icons": "1.0.0-rc.6", "react": "^16.8.0", "react-dom": "^16.8.0" }, diff --git a/packages/main/scripts/create-web-components-wrapper.js b/packages/main/scripts/create-web-components-wrapper.js index 6fa36a7222e..5c4d1d60a06 100644 --- a/packages/main/scripts/create-web-components-wrapper.js +++ b/packages/main/scripts/create-web-components-wrapper.js @@ -42,9 +42,64 @@ COMPONENTS_WITHOUT_DEMOS.add('ComboBoxItem'); COMPONENTS_WITHOUT_DEMOS.add('MultiComboBoxItem'); COMPONENTS_WITHOUT_DEMOS.add('SuggestionItem'); +const TagNames = new Map(); +TagNames.set('Avatar', 'ui5-avatar'); +TagNames.set('Badge', 'ui5-badge'); +TagNames.set('BusyIndicator', 'ui5-busyindicator'); +TagNames.set('Button', 'ui5-button'); +TagNames.set('Calendar', 'ui5-calendar'); +TagNames.set('Card', 'ui5-card'); +TagNames.set('Carousel', 'ui5-carousel'); +TagNames.set('CheckBox', 'ui5-checkbox'); +TagNames.set('ComboBox', 'ui5-combobox'); +TagNames.set('ComboBoxItem', 'ui5-cb-item'); +TagNames.set('CustomListItem', 'ui5-li-custom'); +TagNames.set('DatePicker', 'ui5-datepicker'); +TagNames.set('Dialog', 'ui5-dialog'); +TagNames.set('FileUploader', 'ui5-file-uploader'); +TagNames.set('GroupHeaderListItem', 'ui5-li-groupheader'); +TagNames.set('Icon', 'ui5-icon'); +TagNames.set('Input', 'ui5-input'); +TagNames.set('Label', 'ui5-label'); +TagNames.set('Link', 'ui5-link'); +TagNames.set('List', 'ui5-list'); +TagNames.set('MessageStrip', 'ui5-messagestrip'); +TagNames.set('MultiComboBox', 'ui5-multi-combobox'); +TagNames.set('MultiComboBoxItem', 'ui5-mcb-item'); +TagNames.set('Option', 'ui5-option'); +TagNames.set('Panel', 'ui5-panel'); +TagNames.set('Popover', 'ui5-popover'); +TagNames.set('ProductSwitch', 'ui5-product-switch'); +TagNames.set('ProductSwitchItem', 'ui5-product-switch-item'); +TagNames.set('RadioButton', 'ui5-radiobutton'); +TagNames.set('ResponsivePopover', 'ui5-responsive-popover'); +TagNames.set('SegmentedButton', 'ui5-segmentedbutton'); +TagNames.set('Select', 'ui5-select'); +TagNames.set('ShellBar', 'ui5-shellbar'); +TagNames.set('ShellBarItem', 'ui5-shellbar-item'); +TagNames.set('StandardListItem', 'ui5-li'); +TagNames.set('SuggestionItem', 'ui5-suggestion-item'); +TagNames.set('Switch', 'ui5-switch'); +TagNames.set('Tab', 'ui5-tab'); +TagNames.set('TabContainer', 'ui5-tabcontainer'); +TagNames.set('Table', 'ui5-table'); +TagNames.set('TableCell', 'ui5-table-cell'); +TagNames.set('TableColumn', 'ui5-table-column'); +TagNames.set('TableRow', 'ui5-table-row'); +TagNames.set('TabSeparator', 'ui5-tab-separator'); +TagNames.set('TextArea', 'ui5-textarea'); +TagNames.set('Timeline', 'ui5-timeline'); +TagNames.set('TimelineItem', 'ui5-timeline-item'); +TagNames.set('TimePicker', 'ui5-timepicker'); +TagNames.set('Title', 'ui5-title'); +TagNames.set('Toast', 'ui5-toast'); +TagNames.set('ToggleButton', 'ui5-togglebutton'); + const componentsFromFioriPackage = new Set(fioriWebComponentsSpec.symbols.map((componentSpec) => componentSpec.module)); const capitalizeFirstLetter = (s) => s.charAt(0).toUpperCase() + s.slice(1); +const filterNonPublicAttributes = (prop) => + prop.visibility === 'public' && prop.readonly !== 'true' && prop.static !== true; const getTypeScriptTypeForProperty = (property) => { switch (property.type) { @@ -259,11 +314,20 @@ const getEventParameters = (parameters) => { }; }; -const createWebComponentWrapper = (name, types, importStatements, defaultProps) => { +const createWebComponentWrapper = ( + name, + types, + importStatements, + defaultProps, + regularProps, + booleanProps, + slotProps, + eventProps +) => { return prettier.format( ` import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; - import UI5${name} from '@ui5/webcomponents${componentsFromFioriPackage.has(name) ? '-fiori' : ''}/dist/${name}'; + import '@ui5/webcomponents${componentsFromFioriPackage.has(name) ? '-fiori' : ''}/dist/${name}'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; ${importStatements.join('\n')} @@ -277,7 +341,16 @@ const createWebComponentWrapper = (name, types, importStatements, defaultProps) *
* UI5 Web Components Playground */ - const ${name}: FC<${name}PropTypes> = withWebComponent<${name}PropTypes>(UI5${name}); + const ${name}: FC<${name}PropTypes> = withWebComponent<${name}PropTypes>( + '${TagNames.get(name)}', + [${regularProps.map((v) => `'${v}'`).join(', ')}], + [${booleanProps.map((v) => `'${v}'`).join(', ')}], + [${slotProps + .filter((name) => name !== 'children') + .map((v) => `'${v}'`) + .join(', ')}], + [${eventProps.map((v) => `'${v}'`).join(', ')}] + ); ${name}.displayName = '${name}'; @@ -525,7 +598,17 @@ resolvedWebComponents.forEach((componentSpec) => { componentSpec.module, propTypes, uniqueAdditionalImports, - defaultProps + defaultProps, + (componentSpec.properties || []) + .filter(filterNonPublicAttributes) + .filter(({ type }) => type !== 'boolean' && type !== 'Boolean') + .map(({ name }) => name), + (componentSpec.properties || []) + .filter(filterNonPublicAttributes) + .filter(({ type }) => type === 'boolean' || type === 'Boolean') + .map(({ name }) => name), + (componentSpec.slots || []).filter(filterNonPublicAttributes).map(({ name }) => name), + (componentSpec.events || []).filter(filterNonPublicAttributes).map(({ name }) => name) ); // check if folder exists and create it if necessary @@ -533,9 +616,8 @@ resolvedWebComponents.forEach((componentSpec) => { if (!fs.existsSync(webComponentFolderPath)) { fs.mkdirSync(webComponentFolderPath); } - if (!fs.existsSync(path.join(webComponentFolderPath, 'index.tsx'))) { - fs.writeFileSync(path.join(webComponentFolderPath, 'index.tsx'), webComponentWrapper); - } + + fs.writeFileSync(path.join(webComponentFolderPath, 'index.tsx'), webComponentWrapper); // create test if (!fs.existsSync(path.join(webComponentFolderPath, `${componentSpec.module}.test.tsx`))) { diff --git a/packages/main/src/interfaces/DynamicObjectList.ts b/packages/main/src/interfaces/DynamicObjectList.ts deleted file mode 100644 index 1451b99b80b..00000000000 --- a/packages/main/src/interfaces/DynamicObjectList.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface DynamicObjectList { - [key: string]: T; -} diff --git a/packages/main/src/interfaces/Ui5Property.ts b/packages/main/src/interfaces/Ui5Property.ts deleted file mode 100644 index 4419b454864..00000000000 --- a/packages/main/src/interfaces/Ui5Property.ts +++ /dev/null @@ -1,5 +0,0 @@ -export interface Ui5Property { - type: () => any; - defaultValue: any; - multiple: boolean; -} diff --git a/packages/main/src/interfaces/Ui5WebComponentMetadata.ts b/packages/main/src/interfaces/Ui5WebComponentMetadata.ts deleted file mode 100644 index 7fcb36e7523..00000000000 --- a/packages/main/src/interfaces/Ui5WebComponentMetadata.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { DynamicObjectList } from './DynamicObjectList'; -import { Ui5Property } from './Ui5Property'; - -export interface Ui5WebComponentMetadata { - properties?: DynamicObjectList; - getProperties?: () => DynamicObjectList; - getPropertiesList?: () => string[]; - events?: DynamicObjectList; - getSlots?: () => DynamicObjectList; - getEvents?: () => DynamicObjectList; - metadata: { - events: DynamicObjectList; - }; -} diff --git a/packages/main/src/internal/WithWebComponent.test.tsx b/packages/main/src/internal/WithWebComponent.test.tsx index 1bae3d90fea..8a630bf7a78 100644 --- a/packages/main/src/internal/WithWebComponent.test.tsx +++ b/packages/main/src/internal/WithWebComponent.test.tsx @@ -1,8 +1,7 @@ -import { mount } from 'enzyme'; import { Button } from '@ui5/webcomponents-react/lib/Button'; -import React, { cloneElement, FC } from 'react'; +import { mount } from 'enzyme'; +import React from 'react'; import { spy } from 'sinon'; -import { withWebComponent } from './withWebComponent'; describe('withWebComponent', () => { test('Unmount Event Handlers correctly after prop update', () => { diff --git a/packages/main/src/internal/withWebComponent.tsx b/packages/main/src/internal/withWebComponent.tsx index 6b9e6cb4fc9..e662c4c93f0 100644 --- a/packages/main/src/internal/withWebComponent.tsx +++ b/packages/main/src/internal/withWebComponent.tsx @@ -3,150 +3,129 @@ import { polyfillDeprecatedEventAPI } from '@ui5/webcomponents-react-base/lib/Ut import React, { Children, cloneElement, + forwardRef, + HTMLAttributes, ReactElement, Ref, RefForwardingComponent, RefObject, useEffect, + useMemo, useRef } from 'react'; import { CommonProps } from '../interfaces/CommonProps'; import { Ui5DomRef } from '../interfaces/Ui5DomRef'; -import { Ui5WebComponentMetadata } from '../interfaces/Ui5WebComponentMetadata'; const capitalizeFirstLetter = (s: string) => s.charAt(0).toUpperCase() + s.slice(1); const toKebabCase = (s: string) => s.replace(/([A-Z])/g, (a, b) => `-${b.toLowerCase()}`); -export interface WithWebComponentPropTypes extends CommonProps { +export interface WithWebComponentPropTypes extends CommonProps, HTMLAttributes { ref?: Ref; children?: any | void; } -export const withWebComponent = ( - WebComponent -): RefForwardingComponent => { - const getWebComponentMetadata = (): Ui5WebComponentMetadata => { - if (WebComponent) { - return WebComponent.getMetadata(); - } - - return { - metadata: { - events: {} - }, - getProperties: () => ({}), - getPropertiesList: () => [], - getSlots: () => ({}), - getEvents: () => ({}) - }; - }; - - const getBooleanPropsFromMetadata = (): string[] => { - return Object.entries(getWebComponentMetadata().getProperties()) - .filter(([key, value]) => value.type === Boolean) - .map(([key]) => key); - }; - - const getSlotsFromMetadata = (): string[] => { - return Object.keys(getWebComponentMetadata().getSlots()); - }; - - const getEventsFromMetadata = (otherProps = {}): string[] => { - return Object.keys(getWebComponentMetadata().getEvents() || {}) - .filter((eventName) => !eventName.startsWith('_')) - .concat( - Object.keys(otherProps) - .filter((key) => key.startsWith('on')) - .map((key) => key.replace('on', '').toLowerCase()) - ); - }; - - const createEventWrapperFor = (eventIdentifier, eventHandler) => (event) => { - polyfillDeprecatedEventAPI(event); - return eventHandler(event); - }; +const createEventWrapperFor = (eventIdentifier, eventHandler) => (event) => { + polyfillDeprecatedEventAPI(event); + return eventHandler(event); +}; - const WithWebComponent = React.forwardRef((props: T & WithWebComponentPropTypes, wcRef: RefObject) => { +export const withWebComponent = ( + TagName: string, + regularProperties: string[], + booleanProperties: string[], + slotProperties: string[], + eventProperties: string[] +) => { + const WithWebComponent = forwardRef((props: T & WithWebComponentPropTypes, wcRef: RefObject) => { + const { className, tooltip, children, ...rest } = props; + + const ref = useConsolidatedRef(wcRef); const eventRegistry = useRef({}); const eventRegistryWrapped = useRef({}); - const CustomTag = WebComponent.getMetadata().getTag(); - const ref = useConsolidatedRef(wcRef); + // regular props (no booleans, no slots and no events) + const regularProps = useMemo( + () => { + return regularProperties.reduce((acc, val) => ({ ...acc, [toKebabCase(val)]: rest[val] }), {}); + }, + regularProperties.map((name) => rest[name]) + ); - const getBooleanProps = () => { - return getBooleanPropsFromMetadata().reduce((acc, key) => { - if (props[key]) { - acc[toKebabCase(key)] = true; - } - return acc; - }, {}); - }; + // boolean properties - only attach if they are truthy + const booleanProps = useMemo( + () => { + return booleanProperties.reduce((acc, val) => { + if (rest[val] === true || rest[val] === 'true') { + return { ...acc, [toKebabCase(val)]: true }; + } + return acc; + }, {}); + }, + booleanProperties.map((name) => rest[name]) + ); - const { className, ...otherProps } = props; + const slots = useMemo( + () => { + return Object.entries(rest) + .filter(([slotName]) => slotProperties.includes(slotName)) + .map(([slotName, slotValue]) => { + return Children.map(slotValue, (item: ReactElement, index) => + cloneElement(item, { + key: `${slotName}-${index}`, + slot: slotName + }) + ); + }); + }, + slotProperties.map((name) => rest[name]) + ); + // event binding useEffect( () => { - getEventsFromMetadata(otherProps).forEach((eventName) => { - const eventPropName = 'on' + capitalizeFirstLetter(eventName); - const eventHandler = props[eventPropName]; - - if (typeof eventHandler === 'function' && eventRegistry.current[eventPropName] !== eventHandler) { - if (eventRegistry.current[eventPropName]) { - ref.current.removeEventListener(eventName, eventRegistryWrapped.current[eventPropName]); + eventProperties.forEach((eventName) => { + const eventHandler = rest[`on${capitalizeFirstLetter(eventName)}`]; + if (typeof eventHandler === 'function' && eventRegistry.current[eventName] !== eventHandler) { + if (eventRegistry.current[eventName]) { + ref.current.removeEventListener(eventName, eventRegistryWrapped.current[eventName]); } - eventRegistryWrapped.current[eventPropName] = createEventWrapperFor(eventName, eventHandler); - ref.current.addEventListener(eventName, eventRegistryWrapped.current[eventPropName]); - eventRegistry.current[eventPropName] = eventHandler; - } else if (eventRegistry.current[eventPropName] && !eventHandler) { - ref.current.removeEventListener(eventName, eventRegistryWrapped.current[eventPropName]); + eventRegistryWrapped.current[eventName] = createEventWrapperFor(eventName, eventHandler); + ref.current.addEventListener(eventName, eventRegistryWrapped.current[eventName]); + eventRegistry.current[eventName] = eventHandler; + } else if (eventRegistry.current[eventName] && !eventHandler) { + ref.current.removeEventListener(eventName, eventRegistryWrapped.current[eventName]); } }); }, - getEventsFromMetadata(otherProps).map((eventName) => props[`on${capitalizeFirstLetter(eventName)}`]) + eventProperties.map((eventName) => rest[`on${capitalizeFirstLetter(eventName)}`]) ); - const propsList = getWebComponentMetadata().getPropertiesList(); - - const { regularProps: passedProps, slotProps: actualSlotProps } = Object.entries(otherProps) - .filter(([key]) => !getBooleanPropsFromMetadata().includes(key)) - .filter( - ([key]) => !getEventsFromMetadata(otherProps).some((eventKey) => `on${capitalizeFirstLetter(eventKey)}` === key) - ) - .reduce( - (acc, [key, value]) => { - if (getSlotsFromMetadata().includes(key)) { - acc.slotProps[key] = value; - } else if (propsList.includes(key)) { - acc.regularProps[toKebabCase(key)] = value; - } else { - acc.regularProps[key] = value; - } - return acc; - }, - { regularProps: {}, slotProps: {} } - ); - - const { children, tooltip, ...rest } = passedProps as T & WithWebComponentPropTypes; + // non web component related props, just pass them + const nonWebComponentRelatedProps = Object.entries(rest) + .filter(([key]) => !regularProperties.includes(key)) + .filter(([key]) => !slotProperties.includes(key)) + .filter(([key]) => !booleanProperties.includes(key)) + .filter(([key]) => !eventProperties.map((val) => `on${capitalizeFirstLetter(val)}`).includes(key)) + .reduce((acc, [key, val]) => ({ ...acc, [key]: val }), {}); return ( - - {Object.entries(actualSlotProps).map(([slotName, slotValue]) => { - return Children.map(slotValue, (item: ReactElement, index) => - cloneElement(item, { - key: `${slotName}-${index}`, - slot: slotName - }) - ); - })} + // @ts-ignore + + {slots} {children} - + ); }); - if (WebComponent) { - WithWebComponent.displayName = `WithWebComponent(${WebComponent.name})`; - } + WithWebComponent.displayName = `WithWebComponent(${TagName})`; return WithWebComponent as RefForwardingComponent; }; diff --git a/packages/main/src/webComponents/Avatar/index.tsx b/packages/main/src/webComponents/Avatar/index.tsx index 00ef6ac5028..b725404c333 100644 --- a/packages/main/src/webComponents/Avatar/index.tsx +++ b/packages/main/src/webComponents/Avatar/index.tsx @@ -3,7 +3,7 @@ import { AvatarFitType } from '@ui5/webcomponents-react/lib/AvatarFitType'; import { AvatarShape } from '@ui5/webcomponents-react/lib/AvatarShape'; import { AvatarSize } from '@ui5/webcomponents-react/lib/AvatarSize'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Avatar from '@ui5/webcomponents/dist/Avatar'; +import '@ui5/webcomponents/dist/Avatar'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -44,7 +44,13 @@ export interface AvatarPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Avatar: FC = withWebComponent(UI5Avatar); +const Avatar: FC = withWebComponent( + 'ui5-avatar', + ['backgroundColor', 'icon', 'image', 'imageFitType', 'initials', 'shape', 'size'], + [], + [], + [] +); Avatar.displayName = 'Avatar'; diff --git a/packages/main/src/webComponents/Badge/index.tsx b/packages/main/src/webComponents/Badge/index.tsx index 8364bf84e7f..854da84665f 100644 --- a/packages/main/src/webComponents/Badge/index.tsx +++ b/packages/main/src/webComponents/Badge/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Badge from '@ui5/webcomponents/dist/Badge'; +import '@ui5/webcomponents/dist/Badge'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -23,7 +23,7 @@ export interface BadgePropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Badge: FC = withWebComponent(UI5Badge); +const Badge: FC = withWebComponent('ui5-badge', ['colorScheme'], [], ['icon'], []); Badge.displayName = 'Badge'; diff --git a/packages/main/src/webComponents/BusyIndicator/index.tsx b/packages/main/src/webComponents/BusyIndicator/index.tsx index 38916738dfa..c5ba94826f5 100644 --- a/packages/main/src/webComponents/BusyIndicator/index.tsx +++ b/packages/main/src/webComponents/BusyIndicator/index.tsx @@ -1,6 +1,6 @@ import { BusyIndicatorSize } from '@ui5/webcomponents-react/lib/BusyIndicatorSize'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5BusyIndicator from '@ui5/webcomponents/dist/BusyIndicator'; +import '@ui5/webcomponents/dist/BusyIndicator'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -24,7 +24,13 @@ export interface BusyIndicatorPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const BusyIndicator: FC = withWebComponent(UI5BusyIndicator); +const BusyIndicator: FC = withWebComponent( + 'ui5-busyindicator', + ['size'], + ['active'], + [], + [] +); BusyIndicator.displayName = 'BusyIndicator'; diff --git a/packages/main/src/webComponents/Button/index.tsx b/packages/main/src/webComponents/Button/index.tsx index a1674d92b31..28cb6e3236d 100644 --- a/packages/main/src/webComponents/Button/index.tsx +++ b/packages/main/src/webComponents/Button/index.tsx @@ -1,10 +1,10 @@ import { ButtonDesign } from '@ui5/webcomponents-react/lib/ButtonDesign'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Button from '@ui5/webcomponents/dist/Button'; +import '@ui5/webcomponents/dist/Button'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface ButtonPropTypes extends WithWebComponentPropTypes { +export interface ButtonPropTypes extends Omit { /** * Defines the ui5-button design.

Note: Available options are "Default", "Emphasized", "Positive", "Negative", and "Transparent". */ @@ -15,8 +15,7 @@ export interface ButtonPropTypes extends WithWebComponentPropTypes { disabled?: boolean; /** * Defines the icon to be displayed as graphical element within the ui5-button. The SAP-icons font provides numerous options.

Example:
ui5-button icon="palette"
- - See all the available icons in the Icon Explorer. + * See all the available icons in the Icon Explorer. */ icon?: string; /** @@ -42,7 +41,13 @@ export interface ButtonPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Button: FC = withWebComponent(UI5Button); +const Button: FC = withWebComponent( + 'ui5-button', + ['design', 'icon'], + ['disabled', 'iconEnd', 'submits'], + [], + ['click'] +); Button.displayName = 'Button'; diff --git a/packages/main/src/webComponents/Calendar/index.tsx b/packages/main/src/webComponents/Calendar/index.tsx index eef4705d21f..5c735fd9e4f 100644 --- a/packages/main/src/webComponents/Calendar/index.tsx +++ b/packages/main/src/webComponents/Calendar/index.tsx @@ -1,6 +1,6 @@ import { CalendarType } from '@ui5/webcomponents-react/lib/CalendarType'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Calendar from '@ui5/webcomponents/dist/Calendar'; +import '@ui5/webcomponents/dist/Calendar'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -36,7 +36,13 @@ export interface CalendarPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Calendar: FC = withWebComponent(UI5Calendar); +const Calendar: FC = withWebComponent( + 'ui5-calendar', + ['maxDate', 'minDate', 'primaryCalendarType', 'selectedDates', 'timestamp'], + [], + [], + ['selectedDatesChange'] +); Calendar.displayName = 'Calendar'; diff --git a/packages/main/src/webComponents/Card/index.tsx b/packages/main/src/webComponents/Card/index.tsx index ec7db71eb74..39459d97066 100644 --- a/packages/main/src/webComponents/Card/index.tsx +++ b/packages/main/src/webComponents/Card/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Card from '@ui5/webcomponents/dist/Card'; +import '@ui5/webcomponents/dist/Card'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -39,7 +39,13 @@ export interface CardPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Card: FC = withWebComponent(UI5Card); +const Card: FC = withWebComponent( + 'ui5-card', + ['heading', 'status', 'subheading'], + ['headerInteractive'], + ['avatar'], + ['headerClick'] +); Card.displayName = 'Card'; diff --git a/packages/main/src/webComponents/Carousel/index.tsx b/packages/main/src/webComponents/Carousel/index.tsx index 6ee7e1f6911..2b844b6307d 100644 --- a/packages/main/src/webComponents/Carousel/index.tsx +++ b/packages/main/src/webComponents/Carousel/index.tsx @@ -1,6 +1,6 @@ import { CarouselArrowsPlacement } from '@ui5/webcomponents-react/lib/CarouselArrowsPlacement'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Carousel from '@ui5/webcomponents/dist/Carousel'; +import '@ui5/webcomponents/dist/Carousel'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -36,7 +36,13 @@ export interface CarouselPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Carousel: FC = withWebComponent(UI5Carousel); +const Carousel: FC = withWebComponent( + 'ui5-carousel', + ['arrowsPlacement', 'itemsPerPage', 'selectedIndex'], + ['cycling', 'hideNavigation'], + [], + [] +); Carousel.displayName = 'Carousel'; diff --git a/packages/main/src/webComponents/CheckBox/index.tsx b/packages/main/src/webComponents/CheckBox/index.tsx index b411d130a68..f5c79c3a120 100644 --- a/packages/main/src/webComponents/CheckBox/index.tsx +++ b/packages/main/src/webComponents/CheckBox/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5CheckBox from '@ui5/webcomponents/dist/CheckBox'; +import '@ui5/webcomponents/dist/CheckBox'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface CheckBoxPropTypes extends WithWebComponentPropTypes { +export interface CheckBoxPropTypes extends Omit { /** * Defines if the ui5-checkbox is checked.

Note: The property can be changed with user interaction, either by cliking/tapping on the ui5-checkbox, or by pressing the Enter or Space key. */ @@ -46,7 +46,13 @@ export interface CheckBoxPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const CheckBox: FC = withWebComponent(UI5CheckBox); +const CheckBox: FC = withWebComponent( + 'ui5-checkbox', + ['name', 'text', 'valueState'], + ['checked', 'disabled', 'readonly', 'wrap'], + [], + ['change'] +); CheckBox.displayName = 'CheckBox'; diff --git a/packages/main/src/webComponents/ComboBox/index.tsx b/packages/main/src/webComponents/ComboBox/index.tsx index eabad90cb71..9520f94cf27 100644 --- a/packages/main/src/webComponents/ComboBox/index.tsx +++ b/packages/main/src/webComponents/ComboBox/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5ComboBox from '@ui5/webcomponents/dist/ComboBox'; +import '@ui5/webcomponents/dist/ComboBox'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface ComboBoxPropTypes extends WithWebComponentPropTypes { +export interface ComboBoxPropTypes extends Omit { /** * Defines whether ui5-combobox is in disabled state.

Note: A disabled ui5-combobox is completely uninteractive. */ @@ -14,15 +14,14 @@ export interface ComboBoxPropTypes extends WithWebComponentPropTypes { */ filter?: string; /** - * Defines the "live" value of the ui5-combobox.

Note: The property is updated upon typing. - -

Note: Initially the filter value is synced with value. - */ + * Defines the "live" value of the ui5-combobox.

Note: The property is updated upon typing. + *

Note: Initially the filter value is synced with value. + */ filterValue?: string; /** * Indicates whether a loading indicator should be shown in the picker. */ - loading?: unknown; + loading?: boolean; /** * Defines a short hint intended to aid the user with data entry when the ui5-combobox has no value. */ @@ -62,7 +61,13 @@ export interface ComboBoxPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const ComboBox: FC = withWebComponent(UI5ComboBox); +const ComboBox: FC = withWebComponent( + 'ui5-combobox', + ['filter', 'filterValue', 'placeholder', 'value', 'valueState'], + ['disabled', 'loading', 'readonly', 'required'], + [], + ['change', 'input'] +); ComboBox.displayName = 'ComboBox'; diff --git a/packages/main/src/webComponents/ComboBoxItem/index.tsx b/packages/main/src/webComponents/ComboBoxItem/index.tsx index ef722ce9282..24663728349 100644 --- a/packages/main/src/webComponents/ComboBoxItem/index.tsx +++ b/packages/main/src/webComponents/ComboBoxItem/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5ComboBoxItem from '@ui5/webcomponents/dist/ComboBoxItem'; +import '@ui5/webcomponents/dist/ComboBoxItem'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -15,7 +15,13 @@ export interface ComboBoxItemPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const ComboBoxItem: FC = withWebComponent(UI5ComboBoxItem); +const ComboBoxItem: FC = withWebComponent( + 'ui5-cb-item', + ['text'], + [], + [], + [] +); ComboBoxItem.displayName = 'ComboBoxItem'; diff --git a/packages/main/src/webComponents/CustomListItem/index.tsx b/packages/main/src/webComponents/CustomListItem/index.tsx index 66030be3e33..b254838d8cf 100644 --- a/packages/main/src/webComponents/CustomListItem/index.tsx +++ b/packages/main/src/webComponents/CustomListItem/index.tsx @@ -1,26 +1,22 @@ import { ListItemTypes } from '@ui5/webcomponents-react/lib/ListItemTypes'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5CustomListItem from '@ui5/webcomponents/dist/CustomListItem'; +import '@ui5/webcomponents/dist/CustomListItem'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; export interface CustomListItemPropTypes extends WithWebComponentPropTypes { /** - * Defines the content of the ui5-li-custom. + * Defines the visual indication and behavior of the list items. Available options are Active (by default), Inactive and Detail.

Note: When set to Active, the item will provide visual response upon press and hover, while with type Inactive and Detail - will not. */ - children?: ReactNode | ReactNode[]; + type?: ListItemTypes; /** * Defines the selected state of the ListItem. */ selected?: boolean; /** - * Defines the visual indication and behavior of the list items. - * Available options are Active (by default), Inactive and Detail. - *

- * Note: When set to Active, the item will provide visual response upon press and hover, - * while with type Inactive and Detail - will not. + * Defines the content of the ui5-li-custom. */ - type?: ListItemTypes; + children?: ReactNode | ReactNode[]; } /** @@ -28,13 +24,19 @@ export interface CustomListItemPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const CustomListItem: FC = withWebComponent(UI5CustomListItem); +const CustomListItem: FC = withWebComponent( + 'ui5-li-custom', + ['type'], + ['selected'], + [], + [] +); CustomListItem.displayName = 'CustomListItem'; CustomListItem.defaultProps = { - selected: false, - type: ListItemTypes.Active + type: ListItemTypes.Active, + selected: false }; export { CustomListItem }; diff --git a/packages/main/src/webComponents/DatePicker/index.tsx b/packages/main/src/webComponents/DatePicker/index.tsx index 30cddc63f6c..477dfdd99ad 100644 --- a/packages/main/src/webComponents/DatePicker/index.tsx +++ b/packages/main/src/webComponents/DatePicker/index.tsx @@ -1,11 +1,11 @@ import { CalendarType } from '@ui5/webcomponents-react/lib/CalendarType'; import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5DatePicker from '@ui5/webcomponents/dist/DatePicker'; +import '@ui5/webcomponents/dist/DatePicker'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface DatePickerPropTypes extends WithWebComponentPropTypes { +export interface DatePickerPropTypes extends Omit { /** * Determines whether the ui5-datepicker is displayed as disabled. */ @@ -67,7 +67,13 @@ export interface DatePickerPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const DatePicker: FC = withWebComponent(UI5DatePicker); +const DatePicker: FC = withWebComponent( + 'ui5-datepicker', + ['formatPattern', 'maxDate', 'minDate', 'name', 'placeholder', 'primaryCalendarType', 'value', 'valueState'], + ['disabled', 'readonly'], + [], + ['change', 'input'] +); DatePicker.displayName = 'DatePicker'; diff --git a/packages/main/src/webComponents/Dialog/index.tsx b/packages/main/src/webComponents/Dialog/index.tsx index e90184524ea..954cf1296aa 100644 --- a/packages/main/src/webComponents/Dialog/index.tsx +++ b/packages/main/src/webComponents/Dialog/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Dialog from '@ui5/webcomponents/dist/Dialog'; +import '@ui5/webcomponents/dist/Dialog'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -51,7 +51,13 @@ export interface DialogPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Dialog: FC = withWebComponent(UI5Dialog); +const Dialog: FC = withWebComponent( + 'ui5-dialog', + ['headerText', 'initialFocus'], + ['stretch'], + ['footer', 'header'], + ['afterClose', 'afterOpen', 'beforeClose', 'beforeOpen'] +); Dialog.displayName = 'Dialog'; diff --git a/packages/main/src/webComponents/FileUploader/FileUploader.stories.tsx b/packages/main/src/webComponents/FileUploader/FileUploader.stories.tsx index fa59aa8c320..cc2051cff3d 100644 --- a/packages/main/src/webComponents/FileUploader/FileUploader.stories.tsx +++ b/packages/main/src/webComponents/FileUploader/FileUploader.stories.tsx @@ -2,8 +2,8 @@ import { action } from '@storybook/addon-actions'; import { boolean, select, text } from '@storybook/addon-knobs'; import { FileUploader } from '@ui5/webcomponents-react/lib/FileUploader'; import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; -import React from 'react'; import '@ui5/webcomponents/dist/features/InputElementsFormSupport'; +import React from 'react'; export default { title: 'UI5 Web Components / FileUploader', diff --git a/packages/main/src/webComponents/FileUploader/index.tsx b/packages/main/src/webComponents/FileUploader/index.tsx index 90bc1fc1fb1..3dff98edbbb 100644 --- a/packages/main/src/webComponents/FileUploader/index.tsx +++ b/packages/main/src/webComponents/FileUploader/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5FileUploader from '@ui5/webcomponents/dist/FileUploader'; +import '@ui5/webcomponents/dist/FileUploader'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface FileUploaderPropTypes extends WithWebComponentPropTypes { +export interface FileUploaderPropTypes extends Omit { /** * Comma-separated list of file types that the ui5-file-uploader should accept. */ @@ -22,12 +22,10 @@ export interface FileUploaderPropTypes extends WithWebComponentPropTypes { */ multiple?: boolean; /** - * Determines the name with which the ui5-file-uploader will be submitted in an HTML form. - -

Important: For the name property to have effect, you must add the following import to your project: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js"; - -

Note: When set, a native input HTML element will be created inside the ui5-file-uploader so that it can be submitted as part of an HTML form. Do not use this property unless you need to submit a form. - */ + * Determines the name with which the ui5-file-uploader will be submitted in an HTML form. + *

Important: For the name property to have effect, you must add the following import to your project: import "@ui5/webcomponents/dist/features/InputElementsFormSupport.js"; + *

Note: When set, a native input HTML element will be created inside the ui5-file-uploader so that it can be submitted as part of an HTML form. Do not use this property unless you need to submit a form. + */ name?: string; /** * Defines a short hint intended to aid the user with data entry when the ui5-file-uploader has no value. @@ -56,7 +54,13 @@ export interface FileUploaderPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const FileUploader: FC = withWebComponent(UI5FileUploader); +const FileUploader: FC = withWebComponent( + 'ui5-file-uploader', + ['accept', 'name', 'placeholder', 'value', 'valueState'], + ['disabled', 'hideInput', 'multiple'], + [], + ['change'] +); FileUploader.displayName = 'FileUploader'; diff --git a/packages/main/src/webComponents/GroupHeaderListItem/index.tsx b/packages/main/src/webComponents/GroupHeaderListItem/index.tsx index 1218c919859..31cbfaac0b5 100644 --- a/packages/main/src/webComponents/GroupHeaderListItem/index.tsx +++ b/packages/main/src/webComponents/GroupHeaderListItem/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5GroupHeaderListItem from '@ui5/webcomponents/dist/GroupHeaderListItem'; +import '@ui5/webcomponents/dist/GroupHeaderListItem'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -20,7 +20,11 @@ export interface GroupHeaderListItemPropTypes extends WithWebComponentPropTypes * UI5 Web Components Playground */ const GroupHeaderListItem: FC = withWebComponent( - UI5GroupHeaderListItem + 'ui5-li-groupheader', + [], + ['selected'], + [], + [] ); GroupHeaderListItem.displayName = 'GroupHeaderListItem'; diff --git a/packages/main/src/webComponents/Icon/index.tsx b/packages/main/src/webComponents/Icon/index.tsx index 0c3b21c35eb..48dd6e45df7 100644 --- a/packages/main/src/webComponents/Icon/index.tsx +++ b/packages/main/src/webComponents/Icon/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Icon from '@ui5/webcomponents/dist/Icon'; +import '@ui5/webcomponents/dist/Icon'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -23,7 +23,13 @@ export interface IconPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Icon: FC = withWebComponent(UI5Icon); +const Icon: FC = withWebComponent( + 'ui5-icon', + ['accessibleName', 'name'], + ['showTooltip'], + [], + [] +); Icon.displayName = 'Icon'; diff --git a/packages/main/src/webComponents/Input/index.tsx b/packages/main/src/webComponents/Input/index.tsx index 92fcc32d5a1..0b831927fe7 100644 --- a/packages/main/src/webComponents/Input/index.tsx +++ b/packages/main/src/webComponents/Input/index.tsx @@ -1,11 +1,11 @@ import { InputType } from '@ui5/webcomponents-react/lib/InputType'; import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Input from '@ui5/webcomponents/dist/Input'; +import '@ui5/webcomponents/dist/Input'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface InputPropTypes extends WithWebComponentPropTypes { +export interface InputPropTypes extends Omit { /** * Defines whether the ui5-input is in disabled state.

Note: A disabled ui5-input is completely noninteractive. */ @@ -39,7 +39,7 @@ export interface InputPropTypes extends WithWebComponentPropTypes { /** * Defines the HTML type of the ui5-input. Available options are: Text, Email, Number, Password, Tel, and URL.

Notes:
  • The particular effect of this property differs depending on the browser and the current language settings, especially for type Number.
  • The property is mostly intended to be used with touch devices that use different soft keyboard layouts depending on the given input type.
*/ - type?: string; + type?: InputType; /** * Defines the value of the ui5-input.

Note: The property is updated upon typing. */ @@ -83,7 +83,13 @@ export interface InputPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Input: FC = withWebComponent(UI5Input); +const Input: FC = withWebComponent( + 'ui5-input', + ['maxlength', 'name', 'placeholder', 'type', 'value', 'valueState'], + ['disabled', 'readonly', 'required', 'showSuggestions'], + ['icon', 'valueStateMessage'], + ['change', 'input', 'submit', 'suggestionItemSelect'] +); Input.displayName = 'Input'; diff --git a/packages/main/src/webComponents/Label/index.tsx b/packages/main/src/webComponents/Label/index.tsx index ea14478a204..6994c30aec8 100644 --- a/packages/main/src/webComponents/Label/index.tsx +++ b/packages/main/src/webComponents/Label/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Label from '@ui5/webcomponents/dist/Label'; +import '@ui5/webcomponents/dist/Label'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -31,7 +31,13 @@ export interface LabelPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Label: FC = withWebComponent(UI5Label); +const Label: FC = withWebComponent( + 'ui5-label', + ['for'], + ['required', 'showColon', 'wrap'], + [], + [] +); Label.displayName = 'Label'; diff --git a/packages/main/src/webComponents/Link/index.tsx b/packages/main/src/webComponents/Link/index.tsx index 105f00fcd93..49c3cad7790 100644 --- a/packages/main/src/webComponents/Link/index.tsx +++ b/packages/main/src/webComponents/Link/index.tsx @@ -1,10 +1,10 @@ import { LinkDesign } from '@ui5/webcomponents-react/lib/LinkDesign'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Link from '@ui5/webcomponents/dist/Link'; +import '@ui5/webcomponents/dist/Link'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface LinkPropTypes extends WithWebComponentPropTypes { +export interface LinkPropTypes extends Omit { /** * Defines the ui5-link design.

Note: Avaialble options are Default, Subtle, and Emphasized. */ @@ -40,7 +40,13 @@ export interface LinkPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Link: FC = withWebComponent(UI5Link); +const Link: FC = withWebComponent( + 'ui5-link', + ['design', 'href', 'target'], + ['disabled', 'wrap'], + [], + ['click'] +); Link.displayName = 'Link'; diff --git a/packages/main/src/webComponents/List/index.tsx b/packages/main/src/webComponents/List/index.tsx index fe7b3591a32..09c843542df 100644 --- a/packages/main/src/webComponents/List/index.tsx +++ b/packages/main/src/webComponents/List/index.tsx @@ -1,7 +1,7 @@ import { ListMode } from '@ui5/webcomponents-react/lib/ListMode'; import { ListSeparators } from '@ui5/webcomponents-react/lib/ListSeparators'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5List from '@ui5/webcomponents/dist/List'; +import '@ui5/webcomponents/dist/List'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -69,7 +69,13 @@ export interface ListPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const List: FC = withWebComponent(UI5List); +const List: FC = withWebComponent( + 'ui5-list', + ['footerText', 'headerText', 'mode', 'noDataText', 'separators'], + ['busy', 'infiniteScroll', 'inset'], + ['header'], + ['itemClick', 'itemDelete', 'loadMore', 'selectionChange'] +); List.displayName = 'List'; diff --git a/packages/main/src/webComponents/MessageStrip/index.tsx b/packages/main/src/webComponents/MessageStrip/index.tsx index 4cae9d43db3..80968059a7e 100644 --- a/packages/main/src/webComponents/MessageStrip/index.tsx +++ b/packages/main/src/webComponents/MessageStrip/index.tsx @@ -1,6 +1,6 @@ import { MessageStripType } from '@ui5/webcomponents-react/lib/MessageStripType'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5MessageStrip from '@ui5/webcomponents/dist/MessageStrip'; +import '@ui5/webcomponents/dist/MessageStrip'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -37,7 +37,13 @@ export interface MessageStripPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const MessageStrip: FC = withWebComponent(UI5MessageStrip); +const MessageStrip: FC = withWebComponent( + 'ui5-messagestrip', + ['type'], + ['noCloseButton', 'noIcon'], + ['icon'], + ['close'] +); MessageStrip.displayName = 'MessageStrip'; diff --git a/packages/main/src/webComponents/MultiComboBox/index.tsx b/packages/main/src/webComponents/MultiComboBox/index.tsx index 538338f55a9..dd5c10ddc84 100644 --- a/packages/main/src/webComponents/MultiComboBox/index.tsx +++ b/packages/main/src/webComponents/MultiComboBox/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5MultiComboBox from '@ui5/webcomponents/dist/MultiComboBox'; +import '@ui5/webcomponents/dist/MultiComboBox'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface MultiComboBoxPropTypes extends WithWebComponentPropTypes { +export interface MultiComboBoxPropTypes extends Omit { /** * Defines if the user input will be prevented, if no matching item has been found */ @@ -64,7 +64,13 @@ export interface MultiComboBoxPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const MultiComboBox: FC = withWebComponent(UI5MultiComboBox); +const MultiComboBox: FC = withWebComponent( + 'ui5-multi-combobox', + ['placeholder', 'value', 'valueState'], + ['allowCustomValues', 'disabled', 'open', 'readonly', 'required'], + [], + ['change', 'input', 'openChange', 'selectionChange'] +); MultiComboBox.displayName = 'MultiComboBox'; diff --git a/packages/main/src/webComponents/MultiComboBoxItem/index.tsx b/packages/main/src/webComponents/MultiComboBoxItem/index.tsx index 83c9b88f7e9..7bef195c115 100644 --- a/packages/main/src/webComponents/MultiComboBoxItem/index.tsx +++ b/packages/main/src/webComponents/MultiComboBoxItem/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5MultiComboBoxItem from '@ui5/webcomponents/dist/MultiComboBoxItem'; +import '@ui5/webcomponents/dist/MultiComboBoxItem'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -20,7 +20,11 @@ export interface MultiComboBoxItemPropTypes extends WithWebComponentPropTypes { * UI5 Web Components Playground */ const MultiComboBoxItem: FC = withWebComponent( - UI5MultiComboBoxItem + 'ui5-mcb-item', + ['text'], + ['selected'], + [], + [] ); MultiComboBoxItem.displayName = 'MultiComboBoxItem'; diff --git a/packages/main/src/webComponents/Option/index.tsx b/packages/main/src/webComponents/Option/index.tsx index e31175da772..ab383316ab0 100644 --- a/packages/main/src/webComponents/Option/index.tsx +++ b/packages/main/src/webComponents/Option/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Option from '@ui5/webcomponents/dist/Option'; +import '@ui5/webcomponents/dist/Option'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -23,7 +23,13 @@ export interface OptionPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Option: FC = withWebComponent(UI5Option); +const Option: FC = withWebComponent( + 'ui5-option', + ['icon', 'value'], + ['selected'], + [], + [] +); Option.displayName = 'Option'; diff --git a/packages/main/src/webComponents/Panel/index.tsx b/packages/main/src/webComponents/Panel/index.tsx index 36d0111250e..096a432bada 100644 --- a/packages/main/src/webComponents/Panel/index.tsx +++ b/packages/main/src/webComponents/Panel/index.tsx @@ -1,6 +1,6 @@ import { PanelAccessibleRoles } from '@ui5/webcomponents-react/lib/PanelAccessibleRoles'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Panel from '@ui5/webcomponents/dist/Panel'; +import '@ui5/webcomponents/dist/Panel'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -36,7 +36,13 @@ export interface PanelPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Panel: FC = withWebComponent(UI5Panel); +const Panel: FC = withWebComponent( + 'ui5-panel', + ['accessibleRole', 'headerText'], + ['collapsed', 'fixed'], + ['header'], + [] +); Panel.displayName = 'Panel'; diff --git a/packages/main/src/webComponents/Popover/index.tsx b/packages/main/src/webComponents/Popover/index.tsx index 7ffc8d32b6d..3932c635a13 100644 --- a/packages/main/src/webComponents/Popover/index.tsx +++ b/packages/main/src/webComponents/Popover/index.tsx @@ -2,7 +2,7 @@ import { PlacementType } from '@ui5/webcomponents-react/lib/PlacementType'; import { PopoverHorizontalAlign } from '@ui5/webcomponents-react/lib/PopoverHorizontalAlign'; import { PopoverVerticalAlign } from '@ui5/webcomponents-react/lib/PopoverVerticalAlign'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Popover from '@ui5/webcomponents/dist/Popover'; +import '@ui5/webcomponents/dist/Popover'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -74,7 +74,13 @@ export interface PopoverPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Popover: FC = withWebComponent(UI5Popover); +const Popover: FC = withWebComponent( + 'ui5-popover', + ['headerText', 'horizontalAlign', 'initialFocus', 'placementType', 'verticalAlign'], + ['allowTargetOverlap', 'modal', 'noArrow'], + ['footer', 'header'], + ['afterClose', 'afterOpen', 'beforeClose', 'beforeOpen'] +); Popover.displayName = 'Popover'; diff --git a/packages/main/src/webComponents/ProductSwitch/index.tsx b/packages/main/src/webComponents/ProductSwitch/index.tsx index ab1b1caf87a..40fc6610bea 100644 --- a/packages/main/src/webComponents/ProductSwitch/index.tsx +++ b/packages/main/src/webComponents/ProductSwitch/index.tsx @@ -1,4 +1,4 @@ -import UI5ProductSwitch from '@ui5/webcomponents-fiori/dist/ProductSwitch'; +import '@ui5/webcomponents-fiori/dist/ProductSwitch'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -15,7 +15,13 @@ export interface ProductSwitchPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const ProductSwitch: FC = withWebComponent(UI5ProductSwitch); +const ProductSwitch: FC = withWebComponent( + 'ui5-product-switch', + [], + [], + [], + [] +); ProductSwitch.displayName = 'ProductSwitch'; diff --git a/packages/main/src/webComponents/ProductSwitchItem/index.tsx b/packages/main/src/webComponents/ProductSwitchItem/index.tsx index 96ca6d44aad..3454577002f 100644 --- a/packages/main/src/webComponents/ProductSwitchItem/index.tsx +++ b/packages/main/src/webComponents/ProductSwitchItem/index.tsx @@ -1,9 +1,9 @@ -import UI5ProductSwitchItem from '@ui5/webcomponents-fiori/dist/ProductSwitchItem'; +import '@ui5/webcomponents-fiori/dist/ProductSwitchItem'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface ProductSwitchItemPropTypes extends WithWebComponentPropTypes { +export interface ProductSwitchItemPropTypes extends Omit { /** * Defines the title of the ui5-product-switch-item. */ @@ -38,7 +38,11 @@ See all the available icons in the UI5 Web Components Playground */ const ProductSwitchItem: FC = withWebComponent( - UI5ProductSwitchItem + 'ui5-product-switch-item', + ['heading', 'icon', 'subtitle', 'target', 'targetSrc'], + [], + [], + ['click'] ); ProductSwitchItem.displayName = 'ProductSwitchItem'; diff --git a/packages/main/src/webComponents/RadioButton/index.tsx b/packages/main/src/webComponents/RadioButton/index.tsx index 59da4838c3e..c673144960a 100644 --- a/packages/main/src/webComponents/RadioButton/index.tsx +++ b/packages/main/src/webComponents/RadioButton/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5RadioButton from '@ui5/webcomponents/dist/RadioButton'; +import '@ui5/webcomponents/dist/RadioButton'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface RadioButtonPropTypes extends WithWebComponentPropTypes { +export interface RadioButtonPropTypes extends Omit { /** * Determines whether the ui5-radiobutton is disabled.

Note: A disabled ui5-radiobutton is completely noninteractive. */ @@ -52,7 +52,13 @@ export interface RadioButtonPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const RadioButton: FC = withWebComponent(UI5RadioButton); +const RadioButton: FC = withWebComponent( + 'ui5-radiobutton', + ['name', 'text', 'value', 'valueState'], + ['disabled', 'readonly', 'selected', 'wrap'], + [], + ['select'] +); RadioButton.displayName = 'RadioButton'; diff --git a/packages/main/src/webComponents/ResponsivePopover/index.tsx b/packages/main/src/webComponents/ResponsivePopover/index.tsx index 2a2e0417bff..822063c84ce 100644 --- a/packages/main/src/webComponents/ResponsivePopover/index.tsx +++ b/packages/main/src/webComponents/ResponsivePopover/index.tsx @@ -2,7 +2,7 @@ import { PlacementType } from '@ui5/webcomponents-react/lib/PlacementType'; import { PopoverHorizontalAlign } from '@ui5/webcomponents-react/lib/PopoverHorizontalAlign'; import { PopoverVerticalAlign } from '@ui5/webcomponents-react/lib/PopoverVerticalAlign'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5ResponsivePopover from '@ui5/webcomponents/dist/ResponsivePopover'; +import '@ui5/webcomponents/dist/ResponsivePopover'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -75,7 +75,11 @@ export interface ResponsivePopoverPropTypes extends WithWebComponentPropTypes { * UI5 Web Components Playground */ const ResponsivePopover: FC = withWebComponent( - UI5ResponsivePopover + 'ui5-responsive-popover', + ['headerText', 'horizontalAlign', 'initialFocus', 'placementType', 'verticalAlign'], + ['allowTargetOverlap', 'modal', 'noArrow'], + ['footer', 'header'], + ['afterClose', 'afterOpen', 'beforeClose', 'beforeOpen'] ); ResponsivePopover.displayName = 'ResponsivePopover'; diff --git a/packages/main/src/webComponents/SegmentedButton/index.tsx b/packages/main/src/webComponents/SegmentedButton/index.tsx index e3c6670abd0..5e26fc53dbd 100644 --- a/packages/main/src/webComponents/SegmentedButton/index.tsx +++ b/packages/main/src/webComponents/SegmentedButton/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5SegmentedButton from '@ui5/webcomponents/dist/SegmentedButton'; +import '@ui5/webcomponents/dist/SegmentedButton'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -19,7 +19,13 @@ export interface SegmentedButtonPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const SegmentedButton: FC = withWebComponent(UI5SegmentedButton); +const SegmentedButton: FC = withWebComponent( + 'ui5-segmentedbutton', + [], + [], + [], + ['selectionChange'] +); SegmentedButton.displayName = 'SegmentedButton'; diff --git a/packages/main/src/webComponents/Select/index.tsx b/packages/main/src/webComponents/Select/index.tsx index 5d6a54d4fe4..aaa35f9e456 100644 --- a/packages/main/src/webComponents/Select/index.tsx +++ b/packages/main/src/webComponents/Select/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Select from '@ui5/webcomponents/dist/Select'; +import '@ui5/webcomponents/dist/Select'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface SelectPropTypes extends WithWebComponentPropTypes { +export interface SelectPropTypes extends Omit { /** * Defines whether ui5-select is in disabled state.

Note: A disabled ui5-select is noninteractive. */ @@ -36,7 +36,13 @@ export interface SelectPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Select: FC = withWebComponent(UI5Select); +const Select: FC = withWebComponent( + 'ui5-select', + ['name', 'valueState'], + ['disabled'], + [], + ['change'] +); Select.displayName = 'Select'; diff --git a/packages/main/src/webComponents/ShellBar/index.tsx b/packages/main/src/webComponents/ShellBar/index.tsx index ad009777302..e6aa0e66acb 100644 --- a/packages/main/src/webComponents/ShellBar/index.tsx +++ b/packages/main/src/webComponents/ShellBar/index.tsx @@ -1,4 +1,4 @@ -import UI5ShellBar from '@ui5/webcomponents-fiori/dist/ShellBar'; +import '@ui5/webcomponents-fiori/dist/ShellBar'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -83,7 +83,13 @@ export interface ShellBarPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const ShellBar: FC = withWebComponent(UI5ShellBar); +const ShellBar: FC = withWebComponent( + 'ui5-shellbar', + ['logo', 'notificationCount', 'primaryTitle', 'secondaryTitle'], + ['showCoPilot', 'showNotifications', 'showProductSwitch'], + ['menuItems', 'profile', 'searchField', 'startButton'], + ['coPilotClick', 'logoClick', 'menuItemClick', 'notificationsClick', 'productSwitchClick', 'profileClick'] +); ShellBar.displayName = 'ShellBar'; diff --git a/packages/main/src/webComponents/ShellBarItem/index.tsx b/packages/main/src/webComponents/ShellBarItem/index.tsx index 4e4c41eec19..2747b642144 100644 --- a/packages/main/src/webComponents/ShellBarItem/index.tsx +++ b/packages/main/src/webComponents/ShellBarItem/index.tsx @@ -1,4 +1,4 @@ -import UI5ShellBarItem from '@ui5/webcomponents-fiori/dist/ShellBarItem'; +import '@ui5/webcomponents-fiori/dist/ShellBarItem'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -27,7 +27,13 @@ export interface ShellBarItemPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const ShellBarItem: FC = withWebComponent(UI5ShellBarItem); +const ShellBarItem: FC = withWebComponent( + 'ui5-shellbar-item', + ['count', 'icon', 'text'], + [], + [], + ['itemClick'] +); ShellBarItem.displayName = 'ShellBarItem'; diff --git a/packages/main/src/webComponents/StandardListItem/index.tsx b/packages/main/src/webComponents/StandardListItem/index.tsx index 72c8ecd3b31..2d0c835f259 100644 --- a/packages/main/src/webComponents/StandardListItem/index.tsx +++ b/packages/main/src/webComponents/StandardListItem/index.tsx @@ -1,7 +1,7 @@ import { ListItemTypes } from '@ui5/webcomponents-react/lib/ListItemTypes'; import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5StandardListItem from '@ui5/webcomponents/dist/StandardListItem'; +import '@ui5/webcomponents/dist/StandardListItem'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -30,10 +30,6 @@ export interface StandardListItemPropTypes extends WithWebComponentPropTypes { * Defines the state of the info.
Available options are: "None" (by default), "Success", "Warning" and "Erorr". */ infoState?: ValueState; - /** - * Defines the text of the ui5-li.

Note: Аlthough this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design. - */ - children?: ReactNode | ReactNode[]; /** * Defines the visual indication and behavior of the list items. * Available options are Active (by default), Inactive and Detail. @@ -46,6 +42,10 @@ export interface StandardListItemPropTypes extends WithWebComponentPropTypes { * Defines the selected state of the ListItem. */ selected?: boolean; + /** + * Defines the text of the ui5-li.

Note: Аlthough this slot accepts HTML Elements, it is strongly recommended that you only use text in order to preserve the intended design. + */ + children?: ReactNode | ReactNode[]; } /** @@ -54,7 +54,11 @@ export interface StandardListItemPropTypes extends WithWebComponentPropTypes { * UI5 Web Components Playground */ const StandardListItem: FC = withWebComponent( - UI5StandardListItem + 'ui5-li', + ['description', 'icon', 'image', 'info', 'infoState', 'type'], + ['iconEnd', 'selected'], + [], + [] ); StandardListItem.displayName = 'StandardListItem'; diff --git a/packages/main/src/webComponents/SuggestionItem/index.tsx b/packages/main/src/webComponents/SuggestionItem/index.tsx index a2e0c416457..e4a4f6c3867 100644 --- a/packages/main/src/webComponents/SuggestionItem/index.tsx +++ b/packages/main/src/webComponents/SuggestionItem/index.tsx @@ -1,6 +1,6 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5SuggestionItem from '@ui5/webcomponents/dist/SuggestionItem'; +import '@ui5/webcomponents/dist/SuggestionItem'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -44,7 +44,13 @@ export interface SuggestionItemPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const SuggestionItem: FC = withWebComponent(UI5SuggestionItem); +const SuggestionItem: FC = withWebComponent( + 'ui5-suggestion-item', + ['description', 'group', 'icon', 'image', 'info', 'infoState', 'text'], + ['iconEnd'], + [], + [] +); SuggestionItem.displayName = 'SuggestionItem'; diff --git a/packages/main/src/webComponents/Switch/index.tsx b/packages/main/src/webComponents/Switch/index.tsx index f76d977317c..36c3c2ce39e 100644 --- a/packages/main/src/webComponents/Switch/index.tsx +++ b/packages/main/src/webComponents/Switch/index.tsx @@ -1,9 +1,9 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Switch from '@ui5/webcomponents/dist/Switch'; +import '@ui5/webcomponents/dist/Switch'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface SwitchPropTypes extends WithWebComponentPropTypes { +export interface SwitchPropTypes extends Omit { /** * Defines if the ui5-switch is checked.

Note: The property can be changed with user interaction, either by cliking/tapping on the ui5-switch, or by pressing the Enter or Space key. */ @@ -37,7 +37,13 @@ export interface SwitchPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Switch: FC = withWebComponent(UI5Switch); +const Switch: FC = withWebComponent( + 'ui5-switch', + ['textOff', 'textOn'], + ['checked', 'disabled', 'graphical'], + [], + ['change'] +); Switch.displayName = 'Switch'; diff --git a/packages/main/src/webComponents/Tab/index.tsx b/packages/main/src/webComponents/Tab/index.tsx index 7d914f25ed0..0277c254cb9 100644 --- a/packages/main/src/webComponents/Tab/index.tsx +++ b/packages/main/src/webComponents/Tab/index.tsx @@ -1,6 +1,6 @@ import { SemanticColor } from '@ui5/webcomponents-react/lib/SemanticColor'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Tab from '@ui5/webcomponents/dist/Tab'; +import '@ui5/webcomponents/dist/Tab'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -42,7 +42,13 @@ export interface TabPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Tab: FC = withWebComponent(UI5Tab); +const Tab: FC = withWebComponent( + 'ui5-tab', + ['additionalText', 'icon', 'semanticColor', 'text'], + ['disabled', 'selected'], + [], + [] +); Tab.displayName = 'Tab'; diff --git a/packages/main/src/webComponents/TabContainer/index.tsx b/packages/main/src/webComponents/TabContainer/index.tsx index 836a8f8d16a..1f5bb6cf952 100644 --- a/packages/main/src/webComponents/TabContainer/index.tsx +++ b/packages/main/src/webComponents/TabContainer/index.tsx @@ -1,6 +1,6 @@ import { TabLayout } from '@ui5/webcomponents-react/lib/TabLayout'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TabContainer from '@ui5/webcomponents/dist/TabContainer'; +import '@ui5/webcomponents/dist/TabContainer'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -40,7 +40,13 @@ export interface TabContainerPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TabContainer: FC = withWebComponent(UI5TabContainer); +const TabContainer: FC = withWebComponent( + 'ui5-tabcontainer', + ['tabLayout'], + ['collapsed', 'fixed', 'showOverflow'], + [], + ['tabSelect'] +); TabContainer.displayName = 'TabContainer'; diff --git a/packages/main/src/webComponents/TabSeparator/index.tsx b/packages/main/src/webComponents/TabSeparator/index.tsx index d1e0162f183..db63e8878ec 100644 --- a/packages/main/src/webComponents/TabSeparator/index.tsx +++ b/packages/main/src/webComponents/TabSeparator/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TabSeparator from '@ui5/webcomponents/dist/TabSeparator'; +import '@ui5/webcomponents/dist/TabSeparator'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -10,7 +10,13 @@ export interface TabSeparatorPropTypes extends WithWebComponentPropTypes {} *
* UI5 Web Components Playground */ -const TabSeparator: FC = withWebComponent(UI5TabSeparator); +const TabSeparator: FC = withWebComponent( + 'ui5-tab-separator', + [], + [], + [], + [] +); TabSeparator.displayName = 'TabSeparator'; diff --git a/packages/main/src/webComponents/Table/index.tsx b/packages/main/src/webComponents/Table/index.tsx index 9145d94f68e..a3d332b4aa4 100644 --- a/packages/main/src/webComponents/Table/index.tsx +++ b/packages/main/src/webComponents/Table/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Table from '@ui5/webcomponents/dist/Table'; +import '@ui5/webcomponents/dist/Table'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -39,7 +39,13 @@ export interface TablePropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Table: FC = withWebComponent(UI5Table); +const Table: FC = withWebComponent( + 'ui5-table', + ['noDataText'], + ['showNoData', 'stickyColumnHeader'], + ['columns'], + ['popinChange', 'rowClick'] +); Table.displayName = 'Table'; diff --git a/packages/main/src/webComponents/TableCell/index.tsx b/packages/main/src/webComponents/TableCell/index.tsx index b2787570510..a4ca303dd84 100644 --- a/packages/main/src/webComponents/TableCell/index.tsx +++ b/packages/main/src/webComponents/TableCell/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TableCell from '@ui5/webcomponents/dist/TableCell'; +import '@ui5/webcomponents/dist/TableCell'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -15,7 +15,7 @@ export interface TableCellPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TableCell: FC = withWebComponent(UI5TableCell); +const TableCell: FC = withWebComponent('ui5-table-cell', [], [], [], []); TableCell.displayName = 'TableCell'; diff --git a/packages/main/src/webComponents/TableColumn/index.tsx b/packages/main/src/webComponents/TableColumn/index.tsx index fe0f3dd8f04..8da5bbefa98 100644 --- a/packages/main/src/webComponents/TableColumn/index.tsx +++ b/packages/main/src/webComponents/TableColumn/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TableColumn from '@ui5/webcomponents/dist/TableColumn'; +import '@ui5/webcomponents/dist/TableColumn'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -27,7 +27,13 @@ export interface TableColumnPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TableColumn: FC = withWebComponent(UI5TableColumn); +const TableColumn: FC = withWebComponent( + 'ui5-table-column', + ['minWidth', 'popinText'], + ['demandPopin'], + [], + [] +); TableColumn.displayName = 'TableColumn'; diff --git a/packages/main/src/webComponents/TableRow/index.tsx b/packages/main/src/webComponents/TableRow/index.tsx index 8df107149d0..8b9758211de 100644 --- a/packages/main/src/webComponents/TableRow/index.tsx +++ b/packages/main/src/webComponents/TableRow/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TableRow from '@ui5/webcomponents/dist/TableRow'; +import '@ui5/webcomponents/dist/TableRow'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -15,7 +15,7 @@ export interface TableRowPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TableRow: FC = withWebComponent(UI5TableRow); +const TableRow: FC = withWebComponent('ui5-table-row', [], [], [], []); TableRow.displayName = 'TableRow'; diff --git a/packages/main/src/webComponents/TextArea/index.tsx b/packages/main/src/webComponents/TextArea/index.tsx index 57dd092d49d..686e05eca8a 100644 --- a/packages/main/src/webComponents/TextArea/index.tsx +++ b/packages/main/src/webComponents/TextArea/index.tsx @@ -1,9 +1,9 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TextArea from '@ui5/webcomponents/dist/TextArea'; +import '@ui5/webcomponents/dist/TextArea'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface TextAreaPropTypes extends WithWebComponentPropTypes { +export interface TextAreaPropTypes extends Omit { /** * Indicates whether the user can interact with the component or not.

Note: Disabled components cannot be focused and they are out of the tab chain. */ @@ -67,7 +67,13 @@ export interface TextAreaPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TextArea: FC = withWebComponent(UI5TextArea); +const TextArea: FC = withWebComponent( + 'ui5-textarea', + ['growingMaxLines', 'maxlength', 'name', 'placeholder', 'rows', 'value'], + ['disabled', 'growing', 'readonly', 'required', 'showExceededText'], + [], + ['change', 'input'] +); TextArea.displayName = 'TextArea'; diff --git a/packages/main/src/webComponents/TimePicker/index.tsx b/packages/main/src/webComponents/TimePicker/index.tsx index 4ada6d84efe..191451d4ce5 100644 --- a/packages/main/src/webComponents/TimePicker/index.tsx +++ b/packages/main/src/webComponents/TimePicker/index.tsx @@ -1,10 +1,10 @@ import { ValueState } from '@ui5/webcomponents-react/lib/ValueState'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TimePicker from '@ui5/webcomponents/dist/TimePicker'; +import '@ui5/webcomponents/dist/TimePicker'; import React, { FC } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface TimePickerPropTypes extends WithWebComponentPropTypes { +export interface TimePickerPropTypes extends Omit { /** * Determines whether the ui5-timepicker is displayed as disabled. */ @@ -46,7 +46,13 @@ export interface TimePickerPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const TimePicker: FC = withWebComponent(UI5TimePicker); +const TimePicker: FC = withWebComponent( + 'ui5-timepicker', + ['formatPattern', 'placeholder', 'value', 'valueState'], + ['disabled', 'readonly'], + [], + ['change', 'input'] +); TimePicker.displayName = 'TimePicker'; diff --git a/packages/main/src/webComponents/Timeline/index.tsx b/packages/main/src/webComponents/Timeline/index.tsx index c8f322442ab..8c67f5f00df 100644 --- a/packages/main/src/webComponents/Timeline/index.tsx +++ b/packages/main/src/webComponents/Timeline/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Timeline from '@ui5/webcomponents/dist/Timeline'; +import '@ui5/webcomponents/dist/Timeline'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -15,7 +15,7 @@ export interface TimelinePropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Timeline: FC = withWebComponent(UI5Timeline); +const Timeline: FC = withWebComponent('ui5-timeline', [], [], [], []); Timeline.displayName = 'Timeline'; diff --git a/packages/main/src/webComponents/TimelineItem/index.tsx b/packages/main/src/webComponents/TimelineItem/index.tsx index 07d0a38db00..fe4e6109735 100644 --- a/packages/main/src/webComponents/TimelineItem/index.tsx +++ b/packages/main/src/webComponents/TimelineItem/index.tsx @@ -1,14 +1,13 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5TimelineItem from '@ui5/webcomponents/dist/TimelineItem'; +import '@ui5/webcomponents/dist/TimelineItem'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; export interface TimelineItemPropTypes extends WithWebComponentPropTypes { /** - * Defines the icon to be displayed as graphical element within the ui5-timeline-item. SAP-icons font provides numerous options.

- -See all the available icons in the Icon Explorer. - */ + * Defines the icon to be displayed as graphical element within the ui5-timeline-item. SAP-icons font provides numerous options.

+ * See all the available icons in the Icon Explorer. + */ icon?: string; /** * Defines the name of the item. @@ -41,7 +40,13 @@ See all the available icons in the UI5 Web Components Playground */ -const TimelineItem: FC = withWebComponent(UI5TimelineItem); +const TimelineItem: FC = withWebComponent( + 'ui5-timeline-item', + ['icon', 'itemName', 'subtitleText', 'titleText'], + ['itemNameClickable'], + [], + ['itemNameClick'] +); TimelineItem.displayName = 'TimelineItem'; diff --git a/packages/main/src/webComponents/Title/index.tsx b/packages/main/src/webComponents/Title/index.tsx index 456d22fb82d..0b023b8378b 100644 --- a/packages/main/src/webComponents/Title/index.tsx +++ b/packages/main/src/webComponents/Title/index.tsx @@ -1,6 +1,6 @@ import { TitleLevel } from '@ui5/webcomponents-react/lib/TitleLevel'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Title from '@ui5/webcomponents/dist/Title'; +import '@ui5/webcomponents/dist/Title'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -24,7 +24,7 @@ export interface TitlePropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Title: FC = withWebComponent(UI5Title); +const Title: FC = withWebComponent('ui5-title', ['level'], ['wrap'], [], []); Title.displayName = 'Title'; diff --git a/packages/main/src/webComponents/Toast/index.tsx b/packages/main/src/webComponents/Toast/index.tsx index b0661de996e..1b7fced9efc 100644 --- a/packages/main/src/webComponents/Toast/index.tsx +++ b/packages/main/src/webComponents/Toast/index.tsx @@ -1,6 +1,6 @@ import { ToastPlacement } from '@ui5/webcomponents-react/lib/ToastPlacement'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Toast from '@ui5/webcomponents/dist/Toast'; +import '@ui5/webcomponents/dist/Toast'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -24,7 +24,7 @@ export interface ToastPropTypes extends WithWebComponentPropTypes { *
* UI5 Web Components Playground */ -const Toast: FC = withWebComponent(UI5Toast); +const Toast: FC = withWebComponent('ui5-toast', ['duration', 'placement'], [], [], []); Toast.displayName = 'Toast'; diff --git a/packages/main/src/webComponents/ToggleButton/index.tsx b/packages/main/src/webComponents/ToggleButton/index.tsx index 39df3aa46c3..4234d27e198 100644 --- a/packages/main/src/webComponents/ToggleButton/index.tsx +++ b/packages/main/src/webComponents/ToggleButton/index.tsx @@ -1,10 +1,10 @@ import { ButtonDesign } from '@ui5/webcomponents-react/lib/ButtonDesign'; import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5ToggleButton from '@ui5/webcomponents/dist/ToggleButton'; +import '@ui5/webcomponents/dist/ToggleButton'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface ToggleButtonPropTypes extends WithWebComponentPropTypes { +export interface ToggleButtonPropTypes extends Omit { /** * Determines whether the ui5-togglebutton is displayed as pressed. */ @@ -46,7 +46,13 @@ See all the available icons in the UI5 Web Components Playground */ -const ToggleButton: FC = withWebComponent(UI5ToggleButton); +const ToggleButton: FC = withWebComponent( + 'ui5-togglebutton', + ['design', 'icon'], + ['pressed', 'disabled', 'iconEnd', 'submits'], + [], + ['click'] +); ToggleButton.displayName = 'ToggleButton'; diff --git a/packages/main/src/webComponents/Token/index.tsx b/packages/main/src/webComponents/Token/index.tsx index 98a28eedfa2..64f78d138c5 100644 --- a/packages/main/src/webComponents/Token/index.tsx +++ b/packages/main/src/webComponents/Token/index.tsx @@ -1,9 +1,9 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Token from '@ui5/webcomponents/dist/Token'; +import '@ui5/webcomponents/dist/Token'; import React, { FC, ReactNode, ReactNodeArray } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; -export interface TokenPropTypes extends WithWebComponentPropTypes { +export interface TokenPropTypes extends Omit { selected?: boolean; // @generated readonly?: boolean; // @generated onDelete?: (event: CustomEvent) => void; // @generated @@ -14,7 +14,13 @@ export interface TokenPropTypes extends WithWebComponentPropTypes { /** * import { Token } from '@ui5/webcomponents-react/lib/Token'; */ -const Token: FC = withWebComponent(UI5Token); +const Token: FC = withWebComponent( + 'ui5-token', + [], + ['selected', 'readonly'], + [], + ['delete', 'select'] +); Token.displayName = 'Token'; diff --git a/packages/main/src/webComponents/Tokenizer/index.tsx b/packages/main/src/webComponents/Tokenizer/index.tsx index a6dcd6dc305..4b5e591524b 100644 --- a/packages/main/src/webComponents/Tokenizer/index.tsx +++ b/packages/main/src/webComponents/Tokenizer/index.tsx @@ -1,5 +1,5 @@ import { withWebComponent } from '@ui5/webcomponents-react/lib/withWebComponent'; -import UI5Tokenizer from '@ui5/webcomponents/dist/Tokenizer'; +import '@ui5/webcomponents/dist/Tokenizer'; import React, { FC, ReactNode } from 'react'; import { WithWebComponentPropTypes } from '../../internal/withWebComponent'; @@ -14,7 +14,13 @@ export interface TokenizerPropTypes extends WithWebComponentPropTypes { /** * import { Tokenizer } from '@ui5/webcomponents-react/lib/Tokenizer'; */ -const Tokenizer: FC = withWebComponent(UI5Tokenizer); +const Tokenizer: FC = withWebComponent( + 'ui5-tokenizer', + [], + ['showMore', 'disabled'], + [], + ['tokenDelete', 'showMoreItemsPress'] +); Tokenizer.displayName = 'Tokenizer'; diff --git a/packages/main/tsconfig.json b/packages/main/tsconfig.json index 7a9516b4174..4aa6b541dc1 100644 --- a/packages/main/tsconfig.json +++ b/packages/main/tsconfig.json @@ -1,8 +1,5 @@ { "extends": "../../tsconfig.json", - "types": [ - "chai" - ], "include": [ "src/index.ts" ] diff --git a/scripts/rollup/build.js b/scripts/rollup/build.js index 09e7b89633c..ccea445005b 100644 --- a/scripts/rollup/build.js +++ b/scripts/rollup/build.js @@ -34,7 +34,7 @@ process.on('unhandledRejection', (err) => { throw err; }); -const { NODE_DEV, NODE_PROD, NODE_ES } = Bundles.bundleTypes; +const { NODE_DEV, NODE_PROD } = Bundles.bundleTypes; const closureOptions = { compilation_level: 'SIMPLE', @@ -109,8 +109,6 @@ function getFilename(name, bundleType) { return `${name}.development.js`; case NODE_PROD: return `${name}.production.min.js`; - case NODE_ES: - return `${name}.js`; } } @@ -119,8 +117,6 @@ function getFormat(bundleType) { case NODE_DEV: case NODE_PROD: return `cjs`; - case NODE_ES: - return `es`; } } @@ -128,7 +124,6 @@ function isProductionBundleType(bundleType) { switch (bundleType) { case NODE_DEV: case NODE_PROD: - case NODE_ES: return true; default: throw new Error(`Unknown type: ${bundleType}`); @@ -137,7 +132,6 @@ function isProductionBundleType(bundleType) { function getPlugins(entry, externals, updateBabelOptions, filename, packageName, bundleType) { const isProduction = isProductionBundleType(bundleType); - const isES6Bundle = bundleType === NODE_ES; const shouldStayReadable = forcePrettyOutput; return [ resolve({ @@ -160,7 +154,6 @@ function getPlugins(entry, externals, updateBabelOptions, filename, packageName, }), // Apply dead code elimination and/or minification. isProduction && - !isES6Bundle && closure( Object.assign({}, closureOptions, { // Don't let it create global variables in the browser. @@ -292,7 +285,6 @@ async function buildEverything() { // and to avoid any potential race conditions. // eslint-disable-next-line no-for-of-loops/no-for-of-loops for (const bundle of Bundles.bundles) { - await createBundle(bundle, NODE_ES); await createBundle(bundle, NODE_DEV); await createBundle(bundle, NODE_PROD); createDeclarationFiles(bundle); diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index ecc0488509c..4baa72a0062 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -1,7 +1,6 @@ const bundleTypes = { NODE_DEV: 'NODE_DEV', - NODE_PROD: 'NODE_PROD', - NODE_ES: 'NODE_ES' + NODE_PROD: 'NODE_PROD' }; const bundles = [ diff --git a/scripts/rollup/packaging.js b/scripts/rollup/packaging.js index 0f1bfda1e6d..f544ff976a0 100755 --- a/scripts/rollup/packaging.js +++ b/scripts/rollup/packaging.js @@ -4,7 +4,7 @@ const { existsSync, readdirSync, unlinkSync } = require('fs'); const Bundles = require('./bundles'); const { asyncCopyTo, asyncExecuteCommand, asyncExtractTar, asyncRimRaf } = require('../utils'); -const { NODE_DEV, NODE_PROD, NODE_ES } = Bundles.bundleTypes; +const { NODE_DEV, NODE_PROD } = Bundles.bundleTypes; function getPackageName(name) { return name; @@ -15,8 +15,6 @@ function getBundleOutputPaths(bundleType, filename, packageName) { case NODE_DEV: case NODE_PROD: return `packages/${packageName}/cjs/${filename}`; - case NODE_ES: - return `packages/${packageName}/esm/${filename}`; default: throw new Error('Unknown bundle type.'); } diff --git a/scripts/rollup/results.json b/scripts/rollup/results.json index 7b567fc5af2..c355bcd3d8e 100644 --- a/scripts/rollup/results.json +++ b/scripts/rollup/results.json @@ -4,43 +4,43 @@ "filename": "charts.development.js", "bundleType": "NODE_DEV", "packageName": "charts", - "size": 19328, - "gzip": 5347 + "size": 19798, + "gzip": 5554 }, { "filename": "charts.production.min.js", "bundleType": "NODE_PROD", "packageName": "charts", - "size": 19328, - "gzip": 5347 + "size": 19798, + "gzip": 5554 }, { "filename": "base.development.js", "bundleType": "NODE_DEV", "packageName": "base", - "size": 88749, - "gzip": 16153 + "size": 90046, + "gzip": 16551 }, { "filename": "base.production.min.js", "bundleType": "NODE_PROD", "packageName": "base", - "size": 88749, - "gzip": 16153 + "size": 90046, + "gzip": 16551 }, { "filename": "main.development.js", "bundleType": "NODE_DEV", "packageName": "main", - "size": 158251, - "gzip": 40291 + "size": 167172, + "gzip": 42827 }, { "filename": "main.production.min.js", "bundleType": "NODE_PROD", "packageName": "main", - "size": 158251, - "gzip": 40291 + "size": 167172, + "gzip": 42827 } ] } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 4467cc5566b..1c7fac048d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16,7 +16,7 @@ dependencies: "@babel/highlight" "^7.8.3" -"@babel/compat-data@^7.8.4", "@babel/compat-data@^7.8.6": +"@babel/compat-data@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.8.6.tgz#7eeaa0dfa17e50c7d9c0832515eee09b56f04e35" integrity sha512-CurCIKPTkS25Mb8mz267vU95vy+TyUpnctEX2lV33xWNmHAfjruztgiPBbXZRh3xZZy1CYvGx6XfxyTVS+sk7Q== @@ -25,6 +25,15 @@ invariant "^2.2.4" semver "^5.5.0" +"@babel/compat-data@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.9.0.tgz#04815556fc90b0c174abd2c0c1bb966faa036a6c" + integrity sha512-zeFQrr+284Ekvd9e7KAX954LkapWiOmQtsfHirhxqfdlX6MEC32iRE+pqUGlYIBchdevaCwvzxWGSy/YBNI85g== + dependencies: + browserslist "^4.9.1" + invariant "^2.2.4" + semver "^5.5.0" + "@babel/core@7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.4.tgz#d496799e5c12195b3602d0fddd77294e3e38e80e" @@ -46,7 +55,29 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5", "@babel/core@^7.7.5", "@babel/core@^7.8.7": +"@babel/core@7.9.0", "@babel/core@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" + integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helpers" "^7.9.0" + "@babel/parser" "^7.9.0" + "@babel/template" "^7.8.6" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.4.5", "@babel/core@^7.7.5": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.8.7.tgz#b69017d221ccdeb203145ae9da269d72cf102f3b" integrity sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA== @@ -77,6 +108,16 @@ lodash "^4.17.13" source-map "^0.5.0" +"@babel/generator@^7.9.0": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.9.4.tgz#12441e90c3b3c4159cdecf312075bf1a8ce2dbce" + integrity sha512-rjP8ahaDy/ouhrvCoU1E5mqaitWrxwuNGU+dy1EpaoK48jZay4MdkskKGIMHLZNewg8sAsqpGSREJwP0zH3YQA== + dependencies: + "@babel/types" "^7.9.0" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz#60bc0bc657f63a0924ff9a4b4a0b24a13cf4deee" @@ -92,6 +133,15 @@ "@babel/helper-explode-assignable-expression" "^7.8.3" "@babel/types" "^7.8.3" +"@babel/helper-builder-react-jsx-experimental@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.9.0.tgz#066d80262ade488f9c1b1823ce5db88a4cedaa43" + integrity sha512-3xJEiyuYU4Q/Ar9BsHisgdxZsRlsShMe90URZ0e6przL26CCs8NJbDoxH94kKT17PcxlMhsCAwZd90evCo26VQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-module-imports" "^7.8.3" + "@babel/types" "^7.9.0" + "@babel/helper-builder-react-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz#dee98d7d79cc1f003d80b76fe01c7f8945665ff6" @@ -100,6 +150,14 @@ "@babel/types" "^7.8.3" esutils "^2.0.0" +"@babel/helper-builder-react-jsx@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.9.0.tgz#16bf391990b57732700a3278d4d9a81231ea8d32" + integrity sha512-weiIo4gaoGgnhff54GQ3P5wsUQmnSwpkvU0r6ZHq6TzoSzKy4JxHEgnxNytaKbov2a9z/CVNyzliuCOUPEX3Jw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/types" "^7.9.0" + "@babel/helper-call-delegate@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz#28a279c2e6c622a6233da548127f980751324cab" @@ -109,7 +167,7 @@ "@babel/traverse" "^7.8.3" "@babel/types" "^7.8.7" -"@babel/helper-compilation-targets@^7.8.4", "@babel/helper-compilation-targets@^7.8.7": +"@babel/helper-compilation-targets@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.7.tgz#dac1eea159c0e4bd46e309b5a1b04a66b53c1dde" integrity sha512-4mWm8DCK2LugIS+p1yArqvG1Pf162upsIsjE7cNBjez+NjliQpVhj20obE520nao0o14DaTnFJv+Fw5a0JpoUw== @@ -141,6 +199,15 @@ "@babel/helper-regex" "^7.8.3" regexpu-core "^4.6.0" +"@babel/helper-create-regexp-features-plugin@^7.8.8": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz#5d84180b588f560b7864efaeea89243e58312087" + integrity sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-regex" "^7.8.3" + regexpu-core "^4.7.0" + "@babel/helper-define-map@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz#a0655cad5451c3760b726eba875f1cd8faa02c15" @@ -208,6 +275,19 @@ "@babel/types" "^7.8.6" lodash "^4.17.13" +"@babel/helper-module-transforms@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz#43b34dfe15961918707d247327431388e9fe96e5" + integrity sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA== + dependencies: + "@babel/helper-module-imports" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-simple-access" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/template" "^7.8.6" + "@babel/types" "^7.9.0" + lodash "^4.17.13" + "@babel/helper-optimise-call-expression@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz#7ed071813d09c75298ef4f208956006b6111ecb9" @@ -263,6 +343,11 @@ dependencies: "@babel/types" "^7.8.3" +"@babel/helper-validator-identifier@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" + integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== + "@babel/helper-wrap-function@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz#9dbdb2bb55ef14aaa01fe8c99b629bd5352d8610" @@ -282,6 +367,15 @@ "@babel/traverse" "^7.8.4" "@babel/types" "^7.8.3" +"@babel/helpers@^7.9.0": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.9.2.tgz#b42a81a811f1e7313b88cba8adc66b3d9ae6c09f" + integrity sha512-JwLvzlXVPjO8eU9c/wF9/zOIN7X6h8DYf7mG4CiFRZRvZNKEF5dQ3H3V+ASkHoIB3mWhatgl5ONhyqHRI6MppA== + dependencies: + "@babel/template" "^7.8.3" + "@babel/traverse" "^7.9.0" + "@babel/types" "^7.9.0" + "@babel/highlight@^7.0.0", "@babel/highlight@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797" @@ -296,6 +390,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.8.7.tgz#7b8facf95d25fef9534aad51c4ffecde1a61e26a" integrity sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A== +"@babel/parser@^7.9.0": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.9.4.tgz#68a35e6b0319bbc014465be43828300113f2f2e8" + integrity sha512-bC49otXX6N0/VYhgOMh4gnP26E9xnDZK3TmbNpxYzzz9BQLBosQwfyOe9/cXUU3txYhTzLCbcqd5c8y/OmCjHA== + "@babel/plugin-proposal-async-generator-functions@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz#bad329c670b382589721b27540c7d288601c6e6f" @@ -338,7 +437,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-json-strings" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.8.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-proposal-nullish-coalescing-operator@7.8.3", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz#e4572253fdeed65cddeecfdab3f928afeb2fd5d2" integrity sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw== @@ -346,7 +445,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-numeric-separator@7.8.3": +"@babel/plugin-proposal-numeric-separator@7.8.3", "@babel/plugin-proposal-numeric-separator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz#5d6769409699ec9b3b68684cd8116cedff93bad8" integrity sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ== @@ -362,6 +461,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" +"@babel/plugin-proposal-object-rest-spread@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.0.tgz#a28993699fc13df165995362693962ba6b061d6f" + integrity sha512-UgqBv6bjq4fDb8uku9f+wcm1J7YxJ5nT7WO/jBr0cl0PLKb7t1O6RNR1kZbjgx2LQtsDI9hwoQVmn0yhXeQyow== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-proposal-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz#9dee96ab1650eed88646ae9734ca167ac4a9c5c9" @@ -370,7 +477,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.8.0", "@babel/plugin-proposal-optional-chaining@^7.8.3": +"@babel/plugin-proposal-optional-chaining@7.9.0", "@babel/plugin-proposal-optional-chaining@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz#31db16b154c39d6b8a645292472b98394c292a58" + integrity sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + +"@babel/plugin-proposal-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz#ae10b3214cb25f7adb1f3bc87ba42ca10b7e2543" integrity sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg== @@ -378,6 +493,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.8.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz#ee3a95e90cdc04fe8cd92ec3279fa017d68a0d1d" + integrity sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.8.8" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-proposal-unicode-property-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz#b646c3adea5f98800c9ab45105ac34d06cd4a47f" @@ -442,7 +565,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.8.0", "@babel/plugin-syntax-numeric-separator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz#0e3fb63e09bea1b11e96467271c8308007e7c41f" integrity sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw== @@ -515,7 +638,7 @@ "@babel/helper-plugin-utils" "^7.8.3" lodash "^4.17.13" -"@babel/plugin-transform-classes@^7.8.3", "@babel/plugin-transform-classes@^7.8.6": +"@babel/plugin-transform-classes@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz#77534447a477cbe5995ae4aee3e39fbc8090c46d" integrity sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg== @@ -529,6 +652,20 @@ "@babel/helper-split-export-declaration" "^7.8.3" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.9.0": + version "7.9.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.2.tgz#8603fc3cc449e31fdbdbc257f67717536a11af8d" + integrity sha512-TC2p3bPzsfvSsqBZo0kJnuelnoK9O3welkUpqSqBQuBF6R5MN2rysopri8kNvtlGIb2jmUO7i15IooAZJjZuMQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.8.3" + "@babel/helper-define-map" "^7.8.3" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-optimise-call-expression" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-replace-supers" "^7.8.6" + "@babel/helper-split-export-declaration" "^7.8.3" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz#96d0d28b7f7ce4eb5b120bb2e0e943343c86f81b" @@ -543,7 +680,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-dotall-regex@^7.8.3": +"@babel/plugin-transform-dotall-regex@^7.4.4", "@babel/plugin-transform-dotall-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz#c3c6ec5ee6125c6993c5cbca20dc8621a9ea7a6e" integrity sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw== @@ -566,7 +703,15 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-flow-strip-types@7.8.3", "@babel/plugin-transform-flow-strip-types@^7.8.3": +"@babel/plugin-transform-flow-strip-types@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.9.0.tgz#8a3538aa40434e000b8f44a3c5c9ac7229bd2392" + integrity sha512-7Qfg0lKQhEHs93FChxVLAvhBshOPQDtJUTVHr/ZwQNRccCm4O9D79r9tVSoV8iNwjP1YgfD+e/fgHcPkN1qEQg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-flow" "^7.8.3" + +"@babel/plugin-transform-flow-strip-types@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz#da705a655466b2a9b36046b57bf0cbcd53551bd4" integrity sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA== @@ -574,13 +719,20 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow" "^7.8.3" -"@babel/plugin-transform-for-of@^7.8.4", "@babel/plugin-transform-for-of@^7.8.6": +"@babel/plugin-transform-for-of@^7.8.6": version "7.8.6" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz#a051bd1b402c61af97a27ff51b468321c7c2a085" integrity sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw== dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-for-of@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz#0f260e27d3e29cd1bb3128da5e76c761aa6c108e" + integrity sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-function-name@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz#279373cb27322aaad67c2683e776dfc47196ed8b" @@ -612,6 +764,15 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-amd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.0.tgz#19755ee721912cf5bb04c07d50280af3484efef4" + integrity sha512-vZgDDF003B14O8zJy0XXLnPH4sg+9X5hFBBGN1V+B2rgrB+J2xIypSN6Rk9imB2hSTHQi5OHLrFWsZab1GMk+Q== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-commonjs@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz#df251706ec331bd058a34bdd72613915f82928a5" @@ -622,6 +783,16 @@ "@babel/helper-simple-access" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-commonjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.0.tgz#e3e72f4cbc9b4a260e30be0ea59bdf5a39748940" + integrity sha512-qzlCrLnKqio4SlgJ6FMMLBe4bySNis8DFn1VkGmOcxG9gqEyPIOzeQrA//u0HAKrWpJlpZbZMPB1n/OPa4+n8g== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/helper-simple-access" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-systemjs@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz#d8bbf222c1dbe3661f440f2f00c16e9bb7d0d420" @@ -632,6 +803,16 @@ "@babel/helper-plugin-utils" "^7.8.3" babel-plugin-dynamic-import-node "^2.3.0" +"@babel/plugin-transform-modules-systemjs@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.0.tgz#e9fd46a296fc91e009b64e07ddaa86d6f0edeb90" + integrity sha512-FsiAv/nao/ud2ZWy4wFacoLOm5uxl0ExSQ7ErvP7jpoihLR6Cq90ilOFyX9UXct3rbtKsAiZ9kFt5XGfPe/5SQ== + dependencies: + "@babel/helper-hoist-variables" "^7.8.3" + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + babel-plugin-dynamic-import-node "^2.3.0" + "@babel/plugin-transform-modules-umd@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz#592d578ce06c52f5b98b02f913d653ffe972661a" @@ -640,6 +821,14 @@ "@babel/helper-module-transforms" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-modules-umd@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz#e909acae276fec280f9b821a5f38e1f08b480697" + integrity sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ== + dependencies: + "@babel/helper-module-transforms" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-named-capturing-groups-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz#a2a72bffa202ac0e2d0506afd0939c5ecbc48c6c" @@ -662,7 +851,7 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/helper-replace-supers" "^7.8.3" -"@babel/plugin-transform-parameters@^7.8.4", "@babel/plugin-transform-parameters@^7.8.7": +"@babel/plugin-transform-parameters@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz#66fa2f1de4129b4e0447509223ac71bda4955395" integrity sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g== @@ -693,6 +882,15 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" +"@babel/plugin-transform-react-jsx-development@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.9.0.tgz#3c2a130727caf00c2a293f0aed24520825dbf754" + integrity sha512-tK8hWKrQncVvrhvtOiPpKrQjfNX3DtkNLSX4ObuGcpS9p0QrGetKmlySIGR07y48Zft8WVgPakqd/bk46JrMSw== + dependencies: + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-self@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.8.3.tgz#c4f178b2aa588ecfa8d077ea80d4194ee77ed702" @@ -701,6 +899,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx-self@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.9.0.tgz#f4f26a325820205239bb915bad8e06fcadabb49b" + integrity sha512-K2ObbWPKT7KUTAoyjCsFilOkEgMvFG+y0FqOl6Lezd0/13kMkkjHskVsZvblRPj1PHA44PrToaZANrryppzTvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx-source@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.8.3.tgz#951e75a8af47f9f120db731be095d2b2c34920e0" @@ -709,6 +915,14 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" +"@babel/plugin-transform-react-jsx-source@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.9.0.tgz#89ef93025240dd5d17d3122294a093e5e0183de0" + integrity sha512-K6m3LlSnTSfRkM6FcRk8saNEeaeyG5k7AVkBU2bZK3+1zdkSED3qNdsWrUgQBeTVD2Tp3VMmerxVO2yM5iITmw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + "@babel/plugin-transform-react-jsx@^7.3.0", "@babel/plugin-transform-react-jsx@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz#4220349c0390fdefa505365f68c103562ab2fc4a" @@ -718,7 +932,17 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-jsx" "^7.8.3" -"@babel/plugin-transform-regenerator@^7.8.3", "@babel/plugin-transform-regenerator@^7.8.7": +"@babel/plugin-transform-react-jsx@^7.9.1": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.9.4.tgz#86f576c8540bd06d0e95e0b61ea76d55f6cbd03f" + integrity sha512-Mjqf3pZBNLt854CK0C/kRuXAnE6H/bo7xYojP+WGtX8glDGSibcwnsWwhwoSuRg0+EBnxPC1ouVnuetUIlPSAw== + dependencies: + "@babel/helper-builder-react-jsx" "^7.9.0" + "@babel/helper-builder-react-jsx-experimental" "^7.9.0" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.8.3" + +"@babel/plugin-transform-regenerator@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz#5e46a0dca2bee1ad8285eb0527e6abc9c37672f8" integrity sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA== @@ -732,10 +956,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-transform-runtime@7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.8.3.tgz#c0153bc0a5375ebc1f1591cb7eea223adea9f169" - integrity sha512-/vqUt5Yh+cgPZXXjmaG9NT8aVfThKk7G4OqkVhrXqwsC5soMn/qTCxs36rZ2QFhpfTJcjw4SNDIZ4RUb8OL4jQ== +"@babel/plugin-transform-runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.0.tgz#45468c0ae74cc13204e1d3b1f4ce6ee83258af0b" + integrity sha512-pUu9VSf3kI1OqbWINQ7MaugnitRss1z533436waNXp+0N3ur3zfut37sXiQMxkuCF4VUjwZucen/quskCh7NHw== dependencies: "@babel/helper-module-imports" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" @@ -788,6 +1012,15 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-typescript" "^7.8.3" +"@babel/plugin-transform-typescript@^7.9.0": + version "7.9.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.9.4.tgz#4bb4dde4f10bbf2d787fce9707fb09b483e33359" + integrity sha512-yeWeUkKx2auDbSxRe8MusAG+n4m9BFY/v+lPjmQDgOFX5qnySkUY5oXzkp6FwPdsYqnKay6lorXYdC0n3bZO7w== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.8.3" + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-syntax-typescript" "^7.8.3" + "@babel/plugin-transform-unicode-regex@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz#0cef36e3ba73e5c57273effb182f46b91a1ecaad" @@ -796,27 +1029,29 @@ "@babel/helper-create-regexp-features-plugin" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" -"@babel/preset-env@7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.8.4.tgz#9dac6df5f423015d3d49b6e9e5fa3413e4a72c4e" - integrity sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w== +"@babel/preset-env@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.9.0.tgz#a5fc42480e950ae8f5d9f8f2bbc03f52722df3a8" + integrity sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ== dependencies: - "@babel/compat-data" "^7.8.4" - "@babel/helper-compilation-targets" "^7.8.4" + "@babel/compat-data" "^7.9.0" + "@babel/helper-compilation-targets" "^7.8.7" "@babel/helper-module-imports" "^7.8.3" "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-proposal-async-generator-functions" "^7.8.3" "@babel/plugin-proposal-dynamic-import" "^7.8.3" "@babel/plugin-proposal-json-strings" "^7.8.3" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-proposal-object-rest-spread" "^7.8.3" + "@babel/plugin-proposal-numeric-separator" "^7.8.3" + "@babel/plugin-proposal-object-rest-spread" "^7.9.0" "@babel/plugin-proposal-optional-catch-binding" "^7.8.3" - "@babel/plugin-proposal-optional-chaining" "^7.8.3" + "@babel/plugin-proposal-optional-chaining" "^7.9.0" "@babel/plugin-proposal-unicode-property-regex" "^7.8.3" "@babel/plugin-syntax-async-generators" "^7.8.0" "@babel/plugin-syntax-dynamic-import" "^7.8.0" "@babel/plugin-syntax-json-strings" "^7.8.0" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.8.0" "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" "@babel/plugin-syntax-optional-chaining" "^7.8.0" @@ -825,26 +1060,26 @@ "@babel/plugin-transform-async-to-generator" "^7.8.3" "@babel/plugin-transform-block-scoped-functions" "^7.8.3" "@babel/plugin-transform-block-scoping" "^7.8.3" - "@babel/plugin-transform-classes" "^7.8.3" + "@babel/plugin-transform-classes" "^7.9.0" "@babel/plugin-transform-computed-properties" "^7.8.3" "@babel/plugin-transform-destructuring" "^7.8.3" "@babel/plugin-transform-dotall-regex" "^7.8.3" "@babel/plugin-transform-duplicate-keys" "^7.8.3" "@babel/plugin-transform-exponentiation-operator" "^7.8.3" - "@babel/plugin-transform-for-of" "^7.8.4" + "@babel/plugin-transform-for-of" "^7.9.0" "@babel/plugin-transform-function-name" "^7.8.3" "@babel/plugin-transform-literals" "^7.8.3" "@babel/plugin-transform-member-expression-literals" "^7.8.3" - "@babel/plugin-transform-modules-amd" "^7.8.3" - "@babel/plugin-transform-modules-commonjs" "^7.8.3" - "@babel/plugin-transform-modules-systemjs" "^7.8.3" - "@babel/plugin-transform-modules-umd" "^7.8.3" + "@babel/plugin-transform-modules-amd" "^7.9.0" + "@babel/plugin-transform-modules-commonjs" "^7.9.0" + "@babel/plugin-transform-modules-systemjs" "^7.9.0" + "@babel/plugin-transform-modules-umd" "^7.9.0" "@babel/plugin-transform-named-capturing-groups-regex" "^7.8.3" "@babel/plugin-transform-new-target" "^7.8.3" "@babel/plugin-transform-object-super" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.8.4" + "@babel/plugin-transform-parameters" "^7.8.7" "@babel/plugin-transform-property-literals" "^7.8.3" - "@babel/plugin-transform-regenerator" "^7.8.3" + "@babel/plugin-transform-regenerator" "^7.8.7" "@babel/plugin-transform-reserved-words" "^7.8.3" "@babel/plugin-transform-shorthand-properties" "^7.8.3" "@babel/plugin-transform-spread" "^7.8.3" @@ -852,8 +1087,9 @@ "@babel/plugin-transform-template-literals" "^7.8.3" "@babel/plugin-transform-typeof-symbol" "^7.8.4" "@babel/plugin-transform-unicode-regex" "^7.8.3" - "@babel/types" "^7.8.3" - browserslist "^4.8.5" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.9.0" + browserslist "^4.9.1" core-js-compat "^3.6.2" invariant "^2.2.2" levenary "^1.1.1" @@ -930,7 +1166,30 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-transform-flow-strip-types" "^7.8.3" -"@babel/preset-react@7.8.3", "@babel/preset-react@^7.0.0": +"@babel/preset-modules@^0.1.3": + version "0.1.3" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" + integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/preset-react@7.9.1": + version "7.9.1" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.9.1.tgz#b346403c36d58c3bb544148272a0cefd9c28677a" + integrity sha512-aJBYF23MPj0RNdp/4bHnAP0NVqqZRr9kl0NAOP4nJCex6OYVio59+dnQzsAWFuogdLyeaKA1hmfUIVZkY5J+TQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-react-display-name" "^7.8.3" + "@babel/plugin-transform-react-jsx" "^7.9.1" + "@babel/plugin-transform-react-jsx-development" "^7.9.0" + "@babel/plugin-transform-react-jsx-self" "^7.9.0" + "@babel/plugin-transform-react-jsx-source" "^7.9.0" + +"@babel/preset-react@^7.0.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.8.3.tgz#23dc63f1b5b0751283e04252e78cf1d6589273d2" integrity sha512-9hx0CwZg92jGb7iHYQVgi0tOEHP/kM60CtWJQnmbATSPIQQ2xYzfoCI3EdqAhFBeeJwYMdWQuDUHMsuDbH9hyQ== @@ -941,7 +1200,15 @@ "@babel/plugin-transform-react-jsx-self" "^7.8.3" "@babel/plugin-transform-react-jsx-source" "^7.8.3" -"@babel/preset-typescript@7.8.3", "@babel/preset-typescript@^7.1.0": +"@babel/preset-typescript@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.9.0.tgz#87705a72b1f0d59df21c179f7c3d2ef4b16ce192" + integrity sha512-S4cueFnGrIbvYJgwsVFKdvOmpiL0XGw9MFW9D0vgRys5g36PBhZRL8NX8Gr2akz8XRtzq6HuDXPD/1nniagNUg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + "@babel/plugin-transform-typescript" "^7.9.0" + +"@babel/preset-typescript@^7.1.0": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.8.3.tgz#90af8690121beecd9a75d0cc26c6be39d1595d13" integrity sha512-qee5LgPGui9zQ0jR1TeU5/fP9L+ovoArklEqY12ek8P/wV5ZeM/VYSQYwICeoT6FfpJTekG9Ilay5PhwsOpMHA== @@ -968,12 +1235,12 @@ core-js-pure "^3.0.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" - integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== +"@babel/runtime@7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.0.tgz#337eda67401f5b066a6f205a3113d4ac18ba495b" + integrity sha512-cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA== dependencies: - regenerator-runtime "^0.13.2" + regenerator-runtime "^0.13.4" "@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": version "7.8.7" @@ -1011,6 +1278,21 @@ globals "^11.1.0" lodash "^4.17.13" +"@babel/traverse@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.9.0.tgz#d3882c2830e513f4fe4cec9fe76ea1cc78747892" + integrity sha512-jAZQj0+kn4WTHO5dUZkZKhbFrqZE7K5LAQ5JysMnmvGij+wOdr+8lWqPeW0BcF4wFwrEXXtdGO7wcV6YPJcf3w== + dependencies: + "@babel/code-frame" "^7.8.3" + "@babel/generator" "^7.9.0" + "@babel/helper-function-name" "^7.8.3" + "@babel/helper-split-export-declaration" "^7.8.3" + "@babel/parser" "^7.9.0" + "@babel/types" "^7.9.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + "@babel/types@^7.0.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.6.0", "@babel/types@^7.8.3", "@babel/types@^7.8.6", "@babel/types@^7.8.7": version "7.8.7" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.7.tgz#1fc9729e1acbb2337d5b6977a63979b4819f5d1d" @@ -1020,6 +1302,15 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" +"@babel/types@^7.9.0": + version "7.9.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.9.0.tgz#00b064c3df83ad32b2dbf5ff07312b15c7f1efb5" + integrity sha512-BS9JKfXkzzJl8RluW4JGknzpiUV7ZrvTayM6yfqLTVBEnFtyowVIOu6rqxRd5cVO6yGoWf4T8u8dgK9oB+GCng== + dependencies: + "@babel/helper-validator-identifier" "^7.9.0" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + "@base2/pretty-print-object@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.0.tgz#860ce718b0b73f4009e153541faff2cb6b85d047" @@ -3772,7 +4063,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.0, ajv@^6.5.5: version "6.12.0" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== @@ -4220,15 +4511,16 @@ babel-jest@^25.1.0: chalk "^3.0.0" slash "^3.0.0" -babel-loader@^8.0.5: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== +babel-loader@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" + integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" + find-cache-dir "^2.1.0" + loader-utils "^1.4.0" + mkdirp "^0.5.3" pify "^4.0.1" + schema-utils "^2.6.5" babel-plugin-add-react-displayname@^0.0.5: version "0.0.5" @@ -4507,22 +4799,24 @@ babel-preset-jest@^25.1.0: babel-plugin-transform-undefined-to-void "^6.9.4" lodash "^4.17.11" -babel-preset-react-app@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.1.tgz#d1ceb47cbe48b285fdd5c562c54c432ed5a41e0e" - integrity sha512-YkWP2UwY//TLltNlEBRngDOrYhvSLb+CA330G7T9M5UhGEMWe+JK/8IXJc5p2fDTSfSiETf+PY0+PYXFMix81Q== +babel-preset-react-app@^9.1.2: + version "9.1.2" + resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" + integrity sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA== dependencies: - "@babel/core" "7.8.4" + "@babel/core" "7.9.0" "@babel/plugin-proposal-class-properties" "7.8.3" "@babel/plugin-proposal-decorators" "7.8.3" + "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" "@babel/plugin-proposal-numeric-separator" "7.8.3" - "@babel/plugin-transform-flow-strip-types" "7.8.3" + "@babel/plugin-proposal-optional-chaining" "7.9.0" + "@babel/plugin-transform-flow-strip-types" "7.9.0" "@babel/plugin-transform-react-display-name" "7.8.3" - "@babel/plugin-transform-runtime" "7.8.3" - "@babel/preset-env" "7.8.4" - "@babel/preset-react" "7.8.3" - "@babel/preset-typescript" "7.8.3" - "@babel/runtime" "7.8.4" + "@babel/plugin-transform-runtime" "7.9.0" + "@babel/preset-env" "7.9.0" + "@babel/preset-react" "7.9.1" + "@babel/preset-typescript" "7.9.0" + "@babel/runtime" "7.9.0" babel-plugin-macros "2.8.0" babel-plugin-transform-react-remove-prop-types "0.4.24" @@ -6502,12 +6796,7 @@ diff-sequences@^25.1.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.1.0.tgz#fd29a46f1c913fd66c22645dc75bffbe43051f32" integrity sha512-nFIfVk5B/NStCsJ+zaPO4vYuLjlzQ6uFvPxzYyHlejNZ/UGa7G/n7peOXVrVNvRuyfstt+mZQYGpjxg9Z6N8Kw== -diff@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.1.tgz#0c667cb467ebbb5cea7f14f135cc2dba7780a8ff" - integrity sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q== - -diff@^4.0.1, diff@^4.0.2: +diff@4.0.2, diff@^4.0.1, diff@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== @@ -8262,46 +8551,46 @@ good-listener@^1.2.2: dependencies: delegate "^3.1.2" -google-closure-compiler-java@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200204.0.0.tgz#0d757a5c3c93398ab4fdcabe7c6b94c9fa350d1f" - integrity sha512-JFm7HDkYPSCLFXGuXKPyahxcRGfFdprG+En3AQtRus2py03Ba9K0HuXk7A+YLdT5f1ldw3Mv1/TTqb8u/53rgQ== +google-closure-compiler-java@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-java/-/google-closure-compiler-java-20200315.0.0.tgz#5b9e693ee8349c965e9857f5b23699abd7e187de" + integrity sha512-b56agHVAoBS4Gl4pZCwZNzHmlnIjS3sKr+kJBvDOcFbsGUdL/PwZAm8BIHK2Z0w2JBcHaTNFkoxen4WB5oO3rQ== -google-closure-compiler-js@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20200204.0.0.tgz#19215f251c9e57c9aa6f90a2001d15a4c28fdc56" - integrity sha512-yi2KebPz7kkyGcMM9MC1sHHApMbcrUDQm3ulk7vv0o6I6sTJ/d/ErnX2OoG89Y5inugudkYMs/8EhStDde9RIA== +google-closure-compiler-js@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-js/-/google-closure-compiler-js-20200315.0.0.tgz#60c1258059a0214a76203936ec550a39ada1f07b" + integrity sha512-PE+LZ3dDYnP0F7Sk12cdbC7skdKUIPeS4VIy7RCow97PixdpU5s1kWYyzKjX/rzj45GwMyeL2u5kG4uArZwcNA== -google-closure-compiler-linux@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20200204.0.0.tgz#250101451cdcf3628c9cf6044944d6f4235bbcb5" - integrity sha512-o+jrBtyIbJyut4g3JpxyjcEq/IvefD0ueew9pG1gk403jU6loaeUOui2uDB8rro1GvS1iVrYO6xUXIFZpS76CQ== +google-closure-compiler-linux@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-linux/-/google-closure-compiler-linux-20200315.0.0.tgz#20965d8d68e881bc150d6d3235d86f950d78cabd" + integrity sha512-wYzVbx5SYBlG8jcLa7VC9Tj2Ky5ni9CygcGnZlDM1CPaBFSvhaWI3flC267kv80nRdOAlIRB8FKyPkujdJWUoQ== -google-closure-compiler-osx@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20200204.0.0.tgz#77972493b4f30c815aebbc8041b00dc1022f6b85" - integrity sha512-ugpkHvKw5N0yIJo2uyvq54to2uwnjrHbtypgKgFMHvnrRL5L8sKkTcP9lQiAUcJ/01GpADco6bxbhNLE6qMzRg== +google-closure-compiler-osx@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-osx/-/google-closure-compiler-osx-20200315.0.0.tgz#3b009af7bf37d4e1a22a33c9a8764db0e9520071" + integrity sha512-qj3fHAzSc1IzDRLLYpikENZR+GHQujgcyJ9dhjLYQYq0PY15lk/T2xMO6aVhsDelejL1TKht9x4M4+hiNzdoAg== -google-closure-compiler-windows@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20200204.0.0.tgz#aa5ad1064f32392119449a81cf3f5202b5d88928" - integrity sha512-RAIiJK0Ch1s69ykcgITlTW6Vdp9lE6zhfKBJQf7P9emIMeAji3nIC5oxbK48DP3wUti5lFMLkq3U1m6HbPxyEw== +google-closure-compiler-windows@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler-windows/-/google-closure-compiler-windows-20200315.0.0.tgz#3fb5a810fa86f9a1df0a1770ca3aab00030a6367" + integrity sha512-gfN4jM6ft3mXe6iUzbI0HeCAy1kheH/m+N/u/Xi7/HlX9xNfcZWSmogfrXdWyviSIMNnbbHBGxnbRrKxB0ps1Q== -google-closure-compiler@^20200204.0.0: - version "20200204.0.0" - resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20200204.0.0.tgz#03454b05e3b9348d4f79d829157d924f114de8cf" - integrity sha512-jtXpxYuYazgeWSvrqaXo2WU1mBCISUiIal8lvJNS0epDYz//TPff7Iou58JFELG7VntRPoYAHtAj2PDQJyY51A== +google-closure-compiler@^20200315.0.0: + version "20200315.0.0" + resolved "https://registry.yarnpkg.com/google-closure-compiler/-/google-closure-compiler-20200315.0.0.tgz#cb05fd06cb24e5ddb84126b578591f570701f6e6" + integrity sha512-v+OFyhZ4hC36O4GRl1w5k0QL8natirkgVGs3yhmEYGrTMZOyn2+j9E6ZAq5gUWkgLC2X9SXZfcyy8HFvODqOJA== dependencies: chalk "2.x" - google-closure-compiler-java "^20200204.0.0" - google-closure-compiler-js "^20200204.0.0" + google-closure-compiler-java "^20200315.0.0" + google-closure-compiler-js "^20200315.0.0" minimist "1.x" vinyl "2.x" vinyl-sourcemaps-apply "^0.2.0" optionalDependencies: - google-closure-compiler-linux "^20200204.0.0" - google-closure-compiler-osx "^20200204.0.0" - google-closure-compiler-windows "^20200204.0.0" + google-closure-compiler-linux "^20200315.0.0" + google-closure-compiler-osx "^20200315.0.0" + google-closure-compiler-windows "^20200315.0.0" got@^6.7.1: version "6.7.1" @@ -10413,6 +10702,13 @@ json5@^2.1.0, json5@^2.1.1: dependencies: minimist "^1.2.0" +json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -10973,7 +11269,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: +loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== @@ -11290,13 +11586,6 @@ macos-release@^2.2.0: resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== -magic-string@0.25.1: - version "0.25.1" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.1.tgz#b1c248b399cd7485da0fe7385c2fc7011843266e" - integrity sha512-sCuTz6pYom8Rlt4ISPFn6wuFodbKMIHUMv4Qko9P17dpxb7s52KJTmRuZZqHdGmLCK9AOcDare039nRIcfdkEg== - dependencies: - sourcemap-codec "^1.4.1" - magic-string@0.25.7, magic-string@^0.25.5: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" @@ -11759,6 +12048,11 @@ minimist@1.x, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.3.tgz#3db5c0765545ab8637be71f333a104a965a9ca3f" integrity sha512-+bMdgqjMN/Z77a6NlY/I3U5LlRDbnmaAk6lDveAPKwSpcPM4tKAuYsvYF8xjhOPXhOYGe/73vVLVez5PW+jqhw== +minimist@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" + integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + minimist@~0.0.1: version "0.0.10" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" @@ -11846,7 +12140,7 @@ mkdirp-promise@^5.0.1: dependencies: mkdirp "*" -mkdirp@*, mkdirp@^1.0.3: +mkdirp@*: version "1.0.3" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.3.tgz#4cf2e30ad45959dddea53ad97d518b6c8205e1ea" integrity sha512-6uCP4Qc0sWsgMLy1EOqqS/3rjDHOEnsStVr/4vtAIK2Y5i2kA7lFFejYrpIyiN9w0pYf4ckeCYT9f1r1P9KX5g== @@ -11858,6 +12152,18 @@ mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: dependencies: minimist "0.0.8" +mkdirp@^0.5.3: + version "0.5.5" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" + integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + dependencies: + minimist "^1.2.5" + +mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" @@ -14381,6 +14687,13 @@ regenerate-unicode-properties@^8.1.0: dependencies: regenerate "^1.4.0" +regenerate-unicode-properties@^8.2.0: + version "8.2.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" + integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + dependencies: + regenerate "^1.4.0" + regenerate@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" @@ -14452,6 +14765,18 @@ regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +regexpu-core@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" + integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== + dependencies: + regenerate "^1.4.0" + regenerate-unicode-properties "^8.2.0" + regjsgen "^0.5.1" + regjsparser "^0.6.4" + unicode-match-property-ecmascript "^1.0.4" + unicode-match-property-value-ecmascript "^1.2.0" + registry-auth-token@^3.0.1: version "3.4.0" resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" @@ -14481,12 +14806,12 @@ registry-url@^5.0.0: dependencies: rc "^1.2.8" -regjsgen@^0.5.0: +regjsgen@^0.5.0, regjsgen@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== -regjsparser@^0.6.0: +regjsparser@^0.6.0, regjsparser@^0.6.4: version "0.6.4" resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== @@ -14793,17 +15118,17 @@ rollup-plugin-babel@^4.3.2: "@babel/helper-module-imports" "^7.0.0" rollup-pluginutils "^2.8.1" -rollup-plugin-prettier@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-prettier/-/rollup-plugin-prettier-0.6.0.tgz#3b53b4ac2def23f150f496cff9106f4042a4ade1" - integrity sha512-BgfyZ1biKcAaRNzfUyG/CeI5dFn+WsygK7kYjuXM6aL4m3t/53ZpJI2ZSMAeaKj6w2dj3CkOYbT0gulwh2SvKA== +rollup-plugin-prettier@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-prettier/-/rollup-plugin-prettier-0.7.0.tgz#4947889e467cb388798e5017e18b6a4047776511" + integrity sha512-LGy//t1XJRlhCVV1f7XaAaNumK3HOdq517xQh7G3kY3bGBG8sRUtl+wU8M1r6hEIMz9WBduVPOAB+kHTdDT8yA== dependencies: - diff "4.0.1" + diff "4.0.2" lodash.hasin "4.5.2" lodash.isempty "4.4.0" lodash.isnil "4.0.0" lodash.omitby "4.6.0" - magic-string "0.25.1" + magic-string "0.25.7" prettier "^1.0.0" rollup-plugin-strip-banner@^2.0.0: @@ -14954,6 +15279,14 @@ schema-utils@^2.0.1, schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6 ajv "^6.10.2" ajv-keywords "^3.4.1" +schema-utils@^2.6.5: + version "2.6.5" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.5.tgz#c758f0a7e624263073d396e29cd40aa101152d8a" + integrity sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ== + dependencies: + ajv "^6.12.0" + ajv-keywords "^3.4.1" + select@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d" @@ -15360,7 +15693,7 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -sourcemap-codec@^1.4.1, sourcemap-codec@^1.4.4: +sourcemap-codec@^1.4.4: version "1.4.8" resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== @@ -16490,6 +16823,11 @@ unicode-match-property-value-ecmascript@^1.1.0: resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== +unicode-match-property-value-ecmascript@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" + integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + unicode-property-aliases-ecmascript@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57"