diff --git a/docs/pages/api-docs/accordion-summary.json b/docs/pages/api-docs/accordion-summary.json index 9b4343b2576923..d761ee6e6cf944 100644 --- a/docs/pages/api-docs/accordion-summary.json +++ b/docs/pages/api-docs/accordion-summary.json @@ -8,7 +8,16 @@ }, "name": "AccordionSummary", "styles": { - "classes": ["root", "expanded", "focusVisible", "disabled", "content", "expandIconWrapper"], + "classes": [ + "root", + "expanded", + "focusVisible", + "disabled", + "gutters", + "contentGutters", + "content", + "expandIconWrapper" + ], "globalClasses": { "expanded": "Mui-expanded", "focusVisible": "Mui-focusVisible", diff --git a/docs/pages/api-docs/accordion.json b/docs/pages/api-docs/accordion.json index e33a1d5a993252..0418744b77d4d1 100644 --- a/docs/pages/api-docs/accordion.json +++ b/docs/pages/api-docs/accordion.json @@ -4,6 +4,7 @@ "classes": { "type": { "name": "object" } }, "defaultExpanded": { "type": { "name": "bool" } }, "disabled": { "type": { "name": "bool" } }, + "disableGutters": { "type": { "name": "bool" } }, "expanded": { "type": { "name": "bool" } }, "onChange": { "type": { "name": "func" } }, "square": { "type": { "name": "bool" } }, @@ -13,7 +14,7 @@ }, "name": "Accordion", "styles": { - "classes": ["root", "rounded", "expanded", "disabled", "region"], + "classes": ["root", "rounded", "expanded", "disabled", "gutters", "region"], "globalClasses": { "expanded": "Mui-expanded", "disabled": "Mui-disabled" }, "name": "MuiAccordion" }, diff --git a/docs/pages/api-docs/table-pagination.json b/docs/pages/api-docs/table-pagination.json index 7428a683fc7905..6ff8723807331a 100644 --- a/docs/pages/api-docs/table-pagination.json +++ b/docs/pages/api-docs/table-pagination.json @@ -36,13 +36,12 @@ "root", "toolbar", "spacer", - "selectLabel", + "caption", "selectRoot", "select", "selectIcon", "input", "menuItem", - "displayedRows", "actions" ], "globalClasses": {}, diff --git a/docs/src/pages/components/accordion/CustomizedAccordions.js b/docs/src/pages/components/accordion/CustomizedAccordions.js index 7ac86687c66e9f..b2c870722cf3ee 100644 --- a/docs/src/pages/components/accordion/CustomizedAccordions.js +++ b/docs/src/pages/components/accordion/CustomizedAccordions.js @@ -9,15 +9,9 @@ const Accordion = withStyles({ root: { border: '1px solid rgba(0, 0, 0, .125)', boxShadow: 'none', - '&:not(:last-child)': { - borderBottom: 0, - }, '&:before': { display: 'none', }, - '&$expanded': { - margin: 'auto', - }, }, expanded: {}, })(MuiAccordion); @@ -57,6 +51,7 @@ export default function CustomizedAccordions() {
@@ -74,6 +69,7 @@ export default function CustomizedAccordions() { @@ -91,6 +87,7 @@ export default function CustomizedAccordions() { diff --git a/docs/translations/api-docs/accordion-summary/accordion-summary.json b/docs/translations/api-docs/accordion-summary/accordion-summary.json index a10e8c53152de1..6ae0ca0839d2c1 100644 --- a/docs/translations/api-docs/accordion-summary/accordion-summary.json +++ b/docs/translations/api-docs/accordion-summary/accordion-summary.json @@ -24,6 +24,16 @@ "nodeName": "the root element", "conditions": "disabled={true}" }, + "gutters": { + "description": "Styles applied to {{nodeName}} unless {{conditions}}.", + "nodeName": "the root element", + "conditions": "disableGutters={true}" + }, + "contentGutters": { + "description": "Styles applied to {{nodeName}} unless {{conditions}}.", + "nodeName": "the children wrapper element", + "conditions": "disableGutters={true}" + }, "content": { "description": "Styles applied to {{nodeName}}.", "nodeName": "the children wrapper element" diff --git a/docs/translations/api-docs/accordion/accordion.json b/docs/translations/api-docs/accordion/accordion.json index 9b386dc8b647c6..29f0459670ab28 100644 --- a/docs/translations/api-docs/accordion/accordion.json +++ b/docs/translations/api-docs/accordion/accordion.json @@ -5,6 +5,7 @@ "classes": "Override or extend the styles applied to the component. See CSS API below for more details.", "defaultExpanded": "If true, expands the accordion by default.", "disabled": "If true, the component is disabled.", + "disableGutters": "If true, the bottom margin of an expanded accordion is removed and the AccordionSummary height did not change.", "expanded": "If true, expands the accordion, otherwise collapse it. Setting this prop enables control over the accordion.", "onChange": "Callback fired when the expand/collapse state is changed.

Signature:
function(event: object, expanded: boolean) => void
event: The event source of the callback. Warning: This is a generic event not a change event.
expanded: The expanded state of the accordion.", "square": "If true, rounded corners are disabled.", @@ -29,6 +30,11 @@ "nodeName": "the root element", "conditions": "disabled={true}" }, + "gutters": { + "description": "Styles applied to {{nodeName}} unless {{conditions}}.", + "nodeName": "the root element", + "conditions": "disableGutters={true}" + }, "region": { "description": "Styles applied to {{nodeName}}, {{conditions}}.", "nodeName": "the region element", diff --git a/docs/translations/api-docs/table-pagination/table-pagination.json b/docs/translations/api-docs/table-pagination/table-pagination.json index 8e89ce9e1a643a..7b73e7cf5b45b8 100644 --- a/docs/translations/api-docs/table-pagination/table-pagination.json +++ b/docs/translations/api-docs/table-pagination/table-pagination.json @@ -29,9 +29,10 @@ "description": "Styles applied to {{nodeName}}.", "nodeName": "the spacer element" }, - "selectLabel": { - "description": "Styles applied to {{nodeName}}.", - "nodeName": "the select label Typography element" + "caption": { + "description": "Styles applied to {{nodeName}} if {{conditions}}.", + "nodeName": "the caption Typography component", + "conditions": "variant=\"caption\"" }, "selectRoot": { "description": "Styles applied to {{nodeName}}.", @@ -53,10 +54,6 @@ "description": "Styles applied to {{nodeName}}.", "nodeName": "the MenuItem component" }, - "displayedRows": { - "description": "Styles applied to {{nodeName}}.", - "nodeName": "the displayed rows Typography element" - }, "actions": { "description": "Styles applied to {{nodeName}}.", "nodeName": "the internal `TablePaginationActions` component" diff --git a/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx b/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx index c331e6f9a01126..f65e0c37edc084 100644 --- a/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx +++ b/packages/material-ui-lab/src/DesktopDatePicker/DesktopDatePicker.test.tsx @@ -2,72 +2,24 @@ import * as React from 'react'; import { expect } from 'chai'; import { spy } from 'sinon'; import TextField from '@material-ui/core/TextField'; -import { act, fireEvent, screen } from 'test/utils'; +import { fireEvent, screen, waitFor } from 'test/utils'; import DesktopDatePicker from '@material-ui/lab/DesktopDatePicker'; import { createPickerRender, FakeTransitionComponent, adapterToUse, getByMuiTest, + openDesktopPicker, } from '../internal/pickers/test-utils'; -const UncontrolledOpenDesktopDatePicker = (({ - onClose = () => {}, - onOpen = () => {}, - open: openProp, - defaultOpen, - ...other -}: any) => { - if (openProp != null) { - throw new TypeError('Controlling `open` is not supported. Use `defaultOpen` instead.'); - } - const [open, setOpen] = React.useState(defaultOpen); - - return ( - { - setOpen(false); - onClose(...args); - }} - onOpen={(...args) => { - setOpen(true); - onOpen(...args); - }} - {...other} - /> - ); -}) as typeof DesktopDatePicker; - describe('', () => { const render = createPickerRender({ strict: false }); - it('opens when "Choose date" is clicked', () => { - const handleOpen = spy(); - render( - {}} - onOpen={handleOpen} - TransitionComponent={FakeTransitionComponent} - renderInput={(params) => } - />, - ); - - act(() => { - screen.getByLabelText(/Choose date/).click(); - }); - - expect(handleOpen.callCount).to.equal(1); - expect(screen.queryByRole('dialog')).not.to.equal(null); - }); - it('accepts date on day button click', () => { const onChangeMock = spy(); + render( - ', () => { />, ); - fireEvent.click(screen.getByLabelText('Jan 2, 2019')); + openDesktopPicker(); + fireEvent.click(screen.getByLabelText('Jan 2, 2019')); expect(onChangeMock.callCount).to.equal(1); + expect(screen.queryByRole('dialog')).to.equal(null); }); - it('closes on selection', () => { + it('closes picker on selection in Desktop mode', async () => { render( - {}} @@ -93,6 +45,9 @@ describe('', () => { />, ); + fireEvent.click(screen.getByLabelText('Choose date, selected date is Jan 1, 2018')); + + await waitFor(() => screen.getByRole('dialog')); fireEvent.click(screen.getByLabelText('Jan 2, 2018')); expect(screen.queryByRole('dialog')).to.equal(null); @@ -100,9 +55,7 @@ describe('', () => { it("prop `disableCloseOnSelect` – if `true` doesn't close picker", () => { render( - ', () => { />, ); + openDesktopPicker(); fireEvent.click(screen.getByLabelText('Jan 2, 2018')); expect(screen.queryByRole('dialog')).toBeVisible(); }); - it('does not call onChange if same date selected', () => { + it('does not call onChange if same date selected', async () => { const onChangeMock = spy(); + render( ', () => { />, ); - fireEvent.click(screen.getByLabelText('Jan 1, 2018')); + fireEvent.click(screen.getByLabelText('Choose date, selected date is Jan 1, 2018')); + await waitFor(() => screen.getByRole('dialog')); + fireEvent.click(screen.getByLabelText('Jan 1, 2018')); expect(onChangeMock.callCount).to.equal(0); }); diff --git a/packages/material-ui-lab/src/internal/pickers/PickersPopper.tsx b/packages/material-ui-lab/src/internal/pickers/PickersPopper.tsx index 89f63c0799148e..42f81ffb83e8c3 100644 --- a/packages/material-ui-lab/src/internal/pickers/PickersPopper.tsx +++ b/packages/material-ui-lab/src/internal/pickers/PickersPopper.tsx @@ -68,7 +68,7 @@ const PickersPopper: React.FC> = ( const handleRef = useForkRef(paperRef, containerRef); const lastFocusedElementRef = React.useRef(null); - const handlePaperRef = useEventCallback((node: HTMLElement) => { + const handlePaperRef = useEventCallback((node) => { setRef(handleRef, node); if (node) { diff --git a/packages/material-ui-lab/src/internal/pickers/test-utils.tsx b/packages/material-ui-lab/src/internal/pickers/test-utils.tsx index 885269738887ef..26a8496a13204a 100644 --- a/packages/material-ui-lab/src/internal/pickers/test-utils.tsx +++ b/packages/material-ui-lab/src/internal/pickers/test-utils.tsx @@ -82,6 +82,10 @@ export function getByMuiTest(...args: Parameters): Eleme ); } +export function openDesktopPicker() { + fireEvent.click(screen.getByLabelText(/choose date/i)); +} + export function openMobilePicker() { fireEvent.click(screen.getByRole('textbox')); } diff --git a/packages/material-ui-utils/src/useEventCallback.spec.ts b/packages/material-ui-utils/src/useEventCallback.spec.ts deleted file mode 100644 index f86adc96667cb8..00000000000000 --- a/packages/material-ui-utils/src/useEventCallback.spec.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { unstable_useEventCallback as useEventCallback } from '@material-ui/utils'; -import { expectType } from '@material-ui/types'; - -function InferenceTest() { - useEventCallback((event) => { - expectType(event); - }); - useEventCallback((event: MouseEvent) => { - expectType(event); - }); -} diff --git a/packages/material-ui-utils/src/useEventCallback.ts b/packages/material-ui-utils/src/useEventCallback.ts deleted file mode 100644 index 771932bc4d1d7c..00000000000000 --- a/packages/material-ui-utils/src/useEventCallback.ts +++ /dev/null @@ -1,21 +0,0 @@ -import * as React from 'react'; -import useEnhancedEffect from './useEnhancedEffect'; - -/** - * https://github.com/facebook/react/issues/14099#issuecomment-440013892 - */ -export default function useEventCallback( - fn: (...args: Args) => Return, -): (...args: Args) => Return { - const ref = React.useRef(fn); - useEnhancedEffect(() => { - ref.current = fn; - }); - return React.useCallback( - (...args: Args) => - // @ts-expect-error hide `this` - // tslint:disable-next-line:ban-comma-operator - (0, ref.current!)(...args), - [], - ); -} diff --git a/packages/material-ui/src/Accordion/Accordion.d.ts b/packages/material-ui/src/Accordion/Accordion.d.ts index bf6c6227d12d6a..7cfa95e086b518 100644 --- a/packages/material-ui/src/Accordion/Accordion.d.ts +++ b/packages/material-ui/src/Accordion/Accordion.d.ts @@ -21,6 +21,8 @@ export interface AccordionProps extends StandardProps { expanded?: string; /** Pseudo-class applied to the root element if `disabled={true}`. */ disabled?: string; + /** Styles applied to the root element unless `disableGutters={true}`. */ + gutters?: string; /** Styles applied to the region element, the container of the children. */ region?: string; }; @@ -34,6 +36,11 @@ export interface AccordionProps extends StandardProps { * @default false */ disabled?: boolean; + /** + * If `true`, the bottom margin of an expanded accordion is removed and the `AccordionSummary` height did not change. + * @default false + */ + disableGutters?: boolean; /** * If `true`, expands the accordion, otherwise collapse it. * Setting this prop enables control over the accordion. diff --git a/packages/material-ui/src/Accordion/Accordion.js b/packages/material-ui/src/Accordion/Accordion.js index 44569c2e8e8d79..aaba98b8c6b839 100644 --- a/packages/material-ui/src/Accordion/Accordion.js +++ b/packages/material-ui/src/Accordion/Accordion.js @@ -17,15 +17,22 @@ const overridesResolver = (props, styles) => { return deepmerge(styles.root || {}, { ...(!styleProps.square && styles.rounded), + ...(!styleProps.disableGutters && styles.gutters), [`& .${accordionClasses.region}`]: styles.region, }); }; const useUtilityClasses = (styleProps) => { - const { classes, square, expanded, disabled } = styleProps; + const { classes, square, expanded, disabled, disableGutters } = styleProps; const slots = { - root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled'], + root: [ + 'root', + !square && 'rounded', + expanded && 'expanded', + disabled && 'disabled', + !disableGutters && 'gutters', + ], region: ['region'], }; @@ -69,7 +76,6 @@ const AccordionRoot = experimentalStyled( }, /* Styles applied to the root element if `expanded={true}`. */ [`&.${accordionClasses.expanded}`]: { - margin: '16px 0', '&:before': { opacity: 0, }, @@ -109,6 +115,13 @@ const AccordionRoot = experimentalStyled( }, }, }), + /* Styles applied to the root element unless `disableGutters={true}`. */ + ...(!styleProps.disableGutters && { + /* Styles applied to the root element if `expanded={true}`. */ + [`&.${accordionClasses.expanded}`]: { + margin: '16px 0', + }, + }), }), ); @@ -119,6 +132,7 @@ const Accordion = React.forwardRef(function Accordion(inProps, ref) { className, defaultExpanded = false, disabled = false, + disableGutters = false, expanded: expandedProp, onChange, square = false, @@ -146,16 +160,16 @@ const Accordion = React.forwardRef(function Accordion(inProps, ref) { ); const [summary, ...children] = React.Children.toArray(childrenProp); - const contextValue = React.useMemo(() => ({ expanded, disabled, toggle: handleChange }), [ - expanded, - disabled, - handleChange, - ]); + const contextValue = React.useMemo( + () => ({ expanded, disabled, disableGutters, toggle: handleChange }), + [expanded, disabled, disableGutters, handleChange], + ); const styleProps = { ...props, square, disabled, + disableGutters, expanded, }; @@ -225,6 +239,11 @@ Accordion.propTypes = { * @default false */ disabled: PropTypes.bool, + /** + * If `true`, the bottom margin of an expanded accordion is removed and the `AccordionSummary` height did not change. + * @default false + */ + disableGutters: PropTypes.bool, /** * If `true`, expands the accordion, otherwise collapse it. * Setting this prop enables control over the accordion. diff --git a/packages/material-ui/src/Accordion/AccordionContext.js b/packages/material-ui/src/Accordion/AccordionContext.js index 03678e262b9678..3a341cb263c532 100644 --- a/packages/material-ui/src/Accordion/AccordionContext.js +++ b/packages/material-ui/src/Accordion/AccordionContext.js @@ -2,7 +2,7 @@ import * as React from 'react'; /** * @ignore - internal component. - * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>} + * @type {React.Context<{} | {expanded: boolean, disabled: boolean, disableGutters: boolean, toggle: () => void}>} */ const AccordionContext = React.createContext({}); diff --git a/packages/material-ui/src/Accordion/accordionClasses.d.ts b/packages/material-ui/src/Accordion/accordionClasses.d.ts index f8840ecccac6ae..0a72dbc105ef1f 100644 --- a/packages/material-ui/src/Accordion/accordionClasses.d.ts +++ b/packages/material-ui/src/Accordion/accordionClasses.d.ts @@ -3,6 +3,7 @@ export interface AccordionClasses { rounded: string; expanded: string; disabled: string; + gutters: string; region: string; } diff --git a/packages/material-ui/src/Accordion/accordionClasses.js b/packages/material-ui/src/Accordion/accordionClasses.js index 9c0574c0301c01..3e4f31e30aadb5 100644 --- a/packages/material-ui/src/Accordion/accordionClasses.js +++ b/packages/material-ui/src/Accordion/accordionClasses.js @@ -9,6 +9,7 @@ const accordionClasses = generateUtilityClasses('MuiAccordion', [ 'rounded', 'expanded', 'disabled', + 'gutters', 'region', ]); diff --git a/packages/material-ui/src/AccordionSummary/AccordionSummary.d.ts b/packages/material-ui/src/AccordionSummary/AccordionSummary.d.ts index aa32f5cdbf7121..05d060e7f9d425 100644 --- a/packages/material-ui/src/AccordionSummary/AccordionSummary.d.ts +++ b/packages/material-ui/src/AccordionSummary/AccordionSummary.d.ts @@ -25,6 +25,10 @@ export type AccordionSummaryTypeMap< focusVisible?: string; /** Pseudo-class applied to the root element if `disabled={true}`. */ disabled?: string; + /** Styles applied to the root element unless `disableGutters={true}`. */ + gutters?: string; + /** Styles applied to the children wrapper element unless `disableGutters={true}`. */ + contentGutters?: string; /** Styles applied to the children wrapper element. */ content?: string; /** Styles applied to the `expandIcon`'s wrapper element. */ diff --git a/packages/material-ui/src/AccordionSummary/AccordionSummary.js b/packages/material-ui/src/AccordionSummary/AccordionSummary.js index 945284a3a91a61..7ad6fb67c86952 100644 --- a/packages/material-ui/src/AccordionSummary/AccordionSummary.js +++ b/packages/material-ui/src/AccordionSummary/AccordionSummary.js @@ -19,12 +19,12 @@ const overridesResolver = (props, styles) => { }; const useUtilityClasses = (styleProps) => { - const { classes, expanded, disabled } = styleProps; + const { classes, expanded, disabled, disableGutters } = styleProps; const slots = { - root: ['root', expanded && 'expanded', disabled && 'disabled'], + root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'], focusVisible: ['focusVisible'], - content: ['content', expanded && 'expanded'], + content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'], expandIconWrapper: ['expandIconWrapper', expanded && 'expanded'], }; @@ -39,34 +39,41 @@ const AccordionSummaryRoot = experimentalStyled( slot: 'Root', overridesResolver, }, -)(({ theme }) => { - const transition = { - duration: theme.transitions.duration.shortest, - }; - - return { - /* Styles applied to the root element. */ - display: 'flex', - minHeight: 8 * 6, - transition: theme.transitions.create(['min-height', 'background-color'], transition), - padding: theme.spacing(0, 2), - /* Styles applied to the root element if `expanded={true}`. */ - [`&.${accordionSummaryClasses.expanded}`]: { - minHeight: 64, - }, - /* Styles applied to the ButtonBase root element if the button is keyboard focused. */ - [`&.${accordionSummaryClasses.focusVisible}`]: { - backgroundColor: theme.palette.action.focus, - }, - /* Styles applied to the root element if `disabled={true}`. */ - [`&.${accordionSummaryClasses.disabled}`]: { - opacity: theme.palette.action.disabledOpacity, - }, - [`&:hover:not(.${accordionSummaryClasses.disabled})`]: { - cursor: 'pointer', - }, - }; -}); +)( + ({ theme }) => { + const transition = { + duration: theme.transitions.duration.shortest, + }; + + return { + /* Styles applied to the root element. */ + display: 'flex', + minHeight: 8 * 6, + transition: theme.transitions.create(['min-height', 'background-color'], transition), + padding: theme.spacing(0, 2), + /* Styles applied to the ButtonBase root element if the button is keyboard focused. */ + [`&.${accordionSummaryClasses.focusVisible}`]: { + backgroundColor: theme.palette.action.focus, + }, + /* Styles applied to the root element if `disabled={true}`. */ + [`&.${accordionSummaryClasses.disabled}`]: { + opacity: theme.palette.action.disabledOpacity, + }, + [`&:hover:not(.${accordionSummaryClasses.disabled})`]: { + cursor: 'pointer', + }, + }; + }, + ({ styleProps }) => ({ + /* Styles applied to the root element unless `disableGutters={true}`. */ + ...(!styleProps.disableGutters && { + /* Styles applied to the root element if `expanded={true}`. */ + [`&.${accordionSummaryClasses.expanded}`]: { + minHeight: 64, + }, + }), + }), +); const AccordionSummaryContent = experimentalStyled( 'div', @@ -75,23 +82,30 @@ const AccordionSummaryContent = experimentalStyled( name: 'MuiAccordionSummary', slot: 'Content', }, -)(({ theme }) => { - const transition = { - duration: theme.transitions.duration.shortest, - }; - - return { - /* Styles applied to the children wrapper element. */ - display: 'flex', - flexGrow: 1, - transition: theme.transitions.create(['margin'], transition), - margin: '12px 0', - /* Styles applied to the children wrapper element if `expanded={true}`. */ - [`&.${accordionSummaryClasses.expanded}`]: { - margin: '20px 0', - }, - }; -}); +)( + ({ theme }) => { + const transition = { + duration: theme.transitions.duration.shortest, + }; + + return { + /* Styles applied to the children wrapper element. */ + display: 'flex', + flexGrow: 1, + transition: theme.transitions.create(['margin'], transition), + margin: '12px 0', + }; + }, + ({ styleProps }) => ({ + /* Styles applied to the children wrapper element unless `disableGutters={true}`. */ + ...(!styleProps.disableGutters && { + /** Styles applied to the children wrapper element if `expanded={true}`. */ + [`&.${accordionSummaryClasses.expanded}`]: { + margin: '20px 0', + }, + }), + }), +); const AccordionSummaryExpandIconWrapper = experimentalStyled( 'div', @@ -122,7 +136,7 @@ const AccordionSummary = React.forwardRef(function AccordionSummary(inProps, ref const props = useThemeProps({ props: inProps, name: 'MuiAccordionSummary' }); const { children, className, expandIcon, focusVisibleClassName, onClick, ...other } = props; - const { disabled = false, expanded, toggle } = React.useContext(AccordionContext); + const { disabled = false, disableGutters, expanded, toggle } = React.useContext(AccordionContext); const handleChange = (event) => { if (toggle) { toggle(event); @@ -136,6 +150,7 @@ const AccordionSummary = React.forwardRef(function AccordionSummary(inProps, ref ...props, expanded, disabled, + disableGutters, }; const classes = useUtilityClasses(styleProps); diff --git a/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.d.ts b/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.d.ts index e5edf2755b3045..0bf73b5b3c7d74 100644 --- a/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.d.ts +++ b/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.d.ts @@ -3,6 +3,8 @@ export interface AccordionSummaryClasses { expanded: string; focusVisible: string; disabled: string; + gutters: string; + contentGutters: string; content: string; expandIconWrapper: string; } diff --git a/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.js b/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.js index e7af8a3598f665..97781171700c9b 100644 --- a/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.js +++ b/packages/material-ui/src/AccordionSummary/accordionSummaryClasses.js @@ -9,6 +9,8 @@ const accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', [ 'expanded', 'focusVisible', 'disabled', + 'gutters', + 'contentGutters', 'content', 'expandIconWrapper', ]); diff --git a/packages/material-ui/src/FormHelperText/FormHelperText.js b/packages/material-ui/src/FormHelperText/FormHelperText.js index cc7376a75b1990..fbb0f4f378990f 100644 --- a/packages/material-ui/src/FormHelperText/FormHelperText.js +++ b/packages/material-ui/src/FormHelperText/FormHelperText.js @@ -83,9 +83,8 @@ const FormHelperText = React.forwardRef(function FormHelperText(props, ref) { {...other} > {children === ' ' ? ( - // notranslate needed while Google Translate will not fix zero-width space issue // eslint-disable-next-line react/no-danger - + ) : ( children )} diff --git a/packages/material-ui/src/OutlinedInput/NotchedOutline.js b/packages/material-ui/src/OutlinedInput/NotchedOutline.js index 328a0fbde52644..2f5e8ce664f60a 100644 --- a/packages/material-ui/src/OutlinedInput/NotchedOutline.js +++ b/packages/material-ui/src/OutlinedInput/NotchedOutline.js @@ -95,13 +95,8 @@ const NotchedOutline = React.forwardRef(function NotchedOutline(props, ref) { })} > {/* Use the nominal use case of the legend, avoid rendering artefacts. */} - {label ? ( - {label} - ) : ( - // notranslate needed while Google Translate will not fix zero-width space issue - // eslint-disable-next-line react/no-danger - - )} + {/* eslint-disable-next-line react/no-danger */} + {label ? {label} : } ); @@ -130,9 +125,8 @@ const NotchedOutline = React.forwardRef(function NotchedOutline(props, ref) { }} > {/* Use the nominal use case of the legend, avoid rendering artefacts. */} - {/* notranslate needed while Google Translate will not fix zero-width space issue */} {/* eslint-disable-next-line react/no-danger */} - + ); diff --git a/packages/material-ui/src/Select/SelectInput.js b/packages/material-ui/src/Select/SelectInput.js index af642ae3d396ee..c779b27774a63f 100644 --- a/packages/material-ui/src/Select/SelectInput.js +++ b/packages/material-ui/src/Select/SelectInput.js @@ -390,9 +390,8 @@ const SelectInput = React.forwardRef(function SelectInput(props, ref) { > {/* So the vertical align positioning algorithm kicks in. */} {isEmpty(display) ? ( - // notranslate needed while Google Translate will not fix zero-width space issue // eslint-disable-next-line react/no-danger - + ) : ( display )} diff --git a/packages/material-ui/src/TablePagination/TablePagination.d.ts b/packages/material-ui/src/TablePagination/TablePagination.d.ts index d277b02e5461f7..000a1231430bd5 100644 --- a/packages/material-ui/src/TablePagination/TablePagination.d.ts +++ b/packages/material-ui/src/TablePagination/TablePagination.d.ts @@ -36,8 +36,8 @@ export interface TablePaginationTypeMap { toolbar?: string; /** Styles applied to the spacer element. */ spacer?: string; - /** Styles applied to the select label Typography element. */ - selectLabel?: string; + /** Styles applied to the caption Typography component if `variant="caption"`. */ + caption?: string; /** Styles applied to the Select component root element. */ selectRoot?: string; /** Styles applied to the Select component `select` class. */ @@ -48,8 +48,6 @@ export interface TablePaginationTypeMap { input?: string; /** Styles applied to the MenuItem component. */ menuItem?: string; - /** Styles applied to the displayed rows Typography element. */ - displayedRows?: string; /** Styles applied to the internal `TablePaginationActions` component. */ actions?: string; }; diff --git a/packages/material-ui/src/TablePagination/TablePagination.js b/packages/material-ui/src/TablePagination/TablePagination.js index 82f2b3e179d363..05d71b92f9f321 100644 --- a/packages/material-ui/src/TablePagination/TablePagination.js +++ b/packages/material-ui/src/TablePagination/TablePagination.js @@ -32,8 +32,8 @@ export const styles = (theme) => ({ spacer: { flex: '1 1 100%', }, - /* Styles applied to the select label Typography element. */ - selectLabel: { + /* Styles applied to the caption Typography component if `variant="caption"`. */ + caption: { flexShrink: 0, }, // TODO v5: `.selectRoot` should be merged with `.input` @@ -60,10 +60,6 @@ export const styles = (theme) => ({ }, /* Styles applied to the MenuItem component. */ menuItem: {}, - /* Styles applied to the displayed rows Typography element. */ - displayedRows: { - flexShrink: 0, - }, /* Styles applied to the internal `TablePaginationActions` component. */ actions: { flexShrink: 0, @@ -125,7 +121,7 @@ const TablePagination = React.forwardRef(function TablePagination(props, ref) {
{rowsPerPageOptions.length > 1 && ( - + {labelRowsPerPage} )} @@ -155,7 +151,7 @@ const TablePagination = React.forwardRef(function TablePagination(props, ref) { )} - + {labelDisplayedRows({ from: count === 0 ? 0 : page * rowsPerPage + 1, to: getLabelDisplayedRowsTo(), diff --git a/yarn.lock b/yarn.lock index 5204fc9997d896..a2df2647cfe5d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1070,39 +1070,39 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" -"@chakra-ui/color-mode@1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-1.0.4.tgz#c0e108700f020986cbab15e6f0966d3de4b1eba9" - integrity sha512-pOhQ+uCh92O9kyfcf0BHlCWzXTriPmuy9GL28mgEjFWi6k/OuJfy4dmlsG1gWZNnPz2uRMRyYyKeA/VYr0GMQQ== +"@chakra-ui/color-mode@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-1.0.3.tgz#9d984cbf038144c3270daa0fc1f2d5aff1bf514a" + integrity sha512-5SjvZP3z4FUWYQZM619gHgITbibu5SOfnuZDk/KkseL2WiRxj9qNmHrg/MKfdhROdgehha5Vb355bvIcfpbFxg== dependencies: - "@chakra-ui/hooks" "1.1.1" + "@chakra-ui/hooks" "1.1.0" "@chakra-ui/utils" "1.1.0" -"@chakra-ui/hooks@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-1.1.1.tgz#a74dcac4f33cf7a10488eb40d7842a488c97e829" - integrity sha512-Aq6ct0e4X5PY9phzuezGFpgXYkXyVhswbPdAcjUsFC6H7iUU2h14R/vB+gJRl9fzKNoPHrSQYKBTnIP/NnmiyA== +"@chakra-ui/hooks@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-1.1.0.tgz#18ad0125bdf244171e39995b0392ee06f886b497" + integrity sha512-DDCs4Q308j1bEMhP57SUYXpwsoaeY/dLvMuVGFYvBswQA/CaeQ4t8g5mQsTpot5ex9OKsd9PHyTqhoqpHVo0KQ== dependencies: "@chakra-ui/utils" "1.1.0" compute-scroll-into-view "1.0.14" copy-to-clipboard "3.3.1" -"@chakra-ui/styled-system@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.5.0.tgz#cd5ddb7a75dcf6e724d0f6fa5a91f1ecfe8898e2" - integrity sha512-aLEHhWvmXFAZjrUZgiYoqZMFbbsr0LkH7x7bYAmM+uhL++dDrYwUgsI0hWdbKb0qsO5N2abed39oZ1GJEHlt5A== +"@chakra-ui/styled-system@1.4.1": + version "1.4.1" + resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.4.1.tgz#8c92b2b2e02ed54b74c4fcf5ba82daa621ac8a1b" + integrity sha512-747yDSH5Gz7X5clzTzSyiy7rEo5uRoDFle8RkA41Cl5hMx6twBLRqfoCdfm5VNYQKM6E0KtG6dW6MgiwOGhY4w== dependencies: "@chakra-ui/utils" "1.1.0" css-get-unit "1.0.1" csstype "3.0.3" "@chakra-ui/system@^1.0.0": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.1.6.tgz#16aac556ab5a967d6dc05803dd7b9608b31d6849" - integrity sha512-iMbuYoccz3Q9kZwln4KOwznpgT/hfZNpFj616dBdT9lXy9BvzjvvenRJuKAsaOADb0u0oZHQmV7bc8+XiWRU6Q== + version "1.1.5" + resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.1.5.tgz#db004a06210379c0068e393bd843b3fdbc212be2" + integrity sha512-qP/zzn3/EAUFefxGHRVXxvQy9q5RA3RLTxhfkAg2+MPipt0fbVuB7qPKu3VtSo7kiDsdNM8XiMA1EuNzpe3vXg== dependencies: - "@chakra-ui/color-mode" "1.0.4" - "@chakra-ui/styled-system" "1.5.0" + "@chakra-ui/color-mode" "1.0.3" + "@chakra-ui/styled-system" "1.4.1" "@chakra-ui/utils" "1.1.0" react-fast-compare "3.2.0" @@ -2959,9 +2959,9 @@ "@types/lodash" "*" "@types/lodash@*", "@types/lodash@^4.14.136", "@types/lodash@^4.14.138": - version "4.14.168" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.168.tgz#fe24632e79b7ade3f132891afff86caa5e5ce008" - integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== + version "4.14.167" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.167.tgz#ce7d78553e3c886d4ea643c37ec7edc20f16765e" + integrity sha512-w7tQPjARrvdeBkX/Rwg95S592JwxqOjmms3zWQ0XZgSyxSLdzWaYH3vErBhdVS/lRBX7F8aBYcYJYTr5TMGOzw== "@types/luxon@^1.25.0": version "1.25.1" @@ -3003,9 +3003,9 @@ integrity sha512-/Sge3BymXo4lKc31C8OINJgXLaw+7vL1/L1pGiBNpGrBiT8FQiaFpSYV0uhTaG4y78vcMBTMFsWaHDvuD+xGzQ== "@types/node@*", "@types/node@>= 8", "@types/node@^14.0.26": - version "14.14.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18" - integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== + version "14.14.21" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.21.tgz#d934aacc22424fe9622ebf6857370c052eae464e" + integrity sha512-cHYfKsnwllYhjOzuC5q1VpguABBeecUp24yFluHpn/BQaVxB1CuQ1FSRZCzrPxrkIfWISXV2LbeoBthLWg0+0A== "@types/node@^12.12.29": version "12.12.47" @@ -3121,9 +3121,9 @@ "@types/react" "*" "@types/react-virtualized@^9.21.4": - version "9.21.11" - resolved "https://registry.yarnpkg.com/@types/react-virtualized/-/react-virtualized-9.21.11.tgz#8eb60ed12ef0b2625769819f9fd10ad4bb1bdce0" - integrity sha512-ngNe2AY/2CHuZQstOS0Jo5jnSjeyKTdSgqrXCQEltRMXLp9rwPUpJdgkoWzES6wn427Z8zo8dkBN8Sx7hlRmig== + version "9.21.10" + resolved "https://registry.yarnpkg.com/@types/react-virtualized/-/react-virtualized-9.21.10.tgz#cd072dc9c889291ace2c4c9de8e8c050da8738b7" + integrity sha512-f5Ti3A7gGdLkPPFNHTrvKblpsPNBiQoSorOEOD+JPx72g/Ng2lOt4MYfhvQFQNgyIrAro+Z643jbcKafsMW2ag== dependencies: "@types/prop-types" "*" "@types/react" "*" @@ -3517,11 +3517,6 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" -"@webpack-cli/configtest@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-1.0.0.tgz#2aff5f1ebc6f793c13ba9b2a701d180eab17f5ee" - integrity sha512-Un0SdBoN1h4ACnIO7EiCjWuyhNI0Jl96JC+63q6xi4HDUYRZn8Auluea9D+v9NWKc5J4sICVEltdBaVjLX39xw== - "@webpack-cli/info@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-1.2.1.tgz#af98311f983d0b9fce7284cfcf1acaf1e9f4879c" @@ -3529,10 +3524,10 @@ dependencies: envinfo "^7.7.3" -"@webpack-cli/serve@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.2.tgz#1f8eee44f96524756268f5e3f43e9d943f864d41" - integrity sha512-03GkWxcgFfm8+WIwcsqJb9agrSDNDDoxaNnexPnCCexP5SCE4IgFd9lNpSy+K2nFqVMpgTFw6SwbmVAVTndVew== +"@webpack-cli/serve@^1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-1.2.1.tgz#7513d7a769e3f97958de799b5b49874425ae3396" + integrity sha512-Zj1z6AyS+vqV6Hfi7ngCjFGdHV5EwZNIHo6QfFTNe9PyW+zBU1zJ9BiOW1pmUEq950RC4+Dym6flyA/61/vhyw== "@xtuc/ieee754@^1.2.0": version "1.2.0" @@ -3751,16 +3746,6 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5, ajv@^6.5.5: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.0.3.tgz#13ae747eff125cafb230ac504b2406cf371eece2" - integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - algoliasearch@^3.24.5: version "3.34.0" resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-3.34.0.tgz#02eb97bd6718e3a2c71121b9c3b655a35a4ba645" @@ -4231,12 +4216,12 @@ autocomplete.js@0.36.0: immediate "^3.2.3" autoprefixer@^10.0.1: - version "10.2.3" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.3.tgz#2834b55b75cfc10fa80c66000a66dc94b7136804" - integrity sha512-vlz+iv+EnLkVaTgX8wApfYzmK3LUfK8Z9XAnmflzxMy/+oFuNK8fVGQV79SOpBv4jxk2YQJimw4hXIKZ29570A== + version "10.2.1" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.1.tgz#ce96870df6ddd9ba4c9bbba56c54b9ef4b00a962" + integrity sha512-dwP0UjyYvROUvtU+boBx8ff5pPWami1NGTrJs9YUsS/oZVbRAcdNHOOuXSA1fc46tgKqe072cVaKD69rvCc3QQ== dependencies: browserslist "^4.16.1" - caniuse-lite "^1.0.30001178" + caniuse-lite "^1.0.30001173" colorette "^1.2.1" fraction.js "^4.0.13" normalize-range "^0.1.2" @@ -5073,10 +5058,10 @@ camelize@^1.0.0: resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" integrity sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs= -caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001113, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001178: - version "1.0.30001179" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz#b0803883b4471a6c62066fb1752756f8afc699c8" - integrity sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA== +caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001113, caniuse-lite@^1.0.30001154, caniuse-lite@^1.0.30001173: + version "1.0.30001178" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz#3ad813b2b2c7d585b0be0a2440e1e233c6eabdbc" + integrity sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ== case@1.6.3: version "1.6.3" @@ -6481,9 +6466,9 @@ dateformat@^3.0.0: integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== dayjs@^1.8.17: - version "1.10.4" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.4.tgz#8e544a9b8683f61783f570980a8a80eaf54ab1e2" - integrity sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw== + version "1.10.3" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.10.3.tgz#cf3357c8e7f508432826371672ebf376cb7d619b" + integrity sha512-/2fdLN987N8Ki7Id8BUN2nhuiRyxTLumQnSQf9CNncFCyqFsSKb9TNhzRYcC8K8eJSJOKvbvkImo/MKKhNi4iw== debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: version "2.6.9" @@ -6499,7 +6484,7 @@ debug@3.1.0, debug@~3.1.0: dependencies: ms "2.0.0" -debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: +debug@4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -7947,7 +7932,7 @@ fast-glob@^2.2.6: merge2 "^1.2.3" micromatch "^3.1.10" -fast-glob@^3.1.1, fast-glob@^3.2.4, fast-glob@^3.2.5: +fast-glob@^3.1.1, fast-glob@^3.2.4: version "3.2.5" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== @@ -8320,14 +8305,14 @@ fs-extra@^8.1.0: universalify "^0.1.0" fs-extra@^9.0.0, fs-extra@^9.0.1: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + version "9.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" + integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== dependencies: at-least-node "^1.0.0" graceful-fs "^4.2.0" jsonfile "^6.0.1" - universalify "^2.0.0" + universalify "^1.0.0" fs-minipass@^1.2.5: version "1.2.6" @@ -8679,7 +8664,7 @@ globals@^12.1.0: dependencies: type-fest "^0.8.1" -globby@^11.0.1, globby@^11.0.2: +globby@^11.0.1: version "11.0.2" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.2.tgz#1af538b766a3b540ebfb58a32b2e2d5897321d83" integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== @@ -9990,12 +9975,13 @@ jsbn@~0.1.0: integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= jscodeshift-add-imports@^1.0.1: - version "1.0.10" - resolved "https://registry.yarnpkg.com/jscodeshift-add-imports/-/jscodeshift-add-imports-1.0.10.tgz#3d0f99d539d492cfa037aa4a63f04c4a626bcff5" - integrity sha512-VUe9DJ3zkWIR62zSRQnmsOVeyt77yD8knvYNna/PzRZlF9j799hJw5sqTZu4EX16XLIqS3FxWz3nXuGuiw9iyQ== + version "1.0.7" + resolved "https://registry.yarnpkg.com/jscodeshift-add-imports/-/jscodeshift-add-imports-1.0.7.tgz#5dec165cbda4096ec095e7fab2533aa9765b4399" + integrity sha512-TfQMWotuyhf+QxWCFsbwowS83cA1j8OZBKT1c6NGZYgIAENP9RikAaqWa1pFLeK6OIKhbhw8jVpzXsI4n8VOZQ== dependencies: "@babel/traverse" "^7.4.5" jscodeshift-find-imports "^2.0.2" + p-timeout "^3.2.0" jscodeshift-find-imports@^2.0.2: version "2.0.4" @@ -10084,11 +10070,6 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -11190,14 +11171,13 @@ meow@^6.1.1: type-fest "^0.13.1" yargs-parser "^18.1.3" -meow@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-9.0.0.tgz#cd9510bc5cac9dee7d03c73ee1f9ad959f4ea364" - integrity sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ== +meow@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-8.0.0.tgz#1aa10ee61046719e334ffdc038bb5069250ec99a" + integrity sha512-nbsTRz2fwniJBFgUkcdISq8y/q9n9VbiHYbfwklFh5V4V2uAcxtKQkDc0yCLPM/kP0d+inZBewn3zJqewHE7kg== dependencies: "@types/minimist" "^1.2.0" camelcase-keys "^6.2.2" - decamelize "^1.2.0" decamelize-keys "^1.1.0" hard-rejection "^2.1.0" minimist-options "4.1.0" @@ -12502,7 +12482,7 @@ p-reduce@^1.0.0: resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= -p-timeout@^3.1.0: +p-timeout@^3.1.0, p-timeout@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== @@ -12943,11 +12923,10 @@ platform@1.3.6, platform@^1.3.3: integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== playwright@^1.6.1: - version "1.8.0" - resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.8.0.tgz#8eca2250967ee892b9fdfec44e2358455ab0f8e3" - integrity sha512-urMJDLX92KawbkWKrt3chVVBPQsuuNwlS5St7I5YQENXAEItoyUqX7FjiYaoPgXifKqe1+BKC+7pBAq1QUkgSw== + version "1.7.1" + resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.7.1.tgz#841638811bc39eb2fed792ffaacbcc959a0aaf5e" + integrity sha512-dOSWME42wDedJ/PXv8k0zG0Kxd6d6R2OKA51/05++Z2ISdA4N58gHlWqlVKPDkBog1MI6lu/KNt7QDn19AybWQ== dependencies: - commander "^6.1.0" debug "^4.1.1" extract-zip "^2.0.1" https-proxy-agent "^5.0.0" @@ -14578,9 +14557,9 @@ rollup-pluginutils@^2.3.1, rollup-pluginutils@^2.8.1: estree-walker "^0.6.1" rollup@^2.10.8: - version "2.38.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.38.0.tgz#57942d5a10826cb12ed1f19c261f774efa502d2d" - integrity sha512-ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw== + version "2.36.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.36.2.tgz#883fc793c70c8481ad604f1065cd79ab0a4e9c49" + integrity sha512-qjjiuJKb+/8n0EZyQYVW+gFU4bNRBcZaXVzUgSVrGw0HlQBlK2aWyaOMMs1Ufic1jV69b9kW3u3i9B+hISDm3A== optionalDependencies: fsevents "~2.1.2" @@ -15677,9 +15656,9 @@ stylelint-processor-styled-components@^1.10.0: postcss "^7.0.26" stylelint@^13.7.2: - version "13.9.0" - resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.9.0.tgz#93921ee6e11d4556b9f31131f485dc813b68e32a" - integrity sha512-VVWH2oixOAxpWL1vH+V42ReCzBjW2AeqskSAbi8+3OjV1Xg3VZkmTcAqBZfRRvJeF4BvYuDLXebW3tIHxgZDEg== + version "13.8.0" + resolved "https://registry.yarnpkg.com/stylelint/-/stylelint-13.8.0.tgz#446765dbe25e3617f819a0165956faf2563ddc23" + integrity sha512-iHH3dv3UI23SLDrH4zMQDjLT9/dDIz/IpoFeuNxZmEx86KtfpjDOscxLTFioQyv+2vQjPlRZnK0UoJtfxLICXQ== dependencies: "@stylelint/postcss-css-in-js" "^0.37.2" "@stylelint/postcss-markdown" "^0.36.2" @@ -15687,14 +15666,14 @@ stylelint@^13.7.2: balanced-match "^1.0.0" chalk "^4.1.0" cosmiconfig "^7.0.0" - debug "^4.3.1" + debug "^4.2.0" execall "^2.0.0" - fast-glob "^3.2.5" + fast-glob "^3.2.4" fastest-levenshtein "^1.0.12" file-entry-cache "^6.0.0" get-stdin "^8.0.0" global-modules "^2.0.0" - globby "^11.0.2" + globby "^11.0.1" globjoin "^0.1.4" html-tags "^3.1.0" ignore "^5.1.8" @@ -15704,7 +15683,7 @@ stylelint@^13.7.2: lodash "^4.17.20" log-symbols "^4.0.0" mathml-tag-names "^2.1.3" - meow "^9.0.0" + meow "^8.0.0" micromatch "^4.0.2" normalize-selector "^0.2.0" postcss "^7.0.35" @@ -15726,7 +15705,7 @@ stylelint@^13.7.2: style-search "^0.1.0" sugarss "^2.0.0" svg-tags "^1.0.0" - table "^6.0.7" + table "^6.0.3" v8-compile-cache "^2.2.0" write-file-atomic "^3.0.3" @@ -15827,12 +15806,12 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.4, table@^6.0.7: - version "6.0.7" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== +table@^6.0.3, table@^6.0.4: + version "6.0.4" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" + integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== dependencies: - ajv "^7.0.2" + ajv "^6.12.4" lodash "^4.17.20" slice-ansi "^4.0.0" string-width "^4.2.0" @@ -16608,11 +16587,6 @@ universalify@^1.0.0: resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -16946,9 +16920,9 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-bundle-analyzer@^4.1.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.0.tgz#74013106e7e2b07cbd64f3a5ae847f7e814802c7" - integrity sha512-9DhNa+aXpqdHk8LkLPTBU/dMfl84Y+WE2+KnfI6rSpNRNVKa0VGLjPd2pjFubDeqnWmulFggxmWBxhfJXZnR0g== + version "4.3.0" + resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.3.0.tgz#2f3c0ca9041d5ee47fa418693cf56b4a518b578b" + integrity sha512-J3TPm54bPARx6QG8z4cKBszahnUglcv70+N+8gUqv2I5KOFHJbzBiLx+pAp606so0X004fxM7hqRu10MLjJifA== dependencies: acorn "^8.0.4" acorn-walk "^8.0.0" @@ -16961,14 +16935,13 @@ webpack-bundle-analyzer@^4.1.0: ws "^7.3.1" webpack-cli@^4.0.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.4.0.tgz#38c7fa01ea31510f5c490245dd1bb28018792f1b" - integrity sha512-/Qh07CXfXEkMu5S8wEpjuaw2Zj/CC0hf/qbTDp6N8N7JjdGuaOjZ7kttz+zhuJO/J5m7alQEhNk9lsc4rC6xgQ== + version "4.3.1" + resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.3.1.tgz#87a7873bc9c6a4708aa657759274b691e72a04a8" + integrity sha512-/F4+9QNZM/qKzzL9/06Am8NXIkGV+/NqQ62Dx7DSqudxxpAgBqYn6V7+zp+0Y7JuWksKUbczRY3wMTd+7Uj6OA== dependencies: "@discoveryjs/json-ext" "^0.5.0" - "@webpack-cli/configtest" "^1.0.0" "@webpack-cli/info" "^1.2.1" - "@webpack-cli/serve" "^1.2.2" + "@webpack-cli/serve" "^1.2.1" colorette "^1.2.1" commander "^6.2.0" enquirer "^2.3.6" @@ -16978,7 +16951,7 @@ webpack-cli@^4.0.0: interpret "^2.2.0" rechoir "^0.7.0" v8-compile-cache "^2.2.0" - webpack-merge "^5.7.3" + webpack-merge "^4.2.2" webpack-dev-middleware@^3.7.0: version "3.7.0" @@ -16998,13 +16971,12 @@ webpack-log@^2.0.0: ansi-colors "^3.0.0" uuid "^3.3.2" -webpack-merge@^5.7.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.7.3.tgz#2a0754e1877a25a8bbab3d2475ca70a052708213" - integrity sha512-6/JUQv0ELQ1igjGDzHkXbVDRxkfA57Zw7PfiupdLFJYrgFqY5ZP8xxbpp2lU3EPwYx89ht5Z/aDkD40hFCm5AA== +webpack-merge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" + integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== dependencies: - clone-deep "^4.0.1" - wildcard "^2.0.0" + lodash "^4.17.15" webpack-sources@1.4.3, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: version "1.4.3" @@ -17118,11 +17090,6 @@ widest-line@^3.1.0: dependencies: string-width "^4.0.0" -wildcard@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" - integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== - windows-release@^3.1.0: version "3.2.0" resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.2.0.tgz#8122dad5afc303d833422380680a79cdfa91785f"