@master/css 2.0.0-beta.23 → 2.0.0-beta.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/config/breakpoints.ts", "../src/utils/hex-to-rgb.ts", "../src/utils/rgb-to-hex.ts", "../src/apis/fill-color-scale.ts", "../src/config/colors.ts", "../src/config/root-size.ts", "../src/config/selectors.ts", "../src/config/semantics.ts", "../src/config/themes.ts", "../src/config/scheme.ts", "../src/config/values.ts", "../src/utils/get-css-property-text.ts", "../src/utils/normalize-css-calc-text.ts", "../src/utils/parse-value.ts", "../src/constants/start-symbol.ts", "../src/rule.ts", "../src/rules/font-weight.ts", "../src/rules/font-family.ts", "../src/rules/font-size.ts", "../src/rules/spacing.ts", "../src/rules/width.ts", "../src/rules/height.ts", "../src/rules/min-width.ts", "../src/rules/min-height.ts", "../src/rules/letter-spacing.ts", "../src/rules/font-smoothing.ts", "../src/rules/font-style.ts", "../src/rules/font-variant-numeric.ts", "../src/rules/line-height.ts", "../src/rules/object-fit.ts", "../src/rules/object-position.ts", "../src/rules/text-align.ts", "../src/rules/text-decoration.ts", "../src/rules/text-transform.ts", "../src/rules/vertical-align.ts", "../src/rules/lines.ts", "../src/rules/transform-origin.ts", "../src/rules/transform-style.ts", "../src/rules/transform-box.ts", "../src/rules/transform.ts", "../src/rules/transition.ts", "../src/rules/transition-delay.ts", "../src/rules/transition-duration.ts", "../src/rules/transition-property.ts", "../src/rules/transition-timing-function.ts", "../src/rules/max-height.ts", "../src/rules/max-width.ts", "../src/rules/display.ts", "../src/rules/box-sizing.ts", "../src/rules/opacity.ts", "../src/rules/visibility.ts", "../src/rules/clear.ts", "../src/rules/float.ts", "../src/rules/isolation.ts", "../src/rules/overflow.ts", "../src/rules/overscroll-behavior.ts", "../src/rules/z-index.ts", "../src/rules/animation-delay.ts", "../src/rules/animation-direction.ts", "../src/rules/animation-fill-mode.ts", "../src/rules/animation-iteration-count.ts", "../src/rules/animation-name.ts", "../src/rules/animation-play-state.ts", "../src/rules/animation-timing-function.ts", "../src/rules/animation.ts", "../src/utils/get-border-props.ts", "../src/rules/border-color.ts", "../src/rules/border-radius.ts", "../src/rules/border-style.ts", "../src/rules/border-width.ts", "../src/rules/border.ts", "../src/rules/background-attachment.ts", "../src/rules/background-blend-mode.ts", "../src/rules/background-clip.ts", "../src/rules/background-color.ts", "../src/rules/background-origin.ts", "../src/rules/background-position.ts", "../src/rules/background-repeat.ts", "../src/rules/background-size.ts", "../src/rules/background-image.ts", "../src/rules/background.ts", "../src/rules/mix-blend-mode.ts", "../src/rules/position.ts", "../src/rules/placement.ts", "../src/utils/parse-value-unit.ts", "../src/rules/backdrop-filter.ts", "../src/rules/fill.ts", "../src/rules/stroke.ts", "../src/rules/stroke-width.ts", "../src/rules/filter.ts", "../src/rules/cursor.ts", "../src/rules/pointer-events.ts", "../src/rules/resize.ts", "../src/rules/touch-action.ts", "../src/rules/user-drag.ts", "../src/rules/user-select.ts", "../src/rules/box-shadow.ts", "../src/rules/text-shadow.ts", "../src/rules/text-size.ts", "../src/rules/word-break.ts", "../src/rules/grid-columns.ts", "../src/rules/grid-rows.ts", "../src/rules/gap.ts", "../src/rules/word-spacing.ts", "../src/rules/variable.ts", "../src/rules/aspect-radio.ts", "../src/rules/box-decoration-break.ts", "../src/rules/break-after.ts", "../src/rules/break-before.ts", "../src/rules/break-inside.ts", "../src/rules/flex-shrink.ts", "../src/rules/flex-direction.ts", "../src/rules/flex-grow.ts", "../src/rules/flex-wrap.ts", "../src/rules/flex-basis.ts", "../src/rules/flex.ts", "../src/rules/order.ts", "../src/rules/grid-column.ts", "../src/rules/column-span.ts", "../src/rules/grid-row.ts", "../src/rules/color.ts", "../src/rules/align-content.ts", "../src/rules/align-items.ts", "../src/rules/align-self.ts", "../src/rules/grid-auto-columns.ts", "../src/rules/grid-auto-flow.ts", "../src/rules/grid-auto-rows.ts", "../src/rules/justify-content.ts", "../src/rules/justify-items.ts", "../src/rules/justify-self.ts", "../src/rules/place-content.ts", "../src/rules/place-items.ts", "../src/rules/place-self.ts", "../src/rules/padding.ts", "../src/rules/margin.ts", "../src/rules/text-overflow.ts", "../src/rules/list-style-position.ts", "../src/rules/list-style-type.ts", "../src/rules/list-style.ts", "../src/rules/text-decoration-color.ts", "../src/rules/text-decoration-style.ts", "../src/rules/text-decoration-thickness.ts", "../src/rules/text-indent.ts", "../src/rules/content.ts", "../src/rules/outline-color.ts", "../src/rules/outline-offset.ts", "../src/rules/outline-style.ts", "../src/rules/outline-width.ts", "../src/rules/outline.ts", "../src/rules/border-collapse.ts", "../src/rules/border-spacing.ts", "../src/rules/table-layout.ts", "../src/rules/accent-color.ts", "../src/rules/appearance.ts", "../src/rules/caret-color.ts", "../src/rules/scroll-behavior.ts", "../src/rules/scroll-margin.ts", "../src/rules/scroll-padding.ts", "../src/rules/scroll-snap-align.ts", "../src/rules/scroll-snap-stop.ts", "../src/rules/scroll-snap-type.ts", "../src/rules/will-change.ts", "../src/rules/text-underline-offset.ts", "../src/rules/inset.ts", "../src/rules/columns.ts", "../src/rules/white-space.ts", "../src/rules/text-orientation.ts", "../src/rules/writing-mode.ts", "../src/rules/contain.ts", "../src/rules/animation-duration.ts", "../src/rules/text-rendering.ts", "../src/rules/direction.ts", "../src/rules/text-decoration-line.ts", "../src/rules/grid-column-start.ts", "../src/rules/list-style-image.ts", "../src/rules/shape-outside.ts", "../src/rules/shape-margin.ts", "../src/rules/shape-image-threshold.ts", "../src/rules/clip-path.ts", "../src/rules/grid.ts", "../src/rules/font.ts", "../src/rules/quotes.ts", "../src/rules/grid-template.ts", "../src/rules/grid-row-start.ts", "../src/rules/grid-template-areas.ts", "../src/rules/grid-template-columns.ts", "../src/rules/grid-template-rows.ts", "../src/rules/grid-area.ts", "../src/rules/grid-column-end.ts", "../src/rules/grid-row-end.ts", "../src/rules/mask-image.ts", "../src/rules/text-fill-color.ts", "../src/rules/text-stroke.ts", "../src/rules/text-stroke-width.ts", "../src/rules/text-stroke-color.ts", "../src/rules/stroke-dasharray.ts", "../src/rules/stroke-dashoffset.ts", "../src/rules/x.ts", "../src/rules/y.ts", "../src/rules/cx.ts", "../src/rules/cy.ts", "../src/rules/rx.ts", "../src/rules/ry.ts", "../src/rules/border-image-outset.ts", "../src/rules/border-image-repeat.ts", "../src/rules/border-image-slice.ts", "../src/rules/border-image-source.ts", "../src/rules/border-image-width.ts", "../src/rules/border-image.ts", "../src/rules/group.ts", "../src/rules/counter-increment.ts", "../src/rules/counter-reset.ts", "../src/config/rules.ts", "../src/config/index.ts", "../src/utils/concat-arrays.ts", "../src/utils/get-type.ts", "../src/utils/is-plain-object.ts", "../src/utils/is-symbol.ts", "../src/apis/extend.ts", "../src/css.ts", "../src/index.browser.ts"],
4
- "sourcesContent": ["const defaultBreakpoints = {\n '3xs': 360,\n '2xs': 480,\n xs: 600,\n sm: 768,\n md: 1024,\n lg: 1280,\n xl: 1440,\n '2xl': 1600,\n '3xl': 1920,\n '4xl': 2560\n}\n\nexport default defaultBreakpoints", "export function hexToRgb(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n const aRgbHex = hex.match(/.{1,2}/g)\n return [parseInt(aRgbHex[0], 16), parseInt(aRgbHex[1], 16), parseInt(aRgbHex[2], 16)]\n}", "export function rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}", "import { hexToRgb } from '../utils/hex-to-rgb'\nimport { rgbToHex } from '../utils/rgb-to-hex'\n\nexport default function fillColorScale(data) {\n if (typeof data === 'string') {\n data = { '': data }\n }\n\n const hasMainRgb = '' in data\n\n let isLevelMore100 = false\n for (const level in data) {\n if (level && +level >= 100) {\n isLevelMore100 = true\n break\n }\n }\n\n if (!isLevelMore100 && (!hasMainRgb || Object.keys(data).length > 1)) {\n let startLevel = 0,\n startRgb = '0' in data\n ? hexToRgb(data[0])\n : [0, 0, 0],\n endLevel,\n endRgb\n\n const newLevels = []\n const generateColor = () => {\n const levelDiff = endLevel - startLevel\n const rgbDiff = endRgb.map((color, i) => (color - startRgb[i]) / levelDiff)\n for (const eachNewLevel of newLevels) {\n const currentLevelDiff = eachNewLevel - startLevel\n const newRgb = startRgb.map((color, i) => Math.round(color + rgbDiff[i] * currentLevelDiff))\n data[eachNewLevel] = '#' + rgbToHex.call(this, ...newRgb)\n }\n }\n\n for (let i = 1; i < 100; i++) {\n if (i in data) {\n if (newLevels.length) {\n endLevel = i\n endRgb = hexToRgb(data[i])\n\n generateColor()\n\n newLevels.length = 0\n\n startRgb = endRgb\n } else {\n startRgb = hexToRgb(data[i])\n }\n\n startLevel = i\n } else {\n newLevels.push(i)\n }\n }\n\n if (newLevels.length) {\n endLevel = 100\n endRgb = '100' in data\n ? hexToRgb(data[100])\n : [255, 255, 255]\n\n generateColor()\n }\n }\n\n if (!hasMainRgb) {\n data[''] = data[isLevelMore100 ? '500' : '50']\n }\n\n return data\n}", "import fillColorScale from '../apis/fill-color-scale'\n\nconst defaultColors = {\n slate: fillColorScale({\n 5: '#141e2b',\n 10: '#19212d',\n 20: '#262f3e',\n 30: '#323e52',\n 40: '#41516b',\n 50: '#616a84',\n 55: '#6c7693',\n 60: '#959db3',\n 70: '#a3abbf',\n 80: '#d7dae3',\n 95: '#f6f7f8'\n }),\n gray: fillColorScale({\n 5: '#1e1d1f',\n 10: '#212022',\n 20: '#2f2e30',\n 30: '#3e3d40',\n 40: '#504f52',\n 50: '#6b6a6d',\n 55: '#777679',\n 60: '#9e9da0',\n 70: '#abaaae',\n 80: '#dad9db',\n 95: '#f5f4f7'\n }),\n brown: fillColorScale({\n 5: '#271b15',\n 10: '#2b1e18',\n 20: '#3c2b22',\n 30: '#50382c',\n 40: '#694839',\n 50: '#8d604b',\n 55: '#9d6b53',\n 60: '#b79788',\n 70: '#c1a598',\n 80: '#efd5c9',\n 95: '#faf2ef'\n }),\n orange: fillColorScale({\n 5: '#2e1907',\n 10: '#331b07',\n 20: '#47260b',\n 30: '#5d320e',\n 40: '#7a4111',\n 50: '#a15717',\n 55: '#b4611a',\n 60: '#e38739',\n 70: '#e79855',\n 80: '#f7d4b5',\n 95: '#fcf1e7'\n }),\n gold: fillColorScale({\n 5: '#281b00',\n 10: '#2d1e01',\n 20: '#3f2a00',\n 30: '#543800',\n 40: '#6d4900',\n 50: '#906000',\n 55: '#9c6d00',\n 60: '#d09100',\n 70: '#dca000',\n 80: '#fbd67f',\n 95: '#fff3d8'\n }),\n yellow: fillColorScale({\n 5: '#251d00',\n 10: '#282000',\n 20: '#3a2e01',\n 30: '#4b3b00',\n 40: '#624e00',\n 50: '#806700',\n 55: '#8e7200',\n 60: '#be9900',\n 70: '#d0a700',\n 80: '#edda8f',\n 95: '#fff5ca'\n }),\n grass: fillColorScale({\n 5: '#162106',\n 10: '#182406',\n 20: '#223308',\n 30: '#2c4408',\n 40: '#3a570b',\n 50: '#4e750e',\n 60: '#74ae15',\n 70: '#7dbc17',\n 80: '#bfe87c',\n 95: '#ebfad4'\n }),\n green: fillColorScale({\n 5: '#042311',\n 10: '#032611',\n 20: '#023717',\n 30: '#03481f',\n 40: '#025d26',\n 50: '#067b34',\n 55: '#07883a',\n 60: '#09b64d',\n 70: '#0ac553',\n 80: '#80f1a4',\n 95: '#e0fae8'\n }),\n beryl: fillColorScale({\n 5: '#002319',\n 10: '#00271c',\n 20: '#003626',\n 30: '#004732',\n 40: '#005c41',\n 50: '#007954',\n 55: '#00875e',\n 60: '#00b37c',\n 70: '#00c387',\n 80: '#72f0c5',\n 95: '#d6fcef'\n }),\n teal: fillColorScale({\n 5: '#012220',\n 10: '#012624',\n 20: '#003532',\n 30: '#004541',\n 40: '#005a54',\n 50: '#00776f',\n 55: '#00857c',\n 60: '#00b1a5',\n 70: '#00bfb2',\n 80: '#6aeee5',\n 95: '#d4fcf8'\n }),\n cyan: fillColorScale({\n 5: '#00222b',\n 10: '#00252e',\n 20: '#013340',\n 30: '#004457',\n 40: '#00576f',\n 50: '#007391',\n 55: '#0080a1',\n 60: '#00abd7',\n 70: '#00b9e9',\n 80: '#97e6fa',\n 95: '#dff8ff'\n }),\n sky: fillColorScale({\n 5: '#031f34',\n 10: '#032339',\n 20: '#04314e',\n 30: '#044169',\n 40: '#065386',\n 50: '#086eb3',\n 55: '#097ac5',\n 60: '#29a4f5',\n 70: '#4db3f7',\n 80: '#b3e0ff',\n 95: '#eaf6fe'\n }),\n blue: fillColorScale({\n 5: '#07194a',\n 10: '#081c53',\n 20: '#0a2773',\n 30: '#0e3496',\n 40: '#1146b6',\n 50: '#175fe9',\n 55: '#2671ea',\n 60: '#6b9ef1',\n 70: '#81acf3',\n 80: '#c6dbfe',\n 95: '#edf4fe'\n }),\n indigo: fillColorScale({\n 5: '#1f1645',\n 10: '#20174f',\n 20: '#2b1f74',\n 30: '#37289d',\n 40: '#463fb1',\n 50: '#5a5bd5',\n 55: '#6464f1',\n 60: '#9393f5',\n 70: '#a1a5ee',\n 80: '#d5d7fe',\n 95: '#f1f2ff'\n }),\n violet: fillColorScale({\n 5: '#2b0a4e',\n 10: '#2e0b57',\n 20: '#3d1179',\n 30: '#4e169f',\n 40: '#5f2eba',\n 50: '#7949e5',\n 55: '#8755f5',\n 60: '#ac8af8',\n 70: '#b89bf9',\n 80: '#e1d4fe',\n 95: '#f5f1ff'\n }),\n purple: fillColorScale({\n 5: '#2e0c47',\n 10: '#330c4e',\n 20: '#460f6c',\n 30: '#5b1390',\n 40: '#7421b1',\n 50: '#9832e4',\n 55: '#a348e7',\n 60: '#c184ef',\n 70: '#ca96f1',\n 80: '#ead1fe',\n 95: '#f9f0ff'\n }),\n fuchsia: fillColorScale({\n 5: '#39092a',\n 10: '#400932',\n 20: '#560d4a',\n 30: '#6f1165',\n 40: '#8c158a',\n 50: '#b61cbb',\n 55: '#ca1fce',\n 60: '#e66ee9',\n 70: '#ea86ed',\n 80: '#facbfb',\n 95: '#feefff'\n }),\n pink: fillColorScale({\n 5: '#3d0722',\n 10: '#430725',\n 20: '#5d0933',\n 30: '#790d44',\n 40: '#9a1058',\n 50: '#ca1473',\n 55: '#e11681',\n 60: '#f170b4',\n 70: '#f388c0',\n 80: '#fdcde6',\n 95: '#fff0f8'\n }),\n crimson: fillColorScale({\n 5: '#430213',\n 10: '#470314',\n 20: '#62041c',\n 30: '#800524',\n 40: '#9f1036',\n 50: '#ce1a4b',\n 55: '#e8144c',\n 60: '#f37596',\n 70: '#f58ba7',\n 80: '#fdceda',\n 95: '#fff1f4'\n }),\n red: fillColorScale({\n 5: '#450001',\n 10: '#490102',\n 20: '#640304',\n 30: '#800506',\n 40: '#a11012',\n 50: '#d11a1e',\n 55: '#ed0a0e',\n 60: '#f97476',\n 70: '#fa8b8d',\n 80: '#fdcfcf',\n 95: '#fff1f1'\n }),\n black: '#000000',\n white: '#ffffff'\n}\n\nexport default defaultColors", "const defaultRootSize = 16\nexport default defaultRootSize", "const defaultSelectors = {\n '::scrollbar': '::-webkit-scrollbar',\n '::scrollbar-button': '::-webkit-scrollbar-button',\n '::scrollbar-thumb': '::-webkit-scrollbar-thumb',\n '::scrollbar-track': '::-webkit-scrollbar-track',\n '::scrollbar-track-piece': '::-webkit-scrollbar-track-piece',\n '::scrollbar-corner': '::-webkit-scrollbar-corner',\n '::slider-thumb': ['::-webkit-slider-thumb', '::-moz-range-thumb'],\n '::slider-runnable-track': ['::-webkit-slider-runnable-track', '::-moz-range-track'],\n '::meter': '::-webkit-meter',\n '::resizer': '::-webkit-resizer',\n '::progress': '::-webkit-progress',\n ':first': ':first-child',\n ':last': ':last-child',\n ':even': ':nth-child(2n)',\n ':odd': ':nth-child(odd)',\n ':nth(': ':nth-child('\n}\n\nexport default defaultSelectors", "const defaultSemantics = {\n square: 'aspect-ratio:1/1',\n video: 'aspect-ratio:16/9',\n rounded: 'border-radius:1e9em',\n round: 'border-radius:50%',\n hidden: 'display:none',\n hide: 'display:none',\n block: 'display:block',\n table: 'display:table',\n flex: 'display:flex',\n grid: 'display:grid',\n contents: 'display:contents',\n inline: 'display:inline',\n 'inline-block': 'display:inline-block',\n 'inline-flex': 'display:inline-flex',\n 'inline-grid': 'display:inline-grid',\n 'inline-table': 'display:inline-table',\n 'table-cell': 'display:table-cell',\n 'table-caption': 'display:table-caption',\n 'flow-root': 'display:flow-root',\n 'list-item': 'display:list-item',\n 'table-row': 'display:table-row',\n 'table-column': 'display:table-column',\n 'table-row-group': 'display:table-row-group',\n 'table-column-group': 'display:table-column-group',\n 'table-header-group': 'display:table-header-group',\n 'table-footer-group': 'display:table-footer-group',\n italic: 'font-style:italic',\n oblique: 'font-style:oblique',\n isolate: 'isolation:isolate',\n overflow: 'overflow:visible',\n untouchable: 'pointer-events:none',\n static: 'position:static',\n fixed: 'position:fixed',\n abs: 'position:absolute',\n rel: 'position:relative',\n sticky: 'position:sticky',\n uppercase: 'text-transform:uppercase',\n lowercase: 'text-transform:lowercase',\n capitalize: 'text-transform:capitalize',\n visible: 'visibility:visible',\n invisible: 'visibility:hidden',\n 'center-content': {\n 'justify-content': 'center',\n 'align-items': 'center',\n },\n 'sr-only': {\n 'position': 'absolute',\n 'width': '1px',\n 'height': '1px',\n 'padding': '0',\n 'margin': '-1px',\n 'overflow': 'hidden',\n 'clip': 'rect(0,0,0,0)',\n 'white-space': 'nowrap',\n 'border-width': '0'\n },\n full: {\n width: '100%',\n height: '100%'\n },\n center: {\n left: 0,\n right: 0,\n 'margin-left': 'auto',\n 'margin-right': 'auto'\n },\n middle: {\n top: 0,\n bottom: 0,\n 'margin-top': 'auto',\n 'margin-bottom': 'auto'\n },\n 'break-spaces': {\n 'white-space': 'break-spaces'\n },\n 'break-word': {\n 'overflow-wrap': 'break-word',\n overflow: 'hidden'\n }\n}\n\nexport default defaultSemantics", "const defaultThemes = ['dark', 'light']\nexport default defaultThemes", "const defaultScheme = {\n storage: {\n sync: true,\n key: 'scheme'\n }\n}\n\nexport default defaultScheme", "import defaultBreakpoints from './breakpoints'\n\nconst boxUnderneath = {\n content: 'content-box',\n border: 'border-box',\n padding: 'padding-box'\n}\n\nconst contentExtrema = {\n min: 'min-content',\n max: 'max-content'\n}\n\nconst sizingValues = {\n full: '100%',\n fit: 'fit-content',\n max: 'max-content',\n min: 'min-content',\n}\nfor (const key in defaultBreakpoints) {\n sizingValues[key] = (defaultBreakpoints[key] / 16) + 'rem'\n}\n\nconst defaultValues = {\n BackgroundClip: boxUnderneath,\n BackgroundOrigin: boxUnderneath,\n BoxSizing: {\n content: 'content-box',\n border: 'border-box',\n },\n ClipPath: {\n ...boxUnderneath,\n margin: 'margin-box',\n fill: 'fill-box',\n stroke: 'stroke-box',\n view: 'view-box'\n },\n FlexDirection: {\n col: 'column',\n 'col-reverse': 'column-reverse'\n },\n FontFamily: {\n mono: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace',\n sans: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji',\n serif: 'ui-serif, Georgia, Cambria, Times New Roman, Times, serif'\n },\n FontWeight: {\n thin: 100,\n extralight: 200,\n light: 300,\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n extrabold: 800,\n heavy: 900\n },\n GridAutoColumns: contentExtrema,\n GridAutoRows: contentExtrema,\n GridTemplateColumns: contentExtrema,\n GridTemplateRows: contentExtrema,\n Order: {\n first: -999999,\n last: 999999\n },\n Position: {\n abs: 'absolute',\n rel: 'relative'\n },\n ShapeOutside: {\n ...boxUnderneath,\n margin: 'margin-box'\n },\n TransformBox: {\n ...boxUnderneath,\n fill: 'fill-box',\n stroke: 'stroke-box',\n view: 'view-box'\n },\n Width: sizingValues,\n MinWidth: sizingValues,\n MinHeight: sizingValues,\n MaxWidth: sizingValues,\n MaxHeight: sizingValues,\n Height: sizingValues,\n FlexBasis: sizingValues\n}\n\nexport default defaultValues", "export function getCssPropertyText(name: string, property: { unit?: string, value?: any, important?: boolean }) {\n return (name ? name + ':' : '')\n + (property.unit\n ? property.value + property.unit\n : property.value)\n + (property.important ? '!important' : '')\n}", "/**\n * \u5C07 calc( \u6B63\u898F\u5316\n * https://aoyue.notion.site/css-calc-2f37632c5cf749949cc060f0f2111443\n */\nexport function normalizeCssCalcText(value: string) {\n const isOperator = (char: string) => char === '+' || char === '-' || char === '*' || char === '/'\n\n let newValue = '', type: 1 | 2, current = '', endWithBracket = false\n function clear() {\n type = null\n current = ''\n }\n\n for (let i = 0; i < value.length; i++) {\n const char = value[i]\n\n if (char === '(' || char === ')') {\n endWithBracket = char === ')'\n newValue += current + char\n clear()\n } else if (char === ',') {\n newValue += current + char + ' '\n clear()\n } else {\n switch (type) {\n // \u5B57\u4E32\n case 1:\n break\n // \u6578\u5B57\n case 2:\n if (isOperator(char)) {\n newValue += current + ' ' + char + ' '\n clear()\n continue\n }\n break\n default:\n if (endWithBracket) {\n current += ' '\n }\n\n if (!isNaN(+char)) {\n type = 2\n } else if (!isOperator(char)) {\n type = 1\n }\n break\n }\n\n current += char\n }\n }\n\n if (current) {\n newValue += current\n }\n\n return newValue\n}", "import { normalizeCssCalcText } from './normalize-css-calc-text'\n\nconst UNIT_VALUE_PATTERN = /^([+-.]?\\d+(\\.?\\d+)?)(.*)?/\nconst VAR_START = 'var(--'\n\nexport function parseValue(\n token: string | number,\n defaultUnit?: string,\n colorsThemesMap?: Record<string, Record<string, Record<string, string>>>,\n values?: Record<string, string | number>,\n globalValues?: Record<string, string | number>,\n rootSize?: number,\n themes?: string[]\n): {\n value: string,\n unit: string,\n unitToken: string,\n colorMatched?: boolean\n} {\n let value: any = ''\n let unit = ''\n let unitToken = ''\n let colorMatched: boolean = undefined \n\n if (values && token in values) {\n return { value: values[token].toString(), unit, unitToken }\n } else if (globalValues && token in globalValues) {\n return { value: globalValues[token].toString(), unit, unitToken }\n } else if (typeof token === 'number') {\n value = token\n unit = defaultUnit || ''\n } else {\n if (colorsThemesMap) {\n const colorNames = Object.keys(colorsThemesMap)\n let anyMatched = false\n let hasColorName = false\n \n token = token.replace(\n new RegExp(`(^|,| |\\\\()(${colorNames.join('|')})(?:-([0-9A-Za-z]+))?(?:\\\\/(\\\\.?[0-9]+%?))?(?=(\\\\)|\\\\}|,| |$))`, 'gm'),\n (origin, prefix, colorName, level, opacityStr) => {\n hasColorName = true\n\n const themeHexColorMap = colorsThemesMap[colorName]?.[level || '']\n if (themeHexColorMap) {\n let hexColor: string\n for (const eachTheme of themes) {\n if ((hexColor = themeHexColorMap[eachTheme]))\n break\n }\n\n if (hexColor) {\n anyMatched = true\n\n let newValue = hexColor\n if (opacityStr) {\n let opacity = opacityStr.endsWith('%')\n ? parseFloat(opacityStr) / 100.0\n : +opacityStr\n\n opacity = isNaN(opacity)\n ? 1\n : Math.min(Math.max(opacity, 0), 1)\n \n newValue += Math.round(opacity * 255).toString(16).toUpperCase().padStart(2, '0')\n }\n \n return prefix + newValue\n }\n }\n\n return origin\n })\n\n if (hasColorName) {\n colorMatched = anyMatched\n }\n }\n if (defaultUnit) {\n const matches = token.match(UNIT_VALUE_PATTERN)\n // ['0.5deg', '0.5', 'deg', index: 0, input: '0.5deg', groups: undefined]\n if (matches) {\n if (token.includes('/')) {\n // w:1/2 -> width: 50%\n const splits = token.split('/')\n return { value: (+splits[0] / +splits[1]) * 100 + '%', unit, unitToken }\n } else {\n value = +matches[1]\n unit = unitToken = matches[3] || ''\n /**\n * \u7576\u7121\u55AE\u4F4D\u503C\u4E14 defaultUnit === 'rem'\uFF0C\n * \u5C07 pxValue / 16 \u8F49\u70BA remValue\n */\n if (!unit) {\n if (defaultUnit === 'rem' || defaultUnit === 'em') {\n value = value / rootSize\n }\n unit = defaultUnit || ''\n }\n return { value, unit, unitToken }\n }\n }\n }\n value = (token.indexOf('calc(') === -1\n ? token\n : normalizeCssCalcText(token))\n .replace(/\\$\\(((\\w|-)+)\\)/g, VAR_START + '$1)')\n }\n return { value, unit, unitToken, colorMatched }\n}", "export const START_SYMBOL = {\n '(': ')',\n '\\'': '\\'',\n '{': '}'\n}", "import { getCssPropertyText } from './utils/get-css-property-text'\nimport { parseValue } from './utils/parse-value'\nimport { START_SYMBOL } from './constants/start-symbol'\nimport MasterCSS from './css'\nimport type { MasterCSSConfig } from './config'\n\nconst PRIORITY_SELECTORS = [':disabled', ':active', ':focus', ':hover']\nconst MATCHES = 'matches'\nconst SEMANTICS = 'semantics'\nconst SYMBOL = 'symbol'\nconst WIDTH = 'width'\nconst MAX_WIDTH = 'max-' + WIDTH\nconst MIN_WIDTH = 'min-' + WIDTH\nconst MOTION = 'motion'\nconst REDUCE = 'reduce'\nconst REDUCED_MOTION = REDUCE + 'd-' + MOTION\n\nconst PX = 'px'\nconst REM = 'rem'\n\nconst selectorSymbols = ['!', '*', '>', '+', '~', ':', '[', '@', '_']\nconst selectorSplitRegexp = /(\\\\'(?:.*?)[^\\\\]\\\\')(?=[*_>~+,)])|(\\[[^=]+='(?:.*?)[^\\\\]'\\])/\nconst transformSelectorUnderline = (selector: string) => selector.split(selectorSplitRegexp)\n .map((eachToken, i) => i % 3 ? eachToken : eachToken.replace(/_/g, ' '))\n .join('')\n\nexport default class MasterCSSRule {\n\n readonly prefix: string\n readonly symbol: string\n readonly token: string\n readonly prefixSelectors: string[]\n readonly vendorSuffixSelectors: Record<string, string[]>\n readonly important: boolean\n readonly media: MasterCSSMedia\n readonly at: Record<string, string> = {}\n readonly direction: string\n readonly themeName: string\n readonly unitToken: string\n readonly hasWhere: boolean\n readonly prioritySelectorIndex: number = -1\n readonly natives: { unit: string, value: string | Record<string, string | number>, text: string, themeName: string, cssRule?: CSSRule }[] = []\n\n static id: string\n static propName: string\n static matches: RegExp\n static colorStarts: string\n static symbol: string\n static unit = REM\n static colorful: boolean\n\n static match(\n name: string,\n colorNames: string[]\n ): MasterCSSRuleMatching {\n /** \n * STEP 1. matches\n */\n if (this.matches && this.matches.test(name)) {\n return { origin: MATCHES }\n }\n /** \n * STEP 2. color starts\n */\n // TODO: \u52D5\u614B new Regex \u6548\u80FD\u554F\u984C\u5F85\u512A\u5316\n if (this.colorStarts\n && (\n name.match('^' + this.colorStarts + '(?:(?:#|(rgb|hsl)\\\\(.*\\\\))((?!\\\\|).)*$|(?:transparent|current))')\n || colorNames.length\n && name.match('^' + this.colorStarts + '(' + colorNames.join('|') + ')')\n && name.indexOf('|') === -1\n )\n ) {\n return { origin: MATCHES }\n }\n /** \n * STEP 3. symbol\n */\n if (this.symbol && name.startsWith(this.symbol)) {\n return { origin: SYMBOL }\n }\n /**\n * STEP 4. key full name\n */\n if (this.propName && name.startsWith(this.propName + ':')) {\n return { origin: MATCHES }\n }\n }\n\n constructor(\n public readonly className: string,\n public readonly matching: MasterCSSRuleMatching,\n public css: MasterCSS\n ) {\n const TargetRule = this.constructor as typeof MasterCSSRule\n const { id, unit, propName, colorful } = TargetRule\n const { breakpoints, mediaQueries, semantics, rootSize } = css.config\n const { themeNames, colorsThemesMap, selectors, globalValues } = css\n const values = css.values[id]\n const relationThemesMap = css.relationThemesMap[className]\n\n const token = className\n\n // 1. value / selectorToken\n let value: string | Record<string, string | number>, prefixToken: string, suffixToken: string, valueTokens: (string | { value: string })[]\n if (matching.origin === SEMANTICS) {\n suffixToken = token.slice(matching.value.length)\n value = semantics[matching.value]\n } else {\n let valueToken: string\n if (matching.origin === MATCHES) {\n if (id === 'Group') {\n let i = 0\n for (; i < token.length; i++) {\n if (token[i] === '{' && token[i - 1] !== '\\\\') {\n break\n }\n }\n\n prefixToken = token.slice(0, i)\n valueToken = token.slice(i)\n } else {\n const indexOfColon = token.indexOf(':')\n this.prefix = token.slice(0, indexOfColon + 1)\n if (this.prefix.includes('(')) {\n this.prefix = undefined\n valueToken = token\n } else {\n valueToken = token.slice(indexOfColon + 1)\n }\n }\n } else if (matching.origin === SYMBOL) {\n this.symbol = token[0]\n valueToken = token.slice(1)\n }\n\n valueTokens = []\n let currentValueToken = ''\n let i = 0;\n (function analyze(end?, depth?, func = '') {\n let varIndex: number\n let isString = false\n if (end) {\n if (end === ')' && currentValueToken.slice(-1) === '$') {\n varIndex = currentValueToken.length - 1\n } else if (end === '\\'') {\n isString = true\n }\n\n currentValueToken += valueToken[i++]\n }\n\n for (; i < valueToken.length; i++) {\n const val = valueToken[i]\n if (val === end) {\n currentValueToken += val\n if (isString) {\n let count = 0\n for (let j = currentValueToken.length - 2; ; j--) {\n if (currentValueToken[j] !== '\\\\') {\n break\n }\n count++\n }\n if (count % 2) {\n continue\n }\n }\n\n if (varIndex !== undefined) {\n currentValueToken = currentValueToken.slice(0, varIndex) + currentValueToken.slice(varIndex).replace(/\\$\\((.*)\\)/, 'var(--$1)')\n }\n\n if (!depth) {\n if (isString) {\n valueTokens.push(currentValueToken)\n } else {\n valueTokens.push({ value: currentValueToken })\n }\n\n func = ''\n currentValueToken = ''\n }\n\n break\n } else if (!isString && val in START_SYMBOL) {\n analyze(START_SYMBOL[val], depth === undefined ? 0 : depth + 1, func)\n } else if (val === '|' && end !== '}' && (!isString || func === 'path')) {\n if (!end) {\n valueTokens.push({ value: currentValueToken })\n currentValueToken = ''\n } else {\n currentValueToken += ' '\n }\n } else {\n if (!end) {\n if (val === '.') {\n if (isNaN(+valueToken[i + 1])) {\n break\n } else if (valueToken[i - 1] === '-') {\n currentValueToken += '0'\n }\n } else if (val === ',') {\n valueTokens.push({ value: currentValueToken }, ',')\n currentValueToken = ''\n continue\n } else if (\n val === '#'\n && (currentValueToken || valueTokens.length && valueToken[i - 1] !== '|')\n || selectorSymbols.includes(val)\n ) {\n break\n }\n\n func += val\n }\n\n currentValueToken += val\n }\n }\n })()\n\n if (currentValueToken) {\n valueTokens.push({ value: currentValueToken })\n }\n\n suffixToken = valueToken.slice(i)\n }\n\n // 2. !important\n if (suffixToken[0] === '!') {\n this.important = true\n suffixToken = suffixToken.slice(1)\n }\n\n // 3. prefix selector\n const analyzeSelectorToken = (selectorText: string) => {\n const transformedSelectorText = transformSelectorUnderline(selectorText)\n const selectors = []\n\n let currentSelector = ''\n let symbolCount = 0\n for (let i = 0; i < transformedSelectorText.length; i++) {\n const char = transformedSelectorText[i]\n if (char === '\\\\') {\n currentSelector += char + transformedSelectorText[++i]\n continue\n }\n\n if (!symbolCount && char === ',') {\n selectors.push(currentSelector)\n currentSelector = ''\n } else {\n currentSelector += char\n\n if (symbolCount && char === ')') {\n symbolCount--\n } else if (char === '(') {\n symbolCount++\n }\n }\n }\n if (currentSelector) {\n selectors.push(currentSelector)\n }\n\n return selectors\n }\n\n this.prefixSelectors = prefixToken\n ? analyzeSelectorToken(prefixToken)\n : ['']\n\n // 4. suffix selector\n const suffixTokens = suffixToken.split('@')\n const suffixSelector = suffixTokens[0]\n if (suffixSelector) {\n this.vendorSuffixSelectors = {}\n\n const transform = (selectorText: string, selectorValues: [RegExp, string[]][], selectors: string[], matched: boolean) => {\n for (const [regexp, newSelectorTexts] of selectorValues) {\n if (regexp.test(selectorText)) {\n for (const eachNewSelectorText of newSelectorTexts) {\n transform(selectorText.replace(regexp, eachNewSelectorText), selectorValues, selectors, true)\n }\n return\n }\n }\n\n if (matched) {\n selectors.push(selectorText)\n }\n }\n\n const suffixSelectors: string[] = []\n if ('' in selectors) {\n transform(suffixSelector, selectors[''], suffixSelectors, true)\n } else {\n suffixSelectors.push(suffixSelector)\n }\n\n const vendorSelectors: Record<string, string[]> = {}\n for (const [vendor, selectorValues] of Object.entries(selectors)) {\n if (!vendor)\n continue\n\n const newVendorSelectors = []\n for (const eachSuffixSelector of suffixSelectors) {\n transform(eachSuffixSelector, selectorValues, newVendorSelectors, false)\n }\n\n if (newVendorSelectors.length) {\n vendorSelectors[vendor] = newVendorSelectors\n }\n }\n\n const insertVendorSuffixSelectors = (vendor: string, selectorTexts: string[]) => {\n const groupedSelectorTexts = selectorTexts.reduce((arr, eachSuffixSelector) => {\n arr.push(...analyzeSelectorToken(eachSuffixSelector))\n return arr\n }, [])\n\n if (vendor in this.vendorSuffixSelectors) {\n this.vendorSuffixSelectors[vendor].push(...groupedSelectorTexts)\n } else {\n this.vendorSuffixSelectors[vendor] = groupedSelectorTexts\n }\n }\n\n const vendors = Object.keys(vendorSelectors)\n if (vendors.length) {\n for (const eachVendor of vendors) {\n insertVendorSuffixSelectors(eachVendor, vendorSelectors[eachVendor])\n }\n } else {\n insertVendorSuffixSelectors('', suffixSelectors)\n }\n\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n for (const eachSuffixSelector of suffixSelectors) {\n if (this.hasWhere !== false) {\n this.hasWhere = eachSuffixSelector.includes(':where(')\n }\n\n for (let i = 0; i < PRIORITY_SELECTORS.length; i++) {\n if (eachSuffixSelector.includes(PRIORITY_SELECTORS[i])) {\n if (this.prioritySelectorIndex === -1 || this.prioritySelectorIndex > i) {\n this.prioritySelectorIndex = i\n }\n break\n }\n }\n }\n }\n } else {\n this.vendorSuffixSelectors = { '': [''] }\n }\n\n // 5. atTokens\n for (let i = 1; i < suffixTokens.length; i++) {\n const atToken = suffixTokens[i]\n if (atToken) {\n if (themeNames.includes(atToken)) {\n this.themeName = atToken\n } else if (\n atToken === 'rtl'\n || atToken === 'ltr'\n ) {\n this.direction = atToken\n } else {\n let type: string\n let queryText\n\n const underscoreIndex = atToken.indexOf('_')\n if (underscoreIndex !== -1) {\n type = atToken.slice(0, underscoreIndex)\n queryText = atToken.slice(underscoreIndex)\n } else {\n const leftBracketIndex = atToken.indexOf('(')\n if (leftBracketIndex !== -1) {\n type = atToken.slice(0, leftBracketIndex)\n queryText = atToken.slice(leftBracketIndex)\n }\n }\n\n if (!type) {\n type = 'media'\n const queryTexts = []\n\n this.media = {\n token: atToken,\n features: {}\n }\n const typeOrFeatureTokens = atToken.split('&')\n for (const typeOrFeatureToken of typeOrFeatureTokens) {\n if (\n typeOrFeatureToken === 'all'\n || typeOrFeatureToken === 'print'\n || typeOrFeatureToken === 'screen'\n || typeOrFeatureToken === 'speech'\n ) {\n this.media.type = typeOrFeatureToken\n } else if (typeOrFeatureToken === '\uD83D\uDDA8') {\n this.media.type = 'print'\n } else {\n if (typeOrFeatureToken === 'landscape' || typeOrFeatureToken === 'portrait') {\n queryTexts.push('(orientation:' + typeOrFeatureToken + ')')\n } else if (typeOrFeatureToken === MOTION || typeOrFeatureToken === REDUCED_MOTION) {\n queryTexts.push('(prefers-' + REDUCED_MOTION + ':'\n + (typeOrFeatureToken === MOTION ? 'no-preference' : REDUCE)\n + ')')\n } else if (mediaQueries && typeOrFeatureToken in mediaQueries) {\n queryTexts.push(mediaQueries[typeOrFeatureToken])\n } else {\n const feature: MasterCSSMediaFeatureRule = {\n token: typeOrFeatureToken\n }\n let featureName = ''\n let extremumOperator = ''\n let correction = 0\n if (typeOrFeatureToken.startsWith('<=')) {\n extremumOperator = '<='\n featureName = MAX_WIDTH\n } else if (typeOrFeatureToken.startsWith('>=') || breakpoints[typeOrFeatureToken]) {\n extremumOperator = '>='\n featureName = MIN_WIDTH\n } else if (typeOrFeatureToken.startsWith('>')) {\n extremumOperator = '>'\n featureName = MIN_WIDTH\n correction = .02\n } else if (typeOrFeatureToken.startsWith('<')) {\n extremumOperator = '<'\n featureName = MAX_WIDTH\n correction = -.02\n }\n const conditionUnitValueToken\n = extremumOperator\n ? typeOrFeatureToken.replace(extremumOperator, '')\n : typeOrFeatureToken\n const breakpoint = breakpoints[conditionUnitValueToken]\n switch (featureName) {\n case MAX_WIDTH:\n case MIN_WIDTH:\n if (breakpoint) {\n Object.assign(feature, parseValue(breakpoint, PX))\n } else {\n Object.assign(feature, parseValue(conditionUnitValueToken, PX))\n }\n if (feature.unit === PX) {\n feature.value += correction\n }\n this.media.features[featureName] = feature\n queryTexts.push('(' + featureName + ':' + (feature.value + feature.unit) + ')')\n break\n }\n }\n }\n }\n\n queryText = ''\n if (this.media.type) {\n queryText = this.media.type\n }\n if (queryTexts.length) {\n queryText += (queryText ? ' and ' : '') + queryTexts.join(' and ')\n }\n }\n\n if (queryText) {\n this.at[type] = (type in this.at\n ? this.at[type] + ' and '\n : '')\n + queryText.replace(/_/g, ' ')\n }\n }\n }\n }\n\n // 6. order\n if (this.order === undefined) {\n // @ts-ignore\n this.order = 0\n }\n\n // 7. value\n const insertNewNative = (themeName: string, bypassWhenUnmatchColor: boolean) => {\n let newValue: any\n let newUnit: string\n\n const generateCssText = (\n propertiesText: string,\n themeName: string,\n suffixSelectors: string[]\n ) => {\n let prefixText = ''\n if (this.direction) {\n prefixText += '[dir=' + this.direction + '] '\n }\n\n const prefixTexts = this.prefixSelectors.map(eachPrefixSelector => eachPrefixSelector + prefixText)\n const getCssText = (themeName: string, name: string) => {\n const prefixThemeText = (themeName ? '.' + themeName + ' ' : '')\n const esacpedName = '.' + CSS.escape(name)\n return prefixTexts\n .map(eachPrefixText => prefixThemeText + eachPrefixText)\n .reduce((arr, eachPrefixText) => {\n arr.push(\n suffixSelectors\n .reduce((_arr, eachSuffixSelector) => {\n _arr.push(eachPrefixText + esacpedName + eachSuffixSelector)\n return _arr\n }, [])\n .join(',')\n )\n return arr\n }, [])\n .join(',')\n }\n\n let cssText = getCssText(themeName, className)\n + (relationThemesMap\n ? Object\n .entries(relationThemesMap)\n .filter(([relationTheme]) => this.themeName || !colorful || !themeName || !relationTheme || relationTheme === themeName)\n .map(([relationTheme, classNames]) =>\n classNames.reduce((str, className) => str + ',' + getCssText(this.themeName ?? (colorful ? themeName || relationTheme : relationTheme), className), '')\n )\n .join('')\n : '')\n + '{'\n + propertiesText\n + '}'\n for (const key of Object.keys(this.at).sort((a, b) => b === 'supports' ? -1 : 1)) {\n cssText = '@' + key + ' ' + this.at[key] + '{' + cssText + '}'\n }\n\n return cssText\n }\n\n const newValueTokens: string[] = []\n if (valueTokens) {\n let uv, anyColorMatched: boolean = undefined\n for (const eachValueToken of valueTokens) {\n if (typeof eachValueToken === 'string') {\n newValueTokens.push(eachValueToken)\n } else {\n uv = parseValue(\n eachValueToken.value,\n unit,\n colorful && colorsThemesMap,\n values,\n globalValues,\n rootSize,\n this.themeName ? [this.themeName, ''] : [themeName]\n )\n if (uv.colorMatched !== undefined && anyColorMatched !== true) {\n anyColorMatched = uv.colorMatched\n }\n\n newValueTokens.push(uv.value + uv.unit)\n }\n }\n\n if (bypassWhenUnmatchColor && (anyColorMatched === undefined ? themeName : !anyColorMatched))\n return\n\n if (newValueTokens.length === 1) {\n if (uv) {\n newValue = uv.value\n newUnit = uv.unit\n } else {\n newValue = newValueTokens[0]\n }\n } else {\n newValue = newValueTokens.reduce((previousVal, currentVal, i) => previousVal + currentVal + ((currentVal === ',' || valueTokens[i + 1] === ',' || i === valueTokens.length - 1) ? '' : ' '), '')\n }\n\n if (typeof newValue !== 'object') {\n // 8. parseValue\n if (this.parseValue) {\n newValue = this.parseValue(newValue, this.css.config)\n }\n\n // 9. transform value\n if (colorful && newValue === 'current') {\n newValue = 'currentColor'\n } else if (values && newValue in values) {\n newValue = values[newValue].toString()\n } else if (newValue in globalValues) {\n newValue = globalValues[newValue].toString()\n }\n\n const declaration: MasterCSSDeclaration = {\n unit: newUnit,\n value: newValue,\n important: this.important\n }\n if (this.getThemeProps) {\n const themeProps = this.getThemeProps(declaration, css)\n for (const themeName in themeProps) {\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n this.natives.push({\n unit: newUnit,\n value: newValue,\n text: generateCssText(\n Object\n .entries(themeProps[themeName])\n .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {\n important: this.important,\n unit: '',\n value: propertyValue\n }))\n .join(';'),\n themeName,\n suffixSelectors\n ),\n themeName\n })\n }\n }\n return\n } else if (this.get) {\n newValue = this.get(declaration)\n }\n }\n } else {\n newValue = value\n }\n\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n this.natives.push({\n unit: newUnit,\n value: newValue,\n text: generateCssText(\n typeof newValue === 'object'\n ? Object\n .entries(newValue)\n .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {\n ...(typeof propertyValue === 'object'\n ? propertyValue\n : { unit: '', value: propertyValue }),\n important: this.important\n }))\n .join(';')\n : getCssPropertyText(propName, { unit: newUnit, value: newValue, important: this.important }),\n themeName,\n suffixSelectors\n ),\n themeName\n })\n }\n }\n\n if (this.getThemeProps) {\n insertNewNative(undefined, false)\n } else if (this.themeName) {\n insertNewNative(this.themeName, false)\n } else if (colorful) {\n for (const eachThemeName of themeNames) {\n insertNewNative(eachThemeName, true)\n }\n } else {\n insertNewNative('', false)\n }\n }\n}\n\nexport default interface MasterCSSRule {\n readonly order?: number;\n parseValue(value: string, config: MasterCSSConfig): string;\n get(declaration: MasterCSSDeclaration): Record<string, any>;\n getThemeProps(declaration: MasterCSSDeclaration, css: MasterCSS): Record<string, Record<string, string>>;\n}\n\nexport interface MasterCSSMediaFeatureRule {\n token: string;\n tokenType?: string;\n operator?: string;\n value?: number;\n unit?: string;\n}\n\nexport interface MasterCSSMedia {\n token: string;\n features?: {\n [key: string]: MasterCSSMediaFeatureRule\n }\n type?: string;\n}\n\nexport interface MasterCSSDeclaration {\n value: any,\n unit: string,\n important: boolean\n}\n\nexport interface MasterCSSRuleMatching {\n origin: 'matches' | 'semantics' | 'symbol';\n value?: string;\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontWeight'\n static override matches = /^f(ont)?:(thin|extralight|light|regular|medium|semibold|bold|bolder|extrabold|heavy)(?!\\|)/\n static override propName = 'font-weight'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontFamily'\n static override matches = /^f(ont)?:(mono|sans|serif)(?!\\|)/\n static override propName = 'font-family'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontSize'\n static override matches = /^f(ont)?:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'font-size'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Spacing'\n static override matches = /^[pm][xytblr]?:./\n override get(declaration): { [key: string]: any } {\n const charAt1 = this.prefix[0]\n const SPACING = charAt1 === 'm' ? 'margin' : 'padding'\n const SPACING_LEFT = SPACING + '-left'\n const SPACING_RIGHT = SPACING + '-right'\n const SPACING_TOP = SPACING + '-top'\n const SPACING_BOTTOM = SPACING + '-bottom'\n switch (this.prefix[1]) {\n case 'x':\n return {\n [SPACING_LEFT]: declaration,\n [SPACING_RIGHT]: declaration\n }\n case 'y':\n return {\n [SPACING_TOP]: declaration,\n [SPACING_BOTTOM]: declaration\n }\n case 'l':\n return {\n [SPACING_LEFT]: declaration\n }\n case 'r':\n return {\n [SPACING_RIGHT]: declaration\n }\n case 't':\n return {\n [SPACING_TOP]: declaration\n }\n case 'b':\n return {\n [SPACING_BOTTOM]: declaration\n }\n default:\n return {\n [SPACING]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'p:' || this.prefix === 'm:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Width'\n static override matches = /^w:./\n static override propName = 'width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Height'\n static override matches = /^h:./\n static override propName = 'height'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MinWidth'\n static override matches = /^min-w:./\n static override propName = 'min-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MinHeight'\n static override matches = /^min-h:./\n static override propName = 'min-height'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'LetterSpacing'\n static override matches = /^ls:./\n static override propName = 'letter-spacing'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nconst SUBPIXEL_ANTIALIASED = 'subpixel-antialiased'\nconst WEBKIT_FONT_SMOOTHING = '-webkit-font-smoothing'\nconst MOZ_OSXFONT_SMOOTHING = '-moz-osx-font-smoothing'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontSmoothing'\n static override matches = /^f(ont)?:(antialiased|subpixel-antialiased)(?!\\|)/\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n const props = {}\n switch (declaration.value) {\n case SUBPIXEL_ANTIALIASED:\n props[WEBKIT_FONT_SMOOTHING] = props[MOZ_OSXFONT_SMOOTHING] = {\n ...declaration,\n value: 'auto'\n }\n break\n case 'antialiased':\n props[WEBKIT_FONT_SMOOTHING] = {\n ...declaration,\n value: 'antialiased'\n }\n props[MOZ_OSXFONT_SMOOTHING] = {\n ...declaration,\n value: 'grayscale'\n }\n break\n // default:\n // props[WEBKIT_FONT_SMOOTHING] = props[MOZ_OSXFONT_SMOOTHING] = this;\n }\n return props\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontStyle'\n static override matches = /^f(ont)?:(normal|italic|oblique)(?!\\|)/\n static override propName = 'font-style'\n static override unit = 'deg'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontVariantNumeric'\n static override matches = /^f(ont)?:(ordinal|slashed-zero|lining-nums|oldstyle-nums|proportional-nums|tabular-nums|diagonal-fractions|stacked-fractions)(?!\\|)/\n static override propName = 'font-variant-numeric'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'LineHeight'\n static override matches = /^lh:./\n static override propName = 'line-height'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ObjectFit'\n static override matches = /^(object|obj):(contain|cover|fill|scale-down)/\n static override propName = 'object-fit'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ObjectPosition'\n static override matches = /^(object|obj):(top|bottom|right|left|center)/\n static override propName = 'object-position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextAlign'\n static override matches = /^t(ext)?:(justify|center|left|right|start|end)(?!\\|)/\n static override propName = 'text-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecoration'\n static override matches = /^t(ext)?:(underline|line-through|overline)/\n static override propName = 'text-decoration'\n static override colorful = true\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextTransform'\n static override matches = /^t(ext)?:(uppercase|lowercase|capitalize)(?!\\|)/\n static override propName = 'text-transform'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'VerticalAlign'\n static override matches = /^(?:v|vertical):./\n static override propName = 'vertical-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Lines'\n static override matches = /^lines:./\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n overflow: { ...declaration, value: 'hidden' },\n display: { ...declaration, value: '-webkit-box' },\n 'overflow-wrap': { ...declaration, value: 'break-word' },\n 'text-overflow': { ...declaration, value: 'ellipsis' },\n '-webkit-box-orient': { ...declaration, value: 'vertical' },\n '-webkit-line-clamp': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformOrigin'\n static override matches = /^transform:((top|bottom|right|left|center)|\\d)/\n static override propName = 'transform-origin'\n static override unit = 'px'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformStyle'\n static override matches = /^transform:(flat|preserve-3d)(?!\\|)/\n static override propName = 'transform-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformBox'\n static override matches = /^transform:(content|border|fill|stroke|view)(?!\\|)/\n static override propName = 'transform-box'\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Transform'\n static override matches = /^(translate|scale|skew|rotate|perspective|matrix)(3d|[XYZ])?\\(/\n static override propName = 'transform'\n static override unit = ''\n override parseValue(value: string, {rootSize}: MasterCSSConfig): string {\n return value.replace(\n /(translate|scale|skew|rotate|perspective|matrix)(3d|[XYZ])?\\((.*?)\\)/g,\n (origin, method, type, valueStr: string) => {\n let unit: string\n let last: boolean\n switch (method) {\n case 'translate':\n unit = 'rem'\n break\n case 'skew':\n unit = 'deg'\n break\n case 'rotate':\n if (type === '3d') {\n last = true\n }\n unit = 'deg'\n break\n default:\n return origin\n }\n\n const values = valueStr.split(',')\n return origin.replace(\n valueStr,\n values\n .map((eachValue, i) => {\n if (!last || values.length - 1 === i) {\n const isNaN = Number.isNaN(+eachValue)\n return isNaN\n ? eachValue\n : ((eachValue as any) / (unit === 'rem' ? rootSize : 1))\n + unit\n } else {\n return eachValue\n }\n })\n .join(','))\n })\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Transition'\n static override symbol = '~' \n static override propName = 'transition'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDelay'\n static override matches = /^~delay:./\n static override propName = 'transition-delay'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDuration'\n static override matches = /^~duration:./\n static override propName = 'transition-duration'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionProperty'\n static override matches = /^~property:./\n static override propName = 'transition-property'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionTimingFunction'\n static override matches = /^~easing:./\n static override propName = 'transition-timing-function'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaxHeight'\n static override matches = /^max-h:./\n static override propName = 'max-height'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaxWidth'\n static override matches = /^max-w:./\n static override propName = 'max-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Display'\n static override matches = /^d:./\n static override propName = 'display'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxSizing'\n static override matches = /^box:(content|border)(?!\\|)/\n static override propName = 'box-sizing'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Opacity'\n static override propName = 'opacity'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Visibility'\n static override propName = 'visibility'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Clear'\n static override propName = 'clear'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Float'\n static override propName = 'float'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Isolation'\n static override propName = 'isolation'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Overflow'\n static override matches = /^overflow(-x|-y)?:(?:visible|overlay|hidden|scroll|auto|clip|inherit|initial|revert|revert-layer|unset|\\$|var)/\n override get(declaration): { [key: string]: any } {\n if (this.prefix) {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return { 'overflow-x': declaration }\n case 'y':\n return { 'overflow-y': declaration }\n }\n }\n return { 'overflow': declaration }\n }\n override get order(): number {\n if (this.prefix) {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n case 'y':\n return 0\n }\n }\n return -1\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OverscrollBehavior'\n static override matches = /^overscroll-behavior(?:-[xy])?:/\n override get(declaration): { [key: string]: any } {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return { 'overscroll-behavior-x': declaration }\n case 'y':\n return { 'overscroll-behavior-y': declaration }\n default:\n return { 'overscroll-behavior': declaration }\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ZIndex'\n static override matches = /^z:./\n static override propName = 'z-index'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDelay'\n static override matches = /^@delay:./\n static override propName = 'animation-delay'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDirection'\n static override matches = /^@direction:./\n static override propName = 'animation-direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationFillMode'\n static override matches = /^@fill-mode:./\n static override propName = 'animation-fill-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationIterationCount'\n static override matches = /^@iteration-count:./\n static override propName = 'animation-interation-count'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationName'\n static override matches = /^@name:./\n static override propName = 'animation-name'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationPlayState'\n static override matches = /^@play-state:./\n static override propName = 'animation-play-state'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationTimingFunction'\n static override matches = /^@easing:./\n static override propName = 'animation-timing-function'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Animation'\n static override symbol = '@' \n static override propName = 'animation'\n static override unit = ''\n override order = -1\n}", "const BORDER_DASH = 'border-'\n\nexport function getBorderProps(name: string, declaration, suffix = '') {\n if (suffix) {\n suffix = '-' + suffix\n }\n const direction = /^b(order)?-?(.)?/.exec(name)[2]\n const BORDER_LEFT = BORDER_DASH + 'left' + suffix\n const BORDER_RIGHT = BORDER_DASH + 'right' + suffix\n const BORDER_TOP = BORDER_DASH + 'top' + suffix\n const BORDER_BOTTOM = BORDER_DASH + 'bottom' + suffix\n switch (direction) {\n case 'x':\n return {\n [BORDER_LEFT]: declaration,\n [BORDER_RIGHT]: declaration\n }\n case 'y':\n return {\n [BORDER_TOP]: declaration,\n [BORDER_BOTTOM]: declaration\n }\n case 'l':\n return {\n [BORDER_LEFT]: declaration\n }\n case 'r':\n return {\n [BORDER_RIGHT]: declaration\n }\n case 't':\n return {\n [BORDER_TOP]: declaration\n }\n case 'b':\n return {\n [BORDER_BOTTOM]: declaration\n }\n default:\n return {\n ['border' + suffix]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderColor'\n static override matches = /^border(-(left|right|top|bottom))?-color:./\n static override colorStarts = 'b([xytblr]|(order(-(left|right|top|bottom))?))?:'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'color')\n }\n override get order(): number {\n return (this.prefix === 'border-color' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nconst BORDER_TOP_LEFT_RADIUS = 'border-top-left-radius',\n BORDER_TOP_RIGHT_RADIUS = 'border-top-right-radius',\n BORDER_BOTTOM_LEFT_RADIUS = 'border-bottom-left-radius',\n BORDER_BOTTOM_RIGHT_RADIUS = 'border-bottom-right-radius',\n BORDER_RADIUS = 'border-radius',\n BORDER_RADIUS_S = [BORDER_TOP_LEFT_RADIUS, BORDER_TOP_RIGHT_RADIUS, BORDER_BOTTOM_LEFT_RADIUS, BORDER_BOTTOM_RIGHT_RADIUS]\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderRadius'\n static override matches = /^((r[tblr]?[tblr]?|border(-(top|bottom)-(left|right))?-radius):.)/\n override get(declaration): { [key: string]: any } {\n if (this.prefix) {\n let suffix = ''\n const splits = this.prefix.split('-')\n if (splits.length > 1) {\n for (let i = 1; i < splits.length - 1; i++) {\n suffix += splits[i][0]\n }\n } else {\n suffix = this.prefix.slice(1, -1)\n }\n switch (suffix) {\n case 't':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration,\n [BORDER_TOP_RIGHT_RADIUS]: declaration\n }\n case 'tl':\n case 'lt':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration\n }\n case 'rt':\n case 'tr':\n return {\n [BORDER_TOP_RIGHT_RADIUS]: declaration\n }\n case 'b':\n return {\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration,\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n case 'bl':\n case 'lb':\n return {\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration\n }\n case 'br':\n case 'rb':\n return {\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n case 'l':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration,\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration\n }\n case 'r':\n return {\n [BORDER_TOP_RIGHT_RADIUS]: declaration,\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n default:\n return {\n [BORDER_RADIUS]: declaration\n }\n }\n }\n\n const prefix = this.prefix?.slice(0, -1)\n return {\n [BORDER_RADIUS_S.includes(prefix) ? prefix : BORDER_RADIUS]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'border-radius' + ':' || this.prefix === 'r:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderStyle'\n static override matches = /^(border(-(left|right|top|bottom))?-style:.|b([xytblr]|order(-(left|right|top|bottom))?)?:(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)(?!\\|))/\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'style')\n }\n override get order(): number {\n return (this.prefix === 'border-style' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderWidth'\n static override matches = /^(border(-(left|right|top|bottom))?-width:.|b([xytblr]|order(-(left|right|top|bottom))?)?:(([0-9]|(max|min|calc|clamp)\\(.*\\))|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$)/\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'width')\n }\n override get order(): number {\n return (this.prefix === 'border-width' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'Border'\n static override matches = /^b([xytblr]?|order(-(left|right|top|bottom))?):./\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration)\n }\n override get order(): number {\n return (this.prefix === 'border' + ':' || this.prefix === 'b:') ? -2 : -1\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundAttachment'\n static override matches = /^(bg|background):(fixed|local|scroll)(?!\\|)/\n static override propName = 'background-attachment'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundBlendMode'\n static override propName = 'background-blend-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundClip'\n static override matches = /^(bg|background):text(?!\\|)/\n static override propName = 'background-clip'\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-background-clip': declaration,\n 'background-clip': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundColor'\n static override colorStarts = '(bg|background):'\n static override propName = 'background-color'\n static override unit = ''\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundOrigin'\n static override matches = /^(bg|background):(content|border|padding)(?!\\|)/\n static override propName = 'background-origin'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundPosition'\n static override matches = /^(bg|background):(top|bottom|right|left|center)(?!\\|)/\n static override propName = 'background-position'\n static override unit = 'px'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundRepeat'\n static override matches = /^(bg|background):(space|round|repeat|no-repeat|repeat-x|repeat-y)(?![;a-zA-Z])/\n static override propName = 'background-repeat'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundSize'\n static override matches = /^(bg|background):((auto|cover|contain)(?!\\|)|\\.?\\d((?!\\|).)*$)/\n static override propName = 'background-size'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundImage'\n static override matches = /^(bg|background):(url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)((?!\\|).)*$/\n static override propName = 'background-image'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Background'\n static override matches = /^bg:./\n static override propName = 'background'\n static override colorful = true\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MixBlendMode'\n static override matches = /^blend:./\n static override propName = 'mix-blend-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Position'\n static override propName = 'position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Placement'\n static override matches = /^(top|left|right|bottom|center|middle):./\n override get(declaration): { [key: string]: any } {\n const propertyName = this.prefix.slice(0, -1)\n switch (propertyName) {\n case 'top':\n case 'left':\n case 'right':\n case 'bottom':\n return { [propertyName]: declaration }\n case 'center':\n return {\n left: declaration,\n right: declaration,\n 'margin-left': { ...declaration, unit: '' },\n 'margin-right': { ...declaration, unit: '' }\n }\n case 'middle':\n return {\n top: declaration,\n bottom: declaration,\n 'margin-top': { ...declaration, unit: '' },\n 'margin-bottom': { ...declaration, unit: '' }\n }\n }\n }\n}", "import type { MasterCSSConfig } from '../config'\n\nexport function parseValueUnit(value: string, getUnit: (method: string) => string, { rootSize }: MasterCSSConfig): string {\n let result = ''\n\n let i = 0;\n (function analyze(end?, method?) {\n let current = ''\n const unit = method\n ? getUnit(method)\n : ''\n\n const pushCurrent = () => {\n if (current) {\n result += (!unit || Number.isNaN(+current))\n ? current\n : (+current / (unit === 'rem' ? rootSize : 1)) + unit\n\n current = ''\n }\n }\n\n for (; i < value.length; i++) {\n const val = value[i]\n\n if (val === end && (end !== '\\'' || value[i + 1] === ')')) {\n pushCurrent()\n result += val\n break\n } else if (val === ',' || val === ' ') {\n pushCurrent()\n result += val\n } else if (!current && val === '\\'') {\n result += val\n\n i++\n analyze(val)\n current = ''\n } else if (current && val === '(') {\n result += current + val\n\n i++\n analyze(')', current)\n current = ''\n } else {\n current += val\n }\n }\n\n pushCurrent()\n })()\n\n return result\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\nimport { parseValueUnit } from '../utils/parse-value-unit'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackdropFilter'\n static override matches = /^bd:./\n static override propName = 'backdrop-filter'\n override get(declaration): { [key: string]: any } {\n return {\n 'backdrop-filter': declaration,\n '-webkit-backdrop-filter': declaration\n }\n }\n override parseValue(value: string, config: MasterCSSConfig): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case 'blur':\n case 'drop-shadow':\n return 'rem'\n case 'hue-rotate':\n return 'deg'\n }\n return ''\n },\n config)\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Fill'\n static override propName = 'fill'\n static override colorStarts = 'fill:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Stroke'\n static override propName = 'stroke'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeWidth'\n static override matches = /^stroke:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'stroke-width'\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\nimport { parseValueUnit } from '../utils/parse-value-unit'\n\nexport default class extends MasterCSSRule {\n static override id = 'Filter'\n static override matches = /^(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)\\(/\n static override propName = 'filter'\n override parseValue(value: string, config: MasterCSSConfig): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case 'blur':\n case 'drop-shadow':\n return 'rem'\n case 'hue-rotate':\n return 'deg'\n }\n\n return ''\n },\n config)\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cursor'\n static override propName = 'cursor'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PointerEvents'\n static override propName = 'pointer-events'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Resize'\n static override propName = 'resize'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TouchAction'\n static override propName = 'touch-action'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'UserDrag'\n static override propName = 'user-drag'\n override get(declaration): { [key: string]: any } {\n return {\n 'user-drag': declaration,\n '-webkit-user-drag': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'UserSelect'\n static override propName = 'user-select'\n override get(declaration): { [key: string]: any } {\n return {\n 'user-select': declaration,\n '-webkit-user-select': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxShadow'\n static override matches = /^s(?:hadow)?:./\n static override propName = 'box-shadow'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextShadow'\n static override propName = 'text-shadow'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nconst diff = .5\n\nexport default class extends MasterCSSRule {\n static override id = 'TextSize'\n static override matches = /^t(ext)?:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n override get(declaration): { [key: string]: any } {\n const { unit, value } = declaration\n return {\n 'font-size': declaration,\n 'line-height': {\n ...declaration,\n value: unit === 'rem'\n ? value + diff + unit\n : `calc(${value}${unit} + ${diff}rem)`,\n unit: ''\n }\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WordBreak'\n static override propName = 'word-break'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumns'\n static override matches = /^grid-cols:./\n static override propName = 'grid-columns'\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n display: { ...declaration, value: 'grid' },\n 'grid-template-columns': {\n ...this,\n value: 'repeat'\n + '(' + declaration.value\n + ','\n + 'minmax'\n + '(' + 0 + ',' + 1 + 'fr' + '))'\n },\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRows'\n static override propName = 'grid-rows'\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n display: { ...declaration, value: 'grid' },\n 'grid-auto-flow': { ...declaration, value: 'column' },\n 'grid-template-rows': {\n ...declaration,\n value: 'repeat'\n + '(' + declaration.value\n + ','\n + 'minmax'\n + '(' + 0 + ',' + 1 + 'fr' + '))'\n },\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Gap'\n static override matches = /^gap(-x|-y)?:./\n override get(declaration): { [key: string]: any } {\n switch (this.prefix[4]) {\n case 'x':\n return { 'column-gap': declaration }\n case 'y':\n return { 'row-gap': declaration }\n default:\n return { gap: declaration }\n }\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WordSpacing'\n static override propName = 'word-spacing'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Variable'\n static override matches = /^\\$[^ {}A-Z]+:[^ ]/\n static override unit = '' // don't use 'rem' as default, because css variable is common API\n override get(declaration): { [key: string]: any } {\n return {\n ['--' + this.prefix.slice(1, -1)]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AspectRadio'\n static override matches = /^aspect:./\n static override propName = 'aspect-ratio'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxDecorationBreak'\n static override matches = /^box:(slice|clone)(?!\\|)/\n static override propName = 'box-decoration-break'\n override get(declaration): { [key: string]: any } {\n return {\n 'box-decoration-break': declaration,\n '-webkit-box-decoration-break': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakAfter'\n static override propName = 'break-after'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakBefore'\n static override propName = 'break-before'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakInside'\n static override propName = 'break-inside'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexShrink'\n static override propName = 'flex-shrink'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexDirection'\n static override matches = /^flex:((row|col|column)(-reverse)?)(?!\\|)/\n static override propName = 'flex-direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexGrow'\n static override propName = 'flex-grow'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexWrap'\n static override matches = /^flex:(wrap(-reverse)?|nowrap)(?!\\|)/\n static override propName = 'flex-wrap'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexBasis'\n static override propName = 'flex-basis'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Flex'\n static override propName = 'flex'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nconst extreme = '999999'\n\nexport default class extends MasterCSSRule {\n static override id = 'Order'\n static override matches = /^o:./\n static override propName = 'order'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumn'\n static override matches = /^grid-col(?:umn)?(?:-span)?:./\n static override propName = 'grid-column'\n static override unit = ''\n override parseValue(value: string): string {\n return this.prefix.slice(-5, -1) === 'span' && value !== 'auto'\n ? 'span' + ' ' + value + '/' + 'span' + ' ' + value\n : value\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ColumnSpan'\n static override matches = /^col-span:./\n static override propName = 'column-span'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRow'\n static override matches = /^grid-row-span:./\n static override propName = 'grid-row'\n static override unit = ''\n override parseValue(value: string): string {\n return this.prefix.slice(-5, -1) === 'span' && value !== 'auto'\n ? 'span' + ' ' + value + '/' + 'span' + ' ' + value\n : value\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Color'\n static override colorStarts = '(?:color|fg|foreground):'\n static override colorful = true\n static override propName = 'color'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignContent'\n static override matches = /^ac:./\n static override propName = 'align-content'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignItems'\n static override matches = /^ai:./\n static override propName = 'align-items'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignSelf'\n static override matches = /^as:./\n static override propName = 'align-self'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoColumns'\n static override matches = /^grid-auto-cols:./\n static override propName = 'grid-auto-columns'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoFlow'\n static override matches = /^grid-flow:./\n static override propName = 'grid-auto-flow'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoRows'\n static override propName = 'grid-auto-rows'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyContent'\n static override matches = /^jc:./\n static override propName = 'justify-content'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyItems'\n static override matches = /^ji:./\n static override propName = 'justify-items'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifySelf'\n static override matches = /^js:./\n static override propName = 'justify-self'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceContent'\n static override propName = 'place-content'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceItems'\n static override propName = 'place-items'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceSelf'\n static override propName = 'place-self'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Padding'\n static override matches = /^padding(?:-(?:left|right|top|bottom))?:./\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'padding' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Margin'\n static override matches = /^margin(-(left|right|top|bottom))?:./\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'margin' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextOverflow'\n static override matches = /^(text-(overflow|ovf):.|t(ext)?:(ellipsis|clip)(?!\\|))/\n static override propName = 'text-overflow'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStylePosition'\n static override matches = /^list-style:(inside|outside)(?!\\|)/\n static override propName = 'list-style-position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyleType'\n static override matches = /^list-style:(disc|decimal)(?!\\|)/\n static override propName = 'list-style-type'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyle'\n static override propName = 'list-style'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationColor'\n static override propName = 'text-decoration-color'\n static override colorStarts = 'text-decoration:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationStyle'\n static override matches = /^t(ext)?:(solid|double|dotted|dashed|wavy)(?!\\|)/\n static override propName = 'text-decoration-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationThickness'\n static override matches = /^text-decoration:(from-font(?!\\|)|([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$)/\n static override propName = 'text-decoration-thickness'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextIndent'\n static override propName = 'text-indent'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Content'\n static override propName = 'content'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineColor'\n static override propName = 'outline-color'\n static override colorStarts = 'outline:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineOffset'\n static override propName = 'outline-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineStyle'\n static override matches = /^outline:(none|dotted|dashed|solid|double|groove|ridge|inset|outset)(?!\\|)/\n static override propName = 'outline-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineWidth'\n static override matches = /^outline:(medium|thick|thin|[0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'outline-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Outline'\n static override propName = 'outline'\n override order = -1\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderCollapse'\n static override matches = /^b(order)?:(collapse|separate)(?!\\|)/\n static override propName = 'border-collapse'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderSpacing'\n static override propName = 'border-spacing'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TableLayout'\n static override propName = 'table-layout'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AccentColor'\n static override propName = 'accent-color'\n static override colorStarts = 'accent:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Appearance'\n static override propName = 'appearance'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CaretColor'\n static override propName = 'caret-color'\n static override colorStarts = 'caret:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollBehavior'\n static override propName = 'scroll-behavior'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollMargin'\n static override matches = /^scroll-m([xytblr]|argin(-(top|bottom|left|right))?)?:./\n override get(declaration): { [key: string]: any } {\n if (this.prefix.slice(-3, -2) === 'm') {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return {\n 'scroll-margin-left': declaration,\n 'scroll-margin-right': declaration\n }\n case 'y':\n return {\n 'scroll-margin-top': declaration,\n 'scroll-margin-bottom': declaration\n }\n case 'l':\n return {\n 'scroll-margin-left': declaration\n }\n case 'r':\n return {\n 'scroll-margin-right': declaration\n }\n case 't':\n return {\n 'scroll-margin-top': declaration\n }\n case 'b':\n return {\n 'scroll-margin-bottom': declaration\n }\n }\n } else {\n return {\n [this.prefix.replace(/-m(?!argin)/, '-' + 'margin').slice(0, -1)]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'scroll-margin:' || this.prefix === 'scroll-m:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollPadding'\n static override matches = /^scroll-p([xytblr]|adding(-(top|bottom|left|right))?)?:./\n override get(declaration): { [key: string]: any } {\n if (this.prefix.slice(-3, -2) === 'p') {\n\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return {\n 'scroll-padding-left': declaration,\n 'scroll-padding-right': declaration\n }\n case 'y':\n return {\n 'scroll-padding-top': declaration,\n 'scroll-padding-bottom': declaration\n }\n case 'l':\n return {\n 'scroll-padding-left': declaration\n }\n case 'r':\n return {\n 'scroll-padding-right': declaration\n }\n case 't':\n return {\n 'scroll-padding-top': declaration\n }\n case 'b':\n return {\n 'scroll-padding-bottom': declaration\n }\n }\n } else {\n return {\n [this.prefix.replace(/-p(?!adding)/, '-' + 'padding').slice(0, -1)]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'scroll-padding:' || this.prefix === 'scroll-p:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapAlign'\n static override matches = /^scroll-snap:(start|end|center)/\n static override propName = 'scroll-snap-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapStop'\n static override matches = /^scroll-snap:(normal|always)(?!\\|)/\n static override propName = 'scroll-snap-stop'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapType'\n static override matches = /^scroll-snap:(([xy]|block|inline|both)(\\|(proximity|mandatory))?)(?!\\|)/\n static override propName = 'scroll-snap-type'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WillChange'\n static override propName = 'will-change'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextUnderlineOffset'\n static override propName = 'text-underline-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Inset'\n static override matches = /^(?:top|bottom|left|right):./\n static override propName = 'inset'\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Columns'\n static override matches = /^(columns|cols):./\n static override propName = 'columns'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WhiteSpace'\n static override propName = 'white-space'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextOrientation'\n static override matches = /^t(ext)?:(mixed|upright|sideways-right|sideways|use-glyph-orientation)(?!\\|)/\n static override propName = 'text-orientation'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WritingMode'\n static override matches = /^writing:./\n static override propName = 'writing-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Contain'\n static override propName = 'contain'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDuration'\n static override matches = /^@duration:./\n static override propName = 'animation-duration'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextRendering'\n static override matches = /^t(ext)?:(optimizeSpeed|optimizeLegibility|geometricPrecision)(?!\\|)/\n static override propName = 'text-rendering'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Direction'\n static override propName = 'direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationLine'\n static override matches = /^t(ext)?:(none|underline|overline|line-through)(?!\\|)/\n static override propName = 'text-decoration-line'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumnStart'\n static override matches = /^grid-col-start:./\n static override propName = 'grid-column-start'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyleImage'\n static override matches = /^list-style:(url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)((?!\\|).)*$/\n static override propName = 'list-style-image'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeOutside'\n static override matches = /^shape:((margin|content|border|padding)(?!\\|)|(inset|circle|ellipse|polygon|url|linear-gradient)\\(.*\\)((?!\\|).)*$)/\n static override propName = 'shape-outside'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeMargin'\n static override matches = /^shape:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'shape-margin'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeImageThreshold'\n static override propName = 'shape-image-threshold'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ClipPath'\n static override matches = /^clip:./\n static override propName = 'clip-path'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Grid'\n static override propName = 'grid'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Font'\n static override matches = /^f:./\n static override propName = 'font'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Quotes'\n static override propName = 'quotes'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplate'\n static override propName = 'grid-template'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowStart'\n static override propName = 'grid-row-start'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateAreas'\n static override propName = 'grid-template-areas'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateColumns'\n static override matches = /^grid-template-cols:./\n static override propName = 'grid-template-columns'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateRows'\n static override propName = 'grid-template-rows'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridArea'\n static override propName = 'grid-area'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumnEnd'\n static override matches = /^grid-col-end:./\n static override propName = 'grid-column-end'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowEnd'\n static override propName = 'grid-row-end'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaskImage'\n static override propName = 'mask-image'\n override get(declaration): { [key: string]: any } {\n return {\n 'mask-image': declaration,\n '-webkit-mask-image': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextFillColor'\n static override matches = /^text-fill-color:./\n static override colorStarts = '(text-fill|text|t):'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-fill-color': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStroke'\n static override matches = /^text-stroke:./\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStrokeWidth'\n static override matches = /^text-stroke(:((thin|medium|thick)(?!\\|)|\\.?\\d((?!\\|).)*$)|-width:.)/\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke-width': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStrokeColor'\n static override matches = /^text-stroke-color:./\n static override colorStarts = 'text-stroke:'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke-color': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDasharray'\n static override propName = 'stroke-dasharray'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDashoffset'\n static override propName = 'stroke-dash-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'X'\n static override propName = 'x'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Y'\n static override propName = 'y'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cx'\n static override propName = 'cx'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cy'\n static override propName = 'cy'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Rx'\n static override propName = 'rx'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Ry'\n static override propName = 'ry'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageOutset'\n static override propName = 'border-image-outset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageRepeat'\n static override matches = /^border-image:(?:stretch|repeat|round|space)(?:(?!\\|).)*$/\n static override propName = 'border-image-repeat'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageSlice'\n static override propName = 'border-image-slice'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageSource'\n static override matches = /^border-image:(?:url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)(?:(?!\\|).)*$/\n static override propName = 'border-image-source'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageWidth'\n static override matches = /^border-image:(?:\\.?[0-9]|(max|min|calc|clamp)\\(.*\\))(?:(?!\\|).)*$/\n static override propName = 'border-image-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImage'\n static override propName = 'border-image'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\nimport MasterCSS from '../css'\nimport { START_SYMBOL } from '../constants/start-symbol'\nimport type { MasterCSSDeclaration } from '../rule'\n\nconst bracketRegexp = /\\{(.*)\\}/\n\nexport default class extends MasterCSSRule {\n static override id = 'Group'\n static override matches = /^(?:.+?[*_>~+])?\\{.+?\\}/\n static override unit = ''\n override getThemeProps(declaration: MasterCSSDeclaration, css: MasterCSS): Record<string, Record<string, string>> {\n const themePropsMap: Record<string, Record<string, string>> = {}\n \n const addProp = (themeName: string, propertyName: string) => {\n const indexOfColon = propertyName.indexOf(':')\n if (indexOfColon !== -1) {\n if (!(themeName in themePropsMap)) {\n themePropsMap[themeName] = {}\n }\n\n const props = themePropsMap[themeName]\n const name = propertyName.slice(0, indexOfColon)\n if (!(name in props)) {\n props[name] = propertyName.slice(indexOfColon + 1)\n }\n }\n }\n const handleRule = (rule: MasterCSSRule) => {\n const addProps = (themeName: string, cssText: string) => {\n const cssProperties = cssText.slice(CSS.escape(rule.className).length).match(bracketRegexp)[1].split(';')\n for (const eachCssProperty of cssProperties) {\n addProp(themeName, eachCssProperty)\n }\n }\n\n if (this.themeName) {\n const currentThemeNative = rule.natives.find(eachNative => eachNative.themeName === this.themeName) ?? rule.natives.find(eachNative => !eachNative.themeName)\n if (currentThemeNative) {\n addProps(this.themeName, currentThemeNative.text)\n }\n } else {\n for (const eachNative of rule.natives) {\n addProps(eachNative.themeName, eachNative.text)\n }\n }\n }\n\n const names = []\n let currentName = ''\n const addName = () => {\n if (currentName) {\n names.push(currentName)\n currentName = ''\n }\n }\n\n let i = 1;\n (function analyze(end: string) {\n for (; i < declaration.value.length; i++) {\n const char = declaration.value[i]\n\n if (!end) {\n if (char === ';') {\n addName()\n continue\n }\n if (char === '}') {\n break\n }\n }\n\n currentName += char\n\n if (end === char) {\n if (end === '\\'') {\n let count = 0\n for (let j = currentName.length - 2;; j--) {\n if (currentName[j] !== '\\\\') {\n break\n }\n count++\n }\n if (count % 2) {\n continue\n }\n }\n\n break\n } else if (char in START_SYMBOL && end !== '\\'') {\n i++\n analyze(START_SYMBOL[char])\n }\n }\n })(undefined)\n addName()\n \n for (const eachName of names) {\n const result = css.findAndNew(eachName)\n if (Array.isArray(result)) {\n for (const eachRule of result) {\n handleRule(eachRule)\n }\n } else {\n if (result) {\n handleRule(result)\n } else {\n addProp(this.themeName ?? '', eachName)\n }\n }\n }\n\n return themePropsMap\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CounterIncrement'\n static override propName = 'counter-increment'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CounterReset'\n static override propName = 'counter-reset'\n static override unit = ''\n}", "import FontWeight from '../rules/font-weight'\nimport FontFamily from '../rules/font-family'\nimport FontSize from '../rules/font-size'\nimport Spacing from '../rules/spacing'\nimport Width from '../rules/width'\nimport Height from '../rules/height'\nimport MinWidth from '../rules/min-width'\nimport MinHeight from '../rules/min-height'\nimport LetterSpacing from '../rules/letter-spacing'\nimport FontSmoothing from '../rules/font-smoothing'\nimport FontStyle from '../rules/font-style'\nimport FontVariantNumeric from '../rules/font-variant-numeric'\nimport LineHeight from '../rules/line-height'\nimport ObjectFit from '../rules/object-fit'\nimport ObjectPosition from '../rules/object-position'\nimport TextAlign from '../rules/text-align'\nimport TextDecoration from '../rules/text-decoration'\nimport TextTransform from '../rules/text-transform'\nimport VerticalAlign from '../rules/vertical-align'\nimport Lines from '../rules/lines'\nimport TransformOrigin from '../rules/transform-origin'\nimport TransformStyle from '../rules/transform-style'\nimport TransformBox from '../rules/transform-box'\nimport Transform from '../rules/transform'\nimport Transition from '../rules/transition'\nimport TransitionDelay from '../rules/transition-delay'\nimport TransitionDuration from '../rules/transition-duration'\nimport TransitionProperty from '../rules/transition-property'\nimport TransitionTimingFunction from '../rules/transition-timing-function'\nimport MaxHeight from '../rules/max-height'\nimport MaxWidth from '../rules/max-width'\nimport Display from '../rules/display'\nimport BoxSizing from '../rules/box-sizing'\nimport Opacity from '../rules/opacity'\nimport Visibility from '../rules/visibility'\nimport Clear from '../rules/clear'\nimport Float from '../rules/float'\nimport Isolation from '../rules/isolation'\nimport Overflow from '../rules/overflow'\nimport OverscrollBehavior from '../rules/overscroll-behavior'\nimport ZIndex from '../rules/z-index'\nimport AnimationDelay from '../rules/animation-delay'\nimport AnimationDirection from '../rules/animation-direction'\nimport AnimationFillMode from '../rules/animation-fill-mode'\nimport AnimationIterationCount from '../rules/animation-iteration-count'\nimport AnimationName from '../rules/animation-name'\nimport AnimationPlayState from '../rules/animation-play-state'\nimport AnimationTimingFunction from '../rules/animation-timing-function'\nimport Animation from '../rules/animation'\nimport BorderColor from '../rules/border-color'\nimport BorderRadius from '../rules/border-radius'\nimport BorderStyle from '../rules/border-style'\nimport BorderWidth from '../rules/border-width'\nimport Border from '../rules/border'\nimport BackgroundAttachment from '../rules/background-attachment'\nimport BackgroundBlendMode from '../rules/background-blend-mode'\nimport BackgroundClip from '../rules/background-clip'\nimport BackgroundColor from '../rules/background-color'\nimport BackgroundOrigin from '../rules/background-origin'\nimport BackgroundPosition from '../rules/background-position'\nimport BackgroundRepeat from '../rules/background-repeat'\nimport BackgroundSize from '../rules/background-size'\nimport BackgroundImage from '../rules/background-image'\nimport Background from '../rules/background'\nimport MixBlendMode from '../rules/mix-blend-mode'\nimport Position from '../rules/position'\nimport Placement from '../rules/placement'\nimport BackdropFilter from '../rules/backdrop-filter'\nimport Fill from '../rules/fill'\nimport Stroke from '../rules/stroke'\nimport StrokeWidth from '../rules/stroke-width'\nimport Filter from '../rules/filter'\nimport Cursor from '../rules/cursor'\nimport PointerEvents from '../rules/pointer-events'\nimport Resize from '../rules/resize'\nimport TouchAction from '../rules/touch-action'\nimport UserDrag from '../rules/user-drag'\nimport UserSelect from '../rules/user-select'\nimport BoxShadow from '../rules/box-shadow'\nimport TextShadow from '../rules/text-shadow'\nimport TextSize from '../rules/text-size'\nimport WordBreak from '../rules/word-break'\nimport GridColumns from '../rules/grid-columns'\nimport GridRows from '../rules/grid-rows'\nimport Gap from '../rules/gap'\nimport WordSpacing from '../rules/word-spacing'\nimport Variable from '../rules/variable'\nimport AspectRadio from '../rules/aspect-radio'\nimport BoxDecorationBreak from '../rules/box-decoration-break'\nimport BreakAfter from '../rules/break-after'\nimport BreakBefore from '../rules/break-before'\nimport BreakInside from '../rules/break-inside'\nimport FlexShrink from '../rules/flex-shrink'\nimport FlexDirection from '../rules/flex-direction'\nimport FlexGrow from '../rules/flex-grow'\nimport FlexWrap from '../rules/flex-wrap'\nimport FlexBasis from '../rules/flex-basis'\nimport Flex from '../rules/flex'\nimport Order from '../rules/order'\nimport GridColumn from '../rules/grid-column'\nimport ColumnSpan from '../rules/column-span'\nimport GridRow from '../rules/grid-row'\nimport Color from '../rules/color'\nimport AlignContent from '../rules/align-content'\nimport AlignItems from '../rules/align-items'\nimport AlignSelf from '../rules/align-self'\nimport GridAutoColumns from '../rules/grid-auto-columns'\nimport GridAutoFlow from '../rules/grid-auto-flow'\nimport GridAutoRows from '../rules/grid-auto-rows'\nimport JustifyContent from '../rules/justify-content'\nimport JustifyItems from '../rules/justify-items'\nimport JustifySelf from '../rules/justify-self'\nimport PlaceContent from '../rules/place-content'\nimport PlaceItems from '../rules/place-items'\nimport PlaceSelf from '../rules/place-self'\nimport Padding from '../rules/padding'\nimport Margin from '../rules/margin'\nimport TextOverflow from '../rules/text-overflow'\nimport ListStylePosition from '../rules/list-style-position'\nimport ListStyleType from '../rules/list-style-type'\nimport ListStyle from '../rules/list-style'\nimport TextDecorationColor from '../rules/text-decoration-color'\nimport TextDecorationStyle from '../rules/text-decoration-style'\nimport TextDecorationThickness from '../rules/text-decoration-thickness'\nimport TextIndent from '../rules/text-indent'\nimport Content from '../rules/content'\nimport OutlineColor from '../rules/outline-color'\nimport OutlineOffset from '../rules/outline-offset'\nimport OutlineStyle from '../rules/outline-style'\nimport OutlineWidth from '../rules/outline-width'\nimport Outline from '../rules/outline'\nimport BorderCollapse from '../rules/border-collapse'\nimport BorderSpacing from '../rules/border-spacing'\nimport TableLayout from '../rules/table-layout'\nimport AccentColor from '../rules/accent-color'\nimport Appearance from '../rules/appearance'\nimport CaretColor from '../rules/caret-color'\nimport ScrollBehavior from '../rules/scroll-behavior'\nimport ScrollMargin from '../rules/scroll-margin'\nimport ScrollPadding from '../rules/scroll-padding'\nimport ScrollSnapAlign from '../rules/scroll-snap-align'\nimport ScrollSnapStop from '../rules/scroll-snap-stop'\nimport ScrollSnapType from '../rules/scroll-snap-type'\nimport WillChange from '../rules/will-change'\nimport TextUnderlineOffset from '../rules/text-underline-offset'\nimport Inset from '../rules/inset'\nimport Columns from '../rules/columns'\nimport WhiteSpace from '../rules/white-space'\nimport TextOrientation from '../rules/text-orientation'\nimport WritingMode from '../rules/writing-mode'\nimport Contain from '../rules/contain'\nimport AnimationDuration from '../rules/animation-duration'\nimport TextRendering from '../rules/text-rendering'\nimport Direction from '../rules/direction'\nimport TextDecorationLine from '../rules/text-decoration-line'\nimport GridColumnStart from '../rules/grid-column-start'\nimport ListStyleImage from '../rules/list-style-image'\nimport ShapeOutside from '../rules/shape-outside'\nimport ShapeMargin from '../rules/shape-margin'\nimport ShapeImageThreshold from '../rules/shape-image-threshold'\nimport ClipPath from '../rules/clip-path'\nimport Grid from '../rules/grid'\nimport Font from '../rules/font'\nimport Quotes from '../rules/quotes'\nimport GridTemplate from '../rules/grid-template'\nimport GridRowStart from '../rules/grid-row-start'\nimport GridTemplateAreas from '../rules/grid-template-areas'\nimport GridTemplateColumns from '../rules/grid-template-columns'\nimport GridTemplateRows from '../rules/grid-template-rows'\nimport GridArea from '../rules/grid-area'\nimport GridColumnEnd from '../rules/grid-column-end'\nimport GridRowEnd from '../rules/grid-row-end'\nimport MaskImage from '../rules/mask-image'\nimport TextFillColor from '../rules/text-fill-color'\nimport TextStroke from '../rules/text-stroke'\nimport TextStrokeWidth from '../rules/text-stroke-width'\nimport TextStrokeColor from '../rules/text-stroke-color'\nimport StrokeDasharray from '../rules/stroke-dasharray'\nimport StrokeDashoffset from '../rules/stroke-dashoffset'\nimport X from '../rules/x'\nimport Y from '../rules/y'\nimport Cx from '../rules/cx'\nimport Cy from '../rules/cy'\nimport Rx from '../rules/rx'\nimport Ry from '../rules/ry'\nimport BorderImageOutset from '../rules/border-image-outset'\nimport BorderImageRepeat from '../rules/border-image-repeat'\nimport BorderImageSlice from '../rules/border-image-slice'\nimport BorderImageSource from '../rules/border-image-source'\nimport BorderImageWidth from '../rules/border-image-width'\nimport BorderImage from '../rules/border-image'\nimport Group from '../rules/group'\nimport CounterIncrement from '../rules/counter-increment'\nimport counterReset from '../rules/counter-reset'\n\nconst DefaultRules = [\n Group,\n Variable,\n FontSize,\n FontWeight,\n FontFamily,\n FontSmoothing,\n FontStyle,\n FontVariantNumeric,\n Font,\n Color,\n Spacing,\n Margin,\n Padding,\n FlexBasis,\n FlexWrap,\n FlexGrow,\n FlexShrink,\n FlexDirection,\n Flex,\n Display,\n Width,\n Height,\n MinWidth,\n MinHeight,\n Contain,\n Content,\n CounterIncrement,\n counterReset,\n LetterSpacing,\n LineHeight,\n ObjectFit,\n ObjectPosition,\n TextAlign,\n TextDecorationColor,\n TextDecorationStyle,\n TextDecorationThickness,\n TextDecorationLine,\n TextDecoration,\n TextUnderlineOffset,\n TextOverflow,\n TextOrientation,\n TextTransform,\n TextRendering,\n TextIndent,\n VerticalAlign,\n Columns,\n WhiteSpace,\n Inset,\n Lines,\n MaxHeight,\n MaxWidth,\n BoxSizing,\n Opacity,\n Visibility,\n Clear,\n Float,\n Isolation,\n Overflow,\n OverscrollBehavior,\n ZIndex,\n Position,\n Placement,\n Cursor,\n PointerEvents,\n Resize,\n TouchAction,\n WordBreak,\n WordSpacing,\n UserDrag,\n UserSelect,\n TextShadow,\n TextSize,\n TextFillColor,\n TextStrokeWidth,\n TextStrokeColor,\n TextStroke,\n BoxShadow,\n TableLayout,\n TransformBox,\n TransformStyle,\n TransformOrigin,\n Transform,\n TransitionProperty,\n TransitionTimingFunction,\n TransitionDuration,\n TransitionDelay,\n Transition,\n AnimationDelay,\n AnimationDirection,\n AnimationDuration,\n AnimationFillMode,\n AnimationIterationCount,\n AnimationName,\n AnimationPlayState,\n AnimationTimingFunction,\n Animation,\n BorderColor,\n BorderRadius,\n BorderStyle,\n BorderWidth,\n BorderCollapse,\n BorderSpacing,\n BorderImageOutset,\n BorderImageRepeat,\n BorderImageSlice,\n BorderImageSource,\n BorderImageWidth,\n BorderImage,\n Border,\n BackgroundAttachment,\n BackgroundBlendMode,\n BackgroundClip,\n BackgroundColor,\n BackgroundOrigin,\n BackgroundPosition,\n BackgroundRepeat,\n BackgroundSize,\n BackgroundImage,\n Background,\n MixBlendMode,\n BackdropFilter,\n Filter,\n Fill,\n StrokeDasharray,\n StrokeDashoffset,\n StrokeWidth,\n Stroke,\n X,\n Y,\n Cx,\n Cy,\n Rx,\n Ry,\n GridColumnStart,\n GridColumnEnd,\n GridColumn,\n GridColumns,\n GridRowStart,\n GridRowEnd,\n GridRow,\n GridRows,\n GridAutoColumns,\n GridAutoFlow,\n GridAutoRows,\n GridTemplateAreas,\n GridTemplateColumns,\n GridTemplateRows,\n GridTemplate,\n GridArea,\n Grid,\n Gap,\n Order,\n BreakInside,\n BreakBefore,\n BreakAfter,\n BoxDecorationBreak,\n AspectRadio,\n ColumnSpan,\n AlignContent,\n AlignItems,\n AlignSelf,\n JustifyContent,\n JustifyItems,\n JustifySelf,\n PlaceContent,\n PlaceItems,\n PlaceSelf,\n ListStylePosition,\n ListStyleType,\n ListStyleImage,\n ListStyle,\n OutlineColor,\n OutlineOffset,\n OutlineStyle,\n OutlineWidth,\n Outline,\n AccentColor,\n Appearance,\n CaretColor,\n ScrollBehavior,\n ScrollMargin,\n ScrollPadding,\n ScrollSnapAlign,\n ScrollSnapStop,\n ScrollSnapType,\n WillChange,\n WritingMode,\n Direction,\n ShapeOutside,\n ShapeMargin,\n ShapeImageThreshold,\n ClipPath,\n Quotes,\n MaskImage\n]\n\nexport default DefaultRules", "\nimport defaultBreakpoints from './breakpoints'\nimport defaultColors from './colors'\nimport defaultRootSize from './root-size'\nimport defaultSelectors from './selectors'\nimport defaultSemantics from './semantics'\nimport defaultThemes from './themes'\nimport defaultScheme from './scheme'\nimport defaultValues from './values'\nimport DefaultRules from './rules'\nimport MasterCSSRule from '../rule'\nimport MasterCSS from '../css'\n\nconst defaultConfig: MasterCSSConfig = {\n colors: defaultColors,\n breakpoints: defaultBreakpoints,\n semantics: defaultSemantics,\n values: defaultValues,\n selectors: defaultSelectors,\n themes: defaultThemes,\n scheme: defaultScheme,\n Rules: DefaultRules,\n rootSize: defaultRootSize\n}\n\nexport default defaultConfig\n\nexport interface MasterCSSConfig {\n classes?: Record<string, string>\n colors?: Record<string, string | Record<string, string>>\n breakpoints?: Record<string, number>\n mediaQueries?: Record<string, string>\n selectors?: Record<string, string | string[]>\n semantics?: Record<string, string | Record<string, string | number>>\n values?: Record<string, Record<string, string | number> | string | number>\n Rules?: typeof MasterCSSRule[],\n themes?: Record<string, { classes?: Record<string, string>, colors?: Record<string, string | Record<string, string>> }> | string[],\n rootSize?: number\n validateRule?: (rule: MasterCSSRule, css?: MasterCSS) => boolean\n scheme?: {\n preference?: string,\n storage?: {\n sync?: boolean\n key?: string\n }\n }\n}", "export function concatArrays(originVal: any, newVal: any): any | any[] {\n if (Array.isArray(originVal) && Array.isArray(newVal)) {\n // concat logic\n return originVal.concat(newVal)\n }\n return newVal // always return newVal as fallback!!\n}", "/**\n * Returns the object type of the given payload\n *\n * @param {*} payload\n * @returns {string}\n */\nexport function getType(payload: any): string {\n return Object.prototype.toString.call(payload).slice(8, -1)\n}\n", "import { getType } from './get-type'\n\nexport type PlainObject = Record<string | number | symbol, any>\n\n/**\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\n *\n * @param {*} payload\n * @returns {payload is PlainObject}\n */\nexport function isPlainObject(payload: any): payload is PlainObject {\n if (getType(payload) !== 'Object') return false\n return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype\n}", "import { getType } from './get-type'\n\n/**\n * Returns whether the payload is a Symbol\n *\n * @param {*} payload\n * @returns {payload is symbol}\n */\nexport function isSymbol(payload: any): payload is symbol {\n return getType(payload) === 'Symbol'\n}\n", "import { concatArrays } from '../utils/concat-arrays'\nimport { isPlainObject } from '../utils/is-plain-object'\nimport { isSymbol } from '../utils/is-symbol'\n\nfunction assignProp(\n carry: Record<string, any>,\n key: string,\n newVal: any,\n originalObject: Record<string, any>\n): void {\n const propType = {}.propertyIsEnumerable.call(originalObject, key)\n ? 'enumerable'\n : 'nonenumerable'\n if (propType === 'enumerable') carry[key] = newVal\n if (propType === 'nonenumerable') {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true,\n })\n }\n}\n\nfunction mergeRecursively<\n T1 extends Record<string, any> | any,\n T2 extends Record<string, any> | any\n>(\n origin: T1,\n newComer: T2,\n compareFn?: (prop1: any, prop2: any, propName: string) => any\n): (T1 & T2) | T2 {\n // always return newComer if its not an object\n if (!isPlainObject(newComer)) return newComer\n // define newObject to merge all values upon\n let newObject = {} as (T1 & T2) | T2\n if (isPlainObject(origin)) {\n const props = Object.getOwnPropertyNames(origin)\n const symbols = Object.getOwnPropertySymbols(origin)\n newObject = [...props, ...symbols].reduce((carry, key) => {\n const targetVal = origin[key as string]\n if (\n (!isSymbol(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||\n (isSymbol(key) && !Object.getOwnPropertySymbols(newComer).includes(key))\n ) {\n assignProp(carry as Record<string, any>, key as string, targetVal, origin)\n }\n return carry\n }, {} as (T1 & T2) | T2)\n }\n // newObject has all properties that newComer hasn't\n const props = Object.getOwnPropertyNames(newComer)\n const symbols = Object.getOwnPropertySymbols(newComer)\n const result = [...props, ...symbols].reduce((carry, key) => {\n // re-define the origin and newComer as targetVal and newVal\n let newVal = newComer[key as string]\n const targetVal = isPlainObject(origin) ? origin[key as string] : undefined\n // When newVal is an object do the merge recursively\n if (targetVal !== undefined && isPlainObject(newVal)) {\n newVal = mergeRecursively(targetVal, newVal, compareFn)\n }\n const propToAssign = compareFn ? compareFn(targetVal, newVal, key as string) : newVal\n assignProp(carry as Record<string, any>, key as string, propToAssign, newComer)\n return carry\n }, newObject)\n return result\n}\n\ntype ExpandDeep<T> =\n T extends Record<string | number | symbol, unknown>\n ? { [K in keyof T]: ExpandDeep<T[K]> }\n : T extends Array<infer E>\n ? Array<ExpandDeep<E>>\n : T\n\nexport default function extend<T extends Record<string, any>>(\n object: T,\n ...otherObjects: any[]\n): ExpandDeep<any> {\n return otherObjects\n .filter((newComer) => isPlainObject(newComer))\n .reduce((result, newComer) => {\n return mergeRecursively(result, newComer, concatArrays)\n }, object) as any\n}", "import defaultConfig from './config'\nimport extend from './apis/extend'\nimport type { MasterCSSConfig } from './config'\nimport MasterCSSRule from './rule'\n\nconst selectorSymbols = [',', '.', '#', '[', '!', '*', '>', '+', '~', ':', '@']\nconst vendorPrefixSelectorRegExp = /^::-[a-z]+-/m\n\nlet STYLE: HTMLStyleElement\nconst isBrowser = typeof window !== 'undefined'\nif (isBrowser) {\n STYLE = document.createElement('style')\n STYLE.title = 'master'\n}\nconst MAX_WIDTH = 'max-width'\nconst MIN_WIDTH = 'min-width'\nconst ATTRIBUTES = 'attributes'\n\nconst MutationObserver = isBrowser\n ? window.MutationObserver\n : Object\n\nexport declare type MasterCSSOptions = {\n config?: MasterCSSConfig\n override?: boolean\n observe?: boolean\n}\n\nexport default class MasterCSS extends MutationObserver {\n\n static instances: MasterCSS[] = []\n static root: MasterCSS\n\n /**\n * \u5168\u90E8 sheet \u6839\u64DA\u76EE\u524D\u8490\u96C6\u5230\u7684\u6240\u6709 DOM class \u91CD\u65B0 findAndNew\n */\n static refresh(config: MasterCSSConfig) {\n for (const eachInstance of this.instances) {\n eachInstance.refresh(config)\n }\n }\n\n readonly style: HTMLStyleElement\n readonly rules: MasterCSSRule[] = []\n readonly ruleOfClass: Record<string, MasterCSSRule> = {}\n readonly countOfClass = {}\n readonly host: Element\n readonly root: Document | ShadowRoot\n readonly ready: boolean = false\n readonly config: MasterCSSConfig\n\n semantics: [RegExp, string][]\n classes: Record<string, string[]>\n colorsThemesMap: Record<string, Record<string, Record<string, string>>>\n colorNames: string[]\n themeNames: string[]\n relationThemesMap: Record<string, Record<string, string[]>>\n relations: Record<string, string[]>\n selectors: Record<string, [RegExp, string[]][]>\n values: Record<string, Record<string, string | number>>\n globalValues: Record<string, string | number>\n\n private schemeMQL: MediaQueryList\n\n constructor(\n public options?: MasterCSSOptions\n ) {\n super((mutationRecords) => {\n // console.time('css engine');\n\n const correctionOfClassName = {}\n const attributeMutationRecords: MutationRecord[] = []\n const updatedElements: Element[] = []\n const unchangedElements: Element[] = []\n\n /**\n * \u53D6\u5F97\u6240\u6709\u6DF1\u5C64\u5F8C\u4EE3\u7684 class names \n */\n const handleClassNameDeeply = (element: Element, remove: boolean) => {\n if (remove) {\n element.classList.forEach(removeClassName)\n } else {\n element.classList.forEach(addClassName)\n }\n\n const children = element.children\n for (let i = 0; i < children.length; i++) {\n const eachChildren = children[i]\n if (eachChildren.classList) {\n updatedElements.push(eachChildren)\n\n handleClassNameDeeply(eachChildren, remove)\n }\n }\n }\n\n const addClassName = (className: string) => {\n if (className in correctionOfClassName) {\n correctionOfClassName[className]++\n } else {\n correctionOfClassName[className] = 1\n }\n }\n\n const removeClassName = (className: string) => {\n if (className in correctionOfClassName) {\n correctionOfClassName[className]--\n } else {\n correctionOfClassName[className] = -1\n }\n }\n\n const handleNodes = (nodes: HTMLCollection, remove: boolean) => {\n for (let i = 0; i < nodes.length; i++) {\n const eachNode = nodes[i]\n if (eachNode.classList && !updatedElements.includes(eachNode) && !unchangedElements.includes(eachNode)) {\n if (eachNode.isConnected !== remove) {\n updatedElements.push(eachNode)\n handleClassNameDeeply(eachNode, remove)\n } else {\n unchangedElements.push(eachNode)\n }\n }\n }\n }\n\n for (let i = 0; i < mutationRecords.length; i++) {\n const mutationRecord = mutationRecords[i]\n const { addedNodes, removedNodes, type, target, oldValue } = mutationRecord\n if (type === ATTRIBUTES) {\n /**\n * \u9632\u6B62\u540C\u6A23\u7684 MutationRecord \u91CD\u8907\u57F7\u884C\n * According to this history, \n * MutationObserver was designed to work that way. \n * Any call to setAttribute triggers a mutation, \n * regardless of whether the value is being changed or set to the current value\n */\n if (\n target['className'] === oldValue // prevent same class to execute\n || attributeMutationRecords\n .find((eachAttributeMutationRecord) => eachAttributeMutationRecord.target === target)\n ) {\n continue\n } else {\n /**\n * \u7B2C\u4E00\u500B\u5339\u914D\u5230\u7684 oldValue \u4E00\u5B9A\u662F\u8A72\u6279\u8B8A\u52D5\u524D\u7684\u539F\u59CB\u72C0\u614B\u503C\n */\n attributeMutationRecords.push(mutationRecord)\n }\n } else {\n // \u5148\u5224\u65B7\u7BC0\u9EDE\u65B0\u589E\u6216\u79FB\u9664\n handleNodes(addedNodes, false)\n handleNodes(removedNodes, true)\n }\n }\n\n if (!attributeMutationRecords.length && !Object.keys(correctionOfClassName).length) {\n // console.timeEnd('css engine');\n return\n }\n\n for (const { oldValue, target } of attributeMutationRecords) {\n /**\n * \u5982\u679C\u88AB\u64CD\u4F5C\u7684\u5143\u7D20\u4E2D\u5305\u542B\u4E86\u5C6C\u6027\u8B8A\u66F4\u7684\u76EE\u6A19\uFF0C\n * \u5247\u5C07\u8A72\u76EE\u6A19\u5F9E existedAttributeMutationTargets \u4E2D\u79FB\u9664\uFF0C\n * \u4EE5\u9632\u6B62\u57F7\u884C\u63A5\u4E0B\u4F86\u7684\u5C6C\u6027\u8B8A\u66F4\u8655\u7406\n * \n * \u8A72\u6279 mutationRecords \u4E2D\uFF0C\u67D0\u500B target \u540C\u6642\u6709 attribute \u53CA childList \u7684\u8B8A\u66F4\uFF0C\n * \u5247\u4EE5 childList \u7BC0\u9EDE\u63D2\u5165\u53CA\u79FB\u9664\u7684 target.className \u70BA\u4E3B\n */\n const updated = updatedElements.includes(target as Element)\n const classNames = (target as Element).classList\n const oldClassNames = oldValue ? oldValue.split(' ') : []\n if (updated) {\n if (target.isConnected) {\n continue\n } else {\n for (const oldClassName of oldClassNames) {\n if (!classNames.contains(oldClassName)) {\n removeClassName(oldClassName)\n }\n }\n }\n } else {\n if (target.isConnected) {\n classNames.forEach((className) => {\n if (!oldClassNames.includes(className)) {\n addClassName(className)\n }\n })\n for (const oldClassName of oldClassNames) {\n if (!classNames.contains(oldClassName)) {\n removeClassName(oldClassName)\n }\n }\n } else {\n for (const oldClassName of oldClassNames) {\n removeClassName(oldClassName)\n }\n }\n }\n }\n\n for (const className in correctionOfClassName) {\n const correction = correctionOfClassName[className]\n const count = (this.countOfClass[className] || 0) + correction\n if (count === 0) {\n // remove\n delete this.countOfClass[className]\n /**\n * class name \u5F9E DOM tree \u4E2D\u88AB\u79FB\u9664\uFF0C\n * \u5339\u914D\u4E26\u522A\u9664\u5C0D\u61C9\u7684 rule\n */\n this.delete(className)\n } else {\n if (!(className in this.countOfClass)) {\n // add\n /**\n * \u65B0 class name \u88AB connected \u81F3 DOM tree\uFF0C\n * \u5339\u914D\u4E26\u5275\u5EFA\u5C0D\u61C9\u7684 Rule\n */\n this.findAndInsert(className)\n }\n\n this.countOfClass[className] = count\n }\n }\n\n // console.timeEnd('css engine');\n })\n\n this.options = extend({ observe: true }, options)\n\n if (this.options.config && !this.options.override) {\n this.config = extend(defaultConfig, this.options.config)\n } else {\n this.config = defaultConfig\n }\n\n this.cache()\n\n if (isBrowser && this.options.observe) {\n this.observe(document)\n }\n\n MasterCSS.instances.push(this)\n this.ready = true\n }\n\n get storageScheme() {\n const { storage } = this.config.scheme\n return localStorage.getItem(storage.key)\n }\n\n #scheme: string\n #theme: string\n\n set scheme(scheme: string) {\n if (scheme !== this.#scheme) {\n this.#scheme = scheme\n const { storage } = this.config.scheme\n if (scheme === 'system') {\n // \u6309\u7167\u7CFB\u7D71\u7684\u4E3B\u984C\u5207\u63DB\uFF0C\u76EE\u524D\u53EA\u652F\u63F4 light dark\n this.schemeMQL = window.matchMedia('(prefers-color-scheme:dark)')\n this.schemeMQL.addEventListener('change', this.onThemeChange)\n this.theme = this.schemeMQL.matches ? 'dark' : 'light'\n } else {\n this.removeSchemeListener()\n this.theme = scheme\n }\n if (this.storageScheme !== scheme && storage.sync) {\n localStorage.setItem(storage.key, scheme)\n }\n if (this.ready) {\n this.host.dispatchEvent(new CustomEvent('scheme', { detail: this }))\n }\n }\n }\n\n get scheme() {\n return this.#scheme\n }\n\n set theme(theme: string) {\n if (theme !== this.#theme) {\n if (this.#theme) {\n this.host.classList.remove(this.#theme)\n }\n this.#theme = theme\n if (this.host === document.documentElement) {\n (this.host as HTMLElement).style.colorScheme = theme\n }\n this.host.classList.add(theme)\n if (this.ready) {\n this.host.dispatchEvent(new CustomEvent('theme', { detail: this }))\n }\n }\n }\n\n get theme() {\n return this.#theme\n }\n\n private removeSchemeListener() {\n if (this.schemeMQL) {\n this.schemeMQL.removeEventListener('change', this.onThemeChange)\n this.schemeMQL = null\n }\n }\n\n private onThemeChange = (mediaQueryList) => {\n this.theme = mediaQueryList.matches ? 'dark' : 'light'\n }\n\n private cache() {\n this.semantics = []\n this.classes = {}\n this.colorsThemesMap = {}\n this.relationThemesMap = {}\n this.relations = {}\n this.colorNames = []\n this.themeNames = ['']\n this.selectors = {}\n this.values = {}\n this.globalValues = {}\n\n const { semantics, classes, selectors, themes, colors, values } = this.config\n\n function escapeString(str) {\n return str.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n }\n\n if (semantics) {\n for (const semanticName in semantics) {\n this.semantics.push([new RegExp('^' + escapeString(semanticName) + '(?=!|\\\\*|>|\\\\+|~|:|\\\\[|@|_|\\\\.|$)', 'm'), semanticName])\n }\n }\n if (selectors) {\n for (const [replacedSelectorText, newSelectorText] of Object.entries(selectors)) {\n const regexp = new RegExp(escapeString(replacedSelectorText) + '(?![a-z-])')\n for (const eachNewSelectorText of Array.isArray(newSelectorText) ? newSelectorText : [newSelectorText]) {\n const vendor = eachNewSelectorText.match(vendorPrefixSelectorRegExp)?.[0] ?? ''\n\n let selectorValues = this.selectors[vendor]\n if (!selectorValues) {\n selectorValues = this.selectors[vendor] = []\n }\n\n let currentSelectValue = selectorValues.find(([_valueRegexp]) => _valueRegexp === regexp)\n if (!currentSelectValue) {\n currentSelectValue = [regexp, []]\n selectorValues.push(currentSelectValue)\n }\n\n currentSelectValue[1].push(eachNewSelectorText)\n }\n }\n }\n if (values) {\n for (const [id, valueMap] of Object.entries(values)) {\n (typeof valueMap === 'object'\n ? this.values\n : this.globalValues)[id] = valueMap\n }\n }\n\n const semanticNames = [\n ...(classes ? Object.keys(classes) : []),\n ...((themes && !Array.isArray(themes))\n ? Object.entries(themes).flatMap(([_, { classes }]: any) => classes ? Object.keys(classes) : [])\n : [])\n ]\n const handleSemanticName = (semanticName: string) => {\n if (semanticName in this.classes)\n return\n\n const currentClass = this.classes[semanticName] = []\n\n const handleClassNames = (theme: string, className: string | string[]) => {\n if (!className)\n return\n\n const classNames: string[] = Array.isArray(className)\n ? className\n : className\n .replace(/(?:\\n(?:\\s*))+/g, ' ')\n .trim()\n .split(' ')\n for (const eachClassName of classNames) {\n const handle = (className: string) => {\n if (className in this.relationThemesMap) {\n if (theme in this.relationThemesMap[className]) {\n this.relationThemesMap[className][theme].push(semanticName)\n } else {\n this.relationThemesMap[className][theme] = [semanticName]\n }\n } else {\n this.relationThemesMap[className] = { [theme]: [semanticName] }\n }\n\n if (!currentClass.includes(className)) {\n currentClass.push(className)\n }\n }\n\n if (semanticNames.includes(eachClassName)) {\n handleSemanticName(eachClassName)\n\n for (const parentClassName of this.classes[eachClassName]) {\n handle(parentClassName)\n }\n } else {\n handle(eachClassName)\n }\n }\n }\n\n handleClassNames('', classes?.[semanticName])\n if (themes && !Array.isArray(themes)) {\n for (const [eachTheme, { classes }] of Object.entries(themes) as any) {\n handleClassNames(eachTheme, classes?.[semanticName])\n }\n }\n }\n for (const eachSemanticName of semanticNames) {\n handleSemanticName(eachSemanticName)\n }\n\n for (const className in this.relationThemesMap) {\n const currentRelation = this.relations[className] = []\n for (const semanticNames of Object.values(this.relationThemesMap[className])) {\n for (const eachSemanticName of semanticNames) {\n if (!currentRelation.includes(eachSemanticName)) {\n currentRelation.push(eachSemanticName)\n }\n }\n }\n }\n\n const mergeColors = (theme: string, colors: Record<string, string | Record<string, string>>) => {\n if (!colors)\n return\n\n for (const colorName in colors) {\n let levels = colors[colorName]\n if (typeof levels === 'string') {\n levels = { '': levels }\n }\n\n if (colorName in this.colorsThemesMap) {\n const levelsThemes = this.colorsThemesMap[colorName]\n for (const level in levels) {\n const color = levels[level]\n\n if (level in levelsThemes) {\n levelsThemes[level][theme] = color\n } else {\n levelsThemes[level] = { [theme]: color }\n }\n }\n } else {\n this.colorNames.push(colorName)\n this.colorsThemesMap[colorName] = Object\n .entries(levels)\n .reduce((obj, [level, color]) => {\n obj[level] = { [theme]: color }\n return obj\n }, {})\n }\n }\n }\n mergeColors('', colors)\n if (themes) {\n if (Array.isArray(themes)) {\n this.themeNames.push(...themes)\n } else {\n for (const eachTheme in themes) {\n const themeValue = themes[eachTheme]\n mergeColors(eachTheme, themeValue.colors)\n this.themeNames.push(eachTheme)\n }\n }\n }\n\n for (const [colorName, levelsThemes] of Object.entries(this.colorsThemesMap)) {\n for (const [level, themesColor] of Object.entries(levelsThemes)) {\n for (const [theme, color] of Object.entries(themesColor)) {\n if (!color.startsWith('#')) {\n const [_colorName, _level] = color.split('-')\n const assignedThemesColor = this.colorsThemesMap[_colorName]?.[_level ?? '']\n let newColor = ''\n\n if (assignedThemesColor) {\n newColor = (theme\n ? assignedThemesColor[theme] \n : undefined)\n ?? assignedThemesColor['']\n if (newColor) {\n themesColor[theme] = newColor\n }\n }\n \n if (!newColor) {\n console.warn(`\\`${color}\\` doesn't exist in the extended config \\`.colors\\``)\n\n if (Object.keys(themesColor).length > 1) {\n delete themesColor[theme] \n } else if (Object.keys(levelsThemes).length > 1) {\n delete levelsThemes[level]\n } else {\n delete this.colorsThemesMap[colorName]\n this.colorNames.splice(this.colorNames.indexOf(colorName), 1)\n }\n }\n }\n }\n }\n }\n }\n\n observe(root: Document | ShadowRoot, options: MutationObserverInit = { subtree: true, childList: true }) {\n if (isBrowser && root) {\n // @ts-ignore\n this.root = root\n const isDocumentRoot = root === document\n if (isDocumentRoot) {\n MasterCSS.root = this\n }\n\n // @ts-ignore\n this.host = isDocumentRoot ? document.documentElement : (root as ShadowRoot).host\n\n // sync theme\n this.scheme = this.storageScheme || this.config.scheme.preference\n\n const container = isDocumentRoot ? document.head : root\n const styleSheets: StyleSheetList = isDocumentRoot ? document.styleSheets : root.styleSheets\n // @ts-ignore\n for (const sheet of styleSheets) {\n const { title, href, ownerNode } = sheet\n if (\n title === 'master'\n || href && /master(?:\\..+)?\\.css/.test(href)\n ) {\n // @ts-ignore\n this.style = ownerNode\n }\n }\n\n if (this.style) {\n for (let index = 0; index < this.style.sheet.cssRules.length; index++) {\n const getRule = (cssRule: any): MasterCSSRule => {\n if (cssRule.selectorText) {\n const selectorTexts = cssRule.selectorText.split(', ')\n const escapedClassNames = selectorTexts[0].split(' ')\n\n for (let i = 0; i < escapedClassNames.length; i++) {\n const eachSelectorText = escapedClassNames[i]\n if (eachSelectorText[0] === '.') {\n const escapedClassName = eachSelectorText.slice(1)\n\n let className = ''\n for (let j = 0; j < escapedClassName.length; j++) {\n const char = escapedClassName[j]\n const nextChar = escapedClassName[j + 1]\n\n if (char === '\\\\') {\n j++\n\n if (nextChar !== '\\\\') {\n className += nextChar\n\n continue\n }\n } else if (selectorSymbols.includes(char)) {\n break\n }\n\n className += char\n }\n\n if (!(className in this.ruleOfClass) && !(className in this.classes)) {\n const currentRule = this.findAndNew(className) as MasterCSSRule\n if (currentRule)\n return currentRule\n }\n }\n }\n } else if (cssRule.cssRules) {\n for (let index = 0; index < cssRule.cssRules.length; index++) {\n const currentRule = getRule(cssRule.cssRules[index])\n if (currentRule)\n return currentRule\n }\n }\n }\n const rule = getRule(this.style.sheet.cssRules[index])\n if (rule) {\n this.rules.push(rule)\n this.ruleOfClass[rule.className] = rule\n\n for (let i = 0; i < rule.natives.length; i++) {\n rule.natives[i].cssRule = this.style.sheet.cssRules[index + i]\n }\n\n index += rule.natives.length - 1\n }\n }\n } else {\n // @ts-ignore\n this.style = STYLE.cloneNode() as HTMLStyleElement\n /** \u4F7F\u7528 prepend \u800C\u975E append \u53BB\u964D\u4F4E rules \u985E\u7684\u512A\u5148\u5C64\u7D1A\uFF0C\u7121\u6CD5\u5F37\u5236\u6392\u5728\u6240\u6709 <style> \u4E4B\u5F8C */\n container.prepend(this.style)\n }\n\n if (options.subtree) {\n /**\n * \u5F85\u6240\u6709 DOM \u7D50\u69CB\u5B8C\u6210\u89E3\u6790\u5F8C\uFF0C\u958B\u59CB\u7E6A\u88FD MasterCSSRule \u6A23\u5F0F\n */\n this.host\n .querySelectorAll('[class]')\n .forEach((element) => {\n element.classList.forEach((className) => {\n if (className in this.countOfClass) {\n this.countOfClass[className]++\n } else {\n this.countOfClass[className] = 1\n\n this.findAndInsert(className)\n }\n })\n })\n }\n\n super.observe(root, {\n ...options,\n attributes: true,\n attributeOldValue: true,\n attributeFilter: ['class'],\n })\n }\n return this\n }\n\n disconnect(): void {\n super.disconnect()\n // @ts-ignore\n this.ruleOfClass = {}\n // @ts-ignore\n this.countOfClass = {}\n\n this.rules.length = 0\n\n const sheet = this.style.sheet\n if (sheet) {\n for (let i = sheet.cssRules.length - 1; i >= 0; i--) {\n sheet.deleteRule(i)\n }\n }\n }\n\n /**\n * \u5C0B\u627E\u5339\u914D\u7684 MasterCSSRule \u751F\u6210\u5BE6\u4F8B\n */\n findAndNew(name: string) {\n const findAndNewRule = (className: string) => {\n if (className in this.ruleOfClass)\n return this.ruleOfClass[className]\n\n for (const EachRule of this.config.Rules) {\n const matching = EachRule.match(className, this.colorNames)\n if (matching)\n return new EachRule(\n className,\n matching,\n this\n )\n }\n\n for (const eachSemanticEntry of this.semantics) {\n if (className.match(eachSemanticEntry[0]))\n return new MasterCSSRule(\n className,\n { origin: 'semantics', value: eachSemanticEntry[1] },\n this\n )\n }\n }\n\n return name in this.classes\n ? this.classes[name]\n .map(findAndNewRule)\n .filter(eachRule => eachRule)\n : findAndNewRule(name)\n }\n\n /**\n * \u6839\u64DA\u76EE\u524D\u8490\u96C6\u5230\u7684\u6240\u6709 DOM class \u91CD\u65B0 findAndNew\n */\n refresh(config: MasterCSSConfig) {\n // @ts-ignore\n this.config = config\n this.cache()\n\n if (!this.style) {\n return\n }\n\n const element = STYLE.cloneNode() as HTMLStyleElement\n this.style.replaceWith(element)\n // @ts-ignore\n this.style = style\n this.rules.length = 0\n // @ts-ignore\n this.ruleOfClass = {}\n\n /**\n * \u62FF\u7576\u524D\u6240\u6709\u7684 classNames \u6309\u7167\u6700\u65B0\u7684 colors, breakpoints, config.Rules \u5339\u914D\u4E26\u751F\u6210\u65B0\u7684 style\n * \u6240\u4EE5 refresh \u904E\u5F8C rules \u53EF\u80FD\u6703\u8B8A\u591A\u4E5F\u53EF\u80FD\u6703\u8B8A\u5C11\n */\n for (const name in this.countOfClass) {\n this.findAndInsert(name)\n }\n }\n\n destroy() {\n const instances = MasterCSS.instances\n this.disconnect()\n instances.splice(instances.indexOf(this), 1)\n this.style.remove()\n this.removeSchemeListener()\n }\n\n /**\n * 1. where\n * 2. normal\n * 3. where selectors\n * 4. normal selectors\n * 5. media where\n * 6. media normal\n * 7. media selectors\n * 8. media width where\n * 9. media width\n * 10. media width selectors\n */\n insert(rule: MasterCSSRule) {\n if (this.ruleOfClass[rule.className])\n return\n\n const { validateRule } = this.config\n if (validateRule && !validateRule(rule, this)) {\n return\n }\n\n let index\n /**\n * \u5FC5\u9808\u6309\u65B7\u9EDE\u503C\u905E\u589E\uFF0C\u4E26\u900F\u904E\u7D22\u5F15\u63D2\u5165\uFF0C\n * \u4EE5\u5BE6\u73FE\u97FF\u61C9\u5F0F\u5148\u5F8C\u5957\u7528\u7684\u898F\u5247\n * @example <1 <2 <3 ALL >=1 >=2 >=3\n * @description\n */\n const endIndex = this.rules.length - 1\n const { media, order, prioritySelectorIndex, hasWhere, className } = rule\n const findPrioritySelectorInsertIndex = (\n rules: MasterCSSRule[],\n findStartIndex?: (rule: MasterCSSRule) => any,\n findEndIndex?: (rule: MasterCSSRule) => any,\n ignoreRule?: (rule: MasterCSSRule) => any\n ) => {\n let sIndex = 0\n let eIndex: number\n\n // 1. \u627E\u5C0B\u76EE\u6A19\u9663\u5217\n if (findStartIndex) {\n sIndex = rules.findIndex(findStartIndex)\n }\n if (findEndIndex) {\n eIndex = rules.findIndex(findEndIndex)\n }\n if (sIndex === -1) {\n sIndex = rules.length\n }\n if (eIndex === undefined || eIndex === -1) {\n eIndex = rules.length\n }\n\n const targetRules: MasterCSSRule[] = rules.slice(sIndex, eIndex)\n\n // 2. \u7531\u76EE\u6A19\u9663\u5217\u627E\u5C0B\u63D2\u5165\u9EDE\n for (let i = 0; i < targetRules.length; i++) {\n const currentRule = targetRules[i]\n\n if (currentRule.prioritySelectorIndex === -1 || ignoreRule && ignoreRule(currentRule))\n continue\n\n if (\n currentRule.prioritySelectorIndex < prioritySelectorIndex\n || currentRule.prioritySelectorIndex === prioritySelectorIndex\n && (\n hasWhere && !currentRule.hasWhere\n || currentRule.order >= order\n )\n )\n return sIndex + i\n\n }\n\n return sIndex + targetRules.length\n }\n\n if (media) {\n const mediaStartIndex = this.rules.findIndex(eachRule => eachRule.media)\n if (mediaStartIndex !== -1) {\n const maxWidthFeature = media.features[MAX_WIDTH]\n const minWidthFeature = media.features[MIN_WIDTH]\n if (maxWidthFeature && minWidthFeature) {\n /**\n * \u7BC4\u570D\u8D8A\u5C0F ( \u8D8A\u9650\u5B9A \u8D8A\u4FB7\u9650 ) \u8D8A\u512A\u5148\uFF0C\n * \u6309\u7167\u7BC4\u570D max-width - min-width \u905E\u6E1B\u6392\u5E8F\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u7BC4\u570D\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n const range = maxWidthFeature.value - minWidthFeature.value\n for (let i = endIndex; i >= mediaStartIndex; i--) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (!eachMaxWidthFeature || !eachMinWidthFeature) {\n index++\n break\n }\n\n const eachRange = eachMaxWidthFeature.value - eachMinWidthFeature.value\n if (eachRange === range) {\n if (hasWhere !== eachRule.hasWhere)\n continue\n\n if (prioritySelectorIndex !== -1) {\n const sameRangeRules = [this.rules[i]]\n for (let j = i - 1; j >= mediaStartIndex; j--) {\n const currentMediaRule = this.rules[j]\n if (currentMediaRule.hasWhere !== hasWhere)\n break\n\n const currentMedia = currentMediaRule.media\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n if (\n !currentMaxWidthFeature\n || !currentMinWidthFeature\n || (currentMaxWidthFeature.value - currentMinWidthFeature.value !== eachRange)\n )\n break\n\n sameRangeRules.unshift(this.rules[j])\n }\n\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH])\n }\n\n break\n } else if (eachRange > range) {\n break\n }\n }\n } else if (minWidthFeature) {\n /**\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n for (let i = mediaStartIndex; i <= endIndex; i++) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (eachMaxWidthFeature) {\n /**\n * \u6C38\u9060\u63D2\u5165\u5728 range feature \u524D\n */\n if (eachMinWidthFeature) {\n break\n } else {\n continue\n }\n }\n\n const value = eachMinWidthFeature?.value\n if (value === minWidthFeature.value) {\n if (!hasWhere && eachRule.hasWhere) {\n index++\n continue\n }\n\n if (prioritySelectorIndex !== -1) {\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH],\n eachRule => !eachRule.media.features[MIN_WIDTH] && !eachRule.media.features[MAX_WIDTH])\n } else {\n for (let j = i; j <= endIndex; j++) {\n const currentMediaRule = this.rules[j]\n const currentMedia = currentMediaRule.media\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n\n if (currentMaxWidthFeature)\n continue\n\n if (\n currentMediaRule.hasWhere !== hasWhere\n || currentMinWidthFeature.value !== value\n || currentMediaRule.order >= order\n )\n break\n\n index = j + 1\n }\n }\n\n break\n } else if (value > minWidthFeature.value) {\n break\n } else {\n index++\n }\n }\n } else if (maxWidthFeature) {\n /**\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n for (let i = endIndex; i >= mediaStartIndex; i--) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (eachMinWidthFeature) {\n /**\n * \u6C38\u9060\u63D2\u5165\u5728 range feature \u524D\n */\n continue\n }\n\n const value = eachMaxWidthFeature?.value\n if (!value || value > maxWidthFeature.value) {\n index++\n break\n } else if (value === maxWidthFeature.value) {\n if (hasWhere && !eachRule.hasWhere)\n continue\n\n if (prioritySelectorIndex !== -1) {\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH],\n eachRule => !eachRule.media.features[MIN_WIDTH] && !eachRule.media.features[MAX_WIDTH])\n } else {\n const sameRangeRules = [this.rules[i]]\n for (let j = i - 1; j >= mediaStartIndex; j--) {\n const currentMediaRule = this.rules[j]\n const currentMedia = currentMediaRule.media\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n\n if (\n !currentMinWidthFeature\n && (!currentMaxWidthFeature\n || currentMaxWidthFeature.value !== value\n || currentMediaRule.hasWhere !== hasWhere)\n )\n break\n\n sameRangeRules.unshift(currentMediaRule)\n }\n\n for (let j = 0; j < sameRangeRules.length; j++) {\n const currentMediaRule = sameRangeRules[j]\n\n if (currentMediaRule.media.features[MIN_WIDTH])\n continue\n\n if (currentMediaRule.order >= order)\n break\n\n index = i - sameRangeRules.length + 2 + j\n }\n }\n\n break\n }\n }\n }\n }\n /**\n * \u5982\u679C\u627E\u4E0D\u5230\u76EE\u6A19\u4F4D\u7F6E\u5247\u63D2\u5728\u6700\u5F8C\u9762\n */\n if (index === undefined) {\n if (mediaStartIndex === -1) {\n // \u7121\u4EFB\u4F55 media \u6642\uFF0C\u512A\u5148\u7D1A\u6700\u9AD8\n index = endIndex + 1\n } else if (prioritySelectorIndex !== -1) {\n // \u542B\u6709\u512A\u5148 selector\n index = mediaStartIndex +\n findPrioritySelectorInsertIndex(\n this.rules.slice(mediaStartIndex),\n undefined,\n eachRule => eachRule.media.features[MAX_WIDTH] || eachRule.media.features[MIN_WIDTH])\n } else if (hasWhere) {\n // \u4E0D\u542B\u512A\u5148 selector\uFF0C\u4E14\u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u6700\u4F4E\n let i = mediaStartIndex\n for (; i < this.rules.length; i++) {\n const eachRule = this.rules[i]\n if (eachRule.prioritySelectorIndex !== -1 || !eachRule.hasWhere || eachRule.order >= order) {\n index = i\n break\n }\n }\n\n if (index === undefined) {\n index = i\n }\n } else {\n // \u4E0D\u542B\u512A\u5148 selector\uFF0C\u4E14\u4E0D\u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u7DCA\u63A5\u975E min-width / max-width \u7684 where \u4E4B\u5F8C\n for (let i = mediaStartIndex; i <= endIndex; i++) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n if (eachRule.prioritySelectorIndex !== -1 || eachMedia.features[MAX_WIDTH] || eachMedia.features[MIN_WIDTH])\n break\n\n if (eachRule.hasWhere) {\n index++\n } else if (eachRule.order >= order) {\n break\n }\n }\n }\n }\n } else {\n if (prioritySelectorIndex === -1) {\n // \u4E0D\u542B\u512A\u5148 selector\n if (hasWhere) {\n // \u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u6700\u4F4E\n index = this.rules.findIndex(eachRule => !eachRule.hasWhere\n || eachRule.media\n || eachRule.prioritySelectorIndex !== -1\n || eachRule.order >= order)\n\n if (index === -1) {\n index = endIndex + 1\n }\n } else {\n // \u4E0D\u542B where\uFF0C\u512A\u5148\u7D1A\u7DCA\u63A5 where \u4E4B\u5F8C\n let i = 0\n for (; i < this.rules.length; i++) {\n const eachRule = this.rules[i]\n if (eachRule.media || !eachRule.hasWhere && (eachRule.order >= order || eachRule.prioritySelectorIndex !== -1)) {\n index = i\n break\n }\n }\n\n if (index === undefined) {\n index = i\n }\n }\n } else {\n // \u542B\u6709\u512A\u5148 selector\n index = findPrioritySelectorInsertIndex(this.rules, undefined, eachRule => eachRule.media)\n }\n }\n\n this.rules.splice(index, 0, rule)\n this.ruleOfClass[className] = rule\n\n // \u53EA\u5728\u700F\u89BD\u5668\u7AEF\u904B\u884C\n if (this.style) {\n const sheet = this.style.sheet\n\n let cssRuleIndex = 0\n const getCssRuleIndex = (index: number) => {\n const previousRule = this.rules[index]\n if (previousRule) {\n if (!previousRule.natives.length)\n return getCssRuleIndex(index - 1)\n\n const lastNativeCssRule = previousRule.natives[previousRule.natives.length - 1].cssRule\n for (let i = 0; i < sheet.cssRules.length; i++) {\n if (sheet.cssRules[i] === lastNativeCssRule) {\n cssRuleIndex = i + 1\n break\n }\n }\n }\n }\n getCssRuleIndex(index - 1)\n\n for (let i = 0; i < rule.natives.length;) {\n try {\n const native = rule.natives[i]\n sheet.insertRule(native.text, cssRuleIndex)\n native.cssRule = sheet.cssRules[cssRuleIndex++]\n i++\n } catch (error) {\n console.error(error)\n\n rule.natives.splice(i, 1)\n }\n }\n }\n }\n\n delete(className: string) {\n /**\n * class name \u5F9E DOM tree \u4E2D\u88AB\u79FB\u9664\uFF0C\n * \u5339\u914D\u4E26\u522A\u9664\u5C0D\u61C9\u7684 rule\n */\n const sheet = this.style.sheet\n const deleteRule = (name: string) => {\n const rule = this.ruleOfClass[name]\n if (\n !rule\n || name in this.relations && this.relations[name].some(eachClassName => eachClassName in this.countOfClass)\n )\n return\n\n if (rule.natives.length) {\n const firstNative = rule.natives[0]\n for (let index = 0; index < sheet.cssRules.length; index++) {\n const eachCssRule = sheet.cssRules[index]\n if (eachCssRule === firstNative.cssRule) {\n for (let i = 0; i < rule.natives.length; i++) {\n sheet.deleteRule(index)\n }\n\n this.rules.splice(this.rules.indexOf(rule), 1)\n break\n }\n }\n }\n\n delete this.ruleOfClass[name]\n }\n\n if (className in this.classes) {\n for (const eachClassName of this.classes[className]) {\n if (!(eachClassName in this.countOfClass)) {\n deleteRule(eachClassName)\n }\n }\n\n delete this.ruleOfClass[className]\n } else {\n deleteRule(className)\n }\n }\n\n findAndInsert(className: string) {\n const rule = this.findAndNew(className)\n if (Array.isArray(rule)) {\n for (const eachRule of rule) {\n this.insert(eachRule)\n }\n } else if (rule) {\n this.insert(rule)\n }\n }\n\n get text() {\n return this.rules.map((eachRule) =>\n eachRule.natives\n .map((eachNativeRule) => eachNativeRule.text)\n .join('')\n ).join('')\n }\n}\n\nif (isBrowser) {\n window.MasterCSS = MasterCSS\n}\n\ndeclare global {\n interface Window {\n MasterCSS: typeof MasterCSS;\n }\n}", "import MasterCSS from './css'\nnew MasterCSS({ config: window['masterCSSConfig'] })"],
5
- "mappings": "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C,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACJ,EAEOC,GAAQnM,GC3Xf,IAAMoM,GAAiC,CACnC,OAAQC,GACR,YAAaC,GACb,UAAWC,GACX,OAAQC,GACR,UAAWC,GACX,OAAQC,GACR,OAAQC,GACR,MAAOC,GACP,SAAUC,EACd,EAEOC,GAAQV,GCzBR,SAASW,GAAaC,EAAgBC,EAA0B,CACnE,OAAI,MAAM,QAAQD,CAAS,GAAK,MAAM,QAAQC,CAAM,EAEzCD,EAAU,OAAOC,CAAM,EAE3BA,CACX,CCAO,SAASC,GAAQC,EAAsB,CAC1C,OAAO,OA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",
6
- "names": ["defaultBreakpoints", "breakpoints_default", "hexToRgb", "hex", "aRgbHex", "rgbToHex", "g", "b", "fillColorScale", "data", "hasMainRgb", "isLevelMore100", "level", "startLevel", "startRgb", "hexToRgb", "endLevel", "endRgb", "newLevels", "generateColor", "levelDiff", "rgbDiff", "color", "i", "eachNewLevel", "currentLevelDiff", "newRgb", "rgbToHex", "defaultColors", "fillColorScale", "colors_default", "root_size_default", "defaultSelectors", "selectors_default", "defaultSemantics", "semantics_default", "defaultThemes", "themes_default", "defaultScheme", "scheme_default", "boxUnderneath", "contentExtrema", "sizingValues", "key", "breakpoints_default", "defaultValues", "values_default", "getCssPropertyText", "name", "property", "normalizeCssCalcText", "value", "isOperator", "char", "newValue", "type", "current", "endWithBracket", "clear", "i", "UNIT_VALUE_PATTERN", "VAR_START", "parseValue", "token", "defaultUnit", "colorsThemesMap", "values", "globalValues", "rootSize", "themes", "value", "unit", "unitToken", "colorMatched", "colorNames", "anyMatched", "hasColorName", "origin", "prefix", "colorName", "level", "opacityStr", "themeHexColorMap", "hexColor", "eachTheme", "newValue", "opacity", "matches", "splits", "normalizeCssCalcText", "START_SYMBOL", "PRIORITY_SELECTORS", "MATCHES", "SEMANTICS", "SYMBOL", "WIDTH", "MAX_WIDTH", "MIN_WIDTH", "MOTION", "REDUCE", "REDUCED_MOTION", "PX", "REM", "selectorSymbols", "selectorSplitRegexp", "transformSelectorUnderline", "selector", "eachToken", "MasterCSSRule", "className", "matching", "css", "TargetRule", "id", "unit", "propName", "colorful", "breakpoints", "mediaQueries", "semantics", "rootSize", "themeNames", "colorsThemesMap", "selectors", "globalValues", "values", "relationThemesMap", "token", "value", "prefixToken", "suffixToken", "valueTokens", "valueToken", "i", "indexOfColon", "currentValueToken", "analyze", "end", "depth", "func", "varIndex", "isString", "val", "count", "j", "START_SYMBOL", "analyzeSelectorToken", "selectorText", "transformedSelectorText", "currentSelector", "symbolCount", "char", "suffixTokens", "suffixSelector", "transform", "selectorValues", "matched", "regexp", "newSelectorTexts", "eachNewSelectorText", "suffixSelectors", "vendorSelectors", "vendor", "newVendorSelectors", "eachSuffixSelector", "insertVendorSuffixSelectors", "selectorTexts", "groupedSelectorTexts", "arr", "vendors", "eachVendor", "atToken", "type", "queryText", "underscoreIndex", "leftBracketIndex", "queryTexts", "typeOrFeatureTokens", "typeOrFeatureToken", "feature", "featureName", "extremumOperator", "correction", "conditionUnitValueToken", "breakpoint", "parseValue", "insertNewNative", "themeName", "bypassWhenUnmatchColor", "newValue", "newUnit", "generateCssText", "propertiesText", "prefixText", "prefixTexts", "eachPrefixSelector", "getCssText", "name", "prefixThemeText", "esacpedName", "eachPrefixText", "_arr", "cssText", "relationTheme", "classNames", "str", "key", "a", "b", "newValueTokens", "uv", "anyColorMatched", "eachValueToken", "previousVal", "currentVal", "declaration", "themeProps", "propertyName", "propertyValue", "getCssPropertyText", "eachThemeName", "colorNames", "__publicField", "font_weight_default", "MasterCSSRule", "__publicField", "font_family_default", "MasterCSSRule", "__publicField", "font_size_default", "MasterCSSRule", "__publicField", "spacing_default", "MasterCSSRule", "declaration", "SPACING", "SPACING_LEFT", "SPACING_RIGHT", "SPACING_TOP", "SPACING_BOTTOM", "__publicField", "width_default", "MasterCSSRule", "__publicField", "height_default", "MasterCSSRule", "__publicField", "min_width_default", "MasterCSSRule", "__publicField", "min_height_default", "MasterCSSRule", "__publicField", "letter_spacing_default", "MasterCSSRule", "__publicField", "SUBPIXEL_ANTIALIASED", "WEBKIT_FONT_SMOOTHING", "MOZ_OSXFONT_SMOOTHING", "font_smoothing_default", "MasterCSSRule", "declaration", "props", "__publicField", "font_style_default", "MasterCSSRule", "__publicField", "font_variant_numeric_default", "MasterCSSRule", "__publicField", "line_height_default", "MasterCSSRule", "__publicField", "object_fit_default", "MasterCSSRule", "__publicField", "object_position_default", "MasterCSSRule", "__publicField", "text_align_default", "MasterCSSRule", "__publicField", "text_decoration_default", "MasterCSSRule", "__publicField", "text_transform_default", "MasterCSSRule", "__publicField", "vertical_align_default", "MasterCSSRule", "__publicField", "lines_default", "MasterCSSRule", "declaration", "__publicField", "transform_origin_default", "MasterCSSRule", "__publicField", "transform_style_default", "MasterCSSRule", "__publicField", "transform_box_default", "MasterCSSRule", "__publicField", "transform_default", "MasterCSSRule", "value", "rootSize", "origin", "method", "type", "valueStr", "unit", "last", "values", "eachValue", "i", "__publicField", "transition_default", "MasterCSSRule", "__publicField", "transition_delay_default", "MasterCSSRule", "__publicField", "transition_duration_default", "MasterCSSRule", "__publicField", "transition_property_default", "MasterCSSRule", "__publicField", "transition_timing_function_default", "MasterCSSRule", "__publicField", "max_height_default", "MasterCSSRule", "__publicField", "max_width_default", "MasterCSSRule", "__publicField", "display_default", "MasterCSSRule", "__publicField", "box_sizing_default", "MasterCSSRule", "__publicField", "opacity_default", "MasterCSSRule", "__publicField", "visibility_default", "MasterCSSRule", "__publicField", "clear_default", "MasterCSSRule", "__publicField", "float_default", "MasterCSSRule", "__publicField", "isolation_default", "MasterCSSRule", "__publicField", "overflow_default", "MasterCSSRule", "declaration", "__publicField", "overscroll_behavior_default", "MasterCSSRule", "declaration", "__publicField", "z_index_default", "MasterCSSRule", "__publicField", "animation_delay_default", "MasterCSSRule", "__publicField", "animation_direction_default", "MasterCSSRule", "__publicField", "animation_fill_mode_default", "MasterCSSRule", "__publicField", "animation_iteration_count_default", "MasterCSSRule", "__publicField", "animation_name_default", "MasterCSSRule", "__publicField", "animation_play_state_default", "MasterCSSRule", "__publicField", "animation_timing_function_default", "MasterCSSRule", "__publicField", "animation_default", "MasterCSSRule", "__publicField", "BORDER_DASH", "getBorderProps", "name", "declaration", "suffix", "direction", "BORDER_LEFT", "BORDER_RIGHT", "BORDER_TOP", "BORDER_BOTTOM", "border_color_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "BORDER_TOP_LEFT_RADIUS", "BORDER_TOP_RIGHT_RADIUS", "BORDER_BOTTOM_LEFT_RADIUS", "BORDER_BOTTOM_RIGHT_RADIUS", "BORDER_RADIUS", "BORDER_RADIUS_S", "border_radius_default", "MasterCSSRule", "declaration", "suffix", "splits", "i", "prefix", "__publicField", "border_style_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "border_width_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "border_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "background_attachment_default", "MasterCSSRule", "__publicField", "background_blend_mode_default", "MasterCSSRule", "__publicField", "background_clip_default", "MasterCSSRule", "declaration", "__publicField", "background_color_default", "MasterCSSRule", "__publicField", "background_origin_default", "MasterCSSRule", "__publicField", "background_position_default", "MasterCSSRule", "__publicField", "background_repeat_default", "MasterCSSRule", "__publicField", "background_size_default", "MasterCSSRule", "__publicField", "background_image_default", "MasterCSSRule", "__publicField", "background_default", "MasterCSSRule", "__publicField", "mix_blend_mode_default", "MasterCSSRule", "__publicField", "position_default", "MasterCSSRule", "__publicField", "placement_default", "MasterCSSRule", "declaration", "propertyName", "__publicField", "parseValueUnit", "value", "getUnit", "rootSize", "result", "i", "analyze", "end", "method", "current", "unit", "pushCurrent", "val", "backdrop_filter_default", "MasterCSSRule", "declaration", "value", "config", "parseValueUnit", "method", "__publicField", "fill_default", "MasterCSSRule", "__publicField", "stroke_default", "MasterCSSRule", "__publicField", "stroke_width_default", "MasterCSSRule", "__publicField", "filter_default", "MasterCSSRule", "value", "config", "parseValueUnit", "method", "__publicField", "cursor_default", "MasterCSSRule", "__publicField", "pointer_events_default", "MasterCSSRule", "__publicField", "resize_default", "MasterCSSRule", "__publicField", "touch_action_default", "MasterCSSRule", "__publicField", "user_drag_default", "MasterCSSRule", "declaration", "__publicField", "user_select_default", "MasterCSSRule", "declaration", "__publicField", "box_shadow_default", "MasterCSSRule", "__publicField", "text_shadow_default", "MasterCSSRule", "__publicField", "diff", "text_size_default", "MasterCSSRule", "declaration", "unit", "value", "__publicField", "word_break_default", "MasterCSSRule", "__publicField", "grid_columns_default", "MasterCSSRule", "declaration", "__publicField", "grid_rows_default", "MasterCSSRule", "declaration", "__publicField", "gap_default", "MasterCSSRule", "declaration", "__publicField", "word_spacing_default", "MasterCSSRule", "__publicField", "variable_default", "MasterCSSRule", "declaration", "__publicField", "aspect_radio_default", "MasterCSSRule", "__publicField", "box_decoration_break_default", "MasterCSSRule", "declaration", "__publicField", "break_after_default", "MasterCSSRule", "__publicField", "break_before_default", "MasterCSSRule", "__publicField", "break_inside_default", "MasterCSSRule", "__publicField", "flex_shrink_default", "MasterCSSRule", "__publicField", "flex_direction_default", "MasterCSSRule", "__publicField", "flex_grow_default", "MasterCSSRule", "__publicField", "flex_wrap_default", "MasterCSSRule", "__publicField", "flex_basis_default", "MasterCSSRule", "__publicField", "flex_default", "MasterCSSRule", "__publicField", "order_default", "MasterCSSRule", "__publicField", "grid_column_default", "MasterCSSRule", "value", "__publicField", "column_span_default", "MasterCSSRule", "__publicField", "grid_row_default", "MasterCSSRule", "value", "__publicField", "color_default", "MasterCSSRule", "__publicField", "align_content_default", "MasterCSSRule", "__publicField", "align_items_default", "MasterCSSRule", "__publicField", "align_self_default", "MasterCSSRule", "__publicField", "grid_auto_columns_default", "MasterCSSRule", "__publicField", "grid_auto_flow_default", "MasterCSSRule", "__publicField", "grid_auto_rows_default", "MasterCSSRule", "__publicField", "justify_content_default", "MasterCSSRule", "__publicField", "justify_items_default", "MasterCSSRule", "__publicField", "justify_self_default", "MasterCSSRule", "__publicField", "place_content_default", "MasterCSSRule", "__publicField", "place_items_default", "MasterCSSRule", "__publicField", "place_self_default", "MasterCSSRule", "__publicField", "padding_default", "MasterCSSRule", "declaration", "__publicField", "margin_default", "MasterCSSRule", "declaration", "__publicField", "text_overflow_default", "MasterCSSRule", "__publicField", "list_style_position_default", "MasterCSSRule", "__publicField", "list_style_type_default", "MasterCSSRule", "__publicField", "list_style_default", "MasterCSSRule", "__publicField", "text_decoration_color_default", "MasterCSSRule", "__publicField", "text_decoration_style_default", "MasterCSSRule", "__publicField", "text_decoration_thickness_default", "MasterCSSRule", "__publicField", "text_indent_default", "MasterCSSRule", "__publicField", "content_default", "MasterCSSRule", "__publicField", "outline_color_default", "MasterCSSRule", "__publicField", "outline_offset_default", "MasterCSSRule", "__publicField", "outline_style_default", "MasterCSSRule", "__publicField", "outline_width_default", "MasterCSSRule", "__publicField", "outline_default", "MasterCSSRule", "__publicField", "border_collapse_default", "MasterCSSRule", "__publicField", "border_spacing_default", "MasterCSSRule", "__publicField", "table_layout_default", "MasterCSSRule", "__publicField", "accent_color_default", "MasterCSSRule", "__publicField", "appearance_default", "MasterCSSRule", "__publicField", "caret_color_default", "MasterCSSRule", "__publicField", "scroll_behavior_default", "MasterCSSRule", "__publicField", "scroll_margin_default", "MasterCSSRule", "declaration", "__publicField", "scroll_padding_default", "MasterCSSRule", "declaration", "__publicField", "scroll_snap_align_default", "MasterCSSRule", "__publicField", "scroll_snap_stop_default", "MasterCSSRule", "__publicField", "scroll_snap_type_default", "MasterCSSRule", "__publicField", "will_change_default", "MasterCSSRule", "__publicField", "text_underline_offset_default", "MasterCSSRule", "__publicField", "inset_default", "MasterCSSRule", "declaration", "__publicField", "columns_default", "MasterCSSRule", "__publicField", "white_space_default", "MasterCSSRule", "__publicField", "text_orientation_default", "MasterCSSRule", "__publicField", "writing_mode_default", "MasterCSSRule", "__publicField", "contain_default", "MasterCSSRule", "__publicField", "animation_duration_default", "MasterCSSRule", "__publicField", "text_rendering_default", "MasterCSSRule", "__publicField", "direction_default", "MasterCSSRule", "__publicField", "text_decoration_line_default", "MasterCSSRule", "__publicField", "grid_column_start_default", "MasterCSSRule", "__publicField", "list_style_image_default", "MasterCSSRule", "__publicField", "shape_outside_default", "MasterCSSRule", "__publicField", "shape_margin_default", "MasterCSSRule", "__publicField", "shape_image_threshold_default", "MasterCSSRule", "__publicField", "clip_path_default", "MasterCSSRule", "__publicField", "grid_default", "MasterCSSRule", "__publicField", "font_default", "MasterCSSRule", "__publicField", "quotes_default", "MasterCSSRule", "__publicField", "grid_template_default", "MasterCSSRule", "__publicField", "grid_row_start_default", "MasterCSSRule", "__publicField", "grid_template_areas_default", "MasterCSSRule", "__publicField", "grid_template_columns_default", "MasterCSSRule", "__publicField", "grid_template_rows_default", "MasterCSSRule", "__publicField", "grid_area_default", "MasterCSSRule", "__publicField", "grid_column_end_default", "MasterCSSRule", "__publicField", "grid_row_end_default", "MasterCSSRule", "__publicField", "mask_image_default", "MasterCSSRule", "declaration", "__publicField", "text_fill_color_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_width_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_color_default", "MasterCSSRule", "declaration", "__publicField", "stroke_dasharray_default", "MasterCSSRule", "__publicField", "stroke_dashoffset_default", "MasterCSSRule", "__publicField", "x_default", "MasterCSSRule", "__publicField", "y_default", "MasterCSSRule", "__publicField", "cx_default", "MasterCSSRule", "__publicField", "cy_default", "MasterCSSRule", "__publicField", "rx_default", "MasterCSSRule", "__publicField", "ry_default", "MasterCSSRule", "__publicField", "border_image_outset_default", "MasterCSSRule", "__publicField", "border_image_repeat_default", "MasterCSSRule", "__publicField", "border_image_slice_default", "MasterCSSRule", "__publicField", "border_image_source_default", "MasterCSSRule", "__publicField", "border_image_width_default", "MasterCSSRule", "__publicField", "border_image_default", "MasterCSSRule", "__publicField", "bracketRegexp", "group_default", "MasterCSSRule", "declaration", "css", "themePropsMap", "addProp", "themeName", "propertyName", "indexOfColon", "props", "name", "handleRule", "rule", "addProps", "cssText", "cssProperties", "eachCssProperty", "currentThemeNative", "eachNative", "names", "currentName", "addName", "i", "analyze", "end", "char", "count", "j", "START_SYMBOL", "eachName", "result", "eachRule", "__publicField", "counter_increment_default", "MasterCSSRule", "__publicField", "counter_reset_default", "MasterCSSRule", "__publicField", "DefaultRules", "group_default", "variable_default", "font_size_default", "font_weight_default", "font_family_default", "font_smoothing_default", "font_style_default", "font_variant_numeric_default", "font_default", "color_default", "spacing_default", "margin_default", "padding_default", "flex_basis_default", "flex_wrap_default", "flex_grow_default", "flex_shrink_default", "flex_direction_default", "flex_default", "display_default", "width_default", "height_default", "min_width_default", "min_height_default", "contain_default", "content_default", "counter_increment_default", "counter_reset_default", "letter_spacing_default", "line_height_default", "object_fit_default", "object_position_default", "text_align_default", "text_decoration_color_default", "text_decoration_style_default", "text_decoration_thickness_default", "text_decoration_line_default", "text_decoration_default", "text_underline_offset_default", "text_overflow_default", "text_orientation_default", "text_transform_default", "text_rendering_default", "text_indent_default", "vertical_align_default", "columns_default", "white_space_default", "inset_default", "lines_default", "max_height_default", "max_width_default", "box_sizing_default", "opacity_default", "visibility_default", "clear_default", "float_default", "isolation_default", "overflow_default", "overscroll_behavior_default", "z_index_default", "position_default", "placement_default", "cursor_default", "pointer_events_default", "resize_default", "touch_action_default", "word_break_default", "word_spacing_default", "user_drag_default", "user_select_default", "text_shadow_default", "text_size_default", "text_fill_color_default", "text_stroke_width_default", "text_stroke_color_default", "text_stroke_default", "box_shadow_default", "table_layout_default", "transform_box_default", "transform_style_default", "transform_origin_default", "transform_default", "transition_property_default", "transition_timing_function_default", "transition_duration_default", "transition_delay_default", "transition_default", "animation_delay_default", "animation_direction_default", "animation_duration_default", "animation_fill_mode_default", "animation_iteration_count_default", "animation_name_default", "animation_play_state_default", "animation_timing_function_default", "animation_default", "border_color_default", "border_radius_default", "border_style_default", "border_width_default", "border_collapse_default", "border_spacing_default", "border_image_outset_default", "border_image_repeat_default", "border_image_slice_default", "border_image_source_default", "border_image_width_default", "border_image_default", "border_default", "background_attachment_default", "background_blend_mode_default", "background_clip_default", "background_color_default", "background_origin_default", "background_position_default", "background_repeat_default", "background_size_default", "background_image_default", "background_default", "mix_blend_mode_default", "backdrop_filter_default", "filter_default", "fill_default", "stroke_dasharray_default", "stroke_dashoffset_default", "stroke_width_default", "stroke_default", "x_default", "y_default", "cx_default", "cy_default", "rx_default", "ry_default", "grid_column_start_default", "grid_column_end_default", "grid_column_default", "grid_columns_default", "grid_row_start_default", "grid_row_end_default", "grid_row_default", "grid_rows_default", "grid_auto_columns_default", "grid_auto_flow_default", "grid_auto_rows_default", "grid_template_areas_default", "grid_template_columns_default", "grid_template_rows_default", "grid_template_default", "grid_area_default", "grid_default", "gap_default", "order_default", "break_inside_default", "break_before_default", "break_after_default", "box_decoration_break_default", "aspect_radio_default", "column_span_default", "align_content_default", "align_items_default", "align_self_default", "justify_content_default", "justify_items_default", "justify_self_default", "place_content_default", "place_items_default", "place_self_default", "list_style_position_default", "list_style_type_default", "list_style_image_default", "list_style_default", "outline_color_default", "outline_offset_default", "outline_style_default", "outline_width_default", "outline_default", "accent_color_default", "appearance_default", "caret_color_default", "scroll_behavior_default", "scroll_margin_default", "scroll_padding_default", "scroll_snap_align_default", "scroll_snap_stop_default", "scroll_snap_type_default", "will_change_default", "writing_mode_default", "direction_default", "shape_outside_default", "shape_margin_default", "shape_image_threshold_default", "clip_path_default", "quotes_default", "mask_image_default", "rules_default", "defaultConfig", "colors_default", "breakpoints_default", "semantics_default", "values_default", "selectors_default", "themes_default", "scheme_default", "rules_default", "root_size_default", "config_default", "concatArrays", "originVal", "newVal", "getType", "payload", "isPlainObject", "payload", "getType", "isSymbol", "payload", "getType", "assignProp", "carry", "key", "newVal", "originalObject", "propType", "mergeRecursively", "origin", "newComer", "compareFn", "isPlainObject", "newObject", "props", "symbols", "targetVal", "isSymbol", "propToAssign", "extend", "object", "otherObjects", "result", "concatArrays", "selectorSymbols", "vendorPrefixSelectorRegExp", "STYLE", "isBrowser", "MAX_WIDTH", "MIN_WIDTH", "ATTRIBUTES", "MutationObserver", "_scheme", "_theme", "_MasterCSS", "options", "mutationRecords", "correctionOfClassName", "attributeMutationRecords", "updatedElements", "unchangedElements", "handleClassNameDeeply", "element", "remove", "removeClassName", "addClassName", "children", "i", "eachChildren", "className", "handleNodes", "nodes", "eachNode", "mutationRecord", "addedNodes", "removedNodes", "type", "target", "oldValue", "eachAttributeMutationRecord", "updated", "classNames", "oldClassNames", "oldClassName", "correction", "count", "__publicField", "__privateAdd", "mediaQueryList", "extend", "config_default", "config", "eachInstance", "storage", "scheme", "__privateGet", "__privateSet", "theme", "semantics", "classes", "selectors", "themes", "colors", "values", "escapeString", "str", "semanticName", "replacedSelectorText", "newSelectorText", "regexp", "eachNewSelectorText", "vendor", "selectorValues", "currentSelectValue", "_valueRegexp", "id", "valueMap", "semanticNames", "_", "handleSemanticName", "currentClass", "handleClassNames", "eachClassName", "handle", "parentClassName", "eachTheme", "eachSemanticName", "currentRelation", "mergeColors", "colorName", "levels", "levelsThemes", "level", "color", "obj", "themeValue", "themesColor", "_colorName", "_level", "assignedThemesColor", "newColor", "root", "isDocumentRoot", "container", "styleSheets", "sheet", "title", "href", "ownerNode", "index", "getRule", "cssRule", "escapedClassNames", "eachSelectorText", "escapedClassName", "j", "char", "nextChar", "currentRule", "rule", "name", "findAndNewRule", "EachRule", "matching", "eachSemanticEntry", "MasterCSSRule", "eachRule", "instances", "validateRule", "endIndex", "media", "order", "prioritySelectorIndex", "hasWhere", "findPrioritySelectorInsertIndex", "rules", "findStartIndex", "findEndIndex", "ignoreRule", "sIndex", "eIndex", "targetRules", "mediaStartIndex", "maxWidthFeature", "minWidthFeature", "range", "eachMedia", "eachMaxWidthFeature", "eachMinWidthFeature", "eachRange", "sameRangeRules", "currentMediaRule", "currentMedia", "currentMaxWidthFeature", "currentMinWidthFeature", "value", "cssRuleIndex", "getCssRuleIndex", "previousRule", "lastNativeCssRule", "native", "error", "deleteRule", "firstNative", "eachNativeRule", "MasterCSS", "MasterCSS"]
4
+ "sourcesContent": ["const defaultBreakpoints = {\n '3xs': 360,\n '2xs': 480,\n xs: 600,\n sm: 768,\n md: 1024,\n lg: 1280,\n xl: 1440,\n '2xl': 1600,\n '3xl': 1920,\n '4xl': 2560\n}\n\nexport default defaultBreakpoints", "export function hexToRgb(hex) {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n const aRgbHex = hex.match(/.{1,2}/g)\n return [parseInt(aRgbHex[0], 16), parseInt(aRgbHex[1], 16), parseInt(aRgbHex[2], 16)]\n}", "export function rgbToHex(r, g, b) {\n return ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)\n}", "import { hexToRgb } from '../utils/hex-to-rgb'\nimport { rgbToHex } from '../utils/rgb-to-hex'\n\nexport default function fillColorScale(data) {\n if (typeof data === 'string') {\n data = { '': data }\n }\n\n const hasMainRgb = '' in data\n\n let isLevelMore100 = false\n for (const level in data) {\n if (level && +level >= 100) {\n isLevelMore100 = true\n break\n }\n }\n\n if (!isLevelMore100 && (!hasMainRgb || Object.keys(data).length > 1)) {\n let startLevel = 0,\n startRgb = '0' in data\n ? hexToRgb(data[0])\n : [0, 0, 0],\n endLevel,\n endRgb\n\n const newLevels = []\n const generateColor = () => {\n const levelDiff = endLevel - startLevel\n const rgbDiff = endRgb.map((color, i) => (color - startRgb[i]) / levelDiff)\n for (const eachNewLevel of newLevels) {\n const currentLevelDiff = eachNewLevel - startLevel\n const newRgb = startRgb.map((color, i) => Math.round(color + rgbDiff[i] * currentLevelDiff))\n data[eachNewLevel] = '#' + rgbToHex.call(this, ...newRgb)\n }\n }\n\n for (let i = 1; i < 100; i++) {\n if (i in data) {\n if (newLevels.length) {\n endLevel = i\n endRgb = hexToRgb(data[i])\n\n generateColor()\n\n newLevels.length = 0\n\n startRgb = endRgb\n } else {\n startRgb = hexToRgb(data[i])\n }\n\n startLevel = i\n } else {\n newLevels.push(i)\n }\n }\n\n if (newLevels.length) {\n endLevel = 100\n endRgb = '100' in data\n ? hexToRgb(data[100])\n : [255, 255, 255]\n\n generateColor()\n }\n }\n\n if (!hasMainRgb) {\n data[''] = data[isLevelMore100 ? '500' : '50']\n }\n\n return data\n}", "import fillColorScale from '../apis/fill-color-scale'\n\nconst defaultColors = {\n slate: fillColorScale({\n 5: '#141e2b',\n 10: '#19212d',\n 20: '#262f3e',\n 30: '#323e52',\n 40: '#41516b',\n 50: '#616a84',\n 55: '#6c7693',\n 60: '#959db3',\n 70: '#a3abbf',\n 80: '#d7dae3',\n 95: '#f6f7f8'\n }),\n gray: fillColorScale({\n 5: '#1e1d1f',\n 10: '#212022',\n 20: '#2f2e30',\n 30: '#3e3d40',\n 40: '#504f52',\n 50: '#6b6a6d',\n 55: '#777679',\n 60: '#9e9da0',\n 70: '#abaaae',\n 80: '#dad9db',\n 95: '#f5f4f7'\n }),\n brown: fillColorScale({\n 5: '#271b15',\n 10: '#2b1e18',\n 20: '#3c2b22',\n 30: '#50382c',\n 40: '#694839',\n 50: '#8d604b',\n 55: '#9d6b53',\n 60: '#b79788',\n 70: '#c1a598',\n 80: '#efd5c9',\n 95: '#faf2ef'\n }),\n orange: fillColorScale({\n 5: '#2e1907',\n 10: '#331b07',\n 20: '#47260b',\n 30: '#5d320e',\n 40: '#7a4111',\n 50: '#a15717',\n 55: '#b4611a',\n 60: '#e38739',\n 70: '#e79855',\n 80: '#f7d4b5',\n 95: '#fcf1e7'\n }),\n gold: fillColorScale({\n 5: '#281b00',\n 10: '#2d1e01',\n 20: '#3f2a00',\n 30: '#543800',\n 40: '#6d4900',\n 50: '#906000',\n 55: '#9c6d00',\n 60: '#d09100',\n 70: '#dca000',\n 80: '#fbd67f',\n 95: '#fff3d8'\n }),\n yellow: fillColorScale({\n 5: '#251d00',\n 10: '#282000',\n 20: '#3a2e01',\n 30: '#4b3b00',\n 40: '#624e00',\n 50: '#806700',\n 55: '#8e7200',\n 60: '#be9900',\n 70: '#d0a700',\n 80: '#edda8f',\n 95: '#fff5ca'\n }),\n grass: fillColorScale({\n 5: '#162106',\n 10: '#182406',\n 20: '#223308',\n 30: '#2c4408',\n 40: '#3a570b',\n 50: '#4e750e',\n 60: '#74ae15',\n 70: '#7dbc17',\n 80: '#bfe87c',\n 95: '#ebfad4'\n }),\n green: fillColorScale({\n 5: '#042311',\n 10: '#032611',\n 20: '#023717',\n 30: '#03481f',\n 40: '#025d26',\n 50: '#067b34',\n 55: '#07883a',\n 60: '#09b64d',\n 70: '#0ac553',\n 80: '#80f1a4',\n 95: '#e0fae8'\n }),\n beryl: fillColorScale({\n 5: '#002319',\n 10: '#00271c',\n 20: '#003626',\n 30: '#004732',\n 40: '#005c41',\n 50: '#007954',\n 55: '#00875e',\n 60: '#00b37c',\n 70: '#00c387',\n 80: '#72f0c5',\n 95: '#d6fcef'\n }),\n teal: fillColorScale({\n 5: '#012220',\n 10: '#012624',\n 20: '#003532',\n 30: '#004541',\n 40: '#005a54',\n 50: '#00776f',\n 55: '#00857c',\n 60: '#00b1a5',\n 70: '#00bfb2',\n 80: '#6aeee5',\n 95: '#d4fcf8'\n }),\n cyan: fillColorScale({\n 5: '#00222b',\n 10: '#00252e',\n 20: '#013340',\n 30: '#004457',\n 40: '#00576f',\n 50: '#007391',\n 55: '#0080a1',\n 60: '#00abd7',\n 70: '#00b9e9',\n 80: '#97e6fa',\n 95: '#dff8ff'\n }),\n sky: fillColorScale({\n 5: '#031f34',\n 10: '#032339',\n 20: '#04314e',\n 30: '#044169',\n 40: '#065386',\n 50: '#086eb3',\n 55: '#097ac5',\n 60: '#29a4f5',\n 70: '#4db3f7',\n 80: '#b3e0ff',\n 95: '#eaf6fe'\n }),\n blue: fillColorScale({\n 5: '#07194a',\n 10: '#081c53',\n 20: '#0a2773',\n 30: '#0e3496',\n 40: '#1146b6',\n 50: '#175fe9',\n 55: '#2671ea',\n 60: '#6b9ef1',\n 70: '#81acf3',\n 80: '#c6dbfe',\n 95: '#edf4fe'\n }),\n indigo: fillColorScale({\n 5: '#1f1645',\n 10: '#20174f',\n 20: '#2b1f74',\n 30: '#37289d',\n 40: '#463fb1',\n 50: '#5a5bd5',\n 55: '#6464f1',\n 60: '#9393f5',\n 70: '#a1a5ee',\n 80: '#d5d7fe',\n 95: '#f1f2ff'\n }),\n violet: fillColorScale({\n 5: '#2b0a4e',\n 10: '#2e0b57',\n 20: '#3d1179',\n 30: '#4e169f',\n 40: '#5f2eba',\n 50: '#7949e5',\n 55: '#8755f5',\n 60: '#ac8af8',\n 70: '#b89bf9',\n 80: '#e1d4fe',\n 95: '#f5f1ff'\n }),\n purple: fillColorScale({\n 5: '#2e0c47',\n 10: '#330c4e',\n 20: '#460f6c',\n 30: '#5b1390',\n 40: '#7421b1',\n 50: '#9832e4',\n 55: '#a348e7',\n 60: '#c184ef',\n 70: '#ca96f1',\n 80: '#ead1fe',\n 95: '#f9f0ff'\n }),\n fuchsia: fillColorScale({\n 5: '#39092a',\n 10: '#400932',\n 20: '#560d4a',\n 30: '#6f1165',\n 40: '#8c158a',\n 50: '#b61cbb',\n 55: '#ca1fce',\n 60: '#e66ee9',\n 70: '#ea86ed',\n 80: '#facbfb',\n 95: '#feefff'\n }),\n pink: fillColorScale({\n 5: '#3d0722',\n 10: '#430725',\n 20: '#5d0933',\n 30: '#790d44',\n 40: '#9a1058',\n 50: '#ca1473',\n 55: '#e11681',\n 60: '#f170b4',\n 70: '#f388c0',\n 80: '#fdcde6',\n 95: '#fff0f8'\n }),\n crimson: fillColorScale({\n 5: '#430213',\n 10: '#470314',\n 20: '#62041c',\n 30: '#800524',\n 40: '#9f1036',\n 50: '#ce1a4b',\n 55: '#e8144c',\n 60: '#f37596',\n 70: '#f58ba7',\n 80: '#fdceda',\n 95: '#fff1f4'\n }),\n red: fillColorScale({\n 5: '#450001',\n 10: '#490102',\n 20: '#640304',\n 30: '#800506',\n 40: '#a11012',\n 50: '#d11a1e',\n 55: '#ed0a0e',\n 60: '#f97476',\n 70: '#fa8b8d',\n 80: '#fdcfcf',\n 95: '#fff1f1'\n }),\n black: '#000000',\n white: '#ffffff'\n}\n\nexport default defaultColors", "const defaultRootSize = 16\nexport default defaultRootSize", "const defaultSelectors = {\n '::scrollbar': '::-webkit-scrollbar',\n '::scrollbar-button': '::-webkit-scrollbar-button',\n '::scrollbar-thumb': '::-webkit-scrollbar-thumb',\n '::scrollbar-track': '::-webkit-scrollbar-track',\n '::scrollbar-track-piece': '::-webkit-scrollbar-track-piece',\n '::scrollbar-corner': '::-webkit-scrollbar-corner',\n '::slider-thumb': ['::-webkit-slider-thumb', '::-moz-range-thumb'],\n '::slider-runnable-track': ['::-webkit-slider-runnable-track', '::-moz-range-track'],\n '::meter': '::-webkit-meter',\n '::resizer': '::-webkit-resizer',\n '::progress': '::-webkit-progress',\n ':first': ':first-child',\n ':last': ':last-child',\n ':even': ':nth-child(2n)',\n ':odd': ':nth-child(odd)',\n ':nth(': ':nth-child('\n}\n\nexport default defaultSelectors", "const defaultSemantics = {\n square: 'aspect-ratio:1/1',\n video: 'aspect-ratio:16/9',\n rounded: 'border-radius:1e9em',\n round: 'border-radius:50%',\n hidden: 'display:none',\n hide: 'display:none',\n block: 'display:block',\n table: 'display:table',\n flex: 'display:flex',\n grid: 'display:grid',\n contents: 'display:contents',\n inline: 'display:inline',\n 'inline-block': 'display:inline-block',\n 'inline-flex': 'display:inline-flex',\n 'inline-grid': 'display:inline-grid',\n 'inline-table': 'display:inline-table',\n 'table-cell': 'display:table-cell',\n 'table-caption': 'display:table-caption',\n 'flow-root': 'display:flow-root',\n 'list-item': 'display:list-item',\n 'table-row': 'display:table-row',\n 'table-column': 'display:table-column',\n 'table-row-group': 'display:table-row-group',\n 'table-column-group': 'display:table-column-group',\n 'table-header-group': 'display:table-header-group',\n 'table-footer-group': 'display:table-footer-group',\n italic: 'font-style:italic',\n oblique: 'font-style:oblique',\n isolate: 'isolation:isolate',\n overflow: 'overflow:visible',\n untouchable: 'pointer-events:none',\n static: 'position:static',\n fixed: 'position:fixed',\n abs: 'position:absolute',\n rel: 'position:relative',\n sticky: 'position:sticky',\n uppercase: 'text-transform:uppercase',\n lowercase: 'text-transform:lowercase',\n capitalize: 'text-transform:capitalize',\n visible: 'visibility:visible',\n invisible: 'visibility:hidden',\n 'center-content': {\n 'justify-content': 'center',\n 'align-items': 'center',\n },\n 'sr-only': {\n 'position': 'absolute',\n 'width': '1px',\n 'height': '1px',\n 'padding': '0',\n 'margin': '-1px',\n 'overflow': 'hidden',\n 'clip': 'rect(0,0,0,0)',\n 'white-space': 'nowrap',\n 'border-width': '0'\n },\n full: {\n width: '100%',\n height: '100%'\n },\n center: {\n left: 0,\n right: 0,\n 'margin-left': 'auto',\n 'margin-right': 'auto'\n },\n middle: {\n top: 0,\n bottom: 0,\n 'margin-top': 'auto',\n 'margin-bottom': 'auto'\n },\n 'break-spaces': {\n 'white-space': 'break-spaces'\n },\n 'break-word': {\n 'overflow-wrap': 'break-word',\n overflow: 'hidden'\n }\n}\n\nexport default defaultSemantics", "const defaultThemes = ['dark', 'light']\nexport default defaultThemes", "const defaultScheme = {\n storage: {\n sync: true,\n key: 'scheme'\n }\n}\n\nexport default defaultScheme", "import defaultBreakpoints from './breakpoints'\n\nconst boxUnderneath = {\n content: 'content-box',\n border: 'border-box',\n padding: 'padding-box'\n}\n\nconst contentExtrema = {\n min: 'min-content',\n max: 'max-content'\n}\n\nconst sizingValues = {\n full: '100%',\n fit: 'fit-content',\n max: 'max-content',\n min: 'min-content',\n}\nfor (const key in defaultBreakpoints) {\n sizingValues[key] = (defaultBreakpoints[key] / 16) + 'rem'\n}\n\nconst defaultValues = {\n BackgroundClip: boxUnderneath,\n BackgroundOrigin: boxUnderneath,\n BoxSizing: {\n content: 'content-box',\n border: 'border-box',\n },\n ClipPath: {\n ...boxUnderneath,\n margin: 'margin-box',\n fill: 'fill-box',\n stroke: 'stroke-box',\n view: 'view-box'\n },\n FlexDirection: {\n col: 'column',\n 'col-reverse': 'column-reverse'\n },\n FontFamily: {\n mono: 'ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace',\n sans: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji',\n serif: 'ui-serif, Georgia, Cambria, Times New Roman, Times, serif'\n },\n FontWeight: {\n thin: 100,\n extralight: 200,\n light: 300,\n regular: 400,\n medium: 500,\n semibold: 600,\n bold: 700,\n extrabold: 800,\n heavy: 900\n },\n GridAutoColumns: contentExtrema,\n GridAutoRows: contentExtrema,\n GridTemplateColumns: contentExtrema,\n GridTemplateRows: contentExtrema,\n Order: {\n first: -999999,\n last: 999999\n },\n Position: {\n abs: 'absolute',\n rel: 'relative'\n },\n ShapeOutside: {\n ...boxUnderneath,\n margin: 'margin-box'\n },\n TransformBox: {\n ...boxUnderneath,\n fill: 'fill-box',\n stroke: 'stroke-box',\n view: 'view-box'\n },\n Width: sizingValues,\n MinWidth: sizingValues,\n MinHeight: sizingValues,\n MaxWidth: sizingValues,\n MaxHeight: sizingValues,\n Height: sizingValues,\n FlexBasis: sizingValues\n}\n\nexport default defaultValues", "export function getCssPropertyText(name: string, property: { unit?: string, value?: any, important?: boolean }) {\n return (name ? name + ':' : '')\n + (property.unit\n ? property.value + property.unit\n : property.value)\n + (property.important ? '!important' : '')\n}", "/**\n * \u5C07 calc( \u6B63\u898F\u5316\n * https://aoyue.notion.site/css-calc-2f37632c5cf749949cc060f0f2111443\n */\nexport function normalizeCssCalcText(value: string) {\n const isOperator = (char: string) => char === '+' || char === '-' || char === '*' || char === '/'\n\n let newValue = '', type: 1 | 2, current = '', endWithBracket = false\n function clear() {\n type = null\n current = ''\n }\n\n for (let i = 0; i < value.length; i++) {\n const char = value[i]\n\n if (char === '(' || char === ')') {\n endWithBracket = char === ')'\n newValue += current + char\n clear()\n } else if (char === ',') {\n newValue += current + char + ' '\n clear()\n } else {\n switch (type) {\n // \u5B57\u4E32\n case 1:\n break\n // \u6578\u5B57\n case 2:\n if (isOperator(char)) {\n newValue += current + ' ' + char + ' '\n clear()\n continue\n }\n break\n default:\n if (endWithBracket) {\n current += ' '\n }\n\n if (!isNaN(+char)) {\n type = 2\n } else if (!isOperator(char)) {\n type = 1\n }\n break\n }\n\n current += char\n }\n }\n\n if (current) {\n newValue += current\n }\n\n return newValue\n}", "import { normalizeCssCalcText } from './normalize-css-calc-text'\n\nconst UNIT_VALUE_PATTERN = /^([+-.]?\\d+(\\.?\\d+)?)(.*)?/\nconst VAR_START = 'var(--'\n\nexport function parseValue(\n token: string | number,\n defaultUnit?: string,\n colorsThemesMap?: Record<string, Record<string, Record<string, string>>>,\n values?: Record<string, string | number>,\n globalValues?: Record<string, string | number>,\n rootSize?: number,\n themes?: string[]\n): {\n value: string,\n unit: string,\n unitToken: string,\n colorMatched?: boolean\n} {\n let value: any = ''\n let unit = ''\n let unitToken = ''\n let colorMatched: boolean = undefined \n\n if (values && token in values) {\n return { value: values[token].toString(), unit, unitToken }\n } else if (globalValues && token in globalValues) {\n return { value: globalValues[token].toString(), unit, unitToken }\n } else if (typeof token === 'number') {\n value = token\n unit = defaultUnit || ''\n } else {\n if (colorsThemesMap) {\n const colorNames = Object.keys(colorsThemesMap)\n let anyMatched = false\n let hasColorName = false\n \n token = token.replace(\n new RegExp(`(^|,| |\\\\()(${colorNames.join('|')})(?:-([0-9A-Za-z]+))?(?:\\\\/(\\\\.?[0-9]+%?))?(?=(\\\\)|\\\\}|,| |$))`, 'gm'),\n (origin, prefix, colorName, level, opacityStr) => {\n hasColorName = true\n\n const themeHexColorMap = colorsThemesMap[colorName]?.[level || '']\n if (themeHexColorMap) {\n let hexColor: string\n for (const eachTheme of themes) {\n if ((hexColor = themeHexColorMap[eachTheme]))\n break\n }\n\n if (hexColor) {\n anyMatched = true\n\n let newValue = hexColor\n if (opacityStr) {\n let opacity = opacityStr.endsWith('%')\n ? parseFloat(opacityStr) / 100.0\n : +opacityStr\n\n opacity = isNaN(opacity)\n ? 1\n : Math.min(Math.max(opacity, 0), 1)\n \n newValue += Math.round(opacity * 255).toString(16).toUpperCase().padStart(2, '0')\n }\n \n return prefix + newValue\n }\n }\n\n return origin\n })\n\n if (hasColorName) {\n colorMatched = anyMatched\n }\n }\n if (defaultUnit) {\n const matches = token.match(UNIT_VALUE_PATTERN)\n // ['0.5deg', '0.5', 'deg', index: 0, input: '0.5deg', groups: undefined]\n if (matches) {\n if (token.includes('/')) {\n // w:1/2 -> width: 50%\n const splits = token.split('/')\n return { value: (+splits[0] / +splits[1]) * 100 + '%', unit, unitToken }\n } else {\n value = +matches[1]\n unit = unitToken = matches[3] || ''\n /**\n * \u7576\u7121\u55AE\u4F4D\u503C\u4E14 defaultUnit === 'rem'\uFF0C\n * \u5C07 pxValue / 16 \u8F49\u70BA remValue\n */\n if (!unit) {\n if (defaultUnit === 'rem' || defaultUnit === 'em') {\n value = value / rootSize\n }\n unit = defaultUnit || ''\n }\n return { value, unit, unitToken }\n }\n }\n }\n value = (token.indexOf('calc(') === -1\n ? token\n : normalizeCssCalcText(token))\n .replace(/\\$\\(((\\w|-)+)\\)/g, VAR_START + '$1)')\n }\n return { value, unit, unitToken, colorMatched }\n}", "export const START_SYMBOL = {\n '(': ')',\n '\\'': '\\'',\n '{': '}'\n}", "import { getCssPropertyText } from './utils/get-css-property-text'\nimport { parseValue } from './utils/parse-value'\nimport { START_SYMBOL } from './constants/start-symbol'\nimport MasterCSS from './css'\nimport type { MasterCSSConfig } from './config'\n\nconst PRIORITY_SELECTORS = [':disabled', ':active', ':focus', ':hover']\nconst MATCHES = 'matches'\nconst SEMANTICS = 'semantics'\nconst SYMBOL = 'symbol'\nconst WIDTH = 'width'\nconst MAX_WIDTH = 'max-' + WIDTH\nconst MIN_WIDTH = 'min-' + WIDTH\nconst MOTION = 'motion'\nconst REDUCE = 'reduce'\nconst REDUCED_MOTION = REDUCE + 'd-' + MOTION\n\nconst PX = 'px'\nconst REM = 'rem'\n\nconst selectorSymbols = ['!', '*', '>', '+', '~', ':', '[', '@', '_']\nconst selectorSplitRegexp = /(\\\\'(?:.*?)[^\\\\]\\\\')(?=[*_>~+,)])|(\\[[^=]+='(?:.*?)[^\\\\]'\\])/\nconst transformSelectorUnderline = (selector: string) => selector.split(selectorSplitRegexp)\n .map((eachToken, i) => i % 3 ? eachToken : eachToken.replace(/_/g, ' '))\n .join('')\n\nexport default class MasterCSSRule {\n\n readonly prefix: string\n readonly symbol: string\n readonly token: string\n readonly prefixSelectors: string[]\n readonly vendorSuffixSelectors: Record<string, string[]>\n readonly important: boolean\n readonly media: MasterCSSMedia\n readonly at: Record<string, string> = {}\n readonly direction: string\n readonly themeName: string\n readonly unitToken: string\n readonly hasWhere: boolean\n readonly prioritySelectorIndex: number = -1\n readonly natives: { unit: string, value: string | Record<string, string | number>, text: string, themeName: string, cssRule?: CSSRule }[] = []\n\n static id: string\n static propName: string\n static matches: RegExp\n static colorStarts: string\n static symbol: string\n static unit = REM\n static colorful: boolean\n\n static match(\n name: string,\n colorNames: string[]\n ): MasterCSSRuleMatching {\n /** \n * STEP 1. matches\n */\n if (this.matches && this.matches.test(name)) {\n return { origin: MATCHES }\n }\n /** \n * STEP 2. color starts\n */\n // TODO: \u52D5\u614B new Regex \u6548\u80FD\u554F\u984C\u5F85\u512A\u5316\n if (this.colorStarts\n && (\n name.match('^' + this.colorStarts + '(?:(?:#|(rgb|hsl)\\\\(.*\\\\))((?!\\\\|).)*$|(?:transparent|current|inherit))')\n || colorNames.length\n && name.match('^' + this.colorStarts + '(' + colorNames.join('|') + ')')\n && name.indexOf('|') === -1\n )\n ) {\n return { origin: MATCHES }\n }\n /** \n * STEP 3. symbol\n */\n if (this.symbol && name.startsWith(this.symbol)) {\n return { origin: SYMBOL }\n }\n /**\n * STEP 4. key full name\n */\n if (this.propName && name.startsWith(this.propName + ':')) {\n return { origin: MATCHES }\n }\n }\n\n constructor(\n public readonly className: string,\n public readonly matching: MasterCSSRuleMatching,\n public css: MasterCSS\n ) {\n const TargetRule = this.constructor as typeof MasterCSSRule\n const { id, unit, propName, colorful } = TargetRule\n const { breakpoints, mediaQueries, semantics, rootSize } = css.config\n const { themeNames, colorsThemesMap, selectors, globalValues } = css\n const values = css.values[id]\n const relationThemesMap = css.relationThemesMap[className]\n\n const token = className\n\n // 1. value / selectorToken\n let value: string | Record<string, string | number>, prefixToken: string, suffixToken: string, valueTokens: (string | { value: string })[]\n if (matching.origin === SEMANTICS) {\n suffixToken = token.slice(matching.value.length)\n value = semantics[matching.value]\n } else {\n let valueToken: string\n if (matching.origin === MATCHES) {\n if (id === 'Group') {\n let i = 0\n for (; i < token.length; i++) {\n if (token[i] === '{' && token[i - 1] !== '\\\\') {\n break\n }\n }\n\n prefixToken = token.slice(0, i)\n valueToken = token.slice(i)\n } else {\n const indexOfColon = token.indexOf(':')\n this.prefix = token.slice(0, indexOfColon + 1)\n if (this.prefix.includes('(')) {\n this.prefix = undefined\n valueToken = token\n } else {\n valueToken = token.slice(indexOfColon + 1)\n }\n }\n } else if (matching.origin === SYMBOL) {\n this.symbol = token[0]\n valueToken = token.slice(1)\n }\n\n valueTokens = []\n let currentValueToken = ''\n let i = 0;\n (function analyze(end?, depth?, func = '') {\n let varIndex: number\n let isString = false\n if (end) {\n if (end === ')' && currentValueToken.slice(-1) === '$') {\n varIndex = currentValueToken.length - 1\n } else if (end === '\\'') {\n isString = true\n }\n\n currentValueToken += valueToken[i++]\n }\n\n for (; i < valueToken.length; i++) {\n const val = valueToken[i]\n if (val === end) {\n currentValueToken += val\n if (isString) {\n let count = 0\n for (let j = currentValueToken.length - 2; ; j--) {\n if (currentValueToken[j] !== '\\\\') {\n break\n }\n count++\n }\n if (count % 2) {\n continue\n }\n }\n\n if (varIndex !== undefined) {\n currentValueToken = currentValueToken.slice(0, varIndex) + currentValueToken.slice(varIndex).replace(/\\$\\((.*)\\)/, 'var(--$1)')\n }\n\n if (!depth) {\n if (isString) {\n valueTokens.push(currentValueToken)\n } else {\n valueTokens.push({ value: currentValueToken })\n }\n\n func = ''\n currentValueToken = ''\n }\n\n break\n } else if (!isString && val in START_SYMBOL) {\n analyze(START_SYMBOL[val], depth === undefined ? 0 : depth + 1, func)\n } else if (val === '|' && end !== '}' && (!isString || func === 'path')) {\n if (!end) {\n valueTokens.push({ value: currentValueToken })\n currentValueToken = ''\n } else {\n currentValueToken += ' '\n }\n } else {\n if (!end) {\n if (val === '.') {\n if (isNaN(+valueToken[i + 1])) {\n break\n } else if (valueToken[i - 1] === '-') {\n currentValueToken += '0'\n }\n } else if (val === ',') {\n valueTokens.push({ value: currentValueToken }, ',')\n currentValueToken = ''\n continue\n } else if (\n val === '#'\n && (currentValueToken || valueTokens.length && valueToken[i - 1] !== '|')\n || selectorSymbols.includes(val)\n ) {\n break\n }\n\n func += val\n }\n\n currentValueToken += val\n }\n }\n })()\n\n if (currentValueToken) {\n valueTokens.push({ value: currentValueToken })\n }\n\n suffixToken = valueToken.slice(i)\n }\n\n // 2. !important\n if (suffixToken[0] === '!') {\n this.important = true\n suffixToken = suffixToken.slice(1)\n }\n\n // 3. prefix selector\n const analyzeSelectorToken = (selectorText: string) => {\n const transformedSelectorText = transformSelectorUnderline(selectorText)\n const selectors = []\n\n let currentSelector = ''\n let symbolCount = 0\n for (let i = 0; i < transformedSelectorText.length; i++) {\n const char = transformedSelectorText[i]\n if (char === '\\\\') {\n currentSelector += char + transformedSelectorText[++i]\n continue\n }\n\n if (!symbolCount && char === ',') {\n selectors.push(currentSelector)\n currentSelector = ''\n } else {\n currentSelector += char\n\n if (symbolCount && char === ')') {\n symbolCount--\n } else if (char === '(') {\n symbolCount++\n }\n }\n }\n if (currentSelector) {\n selectors.push(currentSelector)\n }\n\n return selectors\n }\n\n this.prefixSelectors = prefixToken\n ? analyzeSelectorToken(prefixToken)\n : ['']\n\n // 4. suffix selector\n const suffixTokens = suffixToken.split('@')\n const suffixSelector = suffixTokens[0]\n if (suffixSelector) {\n this.vendorSuffixSelectors = {}\n\n const transform = (selectorText: string, selectorValues: [RegExp, string[]][], selectors: string[], matched: boolean) => {\n for (const [regexp, newSelectorTexts] of selectorValues) {\n if (regexp.test(selectorText)) {\n for (const eachNewSelectorText of newSelectorTexts) {\n transform(selectorText.replace(regexp, eachNewSelectorText), selectorValues, selectors, true)\n }\n return\n }\n }\n\n if (matched) {\n selectors.push(selectorText)\n }\n }\n\n const suffixSelectors: string[] = []\n if ('' in selectors) {\n transform(suffixSelector, selectors[''], suffixSelectors, true)\n } else {\n suffixSelectors.push(suffixSelector)\n }\n\n const vendorSelectors: Record<string, string[]> = {}\n for (const [vendor, selectorValues] of Object.entries(selectors)) {\n if (!vendor)\n continue\n\n const newVendorSelectors = []\n for (const eachSuffixSelector of suffixSelectors) {\n transform(eachSuffixSelector, selectorValues, newVendorSelectors, false)\n }\n\n if (newVendorSelectors.length) {\n vendorSelectors[vendor] = newVendorSelectors\n }\n }\n\n const insertVendorSuffixSelectors = (vendor: string, selectorTexts: string[]) => {\n const groupedSelectorTexts = selectorTexts.reduce((arr, eachSuffixSelector) => {\n arr.push(...analyzeSelectorToken(eachSuffixSelector))\n return arr\n }, [])\n\n if (vendor in this.vendorSuffixSelectors) {\n this.vendorSuffixSelectors[vendor].push(...groupedSelectorTexts)\n } else {\n this.vendorSuffixSelectors[vendor] = groupedSelectorTexts\n }\n }\n\n const vendors = Object.keys(vendorSelectors)\n if (vendors.length) {\n for (const eachVendor of vendors) {\n insertVendorSuffixSelectors(eachVendor, vendorSelectors[eachVendor])\n }\n } else {\n insertVendorSuffixSelectors('', suffixSelectors)\n }\n\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n for (const eachSuffixSelector of suffixSelectors) {\n if (this.hasWhere !== false) {\n this.hasWhere = eachSuffixSelector.includes(':where(')\n }\n\n for (let i = 0; i < PRIORITY_SELECTORS.length; i++) {\n if (eachSuffixSelector.includes(PRIORITY_SELECTORS[i])) {\n if (this.prioritySelectorIndex === -1 || this.prioritySelectorIndex > i) {\n this.prioritySelectorIndex = i\n }\n break\n }\n }\n }\n }\n } else {\n this.vendorSuffixSelectors = { '': [''] }\n }\n\n // 5. atTokens\n for (let i = 1; i < suffixTokens.length; i++) {\n const atToken = suffixTokens[i]\n if (atToken) {\n if (themeNames.includes(atToken)) {\n this.themeName = atToken\n } else if (\n atToken === 'rtl'\n || atToken === 'ltr'\n ) {\n this.direction = atToken\n } else {\n let type: string\n let queryText\n\n const underscoreIndex = atToken.indexOf('_')\n if (underscoreIndex !== -1) {\n type = atToken.slice(0, underscoreIndex)\n queryText = atToken.slice(underscoreIndex)\n } else {\n const leftBracketIndex = atToken.indexOf('(')\n if (leftBracketIndex !== -1) {\n type = atToken.slice(0, leftBracketIndex)\n queryText = atToken.slice(leftBracketIndex)\n }\n }\n\n if (!type) {\n type = 'media'\n const queryTexts = []\n\n this.media = {\n token: atToken,\n features: {}\n }\n const typeOrFeatureTokens = atToken.split('&')\n for (const typeOrFeatureToken of typeOrFeatureTokens) {\n if (\n typeOrFeatureToken === 'all'\n || typeOrFeatureToken === 'print'\n || typeOrFeatureToken === 'screen'\n || typeOrFeatureToken === 'speech'\n ) {\n this.media.type = typeOrFeatureToken\n } else if (typeOrFeatureToken === '\uD83D\uDDA8') {\n this.media.type = 'print'\n } else {\n if (typeOrFeatureToken === 'landscape' || typeOrFeatureToken === 'portrait') {\n queryTexts.push('(orientation:' + typeOrFeatureToken + ')')\n } else if (typeOrFeatureToken === MOTION || typeOrFeatureToken === REDUCED_MOTION) {\n queryTexts.push('(prefers-' + REDUCED_MOTION + ':'\n + (typeOrFeatureToken === MOTION ? 'no-preference' : REDUCE)\n + ')')\n } else if (mediaQueries && typeOrFeatureToken in mediaQueries) {\n queryTexts.push(mediaQueries[typeOrFeatureToken])\n } else {\n const feature: MasterCSSMediaFeatureRule = {\n token: typeOrFeatureToken\n }\n let featureName = ''\n let extremumOperator = ''\n let correction = 0\n if (typeOrFeatureToken.startsWith('<=')) {\n extremumOperator = '<='\n featureName = MAX_WIDTH\n } else if (typeOrFeatureToken.startsWith('>=') || breakpoints[typeOrFeatureToken]) {\n extremumOperator = '>='\n featureName = MIN_WIDTH\n } else if (typeOrFeatureToken.startsWith('>')) {\n extremumOperator = '>'\n featureName = MIN_WIDTH\n correction = .02\n } else if (typeOrFeatureToken.startsWith('<')) {\n extremumOperator = '<'\n featureName = MAX_WIDTH\n correction = -.02\n }\n const conditionUnitValueToken\n = extremumOperator\n ? typeOrFeatureToken.replace(extremumOperator, '')\n : typeOrFeatureToken\n const breakpoint = breakpoints[conditionUnitValueToken]\n switch (featureName) {\n case MAX_WIDTH:\n case MIN_WIDTH:\n if (breakpoint) {\n Object.assign(feature, parseValue(breakpoint, PX))\n } else {\n Object.assign(feature, parseValue(conditionUnitValueToken, PX))\n }\n if (feature.unit === PX) {\n feature.value += correction\n }\n this.media.features[featureName] = feature\n queryTexts.push('(' + featureName + ':' + (feature.value + feature.unit) + ')')\n break\n }\n }\n }\n }\n\n queryText = ''\n if (this.media.type) {\n queryText = this.media.type\n }\n if (queryTexts.length) {\n queryText += (queryText ? ' and ' : '') + queryTexts.join(' and ')\n }\n }\n\n if (queryText) {\n this.at[type] = (type in this.at\n ? this.at[type] + ' and '\n : '')\n + queryText.replace(/_/g, ' ')\n }\n }\n }\n }\n\n // 6. order\n if (this.order === undefined) {\n // @ts-ignore\n this.order = 0\n }\n\n // 7. value\n const insertNewNative = (themeName: string, bypassWhenUnmatchColor: boolean) => {\n let newValue: any\n let newUnit: string\n\n const generateCssText = (\n propertiesText: string,\n themeName: string,\n suffixSelectors: string[]\n ) => {\n let prefixText = ''\n if (this.direction) {\n prefixText += '[dir=' + this.direction + '] '\n }\n\n const prefixTexts = this.prefixSelectors.map(eachPrefixSelector => eachPrefixSelector + prefixText)\n const getCssText = (themeName: string, name: string) => {\n const prefixThemeText = (themeName ? '.' + themeName + ' ' : '')\n const esacpedName = '.' + CSS.escape(name)\n return prefixTexts\n .map(eachPrefixText => prefixThemeText + eachPrefixText)\n .reduce((arr, eachPrefixText) => {\n arr.push(\n suffixSelectors\n .reduce((_arr, eachSuffixSelector) => {\n _arr.push(eachPrefixText + esacpedName + eachSuffixSelector)\n return _arr\n }, [])\n .join(',')\n )\n return arr\n }, [])\n .join(',')\n }\n\n let cssText = getCssText(themeName, className)\n + (relationThemesMap\n ? Object\n .entries(relationThemesMap)\n .filter(([relationTheme]) => this.themeName || !colorful || !themeName || !relationTheme || relationTheme === themeName)\n .map(([relationTheme, classNames]) =>\n classNames.reduce((str, className) => str + ',' + getCssText(this.themeName ?? (colorful ? themeName || relationTheme : relationTheme), className), '')\n )\n .join('')\n : '')\n + '{'\n + propertiesText\n + '}'\n for (const key of Object.keys(this.at).sort((a, b) => b === 'supports' ? -1 : 1)) {\n cssText = '@' + key + ' ' + this.at[key] + '{' + cssText + '}'\n }\n\n return cssText\n }\n\n const newValueTokens: string[] = []\n if (valueTokens) {\n let uv, anyColorMatched: boolean = undefined\n for (const eachValueToken of valueTokens) {\n if (typeof eachValueToken === 'string') {\n newValueTokens.push(eachValueToken)\n } else {\n uv = parseValue(\n eachValueToken.value,\n unit,\n colorful && colorsThemesMap,\n values,\n globalValues,\n rootSize,\n this.themeName ? [this.themeName, ''] : [themeName]\n )\n if (uv.colorMatched !== undefined && anyColorMatched !== true) {\n anyColorMatched = uv.colorMatched\n }\n\n newValueTokens.push(uv.value + uv.unit)\n }\n }\n\n if (bypassWhenUnmatchColor && (anyColorMatched === undefined ? themeName : !anyColorMatched))\n return\n\n if (newValueTokens.length === 1) {\n if (uv) {\n newValue = uv.value\n newUnit = uv.unit\n } else {\n newValue = newValueTokens[0]\n }\n } else {\n newValue = newValueTokens.reduce((previousVal, currentVal, i) => previousVal + currentVal + ((currentVal === ',' || valueTokens[i + 1] === ',' || i === valueTokens.length - 1) ? '' : ' '), '')\n }\n\n if (typeof newValue !== 'object') {\n // 8. parseValue\n if (this.parseValue) {\n newValue = this.parseValue(newValue, this.css.config)\n }\n\n // 9. transform value\n if (colorful && newValue === 'current') {\n newValue = 'currentColor'\n } else if (values && newValue in values) {\n newValue = values[newValue].toString()\n } else if (newValue in globalValues) {\n newValue = globalValues[newValue].toString()\n }\n\n const declaration: MasterCSSDeclaration = {\n unit: newUnit,\n value: newValue,\n important: this.important\n }\n if (this.getThemeProps) {\n const themeProps = this.getThemeProps(declaration, css)\n for (const themeName in themeProps) {\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n this.natives.push({\n unit: newUnit,\n value: newValue,\n text: generateCssText(\n Object\n .entries(themeProps[themeName])\n .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {\n important: this.important,\n unit: '',\n value: propertyValue\n }))\n .join(';'),\n themeName,\n suffixSelectors\n ),\n themeName\n })\n }\n }\n return\n } else if (this.get) {\n newValue = this.get(declaration)\n }\n }\n } else {\n newValue = value\n }\n\n for (const suffixSelectors of Object.values(this.vendorSuffixSelectors)) {\n this.natives.push({\n unit: newUnit,\n value: newValue,\n text: generateCssText(\n typeof newValue === 'object'\n ? Object\n .entries(newValue)\n .map(([propertyName, propertyValue]) => getCssPropertyText(propertyName, {\n ...(typeof propertyValue === 'object'\n ? propertyValue\n : { unit: '', value: propertyValue }),\n important: this.important\n }))\n .join(';')\n : getCssPropertyText(propName, { unit: newUnit, value: newValue, important: this.important }),\n themeName,\n suffixSelectors\n ),\n themeName\n })\n }\n }\n\n if (this.getThemeProps) {\n insertNewNative(undefined, false)\n } else if (this.themeName) {\n insertNewNative(this.themeName, false)\n } else if (colorful) {\n for (const eachThemeName of themeNames) {\n insertNewNative(eachThemeName, true)\n }\n } else {\n insertNewNative('', false)\n }\n }\n}\n\nexport default interface MasterCSSRule {\n readonly order?: number;\n parseValue(value: string, config: MasterCSSConfig): string;\n get(declaration: MasterCSSDeclaration): Record<string, any>;\n getThemeProps(declaration: MasterCSSDeclaration, css: MasterCSS): Record<string, Record<string, string>>;\n}\n\nexport interface MasterCSSMediaFeatureRule {\n token: string;\n tokenType?: string;\n operator?: string;\n value?: number;\n unit?: string;\n}\n\nexport interface MasterCSSMedia {\n token: string;\n features?: {\n [key: string]: MasterCSSMediaFeatureRule\n }\n type?: string;\n}\n\nexport interface MasterCSSDeclaration {\n value: any,\n unit: string,\n important: boolean\n}\n\nexport interface MasterCSSRuleMatching {\n origin: 'matches' | 'semantics' | 'symbol';\n value?: string;\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontWeight'\n static override matches = /^f(ont)?:(thin|extralight|light|regular|medium|semibold|bold|bolder|extrabold|heavy)(?!\\|)/\n static override propName = 'font-weight'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontFamily'\n static override matches = /^f(ont)?:(mono|sans|serif)(?!\\|)/\n static override propName = 'font-family'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontSize'\n static override matches = /^f(ont)?:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'font-size'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Spacing'\n static override matches = /^[pm][xytblr]?:./\n override get(declaration): { [key: string]: any } {\n const charAt1 = this.prefix[0]\n const SPACING = charAt1 === 'm' ? 'margin' : 'padding'\n const SPACING_LEFT = SPACING + '-left'\n const SPACING_RIGHT = SPACING + '-right'\n const SPACING_TOP = SPACING + '-top'\n const SPACING_BOTTOM = SPACING + '-bottom'\n switch (this.prefix[1]) {\n case 'x':\n return {\n [SPACING_LEFT]: declaration,\n [SPACING_RIGHT]: declaration\n }\n case 'y':\n return {\n [SPACING_TOP]: declaration,\n [SPACING_BOTTOM]: declaration\n }\n case 'l':\n return {\n [SPACING_LEFT]: declaration\n }\n case 'r':\n return {\n [SPACING_RIGHT]: declaration\n }\n case 't':\n return {\n [SPACING_TOP]: declaration\n }\n case 'b':\n return {\n [SPACING_BOTTOM]: declaration\n }\n default:\n return {\n [SPACING]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'p:' || this.prefix === 'm:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Width'\n static override matches = /^w:./\n static override propName = 'width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Height'\n static override matches = /^h:./\n static override propName = 'height'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MinWidth'\n static override matches = /^min-w:./\n static override propName = 'min-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MinHeight'\n static override matches = /^min-h:./\n static override propName = 'min-height'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'LetterSpacing'\n static override matches = /^ls:./\n static override propName = 'letter-spacing'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nconst SUBPIXEL_ANTIALIASED = 'subpixel-antialiased'\nconst WEBKIT_FONT_SMOOTHING = '-webkit-font-smoothing'\nconst MOZ_OSXFONT_SMOOTHING = '-moz-osx-font-smoothing'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontSmoothing'\n static override matches = /^f(ont)?:(antialiased|subpixel-antialiased)(?!\\|)/\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n const props = {}\n switch (declaration.value) {\n case SUBPIXEL_ANTIALIASED:\n props[WEBKIT_FONT_SMOOTHING] = props[MOZ_OSXFONT_SMOOTHING] = {\n ...declaration,\n value: 'auto'\n }\n break\n case 'antialiased':\n props[WEBKIT_FONT_SMOOTHING] = {\n ...declaration,\n value: 'antialiased'\n }\n props[MOZ_OSXFONT_SMOOTHING] = {\n ...declaration,\n value: 'grayscale'\n }\n break\n // default:\n // props[WEBKIT_FONT_SMOOTHING] = props[MOZ_OSXFONT_SMOOTHING] = this;\n }\n return props\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontStyle'\n static override matches = /^f(ont)?:(normal|italic|oblique)(?!\\|)/\n static override propName = 'font-style'\n static override unit = 'deg'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FontVariantNumeric'\n static override matches = /^f(ont)?:(ordinal|slashed-zero|lining-nums|oldstyle-nums|proportional-nums|tabular-nums|diagonal-fractions|stacked-fractions)(?!\\|)/\n static override propName = 'font-variant-numeric'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'LineHeight'\n static override matches = /^lh:./\n static override propName = 'line-height'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ObjectFit'\n static override matches = /^(object|obj):(contain|cover|fill|scale-down)/\n static override propName = 'object-fit'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ObjectPosition'\n static override matches = /^(object|obj):(top|bottom|right|left|center)/\n static override propName = 'object-position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextAlign'\n static override matches = /^t(ext)?:(justify|center|left|right|start|end)(?!\\|)/\n static override propName = 'text-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecoration'\n static override matches = /^t(ext)?:(underline|line-through|overline)/\n static override propName = 'text-decoration'\n static override colorful = true\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextTransform'\n static override matches = /^t(ext)?:(uppercase|lowercase|capitalize)(?!\\|)/\n static override propName = 'text-transform'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'VerticalAlign'\n static override matches = /^(?:v|vertical):./\n static override propName = 'vertical-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Lines'\n static override matches = /^lines:./\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n overflow: { ...declaration, value: 'hidden' },\n display: { ...declaration, value: '-webkit-box' },\n 'overflow-wrap': { ...declaration, value: 'break-word' },\n 'text-overflow': { ...declaration, value: 'ellipsis' },\n '-webkit-box-orient': { ...declaration, value: 'vertical' },\n '-webkit-line-clamp': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformOrigin'\n static override matches = /^transform:((top|bottom|right|left|center)|\\d)/\n static override propName = 'transform-origin'\n static override unit = 'px'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformStyle'\n static override matches = /^transform:(flat|preserve-3d)(?!\\|)/\n static override propName = 'transform-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransformBox'\n static override matches = /^transform:(content|border|fill|stroke|view)(?!\\|)/\n static override propName = 'transform-box'\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Transform'\n static override matches = /^(translate|scale|skew|rotate|perspective|matrix)(3d|[XYZ])?\\(/\n static override propName = 'transform'\n static override unit = ''\n override parseValue(value: string, {rootSize}: MasterCSSConfig): string {\n return value.replace(\n /(translate|scale|skew|rotate|perspective|matrix)(3d|[XYZ])?\\((.*?)\\)/g,\n (origin, method, type, valueStr: string) => {\n let unit: string\n let last: boolean\n switch (method) {\n case 'translate':\n unit = 'rem'\n break\n case 'skew':\n unit = 'deg'\n break\n case 'rotate':\n if (type === '3d') {\n last = true\n }\n unit = 'deg'\n break\n default:\n return origin\n }\n\n const values = valueStr.split(',')\n return origin.replace(\n valueStr,\n values\n .map((eachValue, i) => {\n if (!last || values.length - 1 === i) {\n const isNaN = Number.isNaN(+eachValue)\n return isNaN\n ? eachValue\n : ((eachValue as any) / (unit === 'rem' ? rootSize : 1))\n + unit\n } else {\n return eachValue\n }\n })\n .join(','))\n })\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Transition'\n static override symbol = '~' \n static override propName = 'transition'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDelay'\n static override matches = /^~delay:./\n static override propName = 'transition-delay'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDuration'\n static override matches = /^~duration:./\n static override propName = 'transition-duration'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionProperty'\n static override matches = /^~property:./\n static override propName = 'transition-property'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionTimingFunction'\n static override matches = /^~easing:./\n static override propName = 'transition-timing-function'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaxHeight'\n static override matches = /^max-h:./\n static override propName = 'max-height'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaxWidth'\n static override matches = /^max-w:./\n static override propName = 'max-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Display'\n static override matches = /^d:./\n static override propName = 'display'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxSizing'\n static override matches = /^box:(content|border)(?!\\|)/\n static override propName = 'box-sizing'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Opacity'\n static override propName = 'opacity'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Visibility'\n static override propName = 'visibility'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Clear'\n static override propName = 'clear'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Float'\n static override propName = 'float'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Isolation'\n static override propName = 'isolation'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Overflow'\n static override matches = /^overflow(-x|-y)?:(?:visible|overlay|hidden|scroll|auto|clip|inherit|initial|revert|revert-layer|unset|\\$|var)/\n override get(declaration): { [key: string]: any } {\n if (this.prefix) {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return { 'overflow-x': declaration }\n case 'y':\n return { 'overflow-y': declaration }\n }\n }\n return { 'overflow': declaration }\n }\n override get order(): number {\n if (this.prefix) {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n case 'y':\n return 0\n }\n }\n return -1\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OverscrollBehavior'\n static override matches = /^overscroll-behavior(?:-[xy])?:/\n override get(declaration): { [key: string]: any } {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return { 'overscroll-behavior-x': declaration }\n case 'y':\n return { 'overscroll-behavior-y': declaration }\n default:\n return { 'overscroll-behavior': declaration }\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ZIndex'\n static override matches = /^z:./\n static override propName = 'z-index'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDelay'\n static override matches = /^@delay:./\n static override propName = 'animation-delay'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDirection'\n static override matches = /^@direction:./\n static override propName = 'animation-direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationFillMode'\n static override matches = /^@fill-mode:./\n static override propName = 'animation-fill-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationIterationCount'\n static override matches = /^@iteration-count:./\n static override propName = 'animation-interation-count'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationName'\n static override matches = /^@name:./\n static override propName = 'animation-name'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationPlayState'\n static override matches = /^@play-state:./\n static override propName = 'animation-play-state'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationTimingFunction'\n static override matches = /^@easing:./\n static override propName = 'animation-timing-function'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Animation'\n static override symbol = '@' \n static override propName = 'animation'\n static override unit = ''\n override order = -1\n}", "const BORDER_DASH = 'border-'\n\nexport function getBorderProps(name: string, declaration, suffix = '') {\n if (suffix) {\n suffix = '-' + suffix\n }\n const direction = /^b(order)?-?(.)?/.exec(name)[2]\n const BORDER_LEFT = BORDER_DASH + 'left' + suffix\n const BORDER_RIGHT = BORDER_DASH + 'right' + suffix\n const BORDER_TOP = BORDER_DASH + 'top' + suffix\n const BORDER_BOTTOM = BORDER_DASH + 'bottom' + suffix\n switch (direction) {\n case 'x':\n return {\n [BORDER_LEFT]: declaration,\n [BORDER_RIGHT]: declaration\n }\n case 'y':\n return {\n [BORDER_TOP]: declaration,\n [BORDER_BOTTOM]: declaration\n }\n case 'l':\n return {\n [BORDER_LEFT]: declaration\n }\n case 'r':\n return {\n [BORDER_RIGHT]: declaration\n }\n case 't':\n return {\n [BORDER_TOP]: declaration\n }\n case 'b':\n return {\n [BORDER_BOTTOM]: declaration\n }\n default:\n return {\n ['border' + suffix]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderColor'\n static override matches = /^border(-(left|right|top|bottom))?-color:./\n static override colorStarts = 'b([xytblr]|(order(-(left|right|top|bottom))?))?:'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'color')\n }\n override get order(): number {\n return (this.prefix === 'border-color' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nconst BORDER_TOP_LEFT_RADIUS = 'border-top-left-radius',\n BORDER_TOP_RIGHT_RADIUS = 'border-top-right-radius',\n BORDER_BOTTOM_LEFT_RADIUS = 'border-bottom-left-radius',\n BORDER_BOTTOM_RIGHT_RADIUS = 'border-bottom-right-radius',\n BORDER_RADIUS = 'border-radius',\n BORDER_RADIUS_S = [BORDER_TOP_LEFT_RADIUS, BORDER_TOP_RIGHT_RADIUS, BORDER_BOTTOM_LEFT_RADIUS, BORDER_BOTTOM_RIGHT_RADIUS]\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderRadius'\n static override matches = /^((r[tblr]?[tblr]?|border(-(top|bottom)-(left|right))?-radius):.)/\n override get(declaration): { [key: string]: any } {\n if (this.prefix) {\n let suffix = ''\n const splits = this.prefix.split('-')\n if (splits.length > 1) {\n for (let i = 1; i < splits.length - 1; i++) {\n suffix += splits[i][0]\n }\n } else {\n suffix = this.prefix.slice(1, -1)\n }\n switch (suffix) {\n case 't':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration,\n [BORDER_TOP_RIGHT_RADIUS]: declaration\n }\n case 'tl':\n case 'lt':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration\n }\n case 'rt':\n case 'tr':\n return {\n [BORDER_TOP_RIGHT_RADIUS]: declaration\n }\n case 'b':\n return {\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration,\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n case 'bl':\n case 'lb':\n return {\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration\n }\n case 'br':\n case 'rb':\n return {\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n case 'l':\n return {\n [BORDER_TOP_LEFT_RADIUS]: declaration,\n [BORDER_BOTTOM_LEFT_RADIUS]: declaration\n }\n case 'r':\n return {\n [BORDER_TOP_RIGHT_RADIUS]: declaration,\n [BORDER_BOTTOM_RIGHT_RADIUS]: declaration\n }\n default:\n return {\n [BORDER_RADIUS]: declaration\n }\n }\n }\n\n const prefix = this.prefix?.slice(0, -1)\n return {\n [BORDER_RADIUS_S.includes(prefix) ? prefix : BORDER_RADIUS]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'border-radius' + ':' || this.prefix === 'r:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderStyle'\n static override matches = /^(border(-(left|right|top|bottom))?-style:.|b([xytblr]|order(-(left|right|top|bottom))?)?:(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)(?!\\|))/\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'style')\n }\n override get order(): number {\n return (this.prefix === 'border-style' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderWidth'\n static override matches = /^(border(-(left|right|top|bottom))?-width:.|b([xytblr]|order(-(left|right|top|bottom))?)?:(([0-9]|(max|min|calc|clamp)\\(.*\\))|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$)/\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration, 'width')\n }\n override get order(): number {\n return (this.prefix === 'border-width' + ':' || this.prefix === 'b:' || this.prefix === 'border' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\nimport { getBorderProps } from '../utils/get-border-props'\n\nexport default class extends MasterCSSRule {\n static override id = 'Border'\n static override matches = /^b([xytblr]?|order(-(left|right|top|bottom))?):./\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return getBorderProps(this.prefix, declaration)\n }\n override get order(): number {\n return (this.prefix === 'border' + ':' || this.prefix === 'b:') ? -2 : -1\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundAttachment'\n static override matches = /^(bg|background):(fixed|local|scroll)(?!\\|)/\n static override propName = 'background-attachment'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundBlendMode'\n static override propName = 'background-blend-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundClip'\n static override matches = /^(bg|background):text(?!\\|)/\n static override propName = 'background-clip'\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-background-clip': declaration,\n 'background-clip': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundColor'\n static override colorStarts = '(bg|background):'\n static override propName = 'background-color'\n static override unit = ''\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundOrigin'\n static override matches = /^(bg|background):(content|border|padding)(?!\\|)/\n static override propName = 'background-origin'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundPosition'\n static override matches = /^(bg|background):(top|bottom|right|left|center)(?!\\|)/\n static override propName = 'background-position'\n static override unit = 'px'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundRepeat'\n static override matches = /^(bg|background):(space|round|repeat|no-repeat|repeat-x|repeat-y)(?![;a-zA-Z])/\n static override propName = 'background-repeat'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundSize'\n static override matches = /^(bg|background):((auto|cover|contain)(?!\\|)|\\.?\\d((?!\\|).)*$)/\n static override propName = 'background-size'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundImage'\n static override matches = /^(bg|background):(url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)((?!\\|).)*$/\n static override propName = 'background-image'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Background'\n static override matches = /^bg:./\n static override propName = 'background'\n static override colorful = true\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MixBlendMode'\n static override matches = /^blend:./\n static override propName = 'mix-blend-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Position'\n static override propName = 'position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Placement'\n static override matches = /^(top|left|right|bottom|center|middle):./\n override get(declaration): { [key: string]: any } {\n const propertyName = this.prefix.slice(0, -1)\n switch (propertyName) {\n case 'top':\n case 'left':\n case 'right':\n case 'bottom':\n return { [propertyName]: declaration }\n case 'center':\n return {\n left: declaration,\n right: declaration,\n 'margin-left': { ...declaration, unit: '' },\n 'margin-right': { ...declaration, unit: '' }\n }\n case 'middle':\n return {\n top: declaration,\n bottom: declaration,\n 'margin-top': { ...declaration, unit: '' },\n 'margin-bottom': { ...declaration, unit: '' }\n }\n }\n }\n}", "import type { MasterCSSConfig } from '../config'\n\nexport function parseValueUnit(value: string, getUnit: (method: string) => string, { rootSize }: MasterCSSConfig): string {\n let result = ''\n\n let i = 0;\n (function analyze(end?, method?) {\n let current = ''\n const unit = method\n ? getUnit(method)\n : ''\n\n const pushCurrent = () => {\n if (current) {\n result += (!unit || Number.isNaN(+current))\n ? current\n : (+current / (unit === 'rem' ? rootSize : 1)) + unit\n\n current = ''\n }\n }\n\n for (; i < value.length; i++) {\n const val = value[i]\n\n if (val === end && (end !== '\\'' || value[i + 1] === ')')) {\n pushCurrent()\n result += val\n break\n } else if (val === ',' || val === ' ') {\n pushCurrent()\n result += val\n } else if (!current && val === '\\'') {\n result += val\n\n i++\n analyze(val)\n current = ''\n } else if (current && val === '(') {\n result += current + val\n\n i++\n analyze(')', current)\n current = ''\n } else {\n current += val\n }\n }\n\n pushCurrent()\n })()\n\n return result\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\nimport { parseValueUnit } from '../utils/parse-value-unit'\n\nexport default class extends MasterCSSRule {\n static override id = 'BackdropFilter'\n static override matches = /^bd:./\n static override propName = 'backdrop-filter'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return {\n 'backdrop-filter': declaration,\n '-webkit-backdrop-filter': declaration\n }\n }\n override parseValue(value: string, config: MasterCSSConfig): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case 'blur':\n case 'drop-shadow':\n return 'rem'\n case 'hue-rotate':\n return 'deg'\n }\n return ''\n },\n config)\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Fill'\n static override propName = 'fill'\n static override colorStarts = 'fill:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Stroke'\n static override propName = 'stroke'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeWidth'\n static override matches = /^stroke:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'stroke-width'\n}", "import type { MasterCSSConfig } from '../config'\nimport MasterCSSRule from '../rule'\nimport { parseValueUnit } from '../utils/parse-value-unit'\n\nexport default class extends MasterCSSRule {\n static override id = 'Filter'\n static override matches = /^(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)\\(/\n static override propName = 'filter'\n static override colorful = true\n override parseValue(value: string, config: MasterCSSConfig): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case 'blur':\n case 'drop-shadow':\n return 'rem'\n case 'hue-rotate':\n return 'deg'\n }\n\n return ''\n },\n config)\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cursor'\n static override propName = 'cursor'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PointerEvents'\n static override propName = 'pointer-events'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Resize'\n static override propName = 'resize'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TouchAction'\n static override propName = 'touch-action'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'UserDrag'\n static override propName = 'user-drag'\n override get(declaration): { [key: string]: any } {\n return {\n 'user-drag': declaration,\n '-webkit-user-drag': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'UserSelect'\n static override propName = 'user-select'\n override get(declaration): { [key: string]: any } {\n return {\n 'user-select': declaration,\n '-webkit-user-select': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxShadow'\n static override matches = /^s(?:hadow)?:./\n static override propName = 'box-shadow'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextShadow'\n static override propName = 'text-shadow'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nconst diff = .5\n\nexport default class extends MasterCSSRule {\n static override id = 'TextSize'\n static override matches = /^t(ext)?:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n override get(declaration): { [key: string]: any } {\n const { unit, value } = declaration\n return {\n 'font-size': declaration,\n 'line-height': {\n ...declaration,\n value: unit === 'rem'\n ? value + diff + unit\n : `calc(${value}${unit} + ${diff}rem)`,\n unit: ''\n }\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WordBreak'\n static override propName = 'word-break'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumns'\n static override matches = /^grid-cols:./\n static override propName = 'grid-columns'\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n display: { ...declaration, value: 'grid' },\n 'grid-template-columns': {\n ...this,\n value: 'repeat'\n + '(' + declaration.value\n + ','\n + 'minmax'\n + '(' + 0 + ',' + 1 + 'fr' + '))'\n },\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRows'\n static override propName = 'grid-rows'\n static override unit = ''\n override get(declaration): { [key: string]: any } {\n return {\n display: { ...declaration, value: 'grid' },\n 'grid-auto-flow': { ...declaration, value: 'column' },\n 'grid-template-rows': {\n ...declaration,\n value: 'repeat'\n + '(' + declaration.value\n + ','\n + 'minmax'\n + '(' + 0 + ',' + 1 + 'fr' + '))'\n },\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Gap'\n static override matches = /^gap(-x|-y)?:./\n override get(declaration): { [key: string]: any } {\n switch (this.prefix[4]) {\n case 'x':\n return { 'column-gap': declaration }\n case 'y':\n return { 'row-gap': declaration }\n default:\n return { gap: declaration }\n }\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WordSpacing'\n static override propName = 'word-spacing'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Variable'\n static override matches = /^\\$[^ {}A-Z]+:[^ ]/\n static override unit = '' // don't use 'rem' as default, because css variable is common API\n override get(declaration): { [key: string]: any } {\n return {\n ['--' + this.prefix.slice(1, -1)]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AspectRadio'\n static override matches = /^aspect:./\n static override propName = 'aspect-ratio'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxDecorationBreak'\n static override matches = /^box:(slice|clone)(?!\\|)/\n static override propName = 'box-decoration-break'\n override get(declaration): { [key: string]: any } {\n return {\n 'box-decoration-break': declaration,\n '-webkit-box-decoration-break': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakAfter'\n static override propName = 'break-after'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakBefore'\n static override propName = 'break-before'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakInside'\n static override propName = 'break-inside'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexShrink'\n static override propName = 'flex-shrink'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexDirection'\n static override matches = /^flex:((row|col|column)(-reverse)?)(?!\\|)/\n static override propName = 'flex-direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexGrow'\n static override propName = 'flex-grow'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexWrap'\n static override matches = /^flex:(wrap(-reverse)?|nowrap)(?!\\|)/\n static override propName = 'flex-wrap'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexBasis'\n static override propName = 'flex-basis'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Flex'\n static override propName = 'flex'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nconst extreme = '999999'\n\nexport default class extends MasterCSSRule {\n static override id = 'Order'\n static override matches = /^o:./\n static override propName = 'order'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumn'\n static override matches = /^grid-col(?:umn)?(?:-span)?:./\n static override propName = 'grid-column'\n static override unit = ''\n override parseValue(value: string): string {\n return this.prefix.slice(-5, -1) === 'span' && value !== 'auto'\n ? 'span' + ' ' + value + '/' + 'span' + ' ' + value\n : value\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ColumnSpan'\n static override matches = /^col-span:./\n static override propName = 'column-span'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRow'\n static override matches = /^grid-row-span:./\n static override propName = 'grid-row'\n static override unit = ''\n override parseValue(value: string): string {\n return this.prefix.slice(-5, -1) === 'span' && value !== 'auto'\n ? 'span' + ' ' + value + '/' + 'span' + ' ' + value\n : value\n }\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Color'\n static override colorStarts = '(?:color|fg|foreground):'\n static override colorful = true\n static override propName = 'color'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignContent'\n static override matches = /^ac:./\n static override propName = 'align-content'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignItems'\n static override matches = /^ai:./\n static override propName = 'align-items'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignSelf'\n static override matches = /^as:./\n static override propName = 'align-self'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoColumns'\n static override matches = /^grid-auto-cols:./\n static override propName = 'grid-auto-columns'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoFlow'\n static override matches = /^grid-flow:./\n static override propName = 'grid-auto-flow'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoRows'\n static override propName = 'grid-auto-rows'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyContent'\n static override matches = /^jc:./\n static override propName = 'justify-content'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyItems'\n static override matches = /^ji:./\n static override propName = 'justify-items'\n\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifySelf'\n static override matches = /^js:./\n static override propName = 'justify-self'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceContent'\n static override propName = 'place-content'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceItems'\n static override propName = 'place-items'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceSelf'\n static override propName = 'place-self'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Padding'\n static override matches = /^padding(?:-(?:left|right|top|bottom))?:./\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'padding' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Margin'\n static override matches = /^margin(-(left|right|top|bottom))?:./\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n override get order(): number {\n return (this.prefix === 'margin' + ':') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextOverflow'\n static override matches = /^(text-(overflow|ovf):.|t(ext)?:(ellipsis|clip)(?!\\|))/\n static override propName = 'text-overflow'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStylePosition'\n static override matches = /^list-style:(inside|outside)(?!\\|)/\n static override propName = 'list-style-position'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyleType'\n static override matches = /^list-style:(disc|decimal)(?!\\|)/\n static override propName = 'list-style-type'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyle'\n static override propName = 'list-style'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationColor'\n static override propName = 'text-decoration-color'\n static override colorStarts = 'text-decoration:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationStyle'\n static override matches = /^t(ext)?:(solid|double|dotted|dashed|wavy)(?!\\|)/\n static override propName = 'text-decoration-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationThickness'\n static override matches = /^text-decoration:(from-font(?!\\|)|([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$)/\n static override propName = 'text-decoration-thickness'\n static override unit = 'em'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextIndent'\n static override propName = 'text-indent'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Content'\n static override propName = 'content'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineColor'\n static override propName = 'outline-color'\n static override colorStarts = 'outline:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineOffset'\n static override propName = 'outline-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineStyle'\n static override matches = /^outline:(none|dotted|dashed|solid|double|groove|ridge|inset|outset)(?!\\|)/\n static override propName = 'outline-style'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineWidth'\n static override matches = /^outline:(medium|thick|thin|[0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'outline-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Outline'\n static override propName = 'outline'\n override order = -1\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderCollapse'\n static override matches = /^b(order)?:(collapse|separate)(?!\\|)/\n static override propName = 'border-collapse'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderSpacing'\n static override propName = 'border-spacing'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TableLayout'\n static override propName = 'table-layout'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AccentColor'\n static override propName = 'accent-color'\n static override colorStarts = 'accent:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Appearance'\n static override propName = 'appearance'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CaretColor'\n static override propName = 'caret-color'\n static override colorStarts = 'caret:'\n static override colorful = true\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollBehavior'\n static override propName = 'scroll-behavior'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollMargin'\n static override matches = /^scroll-m([xytblr]|argin(-(top|bottom|left|right))?)?:./\n override get(declaration): { [key: string]: any } {\n if (this.prefix.slice(-3, -2) === 'm') {\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return {\n 'scroll-margin-left': declaration,\n 'scroll-margin-right': declaration\n }\n case 'y':\n return {\n 'scroll-margin-top': declaration,\n 'scroll-margin-bottom': declaration\n }\n case 'l':\n return {\n 'scroll-margin-left': declaration\n }\n case 'r':\n return {\n 'scroll-margin-right': declaration\n }\n case 't':\n return {\n 'scroll-margin-top': declaration\n }\n case 'b':\n return {\n 'scroll-margin-bottom': declaration\n }\n }\n } else {\n return {\n [this.prefix.replace(/-m(?!argin)/, '-' + 'margin').slice(0, -1)]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'scroll-margin:' || this.prefix === 'scroll-m:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollPadding'\n static override matches = /^scroll-p([xytblr]|adding(-(top|bottom|left|right))?)?:./\n override get(declaration): { [key: string]: any } {\n if (this.prefix.slice(-3, -2) === 'p') {\n\n switch (this.prefix.slice(-2, -1)) {\n case 'x':\n return {\n 'scroll-padding-left': declaration,\n 'scroll-padding-right': declaration\n }\n case 'y':\n return {\n 'scroll-padding-top': declaration,\n 'scroll-padding-bottom': declaration\n }\n case 'l':\n return {\n 'scroll-padding-left': declaration\n }\n case 'r':\n return {\n 'scroll-padding-right': declaration\n }\n case 't':\n return {\n 'scroll-padding-top': declaration\n }\n case 'b':\n return {\n 'scroll-padding-bottom': declaration\n }\n }\n } else {\n return {\n [this.prefix.replace(/-p(?!adding)/, '-' + 'padding').slice(0, -1)]: declaration\n }\n }\n }\n override get order(): number {\n return (this.prefix === 'scroll-padding:' || this.prefix === 'scroll-p:') ? -1 : 0\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapAlign'\n static override matches = /^scroll-snap:(start|end|center)/\n static override propName = 'scroll-snap-align'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapStop'\n static override matches = /^scroll-snap:(normal|always)(?!\\|)/\n static override propName = 'scroll-snap-stop'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapType'\n static override matches = /^scroll-snap:(([xy]|block|inline|both)(\\|(proximity|mandatory))?)(?!\\|)/\n static override propName = 'scroll-snap-type'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WillChange'\n static override propName = 'will-change'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextUnderlineOffset'\n static override propName = 'text-underline-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Inset'\n static override matches = /^(?:top|bottom|left|right):./\n static override propName = 'inset'\n override get(declaration): { [key: string]: any } {\n return {\n [this.prefix.slice(0, -1)]: declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Columns'\n static override matches = /^(columns|cols):./\n static override propName = 'columns'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WhiteSpace'\n static override propName = 'white-space'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextOrientation'\n static override matches = /^t(ext)?:(mixed|upright|sideways-right|sideways|use-glyph-orientation)(?!\\|)/\n static override propName = 'text-orientation'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'WritingMode'\n static override matches = /^writing:./\n static override propName = 'writing-mode'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Contain'\n static override propName = 'contain'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDuration'\n static override matches = /^@duration:./\n static override propName = 'animation-duration'\n static override unit = 'ms'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextRendering'\n static override matches = /^t(ext)?:(optimizeSpeed|optimizeLegibility|geometricPrecision)(?!\\|)/\n static override propName = 'text-rendering'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Direction'\n static override propName = 'direction'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationLine'\n static override matches = /^t(ext)?:(none|underline|overline|line-through)(?!\\|)/\n static override propName = 'text-decoration-line'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumnStart'\n static override matches = /^grid-col-start:./\n static override propName = 'grid-column-start'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyleImage'\n static override matches = /^list-style:(url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)((?!\\|).)*$/\n static override propName = 'list-style-image'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeOutside'\n static override matches = /^shape:((margin|content|border|padding)(?!\\|)|(inset|circle|ellipse|polygon|url|linear-gradient)\\(.*\\)((?!\\|).)*$)/\n static override propName = 'shape-outside'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeMargin'\n static override matches = /^shape:([0-9]|(max|min|calc|clamp)\\(.*\\))((?!\\|).)*$/\n static override propName = 'shape-margin'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeImageThreshold'\n static override propName = 'shape-image-threshold'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'ClipPath'\n static override matches = /^clip:./\n static override propName = 'clip-path'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Grid'\n static override propName = 'grid'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Font'\n static override matches = /^f:./\n static override propName = 'font'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Quotes'\n static override propName = 'quotes'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplate'\n static override propName = 'grid-template'\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowStart'\n static override propName = 'grid-row-start'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateAreas'\n static override propName = 'grid-template-areas'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateColumns'\n static override matches = /^grid-template-cols:./\n static override propName = 'grid-template-columns'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateRows'\n static override propName = 'grid-template-rows'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridArea'\n static override propName = 'grid-area'\n static override unit = ''\n override order = -1\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumnEnd'\n static override matches = /^grid-col-end:./\n static override propName = 'grid-column-end'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowEnd'\n static override propName = 'grid-row-end'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'MaskImage'\n static override propName = 'mask-image'\n override get(declaration): { [key: string]: any } {\n return {\n 'mask-image': declaration,\n '-webkit-mask-image': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextFillColor'\n static override matches = /^text-fill-color:./\n static override colorStarts = '(text-fill|text|t):'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-fill-color': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStroke'\n static override matches = /^text-stroke:./\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStrokeWidth'\n static override matches = /^text-stroke(:((thin|medium|thick)(?!\\|)|\\.?\\d((?!\\|).)*$)|-width:.)/\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke-width': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'TextStrokeColor'\n static override matches = /^text-stroke-color:./\n static override colorStarts = 'text-stroke:'\n static override colorful = true\n override get(declaration): { [key: string]: any } {\n return {\n '-webkit-text-stroke-color': declaration\n }\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDasharray'\n static override propName = 'stroke-dasharray'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDashoffset'\n static override propName = 'stroke-dash-offset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'X'\n static override propName = 'x'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Y'\n static override propName = 'y'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cx'\n static override propName = 'cx'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Cy'\n static override propName = 'cy'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Rx'\n static override propName = 'rx'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'Ry'\n static override propName = 'ry'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageOutset'\n static override propName = 'border-image-outset'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageRepeat'\n static override matches = /^border-image:(?:stretch|repeat|round|space)(?:(?!\\|).)*$/\n static override propName = 'border-image-repeat'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageSlice'\n static override propName = 'border-image-slice'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageSource'\n static override matches = /^border-image:(?:url|linear-gradient|radial-gradient|repeating-linear-gradient|repeating-radial-gradient|conic-gradient)\\(.*\\)(?:(?!\\|).)*$/\n static override propName = 'border-image-source'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageWidth'\n static override matches = /^border-image:(?:\\.?[0-9]|(max|min|calc|clamp)\\(.*\\))(?:(?!\\|).)*$/\n static override propName = 'border-image-width'\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImage'\n static override propName = 'border-image'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\nimport MasterCSS from '../css'\nimport { START_SYMBOL } from '../constants/start-symbol'\nimport type { MasterCSSDeclaration } from '../rule'\n\nconst bracketRegexp = /\\{(.*)\\}/\n\nexport default class extends MasterCSSRule {\n static override id = 'Group'\n static override matches = /^(?:.+?[*_>~+])?\\{.+?\\}/\n static override unit = ''\n override getThemeProps(declaration: MasterCSSDeclaration, css: MasterCSS): Record<string, Record<string, string>> {\n const themePropsMap: Record<string, Record<string, string>> = {}\n \n const addProp = (themeName: string, propertyName: string) => {\n const indexOfColon = propertyName.indexOf(':')\n if (indexOfColon !== -1) {\n if (!(themeName in themePropsMap)) {\n themePropsMap[themeName] = {}\n }\n\n const props = themePropsMap[themeName]\n const name = propertyName.slice(0, indexOfColon)\n if (!(name in props)) {\n props[name] = propertyName.slice(indexOfColon + 1)\n }\n }\n }\n const handleRule = (rule: MasterCSSRule) => {\n const addProps = (themeName: string, cssText: string) => {\n const cssProperties = cssText.slice(CSS.escape(rule.className).length).match(bracketRegexp)[1].split(';')\n for (const eachCssProperty of cssProperties) {\n addProp(themeName, eachCssProperty)\n }\n }\n\n if (this.themeName) {\n const currentThemeNative = rule.natives.find(eachNative => eachNative.themeName === this.themeName) ?? rule.natives.find(eachNative => !eachNative.themeName)\n if (currentThemeNative) {\n addProps(this.themeName, currentThemeNative.text)\n }\n } else {\n for (const eachNative of rule.natives) {\n addProps(eachNative.themeName, eachNative.text)\n }\n }\n }\n\n const names = []\n let currentName = ''\n const addName = () => {\n if (currentName) {\n names.push(currentName)\n currentName = ''\n }\n }\n\n let i = 1;\n (function analyze(end: string) {\n for (; i < declaration.value.length; i++) {\n const char = declaration.value[i]\n\n if (!end) {\n if (char === ';') {\n addName()\n continue\n }\n if (char === '}') {\n break\n }\n }\n\n currentName += char\n\n if (end === char) {\n if (end === '\\'') {\n let count = 0\n for (let j = currentName.length - 2;; j--) {\n if (currentName[j] !== '\\\\') {\n break\n }\n count++\n }\n if (count % 2) {\n continue\n }\n }\n\n break\n } else if (char in START_SYMBOL && end !== '\\'') {\n i++\n analyze(START_SYMBOL[char])\n }\n }\n })(undefined)\n addName()\n \n for (const eachName of names) {\n const result = css.findAndNew(eachName)\n if (Array.isArray(result)) {\n for (const eachRule of result) {\n handleRule(eachRule)\n }\n } else {\n if (result) {\n handleRule(result)\n } else {\n addProp(this.themeName ?? '', eachName)\n }\n }\n }\n\n return themePropsMap\n }\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CounterIncrement'\n static override propName = 'counter-increment'\n static override unit = ''\n}", "import MasterCSSRule from '../rule'\n\nexport default class extends MasterCSSRule {\n static override id = 'CounterReset'\n static override propName = 'counter-reset'\n static override unit = ''\n}", "import FontWeight from '../rules/font-weight'\nimport FontFamily from '../rules/font-family'\nimport FontSize from '../rules/font-size'\nimport Spacing from '../rules/spacing'\nimport Width from '../rules/width'\nimport Height from '../rules/height'\nimport MinWidth from '../rules/min-width'\nimport MinHeight from '../rules/min-height'\nimport LetterSpacing from '../rules/letter-spacing'\nimport FontSmoothing from '../rules/font-smoothing'\nimport FontStyle from '../rules/font-style'\nimport FontVariantNumeric from '../rules/font-variant-numeric'\nimport LineHeight from '../rules/line-height'\nimport ObjectFit from '../rules/object-fit'\nimport ObjectPosition from '../rules/object-position'\nimport TextAlign from '../rules/text-align'\nimport TextDecoration from '../rules/text-decoration'\nimport TextTransform from '../rules/text-transform'\nimport VerticalAlign from '../rules/vertical-align'\nimport Lines from '../rules/lines'\nimport TransformOrigin from '../rules/transform-origin'\nimport TransformStyle from '../rules/transform-style'\nimport TransformBox from '../rules/transform-box'\nimport Transform from '../rules/transform'\nimport Transition from '../rules/transition'\nimport TransitionDelay from '../rules/transition-delay'\nimport TransitionDuration from '../rules/transition-duration'\nimport TransitionProperty from '../rules/transition-property'\nimport TransitionTimingFunction from '../rules/transition-timing-function'\nimport MaxHeight from '../rules/max-height'\nimport MaxWidth from '../rules/max-width'\nimport Display from '../rules/display'\nimport BoxSizing from '../rules/box-sizing'\nimport Opacity from '../rules/opacity'\nimport Visibility from '../rules/visibility'\nimport Clear from '../rules/clear'\nimport Float from '../rules/float'\nimport Isolation from '../rules/isolation'\nimport Overflow from '../rules/overflow'\nimport OverscrollBehavior from '../rules/overscroll-behavior'\nimport ZIndex from '../rules/z-index'\nimport AnimationDelay from '../rules/animation-delay'\nimport AnimationDirection from '../rules/animation-direction'\nimport AnimationFillMode from '../rules/animation-fill-mode'\nimport AnimationIterationCount from '../rules/animation-iteration-count'\nimport AnimationName from '../rules/animation-name'\nimport AnimationPlayState from '../rules/animation-play-state'\nimport AnimationTimingFunction from '../rules/animation-timing-function'\nimport Animation from '../rules/animation'\nimport BorderColor from '../rules/border-color'\nimport BorderRadius from '../rules/border-radius'\nimport BorderStyle from '../rules/border-style'\nimport BorderWidth from '../rules/border-width'\nimport Border from '../rules/border'\nimport BackgroundAttachment from '../rules/background-attachment'\nimport BackgroundBlendMode from '../rules/background-blend-mode'\nimport BackgroundClip from '../rules/background-clip'\nimport BackgroundColor from '../rules/background-color'\nimport BackgroundOrigin from '../rules/background-origin'\nimport BackgroundPosition from '../rules/background-position'\nimport BackgroundRepeat from '../rules/background-repeat'\nimport BackgroundSize from '../rules/background-size'\nimport BackgroundImage from '../rules/background-image'\nimport Background from '../rules/background'\nimport MixBlendMode from '../rules/mix-blend-mode'\nimport Position from '../rules/position'\nimport Placement from '../rules/placement'\nimport BackdropFilter from '../rules/backdrop-filter'\nimport Fill from '../rules/fill'\nimport Stroke from '../rules/stroke'\nimport StrokeWidth from '../rules/stroke-width'\nimport Filter from '../rules/filter'\nimport Cursor from '../rules/cursor'\nimport PointerEvents from '../rules/pointer-events'\nimport Resize from '../rules/resize'\nimport TouchAction from '../rules/touch-action'\nimport UserDrag from '../rules/user-drag'\nimport UserSelect from '../rules/user-select'\nimport BoxShadow from '../rules/box-shadow'\nimport TextShadow from '../rules/text-shadow'\nimport TextSize from '../rules/text-size'\nimport WordBreak from '../rules/word-break'\nimport GridColumns from '../rules/grid-columns'\nimport GridRows from '../rules/grid-rows'\nimport Gap from '../rules/gap'\nimport WordSpacing from '../rules/word-spacing'\nimport Variable from '../rules/variable'\nimport AspectRadio from '../rules/aspect-radio'\nimport BoxDecorationBreak from '../rules/box-decoration-break'\nimport BreakAfter from '../rules/break-after'\nimport BreakBefore from '../rules/break-before'\nimport BreakInside from '../rules/break-inside'\nimport FlexShrink from '../rules/flex-shrink'\nimport FlexDirection from '../rules/flex-direction'\nimport FlexGrow from '../rules/flex-grow'\nimport FlexWrap from '../rules/flex-wrap'\nimport FlexBasis from '../rules/flex-basis'\nimport Flex from '../rules/flex'\nimport Order from '../rules/order'\nimport GridColumn from '../rules/grid-column'\nimport ColumnSpan from '../rules/column-span'\nimport GridRow from '../rules/grid-row'\nimport Color from '../rules/color'\nimport AlignContent from '../rules/align-content'\nimport AlignItems from '../rules/align-items'\nimport AlignSelf from '../rules/align-self'\nimport GridAutoColumns from '../rules/grid-auto-columns'\nimport GridAutoFlow from '../rules/grid-auto-flow'\nimport GridAutoRows from '../rules/grid-auto-rows'\nimport JustifyContent from '../rules/justify-content'\nimport JustifyItems from '../rules/justify-items'\nimport JustifySelf from '../rules/justify-self'\nimport PlaceContent from '../rules/place-content'\nimport PlaceItems from '../rules/place-items'\nimport PlaceSelf from '../rules/place-self'\nimport Padding from '../rules/padding'\nimport Margin from '../rules/margin'\nimport TextOverflow from '../rules/text-overflow'\nimport ListStylePosition from '../rules/list-style-position'\nimport ListStyleType from '../rules/list-style-type'\nimport ListStyle from '../rules/list-style'\nimport TextDecorationColor from '../rules/text-decoration-color'\nimport TextDecorationStyle from '../rules/text-decoration-style'\nimport TextDecorationThickness from '../rules/text-decoration-thickness'\nimport TextIndent from '../rules/text-indent'\nimport Content from '../rules/content'\nimport OutlineColor from '../rules/outline-color'\nimport OutlineOffset from '../rules/outline-offset'\nimport OutlineStyle from '../rules/outline-style'\nimport OutlineWidth from '../rules/outline-width'\nimport Outline from '../rules/outline'\nimport BorderCollapse from '../rules/border-collapse'\nimport BorderSpacing from '../rules/border-spacing'\nimport TableLayout from '../rules/table-layout'\nimport AccentColor from '../rules/accent-color'\nimport Appearance from '../rules/appearance'\nimport CaretColor from '../rules/caret-color'\nimport ScrollBehavior from '../rules/scroll-behavior'\nimport ScrollMargin from '../rules/scroll-margin'\nimport ScrollPadding from '../rules/scroll-padding'\nimport ScrollSnapAlign from '../rules/scroll-snap-align'\nimport ScrollSnapStop from '../rules/scroll-snap-stop'\nimport ScrollSnapType from '../rules/scroll-snap-type'\nimport WillChange from '../rules/will-change'\nimport TextUnderlineOffset from '../rules/text-underline-offset'\nimport Inset from '../rules/inset'\nimport Columns from '../rules/columns'\nimport WhiteSpace from '../rules/white-space'\nimport TextOrientation from '../rules/text-orientation'\nimport WritingMode from '../rules/writing-mode'\nimport Contain from '../rules/contain'\nimport AnimationDuration from '../rules/animation-duration'\nimport TextRendering from '../rules/text-rendering'\nimport Direction from '../rules/direction'\nimport TextDecorationLine from '../rules/text-decoration-line'\nimport GridColumnStart from '../rules/grid-column-start'\nimport ListStyleImage from '../rules/list-style-image'\nimport ShapeOutside from '../rules/shape-outside'\nimport ShapeMargin from '../rules/shape-margin'\nimport ShapeImageThreshold from '../rules/shape-image-threshold'\nimport ClipPath from '../rules/clip-path'\nimport Grid from '../rules/grid'\nimport Font from '../rules/font'\nimport Quotes from '../rules/quotes'\nimport GridTemplate from '../rules/grid-template'\nimport GridRowStart from '../rules/grid-row-start'\nimport GridTemplateAreas from '../rules/grid-template-areas'\nimport GridTemplateColumns from '../rules/grid-template-columns'\nimport GridTemplateRows from '../rules/grid-template-rows'\nimport GridArea from '../rules/grid-area'\nimport GridColumnEnd from '../rules/grid-column-end'\nimport GridRowEnd from '../rules/grid-row-end'\nimport MaskImage from '../rules/mask-image'\nimport TextFillColor from '../rules/text-fill-color'\nimport TextStroke from '../rules/text-stroke'\nimport TextStrokeWidth from '../rules/text-stroke-width'\nimport TextStrokeColor from '../rules/text-stroke-color'\nimport StrokeDasharray from '../rules/stroke-dasharray'\nimport StrokeDashoffset from '../rules/stroke-dashoffset'\nimport X from '../rules/x'\nimport Y from '../rules/y'\nimport Cx from '../rules/cx'\nimport Cy from '../rules/cy'\nimport Rx from '../rules/rx'\nimport Ry from '../rules/ry'\nimport BorderImageOutset from '../rules/border-image-outset'\nimport BorderImageRepeat from '../rules/border-image-repeat'\nimport BorderImageSlice from '../rules/border-image-slice'\nimport BorderImageSource from '../rules/border-image-source'\nimport BorderImageWidth from '../rules/border-image-width'\nimport BorderImage from '../rules/border-image'\nimport Group from '../rules/group'\nimport CounterIncrement from '../rules/counter-increment'\nimport counterReset from '../rules/counter-reset'\n\nconst DefaultRules = [\n Group,\n Variable,\n FontSize,\n FontWeight,\n FontFamily,\n FontSmoothing,\n FontStyle,\n FontVariantNumeric,\n Font,\n Color,\n Spacing,\n Margin,\n Padding,\n FlexBasis,\n FlexWrap,\n FlexGrow,\n FlexShrink,\n FlexDirection,\n Flex,\n Display,\n Width,\n Height,\n MinWidth,\n MinHeight,\n Contain,\n Content,\n CounterIncrement,\n counterReset,\n LetterSpacing,\n LineHeight,\n ObjectFit,\n ObjectPosition,\n TextAlign,\n TextDecorationColor,\n TextDecorationStyle,\n TextDecorationThickness,\n TextDecorationLine,\n TextDecoration,\n TextUnderlineOffset,\n TextOverflow,\n TextOrientation,\n TextTransform,\n TextRendering,\n TextIndent,\n VerticalAlign,\n Columns,\n WhiteSpace,\n Inset,\n Lines,\n MaxHeight,\n MaxWidth,\n BoxSizing,\n Opacity,\n Visibility,\n Clear,\n Float,\n Isolation,\n Overflow,\n OverscrollBehavior,\n ZIndex,\n Position,\n Placement,\n Cursor,\n PointerEvents,\n Resize,\n TouchAction,\n WordBreak,\n WordSpacing,\n UserDrag,\n UserSelect,\n TextShadow,\n TextSize,\n TextFillColor,\n TextStrokeWidth,\n TextStrokeColor,\n TextStroke,\n BoxShadow,\n TableLayout,\n TransformBox,\n TransformStyle,\n TransformOrigin,\n Transform,\n TransitionProperty,\n TransitionTimingFunction,\n TransitionDuration,\n TransitionDelay,\n Transition,\n AnimationDelay,\n AnimationDirection,\n AnimationDuration,\n AnimationFillMode,\n AnimationIterationCount,\n AnimationName,\n AnimationPlayState,\n AnimationTimingFunction,\n Animation,\n BorderColor,\n BorderRadius,\n BorderStyle,\n BorderWidth,\n BorderCollapse,\n BorderSpacing,\n BorderImageOutset,\n BorderImageRepeat,\n BorderImageSlice,\n BorderImageSource,\n BorderImageWidth,\n BorderImage,\n Border,\n BackgroundAttachment,\n BackgroundBlendMode,\n BackgroundClip,\n BackgroundColor,\n BackgroundOrigin,\n BackgroundPosition,\n BackgroundRepeat,\n BackgroundSize,\n BackgroundImage,\n Background,\n MixBlendMode,\n BackdropFilter,\n Filter,\n Fill,\n StrokeDasharray,\n StrokeDashoffset,\n StrokeWidth,\n Stroke,\n X,\n Y,\n Cx,\n Cy,\n Rx,\n Ry,\n GridColumnStart,\n GridColumnEnd,\n GridColumn,\n GridColumns,\n GridRowStart,\n GridRowEnd,\n GridRow,\n GridRows,\n GridAutoColumns,\n GridAutoFlow,\n GridAutoRows,\n GridTemplateAreas,\n GridTemplateColumns,\n GridTemplateRows,\n GridTemplate,\n GridArea,\n Grid,\n Gap,\n Order,\n BreakInside,\n BreakBefore,\n BreakAfter,\n BoxDecorationBreak,\n AspectRadio,\n ColumnSpan,\n AlignContent,\n AlignItems,\n AlignSelf,\n JustifyContent,\n JustifyItems,\n JustifySelf,\n PlaceContent,\n PlaceItems,\n PlaceSelf,\n ListStylePosition,\n ListStyleType,\n ListStyleImage,\n ListStyle,\n OutlineColor,\n OutlineOffset,\n OutlineStyle,\n OutlineWidth,\n Outline,\n AccentColor,\n Appearance,\n CaretColor,\n ScrollBehavior,\n ScrollMargin,\n ScrollPadding,\n ScrollSnapAlign,\n ScrollSnapStop,\n ScrollSnapType,\n WillChange,\n WritingMode,\n Direction,\n ShapeOutside,\n ShapeMargin,\n ShapeImageThreshold,\n ClipPath,\n Quotes,\n MaskImage\n]\n\nexport default DefaultRules", "\nimport defaultBreakpoints from './breakpoints'\nimport defaultColors from './colors'\nimport defaultRootSize from './root-size'\nimport defaultSelectors from './selectors'\nimport defaultSemantics from './semantics'\nimport defaultThemes from './themes'\nimport defaultScheme from './scheme'\nimport defaultValues from './values'\nimport DefaultRules from './rules'\nimport MasterCSSRule from '../rule'\nimport MasterCSS from '../css'\n\nconst defaultConfig: MasterCSSConfig = {\n colors: defaultColors,\n breakpoints: defaultBreakpoints,\n semantics: defaultSemantics,\n values: defaultValues,\n selectors: defaultSelectors,\n themes: defaultThemes,\n scheme: defaultScheme,\n Rules: DefaultRules,\n rootSize: defaultRootSize\n}\n\nexport default defaultConfig\n\nexport interface MasterCSSConfig {\n classes?: Record<string, string>\n colors?: Record<string, string | Record<string, string>>\n breakpoints?: Record<string, number>\n mediaQueries?: Record<string, string>\n selectors?: Record<string, string | string[]>\n semantics?: Record<string, string | Record<string, string | number>>\n values?: Record<string, Record<string, string | number> | string | number>\n Rules?: typeof MasterCSSRule[],\n themes?: Record<string, { classes?: Record<string, string>, colors?: Record<string, string | Record<string, string>> }> | string[],\n rootSize?: number\n validateRule?: (rule: MasterCSSRule, css?: MasterCSS) => boolean\n scheme?: {\n preference?: string,\n storage?: {\n sync?: boolean\n key?: string\n }\n }\n}", "export function concatArrays(originVal: any, newVal: any): any | any[] {\n if (Array.isArray(originVal) && Array.isArray(newVal)) {\n // concat logic\n return originVal.concat(newVal)\n }\n return newVal // always return newVal as fallback!!\n}", "/**\n * Returns the object type of the given payload\n *\n * @param {*} payload\n * @returns {string}\n */\nexport function getType(payload: any): string {\n return Object.prototype.toString.call(payload).slice(8, -1)\n}\n", "import { getType } from './get-type'\n\nexport type PlainObject = Record<string | number | symbol, any>\n\n/**\n * Returns whether the payload is a plain JavaScript object (excluding special classes or objects with other prototypes)\n *\n * @param {*} payload\n * @returns {payload is PlainObject}\n */\nexport function isPlainObject(payload: any): payload is PlainObject {\n if (getType(payload) !== 'Object') return false\n return payload.constructor === Object && Object.getPrototypeOf(payload) === Object.prototype\n}", "import { getType } from './get-type'\n\n/**\n * Returns whether the payload is a Symbol\n *\n * @param {*} payload\n * @returns {payload is symbol}\n */\nexport function isSymbol(payload: any): payload is symbol {\n return getType(payload) === 'Symbol'\n}\n", "import { concatArrays } from '../utils/concat-arrays'\nimport { isPlainObject } from '../utils/is-plain-object'\nimport { isSymbol } from '../utils/is-symbol'\n\nfunction assignProp(\n carry: Record<string, any>,\n key: string,\n newVal: any,\n originalObject: Record<string, any>\n): void {\n const propType = {}.propertyIsEnumerable.call(originalObject, key)\n ? 'enumerable'\n : 'nonenumerable'\n if (propType === 'enumerable') carry[key] = newVal\n if (propType === 'nonenumerable') {\n Object.defineProperty(carry, key, {\n value: newVal,\n enumerable: false,\n writable: true,\n configurable: true,\n })\n }\n}\n\nfunction mergeRecursively<\n T1 extends Record<string, any> | any,\n T2 extends Record<string, any> | any\n>(\n origin: T1,\n newComer: T2,\n compareFn?: (prop1: any, prop2: any, propName: string) => any\n): (T1 & T2) | T2 {\n // always return newComer if its not an object\n if (!isPlainObject(newComer)) return newComer\n // define newObject to merge all values upon\n let newObject = {} as (T1 & T2) | T2\n if (isPlainObject(origin)) {\n const props = Object.getOwnPropertyNames(origin)\n const symbols = Object.getOwnPropertySymbols(origin)\n newObject = [...props, ...symbols].reduce((carry, key) => {\n const targetVal = origin[key as string]\n if (\n (!isSymbol(key) && !Object.getOwnPropertyNames(newComer).includes(key)) ||\n (isSymbol(key) && !Object.getOwnPropertySymbols(newComer).includes(key))\n ) {\n assignProp(carry as Record<string, any>, key as string, targetVal, origin)\n }\n return carry\n }, {} as (T1 & T2) | T2)\n }\n // newObject has all properties that newComer hasn't\n const props = Object.getOwnPropertyNames(newComer)\n const symbols = Object.getOwnPropertySymbols(newComer)\n const result = [...props, ...symbols].reduce((carry, key) => {\n // re-define the origin and newComer as targetVal and newVal\n let newVal = newComer[key as string]\n const targetVal = isPlainObject(origin) ? origin[key as string] : undefined\n // When newVal is an object do the merge recursively\n if (targetVal !== undefined && isPlainObject(newVal)) {\n newVal = mergeRecursively(targetVal, newVal, compareFn)\n }\n const propToAssign = compareFn ? compareFn(targetVal, newVal, key as string) : newVal\n assignProp(carry as Record<string, any>, key as string, propToAssign, newComer)\n return carry\n }, newObject)\n return result\n}\n\ntype ExpandDeep<T> =\n T extends Record<string | number | symbol, unknown>\n ? { [K in keyof T]: ExpandDeep<T[K]> }\n : T extends Array<infer E>\n ? Array<ExpandDeep<E>>\n : T\n\nexport default function extend<T extends Record<string, any>>(\n object: T,\n ...otherObjects: any[]\n): ExpandDeep<any> {\n return otherObjects\n .filter((newComer) => isPlainObject(newComer))\n .reduce((result, newComer) => {\n return mergeRecursively(result, newComer, concatArrays)\n }, object) as any\n}", "import defaultConfig from './config'\nimport extend from './apis/extend'\nimport type { MasterCSSConfig } from './config'\nimport MasterCSSRule from './rule'\n\nconst selectorSymbols = [',', '.', '#', '[', '!', '*', '>', '+', '~', ':', '@']\nconst vendorPrefixSelectorRegExp = /^::-[a-z]+-/m\n\nlet STYLE: HTMLStyleElement\nconst isBrowser = typeof window !== 'undefined'\nif (isBrowser) {\n STYLE = document.createElement('style')\n STYLE.title = 'master'\n}\nconst MAX_WIDTH = 'max-width'\nconst MIN_WIDTH = 'min-width'\nconst ATTRIBUTES = 'attributes'\n\nconst MutationObserver = isBrowser\n ? window.MutationObserver\n : Object\n\nexport declare type MasterCSSOptions = {\n config?: MasterCSSConfig\n override?: boolean\n observe?: boolean\n}\n\nexport default class MasterCSS extends MutationObserver {\n\n static instances: MasterCSS[] = []\n static root: MasterCSS\n\n /**\n * \u5168\u90E8 sheet \u6839\u64DA\u76EE\u524D\u8490\u96C6\u5230\u7684\u6240\u6709 DOM class \u91CD\u65B0 findAndNew\n */\n static refresh(config: MasterCSSConfig) {\n for (const eachInstance of this.instances) {\n eachInstance.refresh(config)\n }\n }\n\n readonly style: HTMLStyleElement\n readonly rules: MasterCSSRule[] = []\n readonly ruleOfClass: Record<string, MasterCSSRule> = {}\n readonly countOfClass = {}\n readonly host: Element\n readonly root: Document | ShadowRoot\n readonly ready: boolean = false\n readonly config: MasterCSSConfig\n\n semantics: [RegExp, string][]\n classes: Record<string, string[]>\n colorsThemesMap: Record<string, Record<string, Record<string, string>>>\n colorNames: string[]\n themeNames: string[]\n relationThemesMap: Record<string, Record<string, string[]>>\n relations: Record<string, string[]>\n selectors: Record<string, [RegExp, string[]][]>\n values: Record<string, Record<string, string | number>>\n globalValues: Record<string, string | number>\n\n private schemeMQL: MediaQueryList\n\n constructor(\n public options?: MasterCSSOptions\n ) {\n super((mutationRecords) => {\n // console.time('css engine');\n\n const correctionOfClassName = {}\n const attributeMutationRecords: MutationRecord[] = []\n const updatedElements: Element[] = []\n const unchangedElements: Element[] = []\n\n /**\n * \u53D6\u5F97\u6240\u6709\u6DF1\u5C64\u5F8C\u4EE3\u7684 class names \n */\n const handleClassNameDeeply = (element: Element, remove: boolean) => {\n if (remove) {\n element.classList.forEach(removeClassName)\n } else {\n element.classList.forEach(addClassName)\n }\n\n const children = element.children\n for (let i = 0; i < children.length; i++) {\n const eachChildren = children[i]\n if (eachChildren.classList) {\n updatedElements.push(eachChildren)\n\n handleClassNameDeeply(eachChildren, remove)\n }\n }\n }\n\n const addClassName = (className: string) => {\n if (className in correctionOfClassName) {\n correctionOfClassName[className]++\n } else {\n correctionOfClassName[className] = 1\n }\n }\n\n const removeClassName = (className: string) => {\n if (className in correctionOfClassName) {\n correctionOfClassName[className]--\n } else {\n correctionOfClassName[className] = -1\n }\n }\n\n const handleNodes = (nodes: HTMLCollection, remove: boolean) => {\n for (let i = 0; i < nodes.length; i++) {\n const eachNode = nodes[i]\n if (eachNode.classList && !updatedElements.includes(eachNode) && !unchangedElements.includes(eachNode)) {\n if (eachNode.isConnected !== remove) {\n updatedElements.push(eachNode)\n handleClassNameDeeply(eachNode, remove)\n } else {\n unchangedElements.push(eachNode)\n }\n }\n }\n }\n\n for (let i = 0; i < mutationRecords.length; i++) {\n const mutationRecord = mutationRecords[i]\n const { addedNodes, removedNodes, type, target, oldValue } = mutationRecord\n if (type === ATTRIBUTES) {\n /**\n * \u9632\u6B62\u540C\u6A23\u7684 MutationRecord \u91CD\u8907\u57F7\u884C\n * According to this history, \n * MutationObserver was designed to work that way. \n * Any call to setAttribute triggers a mutation, \n * regardless of whether the value is being changed or set to the current value\n */\n if (\n target['className'] === oldValue // prevent same class to execute\n || attributeMutationRecords\n .find((eachAttributeMutationRecord) => eachAttributeMutationRecord.target === target)\n ) {\n continue\n } else {\n /**\n * \u7B2C\u4E00\u500B\u5339\u914D\u5230\u7684 oldValue \u4E00\u5B9A\u662F\u8A72\u6279\u8B8A\u52D5\u524D\u7684\u539F\u59CB\u72C0\u614B\u503C\n */\n attributeMutationRecords.push(mutationRecord)\n }\n } else {\n // \u5148\u5224\u65B7\u7BC0\u9EDE\u65B0\u589E\u6216\u79FB\u9664\n handleNodes(addedNodes, false)\n handleNodes(removedNodes, true)\n }\n }\n\n if (!attributeMutationRecords.length && !Object.keys(correctionOfClassName).length) {\n // console.timeEnd('css engine');\n return\n }\n\n for (const { oldValue, target } of attributeMutationRecords) {\n /**\n * \u5982\u679C\u88AB\u64CD\u4F5C\u7684\u5143\u7D20\u4E2D\u5305\u542B\u4E86\u5C6C\u6027\u8B8A\u66F4\u7684\u76EE\u6A19\uFF0C\n * \u5247\u5C07\u8A72\u76EE\u6A19\u5F9E existedAttributeMutationTargets \u4E2D\u79FB\u9664\uFF0C\n * \u4EE5\u9632\u6B62\u57F7\u884C\u63A5\u4E0B\u4F86\u7684\u5C6C\u6027\u8B8A\u66F4\u8655\u7406\n * \n * \u8A72\u6279 mutationRecords \u4E2D\uFF0C\u67D0\u500B target \u540C\u6642\u6709 attribute \u53CA childList \u7684\u8B8A\u66F4\uFF0C\n * \u5247\u4EE5 childList \u7BC0\u9EDE\u63D2\u5165\u53CA\u79FB\u9664\u7684 target.className \u70BA\u4E3B\n */\n const updated = updatedElements.includes(target as Element)\n const classNames = (target as Element).classList\n const oldClassNames = oldValue ? oldValue.split(' ') : []\n if (updated) {\n if (target.isConnected) {\n continue\n } else {\n for (const oldClassName of oldClassNames) {\n if (!classNames.contains(oldClassName)) {\n removeClassName(oldClassName)\n }\n }\n }\n } else {\n if (target.isConnected) {\n classNames.forEach((className) => {\n if (!oldClassNames.includes(className)) {\n addClassName(className)\n }\n })\n for (const oldClassName of oldClassNames) {\n if (!classNames.contains(oldClassName)) {\n removeClassName(oldClassName)\n }\n }\n } else {\n for (const oldClassName of oldClassNames) {\n removeClassName(oldClassName)\n }\n }\n }\n }\n\n for (const className in correctionOfClassName) {\n const correction = correctionOfClassName[className]\n const count = (this.countOfClass[className] || 0) + correction\n if (count === 0) {\n // remove\n delete this.countOfClass[className]\n /**\n * class name \u5F9E DOM tree \u4E2D\u88AB\u79FB\u9664\uFF0C\n * \u5339\u914D\u4E26\u522A\u9664\u5C0D\u61C9\u7684 rule\n */\n this.delete(className)\n } else {\n if (!(className in this.countOfClass)) {\n // add\n /**\n * \u65B0 class name \u88AB connected \u81F3 DOM tree\uFF0C\n * \u5339\u914D\u4E26\u5275\u5EFA\u5C0D\u61C9\u7684 Rule\n */\n this.findAndInsert(className)\n }\n\n this.countOfClass[className] = count\n }\n }\n\n // console.timeEnd('css engine');\n })\n\n this.options = extend({ observe: true }, options)\n\n if (this.options.config && !this.options.override) {\n this.config = extend(defaultConfig, this.options.config)\n } else {\n this.config = defaultConfig\n }\n\n this.cache()\n\n if (isBrowser && this.options.observe) {\n this.observe(document)\n }\n\n MasterCSS.instances.push(this)\n this.ready = true\n }\n\n get storageScheme() {\n const { storage } = this.config.scheme\n return localStorage.getItem(storage.key)\n }\n\n #scheme: string\n #theme: string\n\n set scheme(scheme: string) {\n if (scheme !== this.#scheme) {\n this.#scheme = scheme\n const { storage } = this.config.scheme\n if (scheme === 'system') {\n // \u6309\u7167\u7CFB\u7D71\u7684\u4E3B\u984C\u5207\u63DB\uFF0C\u76EE\u524D\u53EA\u652F\u63F4 light dark\n this.schemeMQL = window.matchMedia('(prefers-color-scheme:dark)')\n this.schemeMQL.addEventListener('change', this.onThemeChange)\n this.theme = this.schemeMQL.matches ? 'dark' : 'light'\n } else {\n this.removeSchemeListener()\n this.theme = scheme\n }\n if (this.storageScheme !== scheme && storage.sync) {\n localStorage.setItem(storage.key, scheme)\n }\n if (this.ready) {\n this.host.dispatchEvent(new CustomEvent('scheme', { detail: this }))\n }\n }\n }\n\n get scheme() {\n return this.#scheme\n }\n\n set theme(theme: string) {\n if (theme !== this.#theme) {\n if (this.#theme) {\n this.host.classList.remove(this.#theme)\n }\n this.#theme = theme\n if (this.host === document.documentElement) {\n (this.host as HTMLElement).style.colorScheme = theme\n }\n this.host.classList.add(theme)\n if (this.ready) {\n this.host.dispatchEvent(new CustomEvent('theme', { detail: this }))\n }\n }\n }\n\n get theme() {\n return this.#theme\n }\n\n private removeSchemeListener() {\n if (this.schemeMQL) {\n this.schemeMQL.removeEventListener('change', this.onThemeChange)\n this.schemeMQL = null\n }\n }\n\n private onThemeChange = (mediaQueryList) => {\n this.theme = mediaQueryList.matches ? 'dark' : 'light'\n }\n\n private cache() {\n this.semantics = []\n this.classes = {}\n this.colorsThemesMap = {}\n this.relationThemesMap = {}\n this.relations = {}\n this.colorNames = []\n this.themeNames = ['']\n this.selectors = {}\n this.values = {}\n this.globalValues = {}\n\n const { semantics, classes, selectors, themes, colors, values } = this.config\n\n function escapeString(str) {\n return str.replace(/[-/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&')\n }\n\n if (semantics) {\n for (const semanticName in semantics) {\n this.semantics.push([new RegExp('^' + escapeString(semanticName) + '(?=!|\\\\*|>|\\\\+|~|:|\\\\[|@|_|\\\\.|$)', 'm'), semanticName])\n }\n }\n if (selectors) {\n for (const [replacedSelectorText, newSelectorText] of Object.entries(selectors)) {\n const regexp = new RegExp(escapeString(replacedSelectorText) + '(?![a-z-])')\n for (const eachNewSelectorText of Array.isArray(newSelectorText) ? newSelectorText : [newSelectorText]) {\n const vendor = eachNewSelectorText.match(vendorPrefixSelectorRegExp)?.[0] ?? ''\n\n let selectorValues = this.selectors[vendor]\n if (!selectorValues) {\n selectorValues = this.selectors[vendor] = []\n }\n\n let currentSelectValue = selectorValues.find(([_valueRegexp]) => _valueRegexp === regexp)\n if (!currentSelectValue) {\n currentSelectValue = [regexp, []]\n selectorValues.push(currentSelectValue)\n }\n\n currentSelectValue[1].push(eachNewSelectorText)\n }\n }\n }\n if (values) {\n for (const [id, valueMap] of Object.entries(values)) {\n (typeof valueMap === 'object'\n ? this.values\n : this.globalValues)[id] = valueMap\n }\n }\n\n const semanticNames = [\n ...(classes ? Object.keys(classes) : []),\n ...((themes && !Array.isArray(themes))\n ? Object.entries(themes).flatMap(([_, { classes }]: any) => classes ? Object.keys(classes) : [])\n : [])\n ]\n const handleSemanticName = (semanticName: string) => {\n if (semanticName in this.classes)\n return\n\n const currentClass = this.classes[semanticName] = []\n\n const handleClassNames = (theme: string, className: string | string[]) => {\n if (!className)\n return\n\n const classNames: string[] = Array.isArray(className)\n ? className\n : className\n .replace(/(?:\\n(?:\\s*))+/g, ' ')\n .trim()\n .split(' ')\n for (const eachClassName of classNames) {\n const handle = (className: string) => {\n if (className in this.relationThemesMap) {\n if (theme in this.relationThemesMap[className]) {\n this.relationThemesMap[className][theme].push(semanticName)\n } else {\n this.relationThemesMap[className][theme] = [semanticName]\n }\n } else {\n this.relationThemesMap[className] = { [theme]: [semanticName] }\n }\n\n if (!currentClass.includes(className)) {\n currentClass.push(className)\n }\n }\n\n if (semanticNames.includes(eachClassName)) {\n handleSemanticName(eachClassName)\n\n for (const parentClassName of this.classes[eachClassName]) {\n handle(parentClassName)\n }\n } else {\n handle(eachClassName)\n }\n }\n }\n\n handleClassNames('', classes?.[semanticName])\n if (themes && !Array.isArray(themes)) {\n for (const [eachTheme, { classes }] of Object.entries(themes) as any) {\n handleClassNames(eachTheme, classes?.[semanticName])\n }\n }\n }\n for (const eachSemanticName of semanticNames) {\n handleSemanticName(eachSemanticName)\n }\n\n for (const className in this.relationThemesMap) {\n const currentRelation = this.relations[className] = []\n for (const semanticNames of Object.values(this.relationThemesMap[className])) {\n for (const eachSemanticName of semanticNames) {\n if (!currentRelation.includes(eachSemanticName)) {\n currentRelation.push(eachSemanticName)\n }\n }\n }\n }\n\n const mergeColors = (theme: string, colors: Record<string, string | Record<string, string>>) => {\n if (!colors)\n return\n\n for (const colorName in colors) {\n let levels = colors[colorName]\n if (typeof levels === 'string') {\n levels = { '': levels }\n }\n\n if (colorName in this.colorsThemesMap) {\n const levelsThemes = this.colorsThemesMap[colorName]\n for (const level in levels) {\n const color = levels[level]\n\n if (level in levelsThemes) {\n levelsThemes[level][theme] = color\n } else {\n levelsThemes[level] = { [theme]: color }\n }\n }\n } else {\n this.colorNames.push(colorName)\n this.colorsThemesMap[colorName] = Object\n .entries(levels)\n .reduce((obj, [level, color]) => {\n obj[level] = { [theme]: color }\n return obj\n }, {})\n }\n }\n }\n mergeColors('', colors)\n if (themes) {\n if (Array.isArray(themes)) {\n this.themeNames.push(...themes)\n } else {\n for (const eachTheme in themes) {\n const themeValue = themes[eachTheme]\n mergeColors(eachTheme, themeValue.colors)\n this.themeNames.push(eachTheme)\n }\n }\n }\n\n for (const [colorName, levelsThemes] of Object.entries(this.colorsThemesMap)) {\n for (const [level, themesColor] of Object.entries(levelsThemes)) {\n for (const [theme, color] of Object.entries(themesColor)) {\n if (!color.startsWith('#')) {\n const [_colorName, _level] = color.split('-')\n const assignedThemesColor = this.colorsThemesMap[_colorName]?.[_level ?? '']\n let newColor = ''\n\n if (assignedThemesColor) {\n newColor = (theme\n ? assignedThemesColor[theme] \n : undefined)\n ?? assignedThemesColor['']\n if (newColor) {\n themesColor[theme] = newColor\n }\n }\n \n if (!newColor) {\n console.warn(`\\`${color}\\` doesn't exist in the extended config \\`.colors\\``)\n\n if (Object.keys(themesColor).length > 1) {\n delete themesColor[theme] \n } else if (Object.keys(levelsThemes).length > 1) {\n delete levelsThemes[level]\n } else {\n delete this.colorsThemesMap[colorName]\n this.colorNames.splice(this.colorNames.indexOf(colorName), 1)\n }\n }\n }\n }\n }\n }\n }\n\n observe(root: Document | ShadowRoot, options: MutationObserverInit = { subtree: true, childList: true }) {\n if (isBrowser && root) {\n // @ts-ignore\n this.root = root\n const isDocumentRoot = root === document\n if (isDocumentRoot) {\n MasterCSS.root = this\n }\n\n // @ts-ignore\n this.host = isDocumentRoot ? document.documentElement : (root as ShadowRoot).host\n\n // sync theme\n this.scheme = this.storageScheme || this.config.scheme.preference\n\n const container = isDocumentRoot ? document.head : root\n const styleSheets: StyleSheetList = isDocumentRoot ? document.styleSheets : root.styleSheets\n // @ts-ignore\n for (const sheet of styleSheets) {\n const { title, href, ownerNode } = sheet\n if (\n title === 'master'\n || href && /master(?:\\..+)?\\.css/.test(href)\n ) {\n // @ts-ignore\n this.style = ownerNode\n }\n }\n\n if (this.style) {\n for (let index = 0; index < this.style.sheet.cssRules.length; index++) {\n const getRule = (cssRule: any): MasterCSSRule => {\n if (cssRule.selectorText) {\n const selectorTexts = cssRule.selectorText.split(', ')\n const escapedClassNames = selectorTexts[0].split(' ')\n\n for (let i = 0; i < escapedClassNames.length; i++) {\n const eachSelectorText = escapedClassNames[i]\n if (eachSelectorText[0] === '.') {\n const escapedClassName = eachSelectorText.slice(1)\n\n let className = ''\n for (let j = 0; j < escapedClassName.length; j++) {\n const char = escapedClassName[j]\n const nextChar = escapedClassName[j + 1]\n\n if (char === '\\\\') {\n j++\n\n if (nextChar !== '\\\\') {\n className += nextChar\n\n continue\n }\n } else if (selectorSymbols.includes(char)) {\n break\n }\n\n className += char\n }\n\n if (!(className in this.ruleOfClass) && !(className in this.classes)) {\n const currentRule = this.findAndNew(className) as MasterCSSRule\n if (currentRule)\n return currentRule\n }\n }\n }\n } else if (cssRule.cssRules) {\n for (let index = 0; index < cssRule.cssRules.length; index++) {\n const currentRule = getRule(cssRule.cssRules[index])\n if (currentRule)\n return currentRule\n }\n }\n }\n const rule = getRule(this.style.sheet.cssRules[index])\n if (rule) {\n this.rules.push(rule)\n this.ruleOfClass[rule.className] = rule\n\n for (let i = 0; i < rule.natives.length; i++) {\n rule.natives[i].cssRule = this.style.sheet.cssRules[index + i]\n }\n\n index += rule.natives.length - 1\n }\n }\n } else {\n // @ts-ignore\n this.style = STYLE.cloneNode() as HTMLStyleElement\n /** \u4F7F\u7528 prepend \u800C\u975E append \u53BB\u964D\u4F4E rules \u985E\u7684\u512A\u5148\u5C64\u7D1A\uFF0C\u7121\u6CD5\u5F37\u5236\u6392\u5728\u6240\u6709 <style> \u4E4B\u5F8C */\n container.prepend(this.style)\n }\n\n if (options.subtree) {\n /**\n * \u5F85\u6240\u6709 DOM \u7D50\u69CB\u5B8C\u6210\u89E3\u6790\u5F8C\uFF0C\u958B\u59CB\u7E6A\u88FD MasterCSSRule \u6A23\u5F0F\n */\n this.host\n .querySelectorAll('[class]')\n .forEach((element) => {\n element.classList.forEach((className) => {\n if (className in this.countOfClass) {\n this.countOfClass[className]++\n } else {\n this.countOfClass[className] = 1\n\n this.findAndInsert(className)\n }\n })\n })\n }\n\n super.observe(root, {\n ...options,\n attributes: true,\n attributeOldValue: true,\n attributeFilter: ['class'],\n })\n }\n return this\n }\n\n disconnect(): void {\n super.disconnect()\n // @ts-ignore\n this.ruleOfClass = {}\n // @ts-ignore\n this.countOfClass = {}\n\n this.rules.length = 0\n\n const sheet = this.style.sheet\n if (sheet) {\n for (let i = sheet.cssRules.length - 1; i >= 0; i--) {\n sheet.deleteRule(i)\n }\n }\n }\n\n /**\n * \u5C0B\u627E\u5339\u914D\u7684 MasterCSSRule \u751F\u6210\u5BE6\u4F8B\n */\n findAndNew(name: string) {\n const findAndNewRule = (className: string) => {\n if (className in this.ruleOfClass)\n return this.ruleOfClass[className]\n\n for (const EachRule of this.config.Rules) {\n const matching = EachRule.match(className, this.colorNames)\n if (matching)\n return new EachRule(\n className,\n matching,\n this\n )\n }\n\n for (const eachSemanticEntry of this.semantics) {\n if (className.match(eachSemanticEntry[0]))\n return new MasterCSSRule(\n className,\n { origin: 'semantics', value: eachSemanticEntry[1] },\n this\n )\n }\n }\n\n return name in this.classes\n ? this.classes[name]\n .map(findAndNewRule)\n .filter(eachRule => eachRule)\n : findAndNewRule(name)\n }\n\n /**\n * \u6839\u64DA\u76EE\u524D\u8490\u96C6\u5230\u7684\u6240\u6709 DOM class \u91CD\u65B0 findAndNew\n */\n refresh(config: MasterCSSConfig) {\n // @ts-ignore\n this.config = config\n this.cache()\n\n if (!this.style) {\n return\n }\n\n const element = STYLE.cloneNode() as HTMLStyleElement\n this.style.replaceWith(element)\n // @ts-ignore\n this.style = style\n this.rules.length = 0\n // @ts-ignore\n this.ruleOfClass = {}\n\n /**\n * \u62FF\u7576\u524D\u6240\u6709\u7684 classNames \u6309\u7167\u6700\u65B0\u7684 colors, breakpoints, config.Rules \u5339\u914D\u4E26\u751F\u6210\u65B0\u7684 style\n * \u6240\u4EE5 refresh \u904E\u5F8C rules \u53EF\u80FD\u6703\u8B8A\u591A\u4E5F\u53EF\u80FD\u6703\u8B8A\u5C11\n */\n for (const name in this.countOfClass) {\n this.findAndInsert(name)\n }\n }\n\n destroy() {\n const instances = MasterCSS.instances\n this.disconnect()\n instances.splice(instances.indexOf(this), 1)\n this.style.remove()\n this.removeSchemeListener()\n }\n\n /**\n * 1. where\n * 2. normal\n * 3. where selectors\n * 4. normal selectors\n * 5. media where\n * 6. media normal\n * 7. media selectors\n * 8. media width where\n * 9. media width\n * 10. media width selectors\n */\n insert(rule: MasterCSSRule) {\n if (this.ruleOfClass[rule.className])\n return\n\n const { validateRule } = this.config\n if (validateRule && !validateRule(rule, this)) {\n return\n }\n\n let index\n /**\n * \u5FC5\u9808\u6309\u65B7\u9EDE\u503C\u905E\u589E\uFF0C\u4E26\u900F\u904E\u7D22\u5F15\u63D2\u5165\uFF0C\n * \u4EE5\u5BE6\u73FE\u97FF\u61C9\u5F0F\u5148\u5F8C\u5957\u7528\u7684\u898F\u5247\n * @example <1 <2 <3 ALL >=1 >=2 >=3\n * @description\n */\n const endIndex = this.rules.length - 1\n const { media, order, prioritySelectorIndex, hasWhere, className } = rule\n const findPrioritySelectorInsertIndex = (\n rules: MasterCSSRule[],\n findStartIndex?: (rule: MasterCSSRule) => any,\n findEndIndex?: (rule: MasterCSSRule) => any,\n ignoreRule?: (rule: MasterCSSRule) => any\n ) => {\n let sIndex = 0\n let eIndex: number\n\n // 1. \u627E\u5C0B\u76EE\u6A19\u9663\u5217\n if (findStartIndex) {\n sIndex = rules.findIndex(findStartIndex)\n }\n if (findEndIndex) {\n eIndex = rules.findIndex(findEndIndex)\n }\n if (sIndex === -1) {\n sIndex = rules.length\n }\n if (eIndex === undefined || eIndex === -1) {\n eIndex = rules.length\n }\n\n const targetRules: MasterCSSRule[] = rules.slice(sIndex, eIndex)\n\n // 2. \u7531\u76EE\u6A19\u9663\u5217\u627E\u5C0B\u63D2\u5165\u9EDE\n for (let i = 0; i < targetRules.length; i++) {\n const currentRule = targetRules[i]\n\n if (currentRule.prioritySelectorIndex === -1 || ignoreRule && ignoreRule(currentRule))\n continue\n\n if (\n currentRule.prioritySelectorIndex < prioritySelectorIndex\n || currentRule.prioritySelectorIndex === prioritySelectorIndex\n && (\n hasWhere && !currentRule.hasWhere\n || currentRule.order >= order\n )\n )\n return sIndex + i\n\n }\n\n return sIndex + targetRules.length\n }\n\n if (media) {\n const mediaStartIndex = this.rules.findIndex(eachRule => eachRule.media)\n if (mediaStartIndex !== -1) {\n const maxWidthFeature = media.features[MAX_WIDTH]\n const minWidthFeature = media.features[MIN_WIDTH]\n if (maxWidthFeature && minWidthFeature) {\n /**\n * \u7BC4\u570D\u8D8A\u5C0F ( \u8D8A\u9650\u5B9A \u8D8A\u4FB7\u9650 ) \u8D8A\u512A\u5148\uFF0C\n * \u6309\u7167\u7BC4\u570D max-width - min-width \u905E\u6E1B\u6392\u5E8F\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u7BC4\u570D\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n const range = maxWidthFeature.value - minWidthFeature.value\n for (let i = endIndex; i >= mediaStartIndex; i--) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (!eachMaxWidthFeature || !eachMinWidthFeature) {\n index++\n break\n }\n\n const eachRange = eachMaxWidthFeature.value - eachMinWidthFeature.value\n if (eachRange === range) {\n if (hasWhere !== eachRule.hasWhere)\n continue\n\n if (prioritySelectorIndex !== -1) {\n const sameRangeRules = [this.rules[i]]\n for (let j = i - 1; j >= mediaStartIndex; j--) {\n const currentMediaRule = this.rules[j]\n if (currentMediaRule.hasWhere !== hasWhere)\n break\n\n const currentMedia = currentMediaRule.media\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n if (\n !currentMaxWidthFeature\n || !currentMinWidthFeature\n || (currentMaxWidthFeature.value - currentMinWidthFeature.value !== eachRange)\n )\n break\n\n sameRangeRules.unshift(this.rules[j])\n }\n\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH])\n }\n\n break\n } else if (eachRange > range) {\n break\n }\n }\n } else if (minWidthFeature) {\n /**\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n for (let i = mediaStartIndex; i <= endIndex; i++) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (eachMaxWidthFeature) {\n /**\n * \u6C38\u9060\u63D2\u5165\u5728 range feature \u524D\n */\n if (eachMinWidthFeature) {\n break\n } else {\n continue\n }\n }\n\n const value = eachMinWidthFeature?.value\n if (value === minWidthFeature.value) {\n if (!hasWhere && eachRule.hasWhere) {\n index++\n continue\n }\n\n if (prioritySelectorIndex !== -1) {\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH],\n eachRule => !eachRule.media.features[MIN_WIDTH] && !eachRule.media.features[MAX_WIDTH])\n } else {\n for (let j = i; j <= endIndex; j++) {\n const currentMediaRule = this.rules[j]\n const currentMedia = currentMediaRule.media\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n\n if (currentMaxWidthFeature)\n continue\n\n if (\n currentMediaRule.hasWhere !== hasWhere\n || currentMinWidthFeature.value !== value\n || currentMediaRule.order >= order\n )\n break\n\n index = j + 1\n }\n }\n\n break\n } else if (value > minWidthFeature.value) {\n break\n } else {\n index++\n }\n }\n } else if (maxWidthFeature) {\n /**\n * find \u7B2C\u4E00\u500B\u6240\u9047\u5230\u540C\u6A23 feature \u4E14\u503C\u6BD4\u81EA\u5DF1\u5927\u7684 rule\uFF0C\n * \u4E26\u63D2\u5165\u5728\u8A72 rule \u4E4B\u5F8C\uFF0C\u8B93\u81EA\u5DF1\u512A\u5148\u88AB\u5957\u7528\n */\n for (let i = endIndex; i >= mediaStartIndex; i--) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n const eachMaxWidthFeature = eachMedia.features[MAX_WIDTH]\n const eachMinWidthFeature = eachMedia.features[MIN_WIDTH]\n if (eachMinWidthFeature) {\n /**\n * \u6C38\u9060\u63D2\u5165\u5728 range feature \u524D\n */\n continue\n }\n\n const value = eachMaxWidthFeature?.value\n if (!value || value > maxWidthFeature.value) {\n index++\n break\n } else if (value === maxWidthFeature.value) {\n if (hasWhere && !eachRule.hasWhere)\n continue\n\n if (prioritySelectorIndex !== -1) {\n index = findPrioritySelectorInsertIndex(\n this.rules,\n eachRule => eachRule.media,\n eachRule => eachRule.media && eachRule.prioritySelectorIndex !== -1 && eachRule.media.features[MIN_WIDTH] && eachRule.media.features[MAX_WIDTH],\n eachRule => !eachRule.media.features[MIN_WIDTH] && !eachRule.media.features[MAX_WIDTH])\n } else {\n const sameRangeRules = [this.rules[i]]\n for (let j = i - 1; j >= mediaStartIndex; j--) {\n const currentMediaRule = this.rules[j]\n const currentMedia = currentMediaRule.media\n const currentMinWidthFeature = currentMedia.features[MIN_WIDTH]\n const currentMaxWidthFeature = currentMedia.features[MAX_WIDTH]\n\n if (\n !currentMinWidthFeature\n && (!currentMaxWidthFeature\n || currentMaxWidthFeature.value !== value\n || currentMediaRule.hasWhere !== hasWhere)\n )\n break\n\n sameRangeRules.unshift(currentMediaRule)\n }\n\n for (let j = 0; j < sameRangeRules.length; j++) {\n const currentMediaRule = sameRangeRules[j]\n\n if (currentMediaRule.media.features[MIN_WIDTH])\n continue\n\n if (currentMediaRule.order >= order)\n break\n\n index = i - sameRangeRules.length + 2 + j\n }\n }\n\n break\n }\n }\n }\n }\n /**\n * \u5982\u679C\u627E\u4E0D\u5230\u76EE\u6A19\u4F4D\u7F6E\u5247\u63D2\u5728\u6700\u5F8C\u9762\n */\n if (index === undefined) {\n if (mediaStartIndex === -1) {\n // \u7121\u4EFB\u4F55 media \u6642\uFF0C\u512A\u5148\u7D1A\u6700\u9AD8\n index = endIndex + 1\n } else if (prioritySelectorIndex !== -1) {\n // \u542B\u6709\u512A\u5148 selector\n index = mediaStartIndex +\n findPrioritySelectorInsertIndex(\n this.rules.slice(mediaStartIndex),\n undefined,\n eachRule => eachRule.media.features[MAX_WIDTH] || eachRule.media.features[MIN_WIDTH])\n } else if (hasWhere) {\n // \u4E0D\u542B\u512A\u5148 selector\uFF0C\u4E14\u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u6700\u4F4E\n let i = mediaStartIndex\n for (; i < this.rules.length; i++) {\n const eachRule = this.rules[i]\n if (eachRule.prioritySelectorIndex !== -1 || !eachRule.hasWhere || eachRule.order >= order) {\n index = i\n break\n }\n }\n\n if (index === undefined) {\n index = i\n }\n } else {\n // \u4E0D\u542B\u512A\u5148 selector\uFF0C\u4E14\u4E0D\u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u7DCA\u63A5\u975E min-width / max-width \u7684 where \u4E4B\u5F8C\n for (let i = mediaStartIndex; i <= endIndex; i++) {\n index = i\n\n const eachRule = this.rules[i]\n const eachMedia = eachRule.media\n if (eachRule.prioritySelectorIndex !== -1 || eachMedia.features[MAX_WIDTH] || eachMedia.features[MIN_WIDTH])\n break\n\n if (eachRule.hasWhere) {\n index++\n } else if (eachRule.order >= order) {\n break\n }\n }\n }\n }\n } else {\n if (prioritySelectorIndex === -1) {\n // \u4E0D\u542B\u512A\u5148 selector\n if (hasWhere) {\n // \u542B\u6709 where\uFF0C\u512A\u5148\u7D1A\u6700\u4F4E\n index = this.rules.findIndex(eachRule => !eachRule.hasWhere\n || eachRule.media\n || eachRule.prioritySelectorIndex !== -1\n || eachRule.order >= order)\n\n if (index === -1) {\n index = endIndex + 1\n }\n } else {\n // \u4E0D\u542B where\uFF0C\u512A\u5148\u7D1A\u7DCA\u63A5 where \u4E4B\u5F8C\n let i = 0\n for (; i < this.rules.length; i++) {\n const eachRule = this.rules[i]\n if (eachRule.media || !eachRule.hasWhere && (eachRule.order >= order || eachRule.prioritySelectorIndex !== -1)) {\n index = i\n break\n }\n }\n\n if (index === undefined) {\n index = i\n }\n }\n } else {\n // \u542B\u6709\u512A\u5148 selector\n index = findPrioritySelectorInsertIndex(this.rules, undefined, eachRule => eachRule.media)\n }\n }\n\n this.rules.splice(index, 0, rule)\n this.ruleOfClass[className] = rule\n\n // \u53EA\u5728\u700F\u89BD\u5668\u7AEF\u904B\u884C\n if (this.style) {\n const sheet = this.style.sheet\n\n let cssRuleIndex = 0\n const getCssRuleIndex = (index: number) => {\n const previousRule = this.rules[index]\n if (previousRule) {\n if (!previousRule.natives.length)\n return getCssRuleIndex(index - 1)\n\n const lastNativeCssRule = previousRule.natives[previousRule.natives.length - 1].cssRule\n for (let i = 0; i < sheet.cssRules.length; i++) {\n if (sheet.cssRules[i] === lastNativeCssRule) {\n cssRuleIndex = i + 1\n break\n }\n }\n }\n }\n getCssRuleIndex(index - 1)\n\n for (let i = 0; i < rule.natives.length;) {\n try {\n const native = rule.natives[i]\n sheet.insertRule(native.text, cssRuleIndex)\n native.cssRule = sheet.cssRules[cssRuleIndex++]\n i++\n } catch (error) {\n console.error(error)\n\n rule.natives.splice(i, 1)\n }\n }\n }\n }\n\n delete(className: string) {\n /**\n * class name \u5F9E DOM tree \u4E2D\u88AB\u79FB\u9664\uFF0C\n * \u5339\u914D\u4E26\u522A\u9664\u5C0D\u61C9\u7684 rule\n */\n const sheet = this.style.sheet\n const deleteRule = (name: string) => {\n const rule = this.ruleOfClass[name]\n if (\n !rule\n || name in this.relations && this.relations[name].some(eachClassName => eachClassName in this.countOfClass)\n )\n return\n\n if (rule.natives.length) {\n const firstNative = rule.natives[0]\n for (let index = 0; index < sheet.cssRules.length; index++) {\n const eachCssRule = sheet.cssRules[index]\n if (eachCssRule === firstNative.cssRule) {\n for (let i = 0; i < rule.natives.length; i++) {\n sheet.deleteRule(index)\n }\n\n this.rules.splice(this.rules.indexOf(rule), 1)\n break\n }\n }\n }\n\n delete this.ruleOfClass[name]\n }\n\n if (className in this.classes) {\n for (const eachClassName of this.classes[className]) {\n if (!(eachClassName in this.countOfClass)) {\n deleteRule(eachClassName)\n }\n }\n\n delete this.ruleOfClass[className]\n } else {\n deleteRule(className)\n }\n }\n\n findAndInsert(className: string) {\n const rule = this.findAndNew(className)\n if (Array.isArray(rule)) {\n for (const eachRule of rule) {\n this.insert(eachRule)\n }\n } else if (rule) {\n this.insert(rule)\n }\n }\n\n get text() {\n return this.rules.map((eachRule) =>\n eachRule.natives\n .map((eachNativeRule) => eachNativeRule.text)\n .join('')\n ).join('')\n }\n}\n\nif (isBrowser) {\n window.MasterCSS = MasterCSS\n}\n\ndeclare global {\n interface Window {\n MasterCSS: typeof MasterCSS;\n }\n}", "import MasterCSS from './css'\nnew MasterCSS({ config: window['masterCSSConfig'] })"],
5
+ "mappings": "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M,EAEjBzB,GAAQF,EAAA,KAAK,YAAL,KAAAA,EAAkB,GAAI0B,CAAQ,CAGlD,CAEA,OAAOzB,CACX,CACJ,EA1GI4B,EADGjC,GACa,KAAK,SACrBiC,EAFGjC,GAEa,UAAU,2BAC1BiC,EAHGjC,GAGa,OAAO,ICR3B,IAAOkC,GAAP,cAA6BC,CAAc,CAI3C,EAHIC,EADGF,GACa,KAAK,oBACrBE,EAFGF,GAEa,WAAW,qBAC3BE,EAHGF,GAGa,OAAO,ICH3B,IAAOG,GAAP,cAA6BC,CAAc,CAI3C,EAHIC,EADGF,GACa,KAAK,gBACrBE,EAFGF,GAEa,WAAW,iBAC3BE,EAHGF,GAGa,OAAO,IC8L3B,IAAMG,GAAe,CACjBC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,EACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,G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",
6
+ "names": ["defaultBreakpoints", "breakpoints_default", "hexToRgb", "hex", "aRgbHex", "rgbToHex", "g", "b", "fillColorScale", "data", "hasMainRgb", "isLevelMore100", "level", "startLevel", "startRgb", "hexToRgb", "endLevel", "endRgb", "newLevels", "generateColor", "levelDiff", "rgbDiff", "color", "i", "eachNewLevel", "currentLevelDiff", "newRgb", "rgbToHex", "defaultColors", "fillColorScale", "colors_default", "root_size_default", "defaultSelectors", "selectors_default", "defaultSemantics", "semantics_default", "defaultThemes", "themes_default", "defaultScheme", "scheme_default", "boxUnderneath", "contentExtrema", "sizingValues", "key", "breakpoints_default", "defaultValues", "values_default", "getCssPropertyText", "name", "property", "normalizeCssCalcText", "value", "isOperator", "char", "newValue", "type", "current", "endWithBracket", "clear", "i", "UNIT_VALUE_PATTERN", "VAR_START", "parseValue", "token", "defaultUnit", "colorsThemesMap", "values", "globalValues", "rootSize", "themes", "value", "unit", "unitToken", "colorMatched", "colorNames", "anyMatched", "hasColorName", "origin", "prefix", "colorName", "level", "opacityStr", "_a", "themeHexColorMap", "hexColor", "eachTheme", "newValue", "opacity", "matches", "splits", "normalizeCssCalcText", "START_SYMBOL", "PRIORITY_SELECTORS", "MATCHES", "SEMANTICS", "SYMBOL", "WIDTH", "MAX_WIDTH", "MIN_WIDTH", "MOTION", "REDUCE", "REDUCED_MOTION", "PX", "REM", "selectorSymbols", "selectorSplitRegexp", "transformSelectorUnderline", "selector", "eachToken", "MasterCSSRule", "className", "matching", "css", "__publicField", "TargetRule", "id", "unit", "propName", "colorful", "breakpoints", "mediaQueries", "semantics", "rootSize", "themeNames", "colorsThemesMap", "selectors", "globalValues", "values", "relationThemesMap", "token", "value", "prefixToken", "suffixToken", "valueTokens", "valueToken", "i", "indexOfColon", "currentValueToken", "analyze", "end", "depth", "func", "varIndex", "isString", "val", "count", "j", "START_SYMBOL", "analyzeSelectorToken", "selectorText", "transformedSelectorText", "currentSelector", "symbolCount", "char", "suffixTokens", "suffixSelector", "transform", "selectorValues", "matched", "regexp", "newSelectorTexts", "eachNewSelectorText", "suffixSelectors", "vendorSelectors", "vendor", "newVendorSelectors", "eachSuffixSelector", "insertVendorSuffixSelectors", "selectorTexts", "groupedSelectorTexts", "arr", "vendors", "eachVendor", "atToken", "type", "queryText", "underscoreIndex", "leftBracketIndex", "queryTexts", "typeOrFeatureTokens", "typeOrFeatureToken", "feature", "featureName", "extremumOperator", "correction", "conditionUnitValueToken", "breakpoint", "parseValue", "insertNewNative", "themeName", "bypassWhenUnmatchColor", "newValue", "newUnit", "generateCssText", "propertiesText", "prefixText", "prefixTexts", "eachPrefixSelector", "getCssText", "name", "prefixThemeText", "esacpedName", "eachPrefixText", "_arr", "cssText", "relationTheme", "classNames", "str", "_a", "key", "a", "b", "newValueTokens", "uv", "anyColorMatched", "eachValueToken", "previousVal", "currentVal", "declaration", "themeProps", "propertyName", "propertyValue", "getCssPropertyText", "eachThemeName", "colorNames", "font_weight_default", "MasterCSSRule", "__publicField", "font_family_default", "MasterCSSRule", "__publicField", "font_size_default", "MasterCSSRule", "__publicField", "spacing_default", "MasterCSSRule", "declaration", "SPACING", "SPACING_LEFT", "SPACING_RIGHT", "SPACING_TOP", "SPACING_BOTTOM", "__publicField", "width_default", "MasterCSSRule", "__publicField", "height_default", "MasterCSSRule", "__publicField", "min_width_default", "MasterCSSRule", "__publicField", "min_height_default", "MasterCSSRule", "__publicField", "letter_spacing_default", "MasterCSSRule", "__publicField", "SUBPIXEL_ANTIALIASED", "WEBKIT_FONT_SMOOTHING", "MOZ_OSXFONT_SMOOTHING", "font_smoothing_default", "MasterCSSRule", "declaration", "props", "__publicField", "font_style_default", "MasterCSSRule", "__publicField", "font_variant_numeric_default", "MasterCSSRule", "__publicField", "line_height_default", "MasterCSSRule", "__publicField", "object_fit_default", "MasterCSSRule", "__publicField", "object_position_default", "MasterCSSRule", "__publicField", "text_align_default", "MasterCSSRule", "__publicField", "text_decoration_default", "MasterCSSRule", "__publicField", "text_transform_default", "MasterCSSRule", "__publicField", "vertical_align_default", "MasterCSSRule", "__publicField", "lines_default", "MasterCSSRule", "declaration", "__publicField", "transform_origin_default", "MasterCSSRule", "__publicField", "transform_style_default", "MasterCSSRule", "__publicField", "transform_box_default", "MasterCSSRule", "__publicField", "transform_default", "MasterCSSRule", "value", "rootSize", "origin", "method", "type", "valueStr", "unit", "last", "values", "eachValue", "i", "__publicField", "transition_default", "MasterCSSRule", "__publicField", "transition_delay_default", "MasterCSSRule", "__publicField", "transition_duration_default", "MasterCSSRule", "__publicField", "transition_property_default", "MasterCSSRule", "__publicField", "transition_timing_function_default", "MasterCSSRule", "__publicField", "max_height_default", "MasterCSSRule", "__publicField", "max_width_default", "MasterCSSRule", "__publicField", "display_default", "MasterCSSRule", "__publicField", "box_sizing_default", "MasterCSSRule", "__publicField", "opacity_default", "MasterCSSRule", "__publicField", "visibility_default", "MasterCSSRule", "__publicField", "clear_default", "MasterCSSRule", "__publicField", "float_default", "MasterCSSRule", "__publicField", "isolation_default", "MasterCSSRule", "__publicField", "overflow_default", "MasterCSSRule", "declaration", "__publicField", "overscroll_behavior_default", "MasterCSSRule", "declaration", "__publicField", "z_index_default", "MasterCSSRule", "__publicField", "animation_delay_default", "MasterCSSRule", "__publicField", "animation_direction_default", "MasterCSSRule", "__publicField", "animation_fill_mode_default", "MasterCSSRule", "__publicField", "animation_iteration_count_default", "MasterCSSRule", "__publicField", "animation_name_default", "MasterCSSRule", "__publicField", "animation_play_state_default", "MasterCSSRule", "__publicField", "animation_timing_function_default", "MasterCSSRule", "__publicField", "animation_default", "MasterCSSRule", "__publicField", "BORDER_DASH", "getBorderProps", "name", "declaration", "suffix", "direction", "BORDER_LEFT", "BORDER_RIGHT", "BORDER_TOP", "BORDER_BOTTOM", "border_color_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "BORDER_TOP_LEFT_RADIUS", "BORDER_TOP_RIGHT_RADIUS", "BORDER_BOTTOM_LEFT_RADIUS", "BORDER_BOTTOM_RIGHT_RADIUS", "BORDER_RADIUS", "BORDER_RADIUS_S", "border_radius_default", "MasterCSSRule", "declaration", "_a", "suffix", "splits", "i", "prefix", "__publicField", "border_style_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "border_width_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "border_default", "MasterCSSRule", "declaration", "getBorderProps", "__publicField", "background_attachment_default", "MasterCSSRule", "__publicField", "background_blend_mode_default", "MasterCSSRule", "__publicField", "background_clip_default", "MasterCSSRule", "declaration", "__publicField", "background_color_default", "MasterCSSRule", "__publicField", "background_origin_default", "MasterCSSRule", "__publicField", "background_position_default", "MasterCSSRule", "__publicField", "background_repeat_default", "MasterCSSRule", "__publicField", "background_size_default", "MasterCSSRule", "__publicField", "background_image_default", "MasterCSSRule", "__publicField", "background_default", "MasterCSSRule", "__publicField", "mix_blend_mode_default", "MasterCSSRule", "__publicField", "position_default", "MasterCSSRule", "__publicField", "placement_default", "MasterCSSRule", "declaration", "propertyName", "__publicField", "parseValueUnit", "value", "getUnit", "rootSize", "result", "i", "analyze", "end", "method", "current", "unit", "pushCurrent", "val", "backdrop_filter_default", "MasterCSSRule", "declaration", "value", "config", "parseValueUnit", "method", "__publicField", "fill_default", "MasterCSSRule", "__publicField", "stroke_default", "MasterCSSRule", "__publicField", "stroke_width_default", "MasterCSSRule", "__publicField", "filter_default", "MasterCSSRule", "value", "config", "parseValueUnit", "method", "__publicField", "cursor_default", "MasterCSSRule", "__publicField", "pointer_events_default", "MasterCSSRule", "__publicField", "resize_default", "MasterCSSRule", "__publicField", "touch_action_default", "MasterCSSRule", "__publicField", "user_drag_default", "MasterCSSRule", "declaration", "__publicField", "user_select_default", "MasterCSSRule", "declaration", "__publicField", "box_shadow_default", "MasterCSSRule", "__publicField", "text_shadow_default", "MasterCSSRule", "__publicField", "diff", "text_size_default", "MasterCSSRule", "declaration", "unit", "value", "__publicField", "word_break_default", "MasterCSSRule", "__publicField", "grid_columns_default", "MasterCSSRule", "declaration", "__publicField", "grid_rows_default", "MasterCSSRule", "declaration", "__publicField", "gap_default", "MasterCSSRule", "__publicField", "declaration", "word_spacing_default", "MasterCSSRule", "__publicField", "variable_default", "MasterCSSRule", "declaration", "__publicField", "aspect_radio_default", "MasterCSSRule", "__publicField", "box_decoration_break_default", "MasterCSSRule", "declaration", "__publicField", "break_after_default", "MasterCSSRule", "__publicField", "break_before_default", "MasterCSSRule", "__publicField", "break_inside_default", "MasterCSSRule", "__publicField", "flex_shrink_default", "MasterCSSRule", "__publicField", "flex_direction_default", "MasterCSSRule", "__publicField", "flex_grow_default", "MasterCSSRule", "__publicField", "flex_wrap_default", "MasterCSSRule", "__publicField", "flex_basis_default", "MasterCSSRule", "__publicField", "flex_default", "MasterCSSRule", "__publicField", "order_default", "MasterCSSRule", "__publicField", "grid_column_default", "MasterCSSRule", "__publicField", "value", "column_span_default", "MasterCSSRule", "__publicField", "grid_row_default", "MasterCSSRule", "__publicField", "value", "color_default", "MasterCSSRule", "__publicField", "align_content_default", "MasterCSSRule", "__publicField", "align_items_default", "MasterCSSRule", "__publicField", "align_self_default", "MasterCSSRule", "__publicField", "grid_auto_columns_default", "MasterCSSRule", "__publicField", "grid_auto_flow_default", "MasterCSSRule", "__publicField", "grid_auto_rows_default", "MasterCSSRule", "__publicField", "justify_content_default", "MasterCSSRule", "__publicField", "justify_items_default", "MasterCSSRule", "__publicField", "justify_self_default", "MasterCSSRule", "__publicField", "place_content_default", "MasterCSSRule", "__publicField", "place_items_default", "MasterCSSRule", "__publicField", "place_self_default", "MasterCSSRule", "__publicField", "padding_default", "MasterCSSRule", "declaration", "__publicField", "margin_default", "MasterCSSRule", "declaration", "__publicField", "text_overflow_default", "MasterCSSRule", "__publicField", "list_style_position_default", "MasterCSSRule", "__publicField", "list_style_type_default", "MasterCSSRule", "__publicField", "list_style_default", "MasterCSSRule", "__publicField", "text_decoration_color_default", "MasterCSSRule", "__publicField", "text_decoration_style_default", "MasterCSSRule", "__publicField", "text_decoration_thickness_default", "MasterCSSRule", "__publicField", "text_indent_default", "MasterCSSRule", "__publicField", "content_default", "MasterCSSRule", "__publicField", "outline_color_default", "MasterCSSRule", "__publicField", "outline_offset_default", "MasterCSSRule", "__publicField", "outline_style_default", "MasterCSSRule", "__publicField", "outline_width_default", "MasterCSSRule", "__publicField", "outline_default", "MasterCSSRule", "__publicField", "border_collapse_default", "MasterCSSRule", "__publicField", "border_spacing_default", "MasterCSSRule", "__publicField", "table_layout_default", "MasterCSSRule", "__publicField", "accent_color_default", "MasterCSSRule", "__publicField", "appearance_default", "MasterCSSRule", "__publicField", "caret_color_default", "MasterCSSRule", "__publicField", "scroll_behavior_default", "MasterCSSRule", "__publicField", "scroll_margin_default", "MasterCSSRule", "declaration", "__publicField", "scroll_padding_default", "MasterCSSRule", "declaration", "__publicField", "scroll_snap_align_default", "MasterCSSRule", "__publicField", "scroll_snap_stop_default", "MasterCSSRule", "__publicField", "scroll_snap_type_default", "MasterCSSRule", "__publicField", "will_change_default", "MasterCSSRule", "__publicField", "text_underline_offset_default", "MasterCSSRule", "__publicField", "inset_default", "MasterCSSRule", "declaration", "__publicField", "columns_default", "MasterCSSRule", "__publicField", "white_space_default", "MasterCSSRule", "__publicField", "text_orientation_default", "MasterCSSRule", "__publicField", "writing_mode_default", "MasterCSSRule", "__publicField", "contain_default", "MasterCSSRule", "__publicField", "animation_duration_default", "MasterCSSRule", "__publicField", "text_rendering_default", "MasterCSSRule", "__publicField", "direction_default", "MasterCSSRule", "__publicField", "text_decoration_line_default", "MasterCSSRule", "__publicField", "grid_column_start_default", "MasterCSSRule", "__publicField", "list_style_image_default", "MasterCSSRule", "__publicField", "shape_outside_default", "MasterCSSRule", "__publicField", "shape_margin_default", "MasterCSSRule", "__publicField", "shape_image_threshold_default", "MasterCSSRule", "__publicField", "clip_path_default", "MasterCSSRule", "__publicField", "grid_default", "MasterCSSRule", "__publicField", "font_default", "MasterCSSRule", "__publicField", "quotes_default", "MasterCSSRule", "__publicField", "grid_template_default", "MasterCSSRule", "__publicField", "grid_row_start_default", "MasterCSSRule", "__publicField", "grid_template_areas_default", "MasterCSSRule", "__publicField", "grid_template_columns_default", "MasterCSSRule", "__publicField", "grid_template_rows_default", "MasterCSSRule", "__publicField", "grid_area_default", "MasterCSSRule", "__publicField", "grid_column_end_default", "MasterCSSRule", "__publicField", "grid_row_end_default", "MasterCSSRule", "__publicField", "mask_image_default", "MasterCSSRule", "declaration", "__publicField", "text_fill_color_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_width_default", "MasterCSSRule", "declaration", "__publicField", "text_stroke_color_default", "MasterCSSRule", "declaration", "__publicField", "stroke_dasharray_default", "MasterCSSRule", "__publicField", "stroke_dashoffset_default", "MasterCSSRule", "__publicField", "x_default", "MasterCSSRule", "__publicField", "y_default", "MasterCSSRule", "__publicField", "cx_default", "MasterCSSRule", "__publicField", "cy_default", "MasterCSSRule", "__publicField", "rx_default", "MasterCSSRule", "__publicField", "ry_default", "MasterCSSRule", "__publicField", "border_image_outset_default", "MasterCSSRule", "__publicField", "border_image_repeat_default", "MasterCSSRule", "__publicField", "border_image_slice_default", "MasterCSSRule", "__publicField", "border_image_source_default", "MasterCSSRule", "__publicField", "border_image_width_default", "MasterCSSRule", "__publicField", "border_image_default", "MasterCSSRule", "__publicField", "bracketRegexp", "group_default", "MasterCSSRule", "declaration", "css", "_a", "themePropsMap", "addProp", "themeName", "propertyName", "indexOfColon", "props", "name", "handleRule", "rule", "addProps", "cssText", "cssProperties", "eachCssProperty", "currentThemeNative", "eachNative", "names", "currentName", "addName", "i", "analyze", "end", "char", "count", "j", "START_SYMBOL", "eachName", "result", "eachRule", "__publicField", "counter_increment_default", "MasterCSSRule", "__publicField", "counter_reset_default", "MasterCSSRule", "__publicField", "DefaultRules", "group_default", "variable_default", "font_size_default", "font_weight_default", "font_family_default", "font_smoothing_default", "font_style_default", "font_variant_numeric_default", "font_default", "color_default", "spacing_default", "margin_default", "padding_default", "flex_basis_default", "flex_wrap_default", "flex_grow_default", "flex_shrink_default", "flex_direction_default", "flex_default", "display_default", "width_default", "height_default", "min_width_default", "min_height_default", "contain_default", "content_default", "counter_increment_default", "counter_reset_default", "letter_spacing_default", "line_height_default", "object_fit_default", "object_position_default", "text_align_default", "text_decoration_color_default", "text_decoration_style_default", "text_decoration_thickness_default", "text_decoration_line_default", "text_decoration_default", "text_underline_offset_default", "text_overflow_default", "text_orientation_default", "text_transform_default", "text_rendering_default", "text_indent_default", "vertical_align_default", "columns_default", "white_space_default", "inset_default", "lines_default", "max_height_default", "max_width_default", "box_sizing_default", "opacity_default", "visibility_default", "clear_default", "float_default", "isolation_default", "overflow_default", "overscroll_behavior_default", "z_index_default", "position_default", "placement_default", "cursor_default", "pointer_events_default", "resize_default", "touch_action_default", "word_break_default", "word_spacing_default", "user_drag_default", "user_select_default", "text_shadow_default", "text_size_default", "text_fill_color_default", "text_stroke_width_default", "text_stroke_color_default", "text_stroke_default", "box_shadow_default", "table_layout_default", "transform_box_default", "transform_style_default", "transform_origin_default", "transform_default", "transition_property_default", "transition_timing_function_default", "transition_duration_default", "transition_delay_default", "transition_default", "animation_delay_default", "animation_direction_default", "animation_duration_default", "animation_fill_mode_default", "animation_iteration_count_default", "animation_name_default", "animation_play_state_default", "animation_timing_function_default", "animation_default", "border_color_default", "border_radius_default", "border_style_default", "border_width_default", "border_collapse_default", "border_spacing_default", "border_image_outset_default", "border_image_repeat_default", "border_image_slice_default", "border_image_source_default", "border_image_width_default", "border_image_default", "border_default", "background_attachment_default", "background_blend_mode_default", "background_clip_default", "background_color_default", "background_origin_default", "background_position_default", "background_repeat_default", "background_size_default", "background_image_default", "background_default", "mix_blend_mode_default", "backdrop_filter_default", "filter_default", "fill_default", "stroke_dasharray_default", "stroke_dashoffset_default", "stroke_width_default", "stroke_default", "x_default", "y_default", "cx_default", "cy_default", "rx_default", "ry_default", "grid_column_start_default", "grid_column_end_default", "grid_column_default", "grid_columns_default", "grid_row_start_default", "grid_row_end_default", "grid_row_default", "grid_rows_default", "grid_auto_columns_default", "grid_auto_flow_default", "grid_auto_rows_default", "grid_template_areas_default", "grid_template_columns_default", "grid_template_rows_default", "grid_template_default", "grid_area_default", "grid_default", "gap_default", "order_default", "break_inside_default", "break_before_default", "break_after_default", "box_decoration_break_default", "aspect_radio_default", "column_span_default", "align_content_default", "align_items_default", "align_self_default", "justify_content_default", "justify_items_default", "justify_self_default", "place_content_default", "place_items_default", "place_self_default", "list_style_position_default", "list_style_type_default", "list_style_image_default", "list_style_default", "outline_color_default", "outline_offset_default", "outline_style_default", "outline_width_default", "outline_default", "accent_color_default", "appearance_default", "caret_color_default", "scroll_behavior_default", "scroll_margin_default", "scroll_padding_default", "scroll_snap_align_default", "scroll_snap_stop_default", "scroll_snap_type_default", "will_change_default", "writing_mode_default", "direction_default", "shape_outside_default", "shape_margin_default", "shape_image_threshold_default", "clip_path_default", "quotes_default", "mask_image_default", "rules_default", "defaultConfig", "colors_default", "breakpoints_default", "semantics_default", "values_default", "selectors_default", "themes_default", "scheme_default", "rules_default", "root_size_default", "config_default", "concatArrays", "originVal", "newVal", "getType", "payload", "isPlainObject", "payload", "getType", "isSymbol", "payload", "getType", "assignProp", "carry", "key", "newVal", "originalObject", "propType", "mergeRecursively", "origin", "newComer", "compareFn", "isPlainObject", "newObject", "props", "symbols", "targetVal", "isSymbol", "propToAssign", "extend", "object", "otherObjects", "result", "concatArrays", "selectorSymbols", "vendorPrefixSelectorRegExp", "STYLE", "isBrowser", "MAX_WIDTH", "MIN_WIDTH", "ATTRIBUTES", "MutationObserver", "_scheme", "_theme", "_MasterCSS", "options", "mutationRecords", "correctionOfClassName", "attributeMutationRecords", "updatedElements", "unchangedElements", "handleClassNameDeeply", "element", "remove", "removeClassName", "addClassName", "children", "i", "eachChildren", "className", "handleNodes", "nodes", "eachNode", "mutationRecord", "addedNodes", "removedNodes", "type", "target", "oldValue", "eachAttributeMutationRecord", "updated", "classNames", "oldClassNames", "oldClassName", "correction", "count", "__publicField", "__privateAdd", "mediaQueryList", "extend", "config_default", "config", "eachInstance", "storage", "scheme", "__privateGet", "__privateSet", "theme", "_a", "_b", "_c", "_d", "semantics", "classes", "selectors", "themes", "colors", "values", "escapeString", "str", "semanticName", "replacedSelectorText", "newSelectorText", "regexp", "eachNewSelectorText", "vendor", "selectorValues", "currentSelectValue", "_valueRegexp", "id", "valueMap", "semanticNames", "_", "handleSemanticName", "currentClass", "handleClassNames", "eachClassName", "handle", "parentClassName", "eachTheme", "eachSemanticName", "currentRelation", "mergeColors", "colorName", "levels", "levelsThemes", "level", "color", "obj", "themeValue", "themesColor", "_colorName", "_level", "assignedThemesColor", "newColor", "root", "isDocumentRoot", "container", "styleSheets", "sheet", "title", "href", "ownerNode", "index", "getRule", "cssRule", "escapedClassNames", "eachSelectorText", "escapedClassName", "j", "char", "nextChar", "currentRule", "rule", "name", "findAndNewRule", "EachRule", "matching", "eachSemanticEntry", "MasterCSSRule", "eachRule", "instances", "validateRule", "endIndex", "media", "order", "prioritySelectorIndex", "hasWhere", "findPrioritySelectorInsertIndex", "rules", "findStartIndex", "findEndIndex", "ignoreRule", "sIndex", "eIndex", "targetRules", "mediaStartIndex", "maxWidthFeature", "minWidthFeature", "range", "eachMedia", "eachMaxWidthFeature", "eachMinWidthFeature", "eachRange", "sameRangeRules", "currentMediaRule", "currentMedia", "currentMaxWidthFeature", "currentMinWidthFeature", "value", "cssRuleIndex", "getCssRuleIndex", "previousRule", "lastNativeCssRule", "native", "error", "deleteRule", "firstNative", "eachNativeRule", "MasterCSS", "MasterCSS"]
7
7
  }