Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
var
www
uibuilder.cmshelp.dk
httpdocs
node_modules
@mui
system
cssContainerQueries
File Content:
cssContainerQueries.js
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = cssContainerQueries; exports.getContainerQuery = getContainerQuery; exports.isCqShorthand = isCqShorthand; exports.sortContainerQueries = sortContainerQueries; var _formatMuiErrorMessage2 = _interopRequireDefault(require("@mui/utils/formatMuiErrorMessage")); /** * For using in `sx` prop to sort the breakpoint from low to high. * Note: this function does not work and will not support multiple units. * e.g. input: { '@container (min-width:300px)': '1rem', '@container (min-width:40rem)': '2rem' } * output: { '@container (min-width:40rem)': '2rem', '@container (min-width:300px)': '1rem' } // since 40 < 300 eventhough 40rem > 300px */ function sortContainerQueries(theme, css) { if (!theme.containerQueries) { return css; } const sorted = Object.keys(css).filter(key => key.startsWith('@container')).sort((a, b) => { const regex = /min-width:\s*([0-9.]+)/; return +(a.match(regex)?.[1] || 0) - +(b.match(regex)?.[1] || 0); }); if (!sorted.length) { return css; } return sorted.reduce((acc, key) => { const value = css[key]; delete acc[key]; acc[key] = value; return acc; }, { ...css }); } function isCqShorthand(breakpointKeys, value) { return value === '@' || value.startsWith('@') && (breakpointKeys.some(key => value.startsWith(`@${key}`)) || !!value.match(/^@\d/)); } function getContainerQuery(theme, shorthand) { const matches = shorthand.match(/^@([^/]+)?\/?(.+)?$/); if (!matches) { if (process.env.NODE_ENV !== 'production') { throw new Error(process.env.NODE_ENV !== "production" ? `MUI: The provided shorthand ${`(${shorthand})`} is invalid. The format should be \`@<breakpoint | number>\` or \`@<breakpoint | number>/<container>\`.\n` + 'For example, `@sm` or `@600` or `@40rem/sidebar`.' : (0, _formatMuiErrorMessage2.default)(18, `(${shorthand})`)); } return null; } const [, containerQuery, containerName] = matches; const value = Number.isNaN(+containerQuery) ? containerQuery || 0 : +containerQuery; return theme.containerQueries(containerName).up(value); } function cssContainerQueries(themeInput) { const toContainerQuery = (mediaQuery, name) => mediaQuery.replace('@media', name ? `@container ${name}` : '@container'); function attachCq(node, name) { node.up = (...args) => toContainerQuery(themeInput.breakpoints.up(...args), name); node.down = (...args) => toContainerQuery(themeInput.breakpoints.down(...args), name); node.between = (...args) => toContainerQuery(themeInput.breakpoints.between(...args), name); node.only = (...args) => toContainerQuery(themeInput.breakpoints.only(...args), name); node.not = (...args) => { const result = toContainerQuery(themeInput.breakpoints.not(...args), name); if (result.includes('not all and')) { // `@container` does not work with `not all and`, so need to invert the logic return result.replace('not all and ', '').replace('min-width:', 'width<').replace('max-width:', 'width>').replace('and', 'or'); } return result; }; } const node = {}; const containerQueries = name => { attachCq(node, name); return node; }; attachCq(containerQueries); return { ...themeInput, containerQueries }; }
Edit
Download
Unzip
Chmod
Delete