@master/css 2.0.0-alpha.44 → 2.0.0-alpha.46
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.
- package/esm/index.js +3 -0
- package/esm/index.js.map +1 -0
- package/index.d.ts +550 -9
- package/index.js +2 -9
- package/index.js.map +1 -1
- package/package.json +10 -3
- package/color.scss +0 -1
- package/config/breakpoints.d.ts +0 -12
- package/config/breakpoints.js +0 -13
- package/config/breakpoints.js.map +0 -1
- package/config/colors.d.ts +0 -24
- package/config/colors.js +0 -265
- package/config/colors.js.map +0 -1
- package/config/index.d.ts +0 -11
- package/config/index.js +0 -20
- package/config/index.js.map +0 -1
- package/config/root-size.d.ts +0 -1
- package/config/root-size.js +0 -2
- package/config/root-size.js.map +0 -1
- package/config/rules.d.ts +0 -2
- package/config/rules.js +0 -389
- package/config/rules.js.map +0 -1
- package/config/selectors.d.ts +0 -18
- package/config/selectors.js +0 -19
- package/config/selectors.js.map +0 -1
- package/config/semantics.d.ts +0 -81
- package/config/semantics.js +0 -82
- package/config/semantics.js.map +0 -1
- package/config/themes.d.ts +0 -1
- package/config/themes.js +0 -2
- package/config/themes.js.map +0 -1
- package/config/values.d.ts +0 -125
- package/config/values.js +0 -71
- package/config/values.js.map +0 -1
- package/configure.d.ts +0 -2
- package/configure.js +0 -11
- package/configure.js.map +0 -1
- package/constants/css-browser-prefix.d.ts +0 -3
- package/constants/css-browser-prefix.js +0 -5
- package/constants/css-browser-prefix.js.map +0 -1
- package/constants/css-property-keyword.d.ts +0 -205
- package/constants/css-property-keyword.js +0 -211
- package/constants/css-property-keyword.js.map +0 -1
- package/constants/direction.d.ts +0 -10
- package/constants/direction.js +0 -11
- package/constants/direction.js.map +0 -1
- package/constants/priority-selectors.d.ts +0 -1
- package/constants/priority-selectors.js +0 -2
- package/constants/priority-selectors.js.map +0 -1
- package/constants/start-symbol.d.ts +0 -5
- package/constants/start-symbol.js +0 -6
- package/constants/start-symbol.js.map +0 -1
- package/core.d.ts +0 -68
- package/core.js +0 -850
- package/core.js.map +0 -1
- package/fill-color-scale.d.ts +0 -1
- package/fill-color-scale.js +0 -60
- package/fill-color-scale.js.map +0 -1
- package/init.d.ts +0 -3
- package/init.js +0 -13
- package/init.js.map +0 -1
- package/interfaces/config.d.ts +0 -16
- package/interfaces/config.js +0 -2
- package/interfaces/config.js.map +0 -1
- package/interfaces/declaration.d.ts +0 -5
- package/interfaces/declaration.js +0 -2
- package/interfaces/declaration.js.map +0 -1
- package/interfaces/media-feature-rule.d.ts +0 -7
- package/interfaces/media-feature-rule.js +0 -2
- package/interfaces/media-feature-rule.js.map +0 -1
- package/interfaces/media.d.ts +0 -8
- package/interfaces/media.js +0 -2
- package/interfaces/media.js.map +0 -1
- package/main.js +0 -2
- package/main.js.map +0 -1
- package/polyfills/css-escape.d.ts +0 -2
- package/polyfills/css-escape.js +0 -91
- package/polyfills/css-escape.js.map +0 -1
- package/render-from-html.d.ts +0 -3
- package/render-from-html.js +0 -19
- package/render-from-html.js.map +0 -1
- package/render-into-html.d.ts +0 -3
- package/render-into-html.js +0 -10
- package/render-into-html.js.map +0 -1
- package/render.d.ts +0 -3
- package/render.js +0 -14
- package/render.js.map +0 -1
- package/rule.d.ts +0 -51
- package/rule.js +0 -540
- package/rule.js.map +0 -1
- package/rules/accent-color.d.ts +0 -7
- package/rules/accent-color.js +0 -8
- package/rules/accent-color.js.map +0 -1
- package/rules/align-content.d.ts +0 -6
- package/rules/align-content.js +0 -8
- package/rules/align-content.js.map +0 -1
- package/rules/align-items.d.ts +0 -6
- package/rules/align-items.js +0 -8
- package/rules/align-items.js.map +0 -1
- package/rules/align-self.d.ts +0 -6
- package/rules/align-self.js +0 -8
- package/rules/align-self.js.map +0 -1
- package/rules/animation-delay.d.ts +0 -7
- package/rules/animation-delay.js +0 -9
- package/rules/animation-delay.js.map +0 -1
- package/rules/animation-direction.d.ts +0 -6
- package/rules/animation-direction.js +0 -8
- package/rules/animation-direction.js.map +0 -1
- package/rules/animation-duration.d.ts +0 -7
- package/rules/animation-duration.js +0 -9
- package/rules/animation-duration.js.map +0 -1
- package/rules/animation-fill-mode.d.ts +0 -6
- package/rules/animation-fill-mode.js +0 -8
- package/rules/animation-fill-mode.js.map +0 -1
- package/rules/animation-iteration-count.d.ts +0 -7
- package/rules/animation-iteration-count.js +0 -9
- package/rules/animation-iteration-count.js.map +0 -1
- package/rules/animation-name.d.ts +0 -6
- package/rules/animation-name.js +0 -8
- package/rules/animation-name.js.map +0 -1
- package/rules/animation-play-state.d.ts +0 -6
- package/rules/animation-play-state.js +0 -8
- package/rules/animation-play-state.js.map +0 -1
- package/rules/animation-timing-function.d.ts +0 -6
- package/rules/animation-timing-function.js +0 -8
- package/rules/animation-timing-function.js.map +0 -1
- package/rules/animation.d.ts +0 -8
- package/rules/animation.js +0 -13
- package/rules/animation.js.map +0 -1
- package/rules/appearance.d.ts +0 -5
- package/rules/appearance.js +0 -6
- package/rules/appearance.js.map +0 -1
- package/rules/aspect-radio.d.ts +0 -7
- package/rules/aspect-radio.js +0 -9
- package/rules/aspect-radio.js.map +0 -1
- package/rules/backdrop-filter.d.ts +0 -10
- package/rules/backdrop-filter.js +0 -28
- package/rules/backdrop-filter.js.map +0 -1
- package/rules/background-attachment.d.ts +0 -6
- package/rules/background-attachment.js +0 -8
- package/rules/background-attachment.js.map +0 -1
- package/rules/background-blend-mode.d.ts +0 -5
- package/rules/background-blend-mode.js +0 -7
- package/rules/background-blend-mode.js.map +0 -1
- package/rules/background-clip.d.ts +0 -9
- package/rules/background-clip.js +0 -14
- package/rules/background-clip.js.map +0 -1
- package/rules/background-color.d.ts +0 -8
- package/rules/background-color.js +0 -10
- package/rules/background-color.js.map +0 -1
- package/rules/background-image.d.ts +0 -7
- package/rules/background-image.js +0 -9
- package/rules/background-image.js.map +0 -1
- package/rules/background-origin.d.ts +0 -6
- package/rules/background-origin.js +0 -8
- package/rules/background-origin.js.map +0 -1
- package/rules/background-position.d.ts +0 -7
- package/rules/background-position.js +0 -9
- package/rules/background-position.js.map +0 -1
- package/rules/background-repeat.d.ts +0 -6
- package/rules/background-repeat.js +0 -8
- package/rules/background-repeat.js.map +0 -1
- package/rules/background-size.d.ts +0 -6
- package/rules/background-size.js +0 -8
- package/rules/background-size.js.map +0 -1
- package/rules/background.d.ts +0 -8
- package/rules/background.js +0 -13
- package/rules/background.js.map +0 -1
- package/rules/border-collapse.d.ts +0 -6
- package/rules/border-collapse.js +0 -8
- package/rules/border-collapse.js.map +0 -1
- package/rules/border-color.d.ts +0 -11
- package/rules/border-color.js +0 -16
- package/rules/border-color.js.map +0 -1
- package/rules/border-image-outset.d.ts +0 -5
- package/rules/border-image-outset.js +0 -7
- package/rules/border-image-outset.js.map +0 -1
- package/rules/border-image-repeat.d.ts +0 -6
- package/rules/border-image-repeat.js +0 -8
- package/rules/border-image-repeat.js.map +0 -1
- package/rules/border-image-slice.d.ts +0 -6
- package/rules/border-image-slice.js +0 -8
- package/rules/border-image-slice.js.map +0 -1
- package/rules/border-image-source.d.ts +0 -6
- package/rules/border-image-source.js +0 -8
- package/rules/border-image-source.js.map +0 -1
- package/rules/border-image-width.d.ts +0 -6
- package/rules/border-image-width.js +0 -8
- package/rules/border-image-width.js.map +0 -1
- package/rules/border-image.d.ts +0 -6
- package/rules/border-image.js +0 -8
- package/rules/border-image.js.map +0 -1
- package/rules/border-radius.d.ts +0 -9
- package/rules/border-radius.js +0 -77
- package/rules/border-radius.js.map +0 -1
- package/rules/border-spacing.d.ts +0 -5
- package/rules/border-spacing.js +0 -7
- package/rules/border-spacing.js.map +0 -1
- package/rules/border-style.d.ts +0 -9
- package/rules/border-style.js +0 -14
- package/rules/border-style.js.map +0 -1
- package/rules/border-width.d.ts +0 -9
- package/rules/border-width.js +0 -14
- package/rules/border-width.js.map +0 -1
- package/rules/border.d.ts +0 -10
- package/rules/border.js +0 -15
- package/rules/border.js.map +0 -1
- package/rules/box-decoration-break.d.ts +0 -9
- package/rules/box-decoration-break.js +0 -15
- package/rules/box-decoration-break.js.map +0 -1
- package/rules/box-shadow.d.ts +0 -7
- package/rules/box-shadow.js +0 -9
- package/rules/box-shadow.js.map +0 -1
- package/rules/box-sizing.d.ts +0 -6
- package/rules/box-sizing.js +0 -8
- package/rules/box-sizing.js.map +0 -1
- package/rules/break-after.d.ts +0 -5
- package/rules/break-after.js +0 -7
- package/rules/break-after.js.map +0 -1
- package/rules/break-before.d.ts +0 -5
- package/rules/break-before.js +0 -7
- package/rules/break-before.js.map +0 -1
- package/rules/break-inside.d.ts +0 -5
- package/rules/break-inside.js +0 -7
- package/rules/break-inside.js.map +0 -1
- package/rules/caret-color.d.ts +0 -7
- package/rules/caret-color.js +0 -9
- package/rules/caret-color.js.map +0 -1
- package/rules/clear.d.ts +0 -5
- package/rules/clear.js +0 -7
- package/rules/clear.js.map +0 -1
- package/rules/clip-path.d.ts +0 -6
- package/rules/clip-path.js +0 -8
- package/rules/clip-path.js.map +0 -1
- package/rules/color.d.ts +0 -8
- package/rules/color.js +0 -10
- package/rules/color.js.map +0 -1
- package/rules/column-span.d.ts +0 -6
- package/rules/column-span.js +0 -8
- package/rules/column-span.js.map +0 -1
- package/rules/columns.d.ts +0 -8
- package/rules/columns.js +0 -13
- package/rules/columns.js.map +0 -1
- package/rules/contain.d.ts +0 -5
- package/rules/contain.js +0 -7
- package/rules/contain.js.map +0 -1
- package/rules/content.d.ts +0 -5
- package/rules/content.js +0 -7
- package/rules/content.js.map +0 -1
- package/rules/counter-increment.d.ts +0 -6
- package/rules/counter-increment.js +0 -7
- package/rules/counter-increment.js.map +0 -1
- package/rules/cursor.d.ts +0 -5
- package/rules/cursor.js +0 -7
- package/rules/cursor.js.map +0 -1
- package/rules/cx.d.ts +0 -6
- package/rules/cx.js +0 -7
- package/rules/cx.js.map +0 -1
- package/rules/cy.d.ts +0 -6
- package/rules/cy.js +0 -7
- package/rules/cy.js.map +0 -1
- package/rules/direction.d.ts +0 -5
- package/rules/direction.js +0 -7
- package/rules/direction.js.map +0 -1
- package/rules/display.d.ts +0 -6
- package/rules/display.js +0 -8
- package/rules/display.js.map +0 -1
- package/rules/fill.d.ts +0 -7
- package/rules/fill.js +0 -9
- package/rules/fill.js.map +0 -1
- package/rules/filter.d.ts +0 -7
- package/rules/filter.js +0 -21
- package/rules/filter.js.map +0 -1
- package/rules/flex-basis.d.ts +0 -5
- package/rules/flex-basis.js +0 -7
- package/rules/flex-basis.js.map +0 -1
- package/rules/flex-direction.d.ts +0 -6
- package/rules/flex-direction.js +0 -8
- package/rules/flex-direction.js.map +0 -1
- package/rules/flex-grow.d.ts +0 -6
- package/rules/flex-grow.js +0 -8
- package/rules/flex-grow.js.map +0 -1
- package/rules/flex-shrink.d.ts +0 -6
- package/rules/flex-shrink.js +0 -8
- package/rules/flex-shrink.js.map +0 -1
- package/rules/flex-wrap.d.ts +0 -6
- package/rules/flex-wrap.js +0 -8
- package/rules/flex-wrap.js.map +0 -1
- package/rules/flex.d.ts +0 -7
- package/rules/flex.js +0 -12
- package/rules/flex.js.map +0 -1
- package/rules/float.d.ts +0 -5
- package/rules/float.js +0 -7
- package/rules/float.js.map +0 -1
- package/rules/font-family.d.ts +0 -6
- package/rules/font-family.js +0 -8
- package/rules/font-family.js.map +0 -1
- package/rules/font-size.d.ts +0 -6
- package/rules/font-size.js +0 -8
- package/rules/font-size.js.map +0 -1
- package/rules/font-smoothing.d.ts +0 -9
- package/rules/font-smoothing.js +0 -28
- package/rules/font-smoothing.js.map +0 -1
- package/rules/font-style.d.ts +0 -7
- package/rules/font-style.js +0 -9
- package/rules/font-style.js.map +0 -1
- package/rules/font-variant-numeric.d.ts +0 -6
- package/rules/font-variant-numeric.js +0 -8
- package/rules/font-variant-numeric.js.map +0 -1
- package/rules/font-weight.d.ts +0 -7
- package/rules/font-weight.js +0 -9
- package/rules/font-weight.js.map +0 -1
- package/rules/font.d.ts +0 -8
- package/rules/font.js +0 -13
- package/rules/font.js.map +0 -1
- package/rules/gap.d.ts +0 -9
- package/rules/gap.js +0 -21
- package/rules/gap.js.map +0 -1
- package/rules/grid-area.d.ts +0 -7
- package/rules/grid-area.js +0 -12
- package/rules/grid-area.js.map +0 -1
- package/rules/grid-auto-columns.d.ts +0 -6
- package/rules/grid-auto-columns.js +0 -8
- package/rules/grid-auto-columns.js.map +0 -1
- package/rules/grid-auto-flow.d.ts +0 -6
- package/rules/grid-auto-flow.js +0 -8
- package/rules/grid-auto-flow.js.map +0 -1
- package/rules/grid-auto-rows.d.ts +0 -5
- package/rules/grid-auto-rows.js +0 -7
- package/rules/grid-auto-rows.js.map +0 -1
- package/rules/grid-column-end.d.ts +0 -7
- package/rules/grid-column-end.js +0 -9
- package/rules/grid-column-end.js.map +0 -1
- package/rules/grid-column-start.d.ts +0 -7
- package/rules/grid-column-start.js +0 -9
- package/rules/grid-column-start.js.map +0 -1
- package/rules/grid-column.d.ts +0 -9
- package/rules/grid-column.js +0 -18
- package/rules/grid-column.js.map +0 -1
- package/rules/grid-columns.d.ts +0 -10
- package/rules/grid-columns.js +0 -19
- package/rules/grid-columns.js.map +0 -1
- package/rules/grid-row-end.d.ts +0 -6
- package/rules/grid-row-end.js +0 -8
- package/rules/grid-row-end.js.map +0 -1
- package/rules/grid-row-start.d.ts +0 -6
- package/rules/grid-row-start.js +0 -8
- package/rules/grid-row-start.js.map +0 -1
- package/rules/grid-row.d.ts +0 -9
- package/rules/grid-row.js +0 -18
- package/rules/grid-row.js.map +0 -1
- package/rules/grid-rows.d.ts +0 -9
- package/rules/grid-rows.js +0 -19
- package/rules/grid-rows.js.map +0 -1
- package/rules/grid-template-areas.d.ts +0 -5
- package/rules/grid-template-areas.js +0 -7
- package/rules/grid-template-areas.js.map +0 -1
- package/rules/grid-template-columns.d.ts +0 -6
- package/rules/grid-template-columns.js +0 -8
- package/rules/grid-template-columns.js.map +0 -1
- package/rules/grid-template-rows.d.ts +0 -5
- package/rules/grid-template-rows.js +0 -7
- package/rules/grid-template-rows.js.map +0 -1
- package/rules/grid-template.d.ts +0 -6
- package/rules/grid-template.js +0 -11
- package/rules/grid-template.js.map +0 -1
- package/rules/grid.d.ts +0 -6
- package/rules/grid.js +0 -11
- package/rules/grid.js.map +0 -1
- package/rules/group.d.ts +0 -9
- package/rules/group.js +0 -107
- package/rules/group.js.map +0 -1
- package/rules/height.d.ts +0 -6
- package/rules/height.js +0 -8
- package/rules/height.js.map +0 -1
- package/rules/inset.d.ts +0 -9
- package/rules/inset.js +0 -12
- package/rules/inset.js.map +0 -1
- package/rules/isolation.d.ts +0 -5
- package/rules/isolation.js +0 -7
- package/rules/isolation.js.map +0 -1
- package/rules/justify-content.d.ts +0 -6
- package/rules/justify-content.js +0 -8
- package/rules/justify-content.js.map +0 -1
- package/rules/justify-items.d.ts +0 -6
- package/rules/justify-items.js +0 -8
- package/rules/justify-items.js.map +0 -1
- package/rules/justify-self.d.ts +0 -6
- package/rules/justify-self.js +0 -8
- package/rules/justify-self.js.map +0 -1
- package/rules/letter-spacing.d.ts +0 -7
- package/rules/letter-spacing.js +0 -9
- package/rules/letter-spacing.js.map +0 -1
- package/rules/line-height.d.ts +0 -7
- package/rules/line-height.js +0 -9
- package/rules/line-height.js.map +0 -1
- package/rules/lines.d.ts +0 -9
- package/rules/lines.js +0 -19
- package/rules/lines.js.map +0 -1
- package/rules/list-style-image.d.ts +0 -6
- package/rules/list-style-image.js +0 -8
- package/rules/list-style-image.js.map +0 -1
- package/rules/list-style-position.d.ts +0 -6
- package/rules/list-style-position.js +0 -8
- package/rules/list-style-position.js.map +0 -1
- package/rules/list-style-type.d.ts +0 -6
- package/rules/list-style-type.js +0 -8
- package/rules/list-style-type.js.map +0 -1
- package/rules/list-style.d.ts +0 -6
- package/rules/list-style.js +0 -11
- package/rules/list-style.js.map +0 -1
- package/rules/margin.d.ts +0 -9
- package/rules/margin.js +0 -15
- package/rules/margin.js.map +0 -1
- package/rules/mask-image.d.ts +0 -8
- package/rules/mask-image.js +0 -13
- package/rules/mask-image.js.map +0 -1
- package/rules/max-height.d.ts +0 -6
- package/rules/max-height.js +0 -8
- package/rules/max-height.js.map +0 -1
- package/rules/max-width.d.ts +0 -6
- package/rules/max-width.js +0 -8
- package/rules/max-width.js.map +0 -1
- package/rules/min-height.d.ts +0 -6
- package/rules/min-height.js +0 -8
- package/rules/min-height.js.map +0 -1
- package/rules/min-width.d.ts +0 -6
- package/rules/min-width.js +0 -8
- package/rules/min-width.js.map +0 -1
- package/rules/mix-blend-mode.d.ts +0 -6
- package/rules/mix-blend-mode.js +0 -8
- package/rules/mix-blend-mode.js.map +0 -1
- package/rules/object-fit.d.ts +0 -6
- package/rules/object-fit.js +0 -8
- package/rules/object-fit.js.map +0 -1
- package/rules/object-position.d.ts +0 -6
- package/rules/object-position.js +0 -8
- package/rules/object-position.js.map +0 -1
- package/rules/opacity.d.ts +0 -6
- package/rules/opacity.js +0 -8
- package/rules/opacity.js.map +0 -1
- package/rules/order.d.ts +0 -7
- package/rules/order.js +0 -10
- package/rules/order.js.map +0 -1
- package/rules/outline-color.d.ts +0 -7
- package/rules/outline-color.js +0 -9
- package/rules/outline-color.js.map +0 -1
- package/rules/outline-offset.d.ts +0 -5
- package/rules/outline-offset.js +0 -7
- package/rules/outline-offset.js.map +0 -1
- package/rules/outline-style.d.ts +0 -6
- package/rules/outline-style.js +0 -8
- package/rules/outline-style.js.map +0 -1
- package/rules/outline-width.d.ts +0 -6
- package/rules/outline-width.js +0 -8
- package/rules/outline-width.js.map +0 -1
- package/rules/outline.d.ts +0 -7
- package/rules/outline.js +0 -12
- package/rules/outline.js.map +0 -1
- package/rules/overflow.d.ts +0 -9
- package/rules/overflow.js +0 -28
- package/rules/overflow.js.map +0 -1
- package/rules/overscroll-behavior.d.ts +0 -8
- package/rules/overscroll-behavior.js +0 -17
- package/rules/overscroll-behavior.js.map +0 -1
- package/rules/padding.d.ts +0 -9
- package/rules/padding.js +0 -15
- package/rules/padding.js.map +0 -1
- package/rules/place-content.d.ts +0 -6
- package/rules/place-content.js +0 -11
- package/rules/place-content.js.map +0 -1
- package/rules/place-items.d.ts +0 -6
- package/rules/place-items.js +0 -11
- package/rules/place-items.js.map +0 -1
- package/rules/place-self.d.ts +0 -6
- package/rules/place-self.js +0 -11
- package/rules/place-self.js.map +0 -1
- package/rules/placement.d.ts +0 -8
- package/rules/placement.js +0 -32
- package/rules/placement.js.map +0 -1
- package/rules/pointer-events.d.ts +0 -5
- package/rules/pointer-events.js +0 -7
- package/rules/pointer-events.js.map +0 -1
- package/rules/position.d.ts +0 -5
- package/rules/position.js +0 -7
- package/rules/position.js.map +0 -1
- package/rules/quotes.d.ts +0 -5
- package/rules/quotes.js +0 -6
- package/rules/quotes.js.map +0 -1
- package/rules/resize.d.ts +0 -5
- package/rules/resize.js +0 -7
- package/rules/resize.js.map +0 -1
- package/rules/rx.d.ts +0 -6
- package/rules/rx.js +0 -7
- package/rules/rx.js.map +0 -1
- package/rules/ry.d.ts +0 -6
- package/rules/ry.js +0 -7
- package/rules/ry.js.map +0 -1
- package/rules/scroll-behavior.d.ts +0 -5
- package/rules/scroll-behavior.js +0 -7
- package/rules/scroll-behavior.js.map +0 -1
- package/rules/scroll-margin.d.ts +0 -9
- package/rules/scroll-margin.js +0 -49
- package/rules/scroll-margin.js.map +0 -1
- package/rules/scroll-padding.d.ts +0 -9
- package/rules/scroll-padding.js +0 -49
- package/rules/scroll-padding.js.map +0 -1
- package/rules/scroll-snap-align.d.ts +0 -6
- package/rules/scroll-snap-align.js +0 -8
- package/rules/scroll-snap-align.js.map +0 -1
- package/rules/scroll-snap-stop.d.ts +0 -6
- package/rules/scroll-snap-stop.js +0 -8
- package/rules/scroll-snap-stop.js.map +0 -1
- package/rules/scroll-snap-type.d.ts +0 -6
- package/rules/scroll-snap-type.js +0 -8
- package/rules/scroll-snap-type.js.map +0 -1
- package/rules/shape-image-threshold.d.ts +0 -6
- package/rules/shape-image-threshold.js +0 -8
- package/rules/shape-image-threshold.js.map +0 -1
- package/rules/shape-margin.d.ts +0 -6
- package/rules/shape-margin.js +0 -8
- package/rules/shape-margin.js.map +0 -1
- package/rules/shape-outside.d.ts +0 -6
- package/rules/shape-outside.js +0 -8
- package/rules/shape-outside.js.map +0 -1
- package/rules/spacing.d.ts +0 -9
- package/rules/spacing.js +0 -51
- package/rules/spacing.js.map +0 -1
- package/rules/stroke-dasharray.d.ts +0 -5
- package/rules/stroke-dasharray.js +0 -7
- package/rules/stroke-dasharray.js.map +0 -1
- package/rules/stroke-dashoffset.d.ts +0 -5
- package/rules/stroke-dashoffset.js +0 -7
- package/rules/stroke-dashoffset.js.map +0 -1
- package/rules/stroke-width.d.ts +0 -6
- package/rules/stroke-width.js +0 -8
- package/rules/stroke-width.js.map +0 -1
- package/rules/stroke.d.ts +0 -6
- package/rules/stroke.js +0 -8
- package/rules/stroke.js.map +0 -1
- package/rules/table-layout.d.ts +0 -5
- package/rules/table-layout.js +0 -7
- package/rules/table-layout.js.map +0 -1
- package/rules/text-align.d.ts +0 -6
- package/rules/text-align.js +0 -8
- package/rules/text-align.js.map +0 -1
- package/rules/text-decoration-color.d.ts +0 -7
- package/rules/text-decoration-color.js +0 -9
- package/rules/text-decoration-color.js.map +0 -1
- package/rules/text-decoration-line.d.ts +0 -6
- package/rules/text-decoration-line.js +0 -8
- package/rules/text-decoration-line.js.map +0 -1
- package/rules/text-decoration-style.d.ts +0 -6
- package/rules/text-decoration-style.js +0 -8
- package/rules/text-decoration-style.js.map +0 -1
- package/rules/text-decoration-thickness.d.ts +0 -7
- package/rules/text-decoration-thickness.js +0 -9
- package/rules/text-decoration-thickness.js.map +0 -1
- package/rules/text-decoration.d.ts +0 -8
- package/rules/text-decoration.js +0 -13
- package/rules/text-decoration.js.map +0 -1
- package/rules/text-fill-color.d.ts +0 -10
- package/rules/text-fill-color.js +0 -13
- package/rules/text-fill-color.js.map +0 -1
- package/rules/text-indent.d.ts +0 -5
- package/rules/text-indent.js +0 -7
- package/rules/text-indent.js.map +0 -1
- package/rules/text-orientation.d.ts +0 -6
- package/rules/text-orientation.js +0 -8
- package/rules/text-orientation.js.map +0 -1
- package/rules/text-overflow.d.ts +0 -6
- package/rules/text-overflow.js +0 -8
- package/rules/text-overflow.js.map +0 -1
- package/rules/text-rendering.d.ts +0 -6
- package/rules/text-rendering.js +0 -8
- package/rules/text-rendering.js.map +0 -1
- package/rules/text-shadow.d.ts +0 -6
- package/rules/text-shadow.js +0 -8
- package/rules/text-shadow.js.map +0 -1
- package/rules/text-size.d.ts +0 -8
- package/rules/text-size.js +0 -15
- package/rules/text-size.js.map +0 -1
- package/rules/text-stroke-color.d.ts +0 -10
- package/rules/text-stroke-color.js +0 -13
- package/rules/text-stroke-color.js.map +0 -1
- package/rules/text-stroke-width.d.ts +0 -8
- package/rules/text-stroke-width.js +0 -11
- package/rules/text-stroke-width.js.map +0 -1
- package/rules/text-stroke.d.ts +0 -8
- package/rules/text-stroke.js +0 -11
- package/rules/text-stroke.js.map +0 -1
- package/rules/text-transform.d.ts +0 -6
- package/rules/text-transform.js +0 -8
- package/rules/text-transform.js.map +0 -1
- package/rules/text-underline-offset.d.ts +0 -5
- package/rules/text-underline-offset.js +0 -7
- package/rules/text-underline-offset.js.map +0 -1
- package/rules/touch-action.d.ts +0 -5
- package/rules/touch-action.js +0 -7
- package/rules/touch-action.js.map +0 -1
- package/rules/transform-box.d.ts +0 -6
- package/rules/transform-box.js +0 -8
- package/rules/transform-box.js.map +0 -1
- package/rules/transform-origin.d.ts +0 -7
- package/rules/transform-origin.js +0 -9
- package/rules/transform-origin.js.map +0 -1
- package/rules/transform-style.d.ts +0 -6
- package/rules/transform-style.js +0 -8
- package/rules/transform-style.js.map +0 -1
- package/rules/transform.d.ts +0 -8
- package/rules/transform.js +0 -46
- package/rules/transform.js.map +0 -1
- package/rules/transition-delay.d.ts +0 -7
- package/rules/transition-delay.js +0 -9
- package/rules/transition-delay.js.map +0 -1
- package/rules/transition-duration.d.ts +0 -7
- package/rules/transition-duration.js +0 -9
- package/rules/transition-duration.js.map +0 -1
- package/rules/transition-property.d.ts +0 -6
- package/rules/transition-property.js +0 -8
- package/rules/transition-property.js.map +0 -1
- package/rules/transition-timing-function.d.ts +0 -6
- package/rules/transition-timing-function.js +0 -8
- package/rules/transition-timing-function.js.map +0 -1
- package/rules/transition.d.ts +0 -7
- package/rules/transition.js +0 -12
- package/rules/transition.js.map +0 -1
- package/rules/user-drag.d.ts +0 -8
- package/rules/user-drag.js +0 -14
- package/rules/user-drag.js.map +0 -1
- package/rules/user-select.d.ts +0 -8
- package/rules/user-select.js +0 -14
- package/rules/user-select.js.map +0 -1
- package/rules/variable.d.ts +0 -9
- package/rules/variable.js +0 -12
- package/rules/variable.js.map +0 -1
- package/rules/vertical-align.d.ts +0 -6
- package/rules/vertical-align.js +0 -8
- package/rules/vertical-align.js.map +0 -1
- package/rules/visibility.d.ts +0 -5
- package/rules/visibility.js +0 -7
- package/rules/visibility.js.map +0 -1
- package/rules/white-space.d.ts +0 -6
- package/rules/white-space.js +0 -8
- package/rules/white-space.js.map +0 -1
- package/rules/width.d.ts +0 -6
- package/rules/width.js +0 -8
- package/rules/width.js.map +0 -1
- package/rules/will-change.d.ts +0 -5
- package/rules/will-change.js +0 -6
- package/rules/will-change.js.map +0 -1
- package/rules/word-break.d.ts +0 -6
- package/rules/word-break.js +0 -8
- package/rules/word-break.js.map +0 -1
- package/rules/word-spacing.d.ts +0 -6
- package/rules/word-spacing.js +0 -8
- package/rules/word-spacing.js.map +0 -1
- package/rules/writing-mode.d.ts +0 -6
- package/rules/writing-mode.js +0 -8
- package/rules/writing-mode.js.map +0 -1
- package/rules/x.d.ts +0 -6
- package/rules/x.js +0 -7
- package/rules/x.js.map +0 -1
- package/rules/y.d.ts +0 -6
- package/rules/y.js +0 -7
- package/rules/y.js.map +0 -1
- package/rules/z-index.d.ts +0 -7
- package/rules/z-index.js +0 -9
- package/rules/z-index.js.map +0 -1
- package/utils/concat-arrays.d.ts +0 -1
- package/utils/concat-arrays.js +0 -8
- package/utils/concat-arrays.js.map +0 -1
- package/utils/get-border-props.d.ts +0 -3
- package/utils/get-border-props.js +0 -46
- package/utils/get-border-props.js.map +0 -1
- package/utils/get-css-property-text.d.ts +0 -5
- package/utils/get-css-property-text.js +0 -8
- package/utils/get-css-property-text.js.map +0 -1
- package/utils/get-type.d.ts +0 -7
- package/utils/get-type.js +0 -10
- package/utils/get-type.js.map +0 -1
- package/utils/hex-to-rgb.d.ts +0 -1
- package/utils/hex-to-rgb.js +0 -8
- package/utils/hex-to-rgb.js.map +0 -1
- package/utils/is-plain-object.d.ts +0 -8
- package/utils/is-plain-object.js +0 -13
- package/utils/is-plain-object.js.map +0 -1
- package/utils/is-symbol.d.ts +0 -7
- package/utils/is-symbol.js +0 -11
- package/utils/is-symbol.js.map +0 -1
- package/utils/merge.d.ts +0 -5
- package/utils/merge.js +0 -59
- package/utils/merge.js.map +0 -1
- package/utils/normalize-css-calc-text.d.ts +0 -5
- package/utils/normalize-css-calc-text.js +0 -56
- package/utils/normalize-css-calc-text.js.map +0 -1
- package/utils/parse-value-unit.d.ts +0 -1
- package/utils/parse-value-unit.js +0 -49
- package/utils/parse-value-unit.js.map +0 -1
- package/utils/parse-value.d.ts +0 -6
- package/utils/parse-value.js +0 -86
- package/utils/parse-value.js.map +0 -1
- package/utils/rgb-to-hex.d.ts +0 -1
- package/utils/rgb-to-hex.js +0 -4
- package/utils/rgb-to-hex.js.map +0 -1
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/constants/css-property-keyword.ts","../../src/polyfills/css-escape.js","../../src/config/breakpoints.ts","../../src/utils/hex-to-rgb.ts","../../src/utils/rgb-to-hex.ts","../../src/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/values.ts","../../src/rules/font-weight.ts","../../src/utils/get-css-property-text.ts","../../src/utils/normalize-css-calc-text.ts","../../src/utils/parse-value.ts","../../src/constants/priority-selectors.ts","../../src/constants/start-symbol.ts","../../src/rule.ts","../../src/rules/font-family.ts","../../src/rules/font-size.ts","../../src/rules/spacing.ts","../../src/constants/direction.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/constants/css-browser-prefix.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/rules/border-color.ts","../../src/utils/get-border-props.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/rules/backdrop-filter.ts","../../src/utils/parse-value-unit.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/config/rules.ts","../../src/config/index.ts","../../src/init.ts","../../src/core.ts","../../src/render.ts","../../src/render-from-html.ts","../../src/render-into-html.ts","../../src/utils/concat-arrays.ts","../../src/utils/get-type.ts","../../src/utils/is-plain-object.ts","../../src/utils/is-symbol.ts","../../src/utils/merge.ts","../../src/configure.ts"],"sourcesContent":["export const dash = (...words: string[]) => words.join('-');\nexport const DASH = '-';\nexport const BORDER = 'border';\nexport const RADIUS = 'radius';\nexport const MARGIN = 'margin';\nexport const PADDING = 'padding';\nexport const FONT = 'font';\nexport const CURSOR = 'cursor';\nexport const POINTER = 'pointer';\nexport const COMMA = ',';\nexport const FLOW = 'flow';\nexport const TEMPLATE = 'template';\nexport const COLUMN = 'column';\nexport const COLUMNS = COLUMN + 's';\nexport const GAP = 'gap';\nexport const ROW = 'row';\nexport const ROWS = ROW + 's';\nexport const FR = 'fr';\nexport const EVENTS = 'events';\nexport const RESIZE = 'resize';\nexport const SHADOW = 'shadow';\nexport const USER = 'user';\nexport const DRAG = 'drag';\nexport const TOUCH = 'touch';\nexport const ACTION = 'action';\nexport const SELECT = 'select';\nexport const SIZING = 'sizing';\nexport const CONTENT = 'content';\nexport const ISOLATION = 'isolation';\nexport const IMAGE = 'image';\nexport const STICKY = 'sticky';\nexport const STROKE = 'stroke';\nexport const CENTER = 'center';\nexport const MIDDLE = 'middle';\nexport const BACKDROP = 'backdrop';\nexport const FILTER = 'filter';\nexport const STATIC = 'static';\nexport const BLEND = 'blend';\nexport const MIX = 'mix';\nexport const ISOLATE = 'isolate';\nexport const ROUNDED = 'rounded';\nexport const ROUND = 'round';\nexport const BACKGROUND = 'background';\nexport const ATTACHMENT = 'attachment';\nexport const REPEAT = 'repeat';\nexport const COLOR = 'color';\nexport const FLOAT = 'float';\nexport const OPACITY = 'opacity';\nexport const FIXED = 'fixed';\nexport const LOCAL = 'local';\nexport const SCROLL = 'scroll';\nexport const ANIMATION = 'animation';\nexport const DIRECTION = 'direction';\nexport const MODE = 'mode';\nexport const ITERATION = 'iteration';\nexport const COUNT = 'count';\nexport const NAME = 'name';\nexport const PLAY_STATE = 'play-state';\nexport const VISIBILITY = 'visibility';\nexport const INVISIBLE = 'invisible';\nexport const VISIBLE = 'visible';\nexport const Z_INDEX = 'z-index';\nexport const CLEAR = 'clear';\nexport const BEHAVIOR = 'behavior';\nexport const OVERSCROLL_BEHAVIOR = dash('overscroll', BEHAVIOR);\nexport const Y = 'y';\nexport const X = 'x';\nexport const WEIGHT = 'weight';\nexport const HEIGHT = 'height';\nexport const WIDTH = 'width';\nexport const MAX = 'max';\nexport const MIN = 'min';\nexport const BLOCK = 'block';\nexport const INLINE = 'inline';\nexport const FLEX = 'flex';\nexport const GRID = 'grid';\nexport const CONTENTS = 'contents';\nexport const SHOW = 'show';\nexport const HIDE = 'hide';\nexport const TRANSITION = 'transition';\nexport const ORIGIN = 'origin';\nexport const DELAY = 'delay';\nexport const TRANSLATE = 'translate';\nexport const SKEW = 'skew';\nexport const ROTATE = 'rotate';\nexport const DEG = 'deg';\nexport const PROPERTY = 'property';\nexport const TIMING_FUNCTION = 'timing-function';\nexport const DURATION = 'duration';\nexport const DISPLAY = 'display';\nexport const ORIENT = 'orient';\nexport const KEEP = 'keep';\nexport const NORMAL = 'normal';\nexport const FAMILY = 'family';\nexport const ALL = 'all';\nexport const CLAMP = 'clamp';\nexport const HIDDEN = 'hidden';\nexport const CONTAIN = 'contain';\nexport const COVER = 'cover';\nexport const BOX = 'box';\nexport const FILL = 'fill';\nexport const ELLIPSIS = 'ellipsis';\nexport const CLIP = 'clip';\nexport const NONE = 'none';\nexport const WHITE = 'white';\nexport const SCALE = 'scale';\nexport const TEXT = 'text';\nexport const ALIGN = 'align';\nexport const OVERFLOW = 'overflow';\nexport const WRAP = 'wrap';\nexport const TRANSFORM = 'transform';\nexport const VERTICAL = 'vertical';\nexport const WORD = 'word';\nexport const SPACE = 'space';\nexport const DECORATION = 'decoration';\nexport const BREAK = 'break';\nexport const DOWN = 'down';\nexport const SIZE = 'size';\nexport const AUTO = 'auto';\nexport const VARIANT = 'variant';\nexport const LINE = 'line';\nexport const NUMERIC = 'numeric';\nexport const OBJECT = 'object';\nexport const FIT = 'fit';\nexport const POSITION = 'position';\nexport const REM = 'rem';\nexport const EM = 'em';\nexport const PX = 'px';\nexport const STYLE = 'style';\nexport const GRAYSCALE = 'grayscale';\nexport const SMOOTHING = 'smoothing';\nexport const SHARP = 'sharp';\nexport const ANTIALIASED = 'antialiased';\nexport const SUBPIXEL = 'subpixel';\nexport const LETTER = 'letter';\nexport const FIRST = 'first';\nexport const SPACING = 'spacing';\nexport const LETTER_SPACING = dash(LETTER, SPACING);\nexport const MAX_WIDTH = dash(MAX, WIDTH);\nexport const MIN_WIDTH = dash(MIN, WIDTH);\nexport const MAX_HEIGHT = dash(MAX, HEIGHT);\nexport const MIN_HEIGHT = dash(MIN, HEIGHT);\nexport const FONT_PREFIX = 'font:';\nexport const F_PREFIX = 'f:';\nexport const T_PREFIX = 't:';\nexport const H_PREFIX = 'h:';\nexport const W_PREFIX = 'w:';\nexport const BG_PREFIX = 'bg:';\nexport const OBJECT_PREFIX = OBJECT + ':';\nexport const SQUARE = 'square';\nexport const VIDEO = 'video';\nexport const SLICE = 'slice';\nexport const CLONE = 'clone';\nexport const ASPECT = 'aspect';\nexport const RATIO = 'ratio';\nexport const AFTER = 'after';\nexport const BEFORE = 'before';\nexport const INSIDE = 'inside';\nexport const TABLE = 'table';\n// export const CAPTION = 'caption';\n// export const CELL = 'cell';\n// export const FOOTER = 'footer';\n// export const HEADER = 'header';\n// export const ROOT = 'root';\nexport const LIST = 'list';\nexport const ITEM = 'item';\nexport const BASIS = 'basis';\nexport const FULL = 'full';\nexport const REVERSE = 'reverse';\nexport const NOWRAP = 'nowrap';\nexport const FLEX_PREFIX = FLEX + ':';\nexport const GROW = 'grow';\nexport const BOX_PREFIX = BOX + ':';\nexport const SHRINK = 'shrink';\nexport const ORDER = 'order';\nexport const ORDER_PREFIX = 'o:';\nexport const LAST = 'last';\nexport const COL = 'col';\nexport const SPAN = 'span';\nexport const JUSTIFY = 'justify';\nexport const ITEMS = ITEM + 's';\nexport const SELF = 'self';\nexport const PLACE = 'place';\nexport const MONO = 'mono';\nexport const SANS = 'sans';\nexport const SERIF = 'serif';\nexport const TYPE = 'type';\nexport const ABS = 'abs';\nexport const ABSOLUTE = 'absolute';\nexport const REL = 'rel';\nexport const RELATIVE = 'relative';\nexport const THICKNESS = 'thickness';\nexport const OFFSET = 'offset';\nexport const UNDERLINE = 'underline';\nexport const INDENT = 'indent';\nexport const OUTLINE = 'outline';\nexport const COLLAPSE = 'collapse';\nexport const LAYOUT = 'layout';\nexport const ACCENT = 'accent';\nexport const CARET = 'caret';\nexport const SNAP = 'snap';\nexport const STOP = 'stop';\nexport const SHAPE = 'shape';\nexport const VIEW = 'view';\nexport const AREA = 'area';\nexport const END = 'end';\nexport const START = 'start';\nexport const BLUR = 'blur';\nexport const DROP = 'drop';\nexport const HUE = 'hue';","/*! https://mths.be/cssescape v1.5.1 by @mathias | MIT license */\n; (function (root, factory) {\n // https://github.com/umdjs/umd/blob/master/returnExports.js\n if (typeof exports == 'object') {\n // For Node.js.\n module.exports = factory(root);\n } else if (typeof define == 'function' && define.amd) {\n // For AMD. Register as an anonymous module.\n define([], factory.bind(root, root));\n } else {\n // For browser globals (not exposing the function separately).\n factory(root);\n }\n}(typeof global != 'undefined' ? global : this, function (root) {\n\n if (root.CSS && root.CSS.escape) {\n return root.CSS.escape;\n }\n\n // https://drafts.csswg.org/cssom/#serialize-an-identifier\n var cssEscape = function (value) {\n if (arguments.length == 0) {\n throw new TypeError('`CSS.escape` requires an argument.');\n }\n var string = String(value);\n var length = string.length;\n var index = -1;\n var codeUnit;\n var result = '';\n var firstCodeUnit = string.charCodeAt(0);\n\n if (\n // If the character is the first character and is a `-` (U+002D), and\n // there is no second character, […]\n length == 1 &&\n firstCodeUnit == 0x002D\n ) {\n return '\\\\' + string;\n }\n\n while (++index < length) {\n codeUnit = string.charCodeAt(index);\n // Note: there’s no need to special-case astral symbols, surrogate\n // pairs, or lone surrogates.\n\n // If the character is NULL (U+0000), then the REPLACEMENT CHARACTER\n // (U+FFFD).\n if (codeUnit == 0x0000) {\n result += '\\uFFFD';\n continue;\n }\n\n if (\n // If the character is in the range [\\1-\\1F] (U+0001 to U+001F) or is\n // U+007F, […]\n (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F ||\n // If the character is the first character and is in the range [0-9]\n // (U+0030 to U+0039), […]\n (index == 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) ||\n // If the character is the second character and is in the range [0-9]\n // (U+0030 to U+0039) and the first character is a `-` (U+002D), […]\n (\n index == 1 &&\n codeUnit >= 0x0030 && codeUnit <= 0x0039 &&\n firstCodeUnit == 0x002D\n )\n ) {\n // https://drafts.csswg.org/cssom/#escape-a-character-as-code-point\n result += '\\\\' + codeUnit.toString(16) + ' ';\n continue;\n }\n\n // If the character is not handled by one of the above rules and is\n // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or\n // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to\n // U+005A), or [a-z] (U+0061 to U+007A), […]\n if (\n codeUnit >= 0x0080 ||\n codeUnit == 0x002D ||\n codeUnit == 0x005F ||\n codeUnit >= 0x0030 && codeUnit <= 0x0039 ||\n codeUnit >= 0x0041 && codeUnit <= 0x005A ||\n codeUnit >= 0x0061 && codeUnit <= 0x007A\n ) {\n // the character itself\n result += string.charAt(index);\n continue;\n }\n\n // Otherwise, the escaped character.\n // https://drafts.csswg.org/cssom/#escape-a-character\n result += '\\\\' + string.charAt(index);\n }\n return result;\n };\n\n if (!root.CSS) {\n root.CSS = {};\n }\n\n root.CSS.escape = cssEscape;\n return cssEscape;\n\n}));","export 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};","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 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 '../fill-color-scale';\n\nexport const 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}","export const defaultRootSize = 16;","export 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}","export 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}","export const defaultThemes = ['dark', 'light']","import { defaultBreakpoints } from './breakpoints';\n\nconst { dash, FIT, MAX, MIN, CONTENT, COLUMN } = require('../constants/css-property-keyword');\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: dash(FIT, CONTENT),\n max: dash(MAX, CONTENT),\n min: dash(MIN, CONTENT),\n}\nfor (const key in defaultBreakpoints) {\n sizingValues[key] = (defaultBreakpoints[key] / 16) + 'rem'\n}\n\nexport const 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}","import { dash, FONT, WEIGHT } from '../constants/css-property-keyword';\nimport { 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 = dash(FONT, WEIGHT);\n static override unit = '';\n}","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 * 將 calc( 正規化\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 // 字串\n case 1:\n break;\n // 數字\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 rootSize?: number,\n themes?: string[]\n): {\n value: string,\n unit: string,\n unitToken: string,\n colorMatched?: boolean\n} {\n let value: any = values ? values[token] : '';\n let unit: string = '';\n let unitToken: string = '';\n let colorMatched: boolean = undefined; \n\n if (value) {\n return { value, 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-9]+))?(?:\\\\/(\\\\.?[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 * 當無單位值且 defaultUnit === 'rem',\n * 將 pxValue / 16 轉為 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 PRIORITY_SELECTORS = [':disabled', ':active', ':focus', ':hover'];","export const START_SYMBOL = {\n '(': ')',\n '\\'': '\\'',\n '{': '}'\n};","import { MasterCSSMediaFeatureRule } from './interfaces/media-feature-rule';\nimport { MasterCSSMedia } from './interfaces/media';\nimport { getCssPropertyText } from './utils/get-css-property-text';\nimport { parseValue } from './utils/parse-value';\nimport { PRIORITY_SELECTORS } from './constants/priority-selectors';\nimport { START_SYMBOL } from './constants/start-symbol';\nimport MasterCSS from './core';\nimport { MasterCSSDeclaration } from './interfaces/declaration';\n\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 interface RuleMatching {\n origin: 'matches' | 'semantics' | 'symbol';\n value?: string;\n}\n\nexport class MasterCSSRule {\n\n readonly prefix: string;\n readonly symbol: string;\n readonly token: string;\n readonly prefixSelectors: string[];\n readonly suffixSelectors: 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 ): RuleMatching {\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: 動態 new Regex 效能問題待優化\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: RuleMatching,\n css: MasterCSS\n ) {\n const TargetRule = this.constructor as typeof MasterCSSRule;\n let { id, unit, propName, colorful } = TargetRule;\n const { breakpoints, mediaQueries, semantics, rootSize } = css.config;\n const values = css.config.values[id];\n const relationThemesMap = css.relationThemesMap[className];\n const { themeNames, colorsThemesMap, selectors } = css;\n\n let 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: string = '') {\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: string = '';\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 let suffixSelector = suffixTokens[0];\n if (suffixSelector) {\n this.suffixSelectors = [];\n\n const originalSuffixTokens = analyzeSelectorToken(suffixSelector);\n for (let eachOriginalSuffixToken of originalSuffixTokens) {\n for (const eachSingleSelectorEntry of selectors.single) {\n eachOriginalSuffixToken = eachOriginalSuffixToken.replace(eachSingleSelectorEntry[0], eachSingleSelectorEntry[1]);\n }\n\n const transform = (selectorText: string) => {\n for (const eachMultipleSelectorEntry of selectors.multiple) {\n if (eachMultipleSelectorEntry[0].test(selectorText)) {\n for (const eachSelectorText of eachMultipleSelectorEntry[1]) {\n transform(selectorText.replace(eachMultipleSelectorEntry[0], eachSelectorText));\n }\n return;\n }\n }\n\n this.suffixSelectors.push(selectorText);\n };\n transform(eachOriginalSuffixToken);\n }\n\n for (const eachSuffixSelector of this.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 } else {\n this.suffixSelectors = [''];\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 === '🖨') {\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 switch (featureName) {\n case MAX_WIDTH:\n case MIN_WIDTH:\n const conditionUnitValueToken\n = extremumOperator\n ? typeOrFeatureToken.replace(extremumOperator, '')\n : typeOrFeatureToken;\n const breakpoint = breakpoints[conditionUnitValueToken];\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: string | Record<string, string | number>, newUnit: string;\n\n const generateCssText = (\n propertiesText: string,\n themeName: 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 this.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 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);\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 }\n\n const declaration = { unit: newUnit, value: newValue, important: this.important };\n if (this.getThemeProps) {\n const themeProps = this.getThemeProps(declaration, css);\n for (const themeName in themeProps) {\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 ), \n themeName \n });\n }\n return;\n } else if (this.get) {\n newValue = this.get(declaration);\n }\n }\n } else {\n newValue = value;\n }\n\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 ), \n themeName\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 interface MasterCSSRule {\n readonly order?: number;\n\n parseValue(value: string): string;\n get(declaration: MasterCSSDeclaration): Record<string, any>;\n getThemeProps(declaration: MasterCSSDeclaration, css: MasterCSS): Record<string, Record<string, string>>;\n}\n\nif (typeof window !== 'undefined') {\n window.MasterCSSRule = MasterCSSRule;\n}\n\ndeclare global {\n interface Window {\n MasterCSSRule: typeof MasterCSSRule;\n }\n}","import { dash, FAMILY, FONT } from '../constants/css-property-keyword';\nimport { 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 = dash(FONT, FAMILY);\n}","import { dash, FONT, SIZE } from '../constants/css-property-keyword';\nimport { 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 = dash(FONT, SIZE);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, MARGIN, PADDING } from '../constants/css-property-keyword';\nimport { B, BOTTOM, L, LEFT, R, RIGHT, T, TOP, X, Y } from '../constants/direction';\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 = dash(SPACING, LEFT);\n const SPACING_RIGHT = dash(SPACING, RIGHT);\n const SPACING_TOP = dash(SPACING, TOP);\n const SPACING_BOTTOM = dash(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}","export const TOP = 'top';\nexport const BOTTOM = 'bottom';\nexport const LEFT = 'left';\nexport const RIGHT = 'right';\nexport const L = 'l';\nexport const R = 'r';\nexport const T = 't';\nexport const B = 'b';\nexport const X = 'x';\nexport const Y = 'y';","import { WIDTH } from '../constants/css-property-keyword';\nimport { 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 { HEIGHT } from '../constants/css-property-keyword';\nimport { 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 { MIN_WIDTH } from '../constants/css-property-keyword';\nimport { 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 { MIN_HEIGHT } from '../constants/css-property-keyword';\nimport { 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 { LETTER_SPACING } from '../constants/css-property-keyword';\nimport { 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 { ANTIALIASED, AUTO, dash, FONT, GRAYSCALE, SMOOTHING, SUBPIXEL } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\nimport { MOZ_PREFIX, WEBKIT_PREFIX } from '../constants/css-browser-prefix';\n\nconst SUBPIXEL_ANTIALIASED = dash(SUBPIXEL, ANTIALIASED);\nconst WEBKIT_FONT_SMOOTHING = dash(WEBKIT_PREFIX + FONT, SMOOTHING);\nconst MOZ_OSXFONT_SMOOTHING = dash(MOZ_PREFIX + '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}","const DASH = '-';\nexport const WEBKIT_PREFIX = DASH + 'webkit' + DASH;\nexport const MOZ_PREFIX = DASH + 'moz' + DASH;\nexport const OSX = 'OSX';","import { dash, FONT, STYLE } from '../constants/css-property-keyword';\nimport { 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 = dash(FONT, STYLE);\n static override unit = 'deg';\n}","import { dash, FONT, NUMERIC, VARIANT } from '../constants/css-property-keyword';\nimport { 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 = dash(FONT, VARIANT, NUMERIC);\n}","import { dash, HEIGHT, LINE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'LineHeight'\n static override matches = /^lh:./;\n static override propName = dash(LINE, HEIGHT);\n static override unit = '';\n}","import { dash, FIT, OBJECT } from '../constants/css-property-keyword';\nimport { 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 = dash(OBJECT, FIT);\n}","import { dash, OBJECT, POSITION } from '../constants/css-property-keyword';\nimport { 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 = dash(OBJECT, POSITION);\n}","import { ALIGN, dash, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, ALIGN);\n}","import { dash, DECORATION, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, DECORATION);\n static override colorful = true;\n override order = -1;\n}","import { dash, TEXT, TRANSFORM } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, TRANSFORM);\n}","import { ALIGN, dash, VERTICAL } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'VerticalAlign'\n static override matches = /^(?:v|vertical):./;\n static override propName = dash(VERTICAL, ALIGN);\n}","import { BOX, BREAK, dash, ELLIPSIS, HIDDEN, VERTICAL, WORD } from '../constants/css-property-keyword';\nimport { WEBKIT_PREFIX } from '../constants/css-browser-prefix';\nimport { 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_PREFIX + BOX },\n 'overflow-wrap': { ...declaration, value: dash(BREAK, WORD) },\n 'text-overflow': { ...declaration, value: ELLIPSIS },\n '-webkit-box-orient': { ...declaration, value: VERTICAL },\n '-webkit-line-clamp': declaration\n }\n }\n}","import { dash, ORIGIN, PX, TRANSFORM } from '../constants/css-property-keyword';\nimport { 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 = dash(TRANSFORM, ORIGIN);\n static override unit = PX;\n}","import { dash, STYLE, TRANSFORM } from '../constants/css-property-keyword';\nimport { 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 = dash(TRANSFORM, STYLE);\n}","import { BOX, dash, TRANSFORM } from '../constants/css-property-keyword';\nimport { 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 = dash(TRANSFORM, BOX);\n}","import { DEG, REM, ROTATE, SKEW, TRANSFORM, TRANSLATE } from '../constants/css-property-keyword';\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): 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 ? 16 : 1)) // 將無單位的 / 16 轉為 rem\n + unit;\n } else {\n return eachValue;\n }\n })\n .join(','));\n })\n }\n}","import { TRANSITION } from '../constants/css-property-keyword';\nimport { 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 { dash, DELAY, TRANSITION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDelay'\n static override matches = /^~delay:./;\n static override propName = dash(TRANSITION, DELAY);\n static override unit = 'ms';\n}","import { dash, DURATION, TRANSITION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionDuration'\n static override matches = /^~duration:./;\n static override propName = dash(TRANSITION, DURATION);\n static override unit = 'ms';\n}","import { dash, PROPERTY, TRANSITION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionProperty'\n static override matches = /^~property:./;\n static override propName = dash(TRANSITION, PROPERTY);\n}","import { dash, TIMING_FUNCTION, TRANSITION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TransitionTimingFunction'\n static override matches = /^~easing:./;\n static override propName = dash(TRANSITION, TIMING_FUNCTION);\n}","import { MAX_HEIGHT } from '../constants/css-property-keyword';\nimport { 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 { MAX_WIDTH } from '../constants/css-property-keyword';\nimport { 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 { DISPLAY } from '../constants/css-property-keyword';\nimport { 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 { BORDER, BOX, CONTENT, dash, SIZING } from '../constants/css-property-keyword';\nimport { 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 = dash(BOX, SIZING);\n}","import { OPACITY } from '../constants/css-property-keyword';\nimport { 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 { HIDDEN, INVISIBLE, VISIBILITY, VISIBLE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Visibility'\n static override propName = VISIBILITY;\n}","import { CLEAR } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Clear'\n static override propName = CLEAR;\n}","import { FLOAT } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Float'\n static override propName = FLOAT;\n}","import { ISOLATE, ISOLATION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Isolation'\n static override propName = ISOLATION;\n}","import { X, Y } from '../constants/css-property-keyword';\nimport { 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 { dash, OVERSCROLL_BEHAVIOR, X, Y } from '../constants/css-property-keyword';\nimport { 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 { [dash(OVERSCROLL_BEHAVIOR, X)]: declaration };\n case Y:\n return { [dash(OVERSCROLL_BEHAVIOR, Y)]: declaration };\n default:\n return { [OVERSCROLL_BEHAVIOR]: declaration };\n }\n }\n}","import { Z_INDEX } from '../constants/css-property-keyword';\nimport { 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 { ANIMATION, dash, DELAY } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDelay'\n static override matches = /^\\@delay:./;\n static override propName = dash(ANIMATION, DELAY);\n static override unit = 'ms';\n}","import { ANIMATION, dash, DIRECTION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDirection'\n static override matches = /^\\@direction:./;\n static override propName = dash(ANIMATION, DIRECTION);\n}","import { ANIMATION, dash, FILL, MODE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationFillMode'\n static override matches = /^\\@fill-mode:./;\n static override propName = dash(ANIMATION, FILL, MODE);\n}","import { ANIMATION, COUNT, dash, ITERATION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationIterationCount'\n static override matches = /^\\@iteration-count:./;\n static override propName = dash(ANIMATION, ITERATION, COUNT);\n static override unit = '';\n}","import { ANIMATION, dash, NAME } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationName'\n static override matches = /^\\@name:./;\n static override propName = dash(ANIMATION, NAME);\n}","import { ANIMATION, dash, PLAY_STATE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationPlayState'\n static override matches = /^\\@play-state:./;\n static override propName = dash(ANIMATION, PLAY_STATE);\n}","import { ANIMATION, dash, TIMING_FUNCTION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationTimingFunction'\n static override matches = /^\\@easing:./;\n static override propName = dash(ANIMATION, TIMING_FUNCTION);\n}","import { ANIMATION } from '../constants/css-property-keyword';\nimport { 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}","import { MasterCSSRule } from '../rule';\nimport { BORDER, COLOR, dash } from '../constants/css-property-keyword';\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 === dash(BORDER, COLOR) + \":\" || this.prefix === 'b:' || this.prefix === BORDER + ':') ? -1 : 0;\n }\n}","import { BORDER, DASH } from '../constants/css-property-keyword';\nimport { B, BOTTOM, L, LEFT, R, RIGHT, T, TOP, X, Y } from '../constants/direction';\n\nconst BORDER_DASH = BORDER + DASH;\n\nexport function getBorderProps(name: string, declaration, suffix = '') {\n if (suffix) {\n suffix = DASH + suffix;\n }\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 { TOP, RIGHT, BOTTOM, LEFT, T, B, L, R } from '../constants/direction';\nimport { BORDER, dash, RADIUS, ROUND, ROUNDED } from '../constants/css-property-keyword';\n\nconst BORDER_TOP_LEFT_RADIUS = dash(BORDER, TOP, LEFT, RADIUS),\n BORDER_TOP_RIGHT_RADIUS = dash(BORDER, TOP, RIGHT, RADIUS),\n BORDER_BOTTOM_LEFT_RADIUS = dash(BORDER, BOTTOM, LEFT, RADIUS),\n BORDER_BOTTOM_RIGHT_RADIUS = dash(BORDER, BOTTOM, RIGHT, RADIUS),\n BORDER_RADIUS = dash(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 === dash(BORDER, RADIUS) + \":\" || this.prefix === 'r:') ? -1 : 0;\n }\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, STYLE } from '../constants/css-property-keyword';\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 === dash(BORDER, STYLE) + \":\" || this.prefix === 'b:' || this.prefix === BORDER + ':') ? -1 : 0;\n }\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, WIDTH } from '../constants/css-property-keyword';\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 === dash(BORDER, WIDTH) + \":\" || this.prefix === 'b:' || this.prefix === BORDER + ':') ? -1 : 0;\n }\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER } from '../constants/css-property-keyword';\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';\nimport { ATTACHMENT, BACKGROUND, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundAttachment'\n static override matches = /^(bg|background):(fixed|local|scroll)(?!\\|)/;\n static override propName = dash(BACKGROUND, ATTACHMENT);\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, BLEND, dash, MODE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundBlendMode'\n static override propName = dash(BACKGROUND , BLEND , MODE);\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, BORDER, BOX, CLIP, CONTENT, dash, PADDING } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundClip'\n static override matches = /^(bg|background):text(?!\\|)/;\n static override propName = dash(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';\nimport { BACKGROUND, COLOR, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundColor'\n static override colorStarts = '(bg|background):';\n static override propName = dash(BACKGROUND, COLOR);\n static override unit = '';\n static override colorful = true;\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, BORDER, BOX, CONTENT, dash, ORIGIN, PADDING } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BackgroundOrigin'\n static override matches = /^(bg|background):(content|border|padding)(?!\\|)/;\n static override propName = dash(BACKGROUND, ORIGIN);\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, dash, POSITION, PX } from '../constants/css-property-keyword';\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 = dash(BACKGROUND, POSITION);\n static override unit = PX;\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, dash, REPEAT } from '../constants/css-property-keyword';\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 = dash(BACKGROUND, REPEAT);\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, dash, SIZE } from '../constants/css-property-keyword';\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 = dash(BACKGROUND, SIZE);\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND, dash, IMAGE } from '../constants/css-property-keyword';\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 = dash(BACKGROUND, IMAGE);\n static override colorful = true;\n}","import { MasterCSSRule } from '../rule';\nimport { BACKGROUND } from '../constants/css-property-keyword';\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';\nimport { BLEND, dash, MIX, MODE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'MixBlendMode'\n static override matches = /^blend:./;\n static override propName = dash(MIX, BLEND, MODE);\n}","import { ABSOLUTE, POSITION, RELATIVE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Position'\n static override propName = POSITION;\n}","import { CENTER, MIDDLE } from '../constants/css-property-keyword';\nimport { BOTTOM, LEFT, RIGHT, TOP } from '../constants/direction';\nimport { 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 { MasterCSSRule } from '../rule';\nimport { BACKDROP, BLUR, dash, DEG, DROP, FILTER, HUE, REM, ROTATE, SHADOW } from '../constants/css-property-keyword';\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 = dash(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): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case BLUR:\n case dash(DROP, SHADOW):\n return REM;\n case dash(HUE, ROTATE):\n return DEG;\n }\n\n return '';\n });\n }\n}","import { REM } from '../constants/css-property-keyword';\n\nexport function parseValueUnit(value: string, getUnit: (method: string) => string): 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 ? 16 : 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 { FILL } from '../constants/css-property-keyword';\nimport { 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 { STROKE } from '../constants/css-property-keyword';\nimport { 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 { dash, STROKE, WIDTH } from '../constants/css-property-keyword';\nimport { 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 = dash(STROKE, WIDTH);\n}","import { BLUR, dash, DEG, DROP, FILTER, HUE, REM, ROTATE, SHADOW } from '../constants/css-property-keyword';\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): string {\n return parseValueUnit(\n value,\n method => {\n switch (method) {\n case BLUR:\n case dash(DROP, SHADOW):\n return REM;\n case dash(HUE, ROTATE):\n return DEG;\n }\n\n return '';\n });\n }\n}","import { MasterCSSRule } from '../rule';\nimport { CURSOR } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'Cursor'\n static override propName = CURSOR;\n}","import { MasterCSSRule } from '../rule';\nimport { dash, EVENTS, POINTER } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'PointerEvents'\n static override propName = dash(POINTER, EVENTS);\n}","import { MasterCSSRule } from '../rule';\nimport { RESIZE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'Resize'\n static override propName = RESIZE;\n}","import { MasterCSSRule } from '../rule';\nimport { ACTION, dash, TOUCH } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'TouchAction'\n static override propName = dash(TOUCH, ACTION);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, DRAG, USER } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'UserDrag'\n static override propName = dash(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';\nimport { dash, SELECT, USER } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'UserSelect'\n static override propName = dash(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';\nimport { BOX, dash, SHADOW } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxShadow'\n static override matches = /^s(?:hadow)?:./;\n static override propName = dash(BOX, SHADOW);\n static override colorful = true;\n}","import { MasterCSSRule } from '../rule';\nimport { dash, SHADOW, TEXT } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'TextShadow'\n static override propName = dash(TEXT, SHADOW);\n static override colorful = true;\n}","import { REM } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\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 return {\n 'font-size': declaration,\n 'line-height': {\n ...declaration,\n value: declaration.unit === REM\n ? declaration.value + .375 + declaration.unit\n : 'calc(' + declaration.value + declaration.unit + ' + .375rem)',\n unit: ''\n }\n };\n }\n}","import { BREAK, dash, WORD } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'WordBreak'\n static override propName = dash(WORD, BREAK);\n static override unit = '';\n}","import { COLUMNS, COMMA, dash, DISPLAY, FR, GRID, MAX, MIN, REPEAT, TEMPLATE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridColumns'\n static override matches = /^grid-cols:./;\n static override propName = dash(GRID, COLUMNS);\n static override unit = '';\n override get(declaration): { [key: string]: any } {\n return {\n [DISPLAY]: { ...declaration, value: GRID },\n [dash(GRID, TEMPLATE, COLUMNS)]: {\n ...this,\n value: REPEAT\n + '(' + declaration.value\n + COMMA\n + MIN + MAX\n + '(' + 0 + COMMA + 1 + FR + '))'\n },\n };\n }\n}","import { ROWS, DISPLAY, FR, GRID, MAX, MIN, REPEAT, TEMPLATE, COMMA, AUTO, FLOW, COLUMN, dash } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRows'\n static override propName = dash(GRID, ROWS);\n static override unit = '';\n override get(declaration): { [key: string]: any } {\n return {\n [DISPLAY]: { ...declaration, value: GRID },\n [dash(GRID, AUTO, FLOW)]: { ...declaration, value: COLUMN },\n [dash(GRID, TEMPLATE, ROWS)]: {\n ...declaration,\n value: REPEAT\n + '(' + declaration.value\n + COMMA\n + MIN + MAX\n + '(' + 0 + COMMA + 1 + FR + '))'\n },\n };\n }\n}","import { COLUMN, dash, GAP, ROW, X, Y } from '../constants/css-property-keyword';\nimport { 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 { [dash(COLUMN, GAP)]: declaration };\n case Y:\n return { [dash(ROW, GAP)]: declaration };\n default:\n return { [GAP]: declaration };\n }\n }\n override order = -1;\n}","import { dash, SPACING, WORD } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'WordSpacing'\n static override propName = dash(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';\nimport { SQUARE, VIDEO, ASPECT, RATIO, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'AspectRadio'\n static override matches = /^aspect:./;\n static override propName = dash(ASPECT, RATIO);\n static override unit = '';\n}","import { MasterCSSRule } from '../rule';\nimport { BOX, BREAK, dash, DECORATION } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BoxDecorationBreak'\n static override matches = /^box:(slice|clone)(?!\\|)/;\n static override propName = dash(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';\nimport { AFTER, BREAK, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakAfter'\n static override propName = dash(BREAK, AFTER);\n}","import { MasterCSSRule } from '../rule';\nimport { BEFORE, BREAK, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakBefore'\n static override propName = dash(BREAK, BEFORE);\n}","import { MasterCSSRule } from '../rule';\nimport { BREAK, dash, INSIDE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BreakInside'\n static override propName = dash(BREAK, INSIDE);\n}","import { dash, FLEX, SHRINK } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexShrink'\n static override propName = dash(FLEX, SHRINK);\n static override unit = '';\n}","import { COLUMN, dash, DIRECTION, FLEX, REVERSE } from '../constants/css-property-keyword';\nimport { 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 = dash(FLEX, DIRECTION);\n}","import { dash, FLEX, GROW } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexGrow'\n static override propName = dash(FLEX, GROW);\n static override unit = '';\n}","import { dash, FLEX, WRAP } from '../constants/css-property-keyword';\nimport { 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 = dash(FLEX, WRAP);\n}","import { BASIS, dash, FLEX } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'FlexBasis'\n static override propName = dash(FLEX, BASIS);\n}","import { FLEX } from '../constants/css-property-keyword';\nimport { 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 { ORDER } from '../constants/css-property-keyword';\nimport { 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 { COLUMN, dash, GRID, SPAN } from '../constants/css-property-keyword';\nimport { 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 = dash(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 { COLUMN, dash, SPAN } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'ColumnSpan'\n static override matches = /^col-span:./;\n static override propName = dash(COLUMN, SPAN);\n}","import { dash, GRID, ROW, SPAN } from '../constants/css-property-keyword';\nimport { 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 = dash(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 { COLOR } from '../constants/css-property-keyword';\nimport { 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 { ALIGN, CONTENT, dash } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignContent'\n static override matches = /^ac:./;\n static override propName = dash(ALIGN, CONTENT);\n}","import { ALIGN, dash, ITEMS } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignItems'\n static override matches = /^ai:./;\n static override propName = dash(ALIGN, ITEMS);\n}","import { ALIGN, dash, SELF } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AlignSelf'\n static override matches = /^as:./;\n static override propName = dash(ALIGN, SELF);\n}","import { AUTO, COLUMNS, CONTENT, dash, GRID, MAX, MIN } from '../constants/css-property-keyword';\nimport { 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 = dash(GRID, AUTO, COLUMNS);\n}","import { AUTO, dash, FLOW, GRID } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoFlow'\n static override matches = /^grid-flow:./;\n static override propName = dash(GRID, AUTO, FLOW);\n}","import { AUTO, CONTENT, dash, GRID, MAX, MIN, ROWS } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridAutoRows'\n static override propName = dash(GRID, AUTO, ROWS);\n}","import { CONTENT, dash, JUSTIFY } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyContent'\n static override matches = /^jc:./;\n static override propName = dash(JUSTIFY, CONTENT);\n\n}","import { dash, ITEMS, JUSTIFY } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifyItems'\n static override matches = /^ji:./;\n static override propName = dash(JUSTIFY, ITEMS);\n\n}","import { dash, JUSTIFY, SELF } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'JustifySelf'\n static override matches = /^js:./;\n static override propName = dash(JUSTIFY, SELF);\n}","import { CONTENT, dash, PLACE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceContent'\n static override propName = dash(PLACE, CONTENT);\n override order = -1;\n}","import { dash, ITEMS, PLACE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceItems'\n static override propName = dash(PLACE, ITEMS);\n override order = -1;\n}","import { dash, PLACE, SELF } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'PlaceSelf'\n static override propName = dash(PLACE, SELF);\n override order = -1;\n}","import { MasterCSSRule } from '../rule';\nimport { PADDING } from '../constants/css-property-keyword';\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';\nimport { MARGIN } from '../constants/css-property-keyword';\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 { dash, OVERFLOW, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, OVERFLOW);\n}","import { dash, LIST, POSITION, STYLE } from '../constants/css-property-keyword';\nimport { 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 = dash(LIST, STYLE, POSITION);\n}","import { dash, LIST, STYLE, TYPE } from '../constants/css-property-keyword';\nimport { 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 = dash(LIST, STYLE, TYPE);\n}","import { dash, LIST, STYLE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'ListStyle'\n static override propName = dash(LIST, STYLE);\n override order = -1;\n}","import { COLOR, dash, DECORATION, TEXT } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TextDecorationColor'\n static override propName = dash(TEXT, DECORATION, COLOR);\n static override colorStarts = 'text-decoration:';\n static override colorful = true;\n}","import { dash, DECORATION, STYLE, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, DECORATION, STYLE);\n}","import { dash, DECORATION, TEXT, THICKNESS } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, DECORATION, THICKNESS);\n static override unit = 'em';\n}","import { dash, INDENT, TEXT } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TextIndent'\n static override propName = dash(TEXT, INDENT);\n}","import { MasterCSSRule } from '../rule';\nimport { CONTENT } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'Content'\n static override propName = CONTENT;\n}","import { COLOR, dash, OUTLINE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineColor'\n static override propName = dash(OUTLINE, COLOR);\n static override colorStarts = 'outline:';\n static override colorful = true;\n}","import { dash, OFFSET, OUTLINE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'OutlineOffset'\n static override propName = dash(OUTLINE, OFFSET);\n}","import { dash, OUTLINE, STYLE } from '../constants/css-property-keyword';\nimport { 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 = dash(OUTLINE, STYLE);\n}","import { dash, OUTLINE, WIDTH } from '../constants/css-property-keyword';\nimport { 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 = dash(OUTLINE, WIDTH);\n}","import { OUTLINE } from '../constants/css-property-keyword';\nimport { 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';\nimport { BORDER, COLLAPSE, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderCollapse'\n static override matches = /^b(order)?:(collapse|separate)(?!\\|)/;\n static override propName = dash(BORDER, COLLAPSE);\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, SPACING } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderSpacing'\n static override propName = dash(BORDER, SPACING);\n}","import { dash, LAYOUT, TABLE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TableLayout'\n static override propName = dash(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';\nimport { CARET, COLOR, dash } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'CaretColor'\n static override propName = dash(CARET, COLOR);\n static override colorStarts = 'caret:';\n static override colorful = true;\n}","import { BEHAVIOR, dash, SCROLL } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollBehavior'\n static override propName = dash(SCROLL, BEHAVIOR);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, MARGIN, SCROLL } from '../constants/css-property-keyword';\nimport { B, BOTTOM, L, LEFT, R, RIGHT, T, TOP, X, Y } from '../constants/direction';\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 const SCROLL_MARGIN_PREFIX = dash(SCROLL, MARGIN) + '-',\n SCROLL_MARGIN_LEFT = SCROLL_MARGIN_PREFIX + LEFT,\n SCROLL_MARGIN_RIGHT = SCROLL_MARGIN_PREFIX + RIGHT,\n SCROLL_MARGIN_TOP = SCROLL_MARGIN_PREFIX + TOP,\n SCROLL_MARGIN_BOTTOM = SCROLL_MARGIN_PREFIX + BOTTOM;\n\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 === dash(SCROLL, MARGIN) + ':' || this.prefix === dash(SCROLL, 'm:')) ? -1 : 0;\n }\n}","import { MasterCSSRule } from '../rule';\nimport { dash, PADDING, SCROLL } from '../constants/css-property-keyword';\nimport { B, BOTTOM, L, LEFT, R, RIGHT, T, TOP, X, Y } from '../constants/direction';\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 const SCROLL_PADDING_PREFIX = dash(SCROLL, PADDING) + '-',\n SCROLL_PADDING_LEFT = SCROLL_PADDING_PREFIX + LEFT,\n SCROLL_PADDING_RIGHT = SCROLL_PADDING_PREFIX + RIGHT,\n SCROLL_PADDING_TOP = SCROLL_PADDING_PREFIX + TOP,\n SCROLL_PADDING_BOTTOM = SCROLL_PADDING_PREFIX + BOTTOM;\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 === dash(SCROLL, PADDING) + ':' || this.prefix === dash(SCROLL, 'p:')) ? -1 : 0;\n }\n}","import { MasterCSSRule } from '../rule';\nimport { ALIGN, dash, SCROLL, SNAP } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapAlign'\n static override matches = /^scroll-snap:(start|end|center)/\n static override propName = dash(SCROLL, SNAP, ALIGN);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, SCROLL, SNAP, STOP } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'ScrollSnapStop'\n static override matches = /^scroll-snap:(normal|always)(?!\\|)/\n static override propName = dash(SCROLL, SNAP, STOP);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, SCROLL, SNAP, TYPE } from '../constants/css-property-keyword';\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 = dash(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 { dash, OFFSET, TEXT, UNDERLINE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'TextUnderlineOffset'\n static override propName = dash(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';\nimport { COLUMNS } from '../constants/css-property-keyword';\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 { BREAK, dash, SPACE, WHITE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'WhiteSpace'\n static override propName = dash(WHITE, SPACE);\n static override unit = '';\n}","import { dash, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, 'orientation');\n}","import { dash, MODE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'WritingMode'\n static override matches = /^writing:./;\n static override propName = dash('writing', MODE);\n}","import { MasterCSSRule } from '../rule';\nimport { CONTAIN } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'Contain'\n static override propName = CONTAIN;\n}","import { ANIMATION, dash, DURATION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'AnimationDuration'\n static override matches = /^\\@duration:./;\n static override propName = dash(ANIMATION, DURATION);\n static override unit = 'ms';\n}","import { MasterCSSRule } from '../rule';\nimport { dash, TEXT } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'TextRendering'\n static override matches = /^t(ext)?:(optimizeSpeed|optimizeLegibility|geometricPrecision)(?!\\|)/;\n static override propName = dash(TEXT, 'rendering');\n}","import { DIRECTION } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'Direction'\n static override propName = DIRECTION;\n}","import { dash, DECORATION, LINE, TEXT } from '../constants/css-property-keyword';\nimport { 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 = dash(TEXT, DECORATION, LINE);\n}","import { COLUMN, dash, GRID, START } from '../constants/css-property-keyword';\nimport { 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 = dash(GRID, COLUMN, START);\n static override unit = '';\n}","import { dash, IMAGE, LIST, STYLE } from '../constants/css-property-keyword';\nimport { 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 = dash(LIST, STYLE, IMAGE);\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, BOX, CONTENT, dash, MARGIN, PADDING, SHAPE } from '../constants/css-property-keyword';\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 = dash(SHAPE, 'outside');\n}","import { MasterCSSRule } from '../rule';\nimport { dash, MARGIN, SHAPE } from '../constants/css-property-keyword';\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 = dash(SHAPE, MARGIN);\n}","import { MasterCSSRule } from '../rule';\nimport { dash, IMAGE, SHAPE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'ShapeImageThreshold'\n static override propName = dash(SHAPE, IMAGE, 'threshold');\n static override unit = '';\n}","import { BORDER, BOX, CLIP, CONTENT, dash, FILL, MARGIN, PADDING, STROKE, VIEW } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'ClipPath'\n static override matches = /^clip:./\n static override propName = dash(CLIP, 'path');\n}","import { GRID } from '../constants/css-property-keyword';\nimport { 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 { FONT } from '../constants/css-property-keyword';\nimport { 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 { dash, GRID, TEMPLATE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplate'\n static override propName = dash(GRID, TEMPLATE);\n override order = -1;\n}","import { dash, GRID, ROW, START } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowStart'\n static override propName = dash(GRID, ROW, START);\n static override unit = '';\n}","import { AREA, dash, GRID, TEMPLATE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateAreas'\n static override propName = dash(GRID, TEMPLATE, AREA) + 's';\n}","import { COLUMNS, CONTENT, dash, GRID, MAX, MIN, TEMPLATE } from '../constants/css-property-keyword';\nimport { 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 = dash(GRID, TEMPLATE, COLUMNS);\n}","import { CONTENT, dash, GRID, MAX, MIN, ROWS, TEMPLATE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridTemplateRows'\n static override propName = dash(GRID, TEMPLATE, ROWS);\n}","import { AREA, dash, GRID } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridArea'\n static override propName = dash(GRID, AREA);\n static override unit = '';\n override order = -1;\n}","import { COLUMN, dash, END, GRID } from '../constants/css-property-keyword';\nimport { 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 = dash(GRID, COLUMN, END);\n static override unit = '';\n}","import { dash, END, GRID, ROW } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'GridRowEnd'\n static override propName = dash(GRID, ROW, END);\n static override unit = '';\n}","import { MasterCSSRule } from '../rule';\nimport { dash, IMAGE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'MaskImage'\n static override propName = dash('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 { dash, STROKE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDasharray'\n static override propName = dash(STROKE, 'dasharray');\n}","import { dash, OFFSET, STROKE } from '../constants/css-property-keyword';\nimport { MasterCSSRule } from '../rule';\n\nexport default class extends MasterCSSRule {\n static override id = 'StrokeDashoffset'\n static override propName = dash(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';\nimport { BORDER, dash, IMAGE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageOutset'\n static override propName = dash(BORDER, IMAGE, 'outset');\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, IMAGE, REPEAT } from '../constants/css-property-keyword';\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 = dash(BORDER, IMAGE, REPEAT);\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, IMAGE, SLICE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImageSlice'\n static override propName = dash(BORDER, IMAGE, SLICE);\n static override unit = '';\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, IMAGE } from '../constants/css-property-keyword';\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 = dash(BORDER, IMAGE, 'source');\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, IMAGE, WIDTH } from '../constants/css-property-keyword';\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 = dash(BORDER, IMAGE, WIDTH);\n}","import { MasterCSSRule } from '../rule';\nimport { BORDER, dash, IMAGE } from '../constants/css-property-keyword';\n\nexport default class extends MasterCSSRule {\n static override id = 'BorderImage'\n static override propName = dash(BORDER, IMAGE);\n static override unit = '';\n}","import { MasterCSSRule } from '../rule';\nimport MasterCSS from '../core'\nimport { START_SYMBOL } from '../constants/start-symbol';\nimport { MasterCSSDeclaration } from 'src/interfaces/declaration';\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: string = '';\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 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'\n\nexport const 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 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];","import { MasterCSSConfig } from '../interfaces/config'\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 { defaultValues } from './values'\nimport { DefaultRules } from './rules'\n\nconst defaultConfig: MasterCSSConfig = {\n colors: defaultColors,\n breakpoints: defaultBreakpoints,\n semantics: defaultSemantics,\n values: defaultValues,\n selectors: defaultSelectors,\n themes: defaultThemes,\n Rules: DefaultRules,\n rootSize: defaultRootSize\n}\n\nexport {\n defaultColors,\n defaultBreakpoints,\n defaultSemantics,\n defaultValues,\n defaultSelectors,\n defaultThemes,\n DefaultRules,\n defaultRootSize,\n defaultConfig\n}","import MasterCSS from './core'\nimport { MasterCSSConfig } from './interfaces/config'\n\nexport function init(config?: MasterCSSConfig) {\n if (typeof window !== 'undefined') {\n const css = new MasterCSS(config, document.head)\n MasterCSS.root = css\n css.observe(document.documentElement)\n return css\n } else {\n return new MasterCSS(config)\n }\n}","import { defaultConfig } from './config';\nimport { init } from './init';\nimport { MasterCSSConfig } from './interfaces/config';\nimport { MasterCSSRule } from './rule';\n\nconst selectorSymbols = [',', '.', '#', '[', '!', '*', '>', '+', '~', ':', '@'];\n\nconst hasDocument = typeof document !== 'undefined';\n\nlet STYLE: HTMLStyleElement;\nif (hasDocument) {\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 isBrowser = typeof window !== 'undefined';\n\nconst MutationObserver = isBrowser\n ? window.MutationObserver\n : Object;\n\nexport default class MasterCSS extends MutationObserver {\n\n static init = init;\n static defaultConfig: MasterCSSConfig = defaultConfig\n static instances: MasterCSS[] = []\n static root: MasterCSS\n\n /**\n * 全部 sheet 根據目前蒐集到的所有 DOM class 重新 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 ruleOfName: Record<string, MasterCSSRule> = {};\n readonly countOfName = {};\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 = { single: [], multiple: [] }\n\n const { semantics, classes, selectors, themes, colors } = 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 entry of Object.entries(selectors)) {\n const isSingle = typeof entry[1] === 'string';\n this.selectors[isSingle ? 'single' : 'multiple'].push([\n new RegExp(escapeString(entry[0]) + '(?![a-z-])', isSingle ? 'g' : ''),\n entry[1] as any\n ]);\n }\n }\n\n const mergeClasses = (theme: string, classes: Record<string, string>) => {\n if (!classes)\n return;\n\n for (const semanticName in classes) {\n const className = classes[semanticName];\n const classNames: string[] = Array.isArray(className)\n ? className\n : className\n .replace(/(?:\\n(?:\\s*))+/g, ' ')\n .trim()\n .split(' ');\n\n if (!(semanticName in this.classes)) {\n this.classes[semanticName] = [];\n }\n const currentClass = this.classes[semanticName];\n for (const eachClassName of classNames) {\n if (eachClassName in this.relationThemesMap) {\n if (theme in this.relationThemesMap[eachClassName]) {\n this.relationThemesMap[eachClassName][theme].push(semanticName);\n } else {\n this.relationThemesMap[eachClassName][theme] = [semanticName];\n }\n } else {\n this.relationThemesMap[eachClassName] = { [theme]: [semanticName] };\n }\n\n if (!currentClass.includes(eachClassName)) {\n currentClass.push(eachClassName);\n }\n }\n }\n\n for (const semanticName in this.relationThemesMap) {\n this.relations[semanticName] = [];\n for (const classNames of Object.values(this.relationThemesMap[semanticName])) {\n for (const eachClassName of classNames) {\n if (!this.relations[semanticName].includes(eachClassName)) {\n this.relations[semanticName].push(eachClassName);\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\n mergeClasses('', classes);\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 mergeClasses(eachTheme, themeValue.classes);\n mergeColors(eachTheme, themeValue.colors);\n this.themeNames.push(eachTheme);\n }\n }\n }\n }\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: { single: [RegExp, string][], multiple: [RegExp, string[]][] }\n\n constructor(\n public config: MasterCSSConfig = defaultConfig,\n public container?: Element\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 * 取得所有深層後代的 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 * 防止同樣的 MutationRecord 重複執行\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 * 第一個匹配到的 oldValue 一定是該批變動前的原始狀態值\n */\n attributeMutationRecords.push(mutationRecord);\n }\n } else {\n // 先判斷節點新增或移除\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 * 如果被操作的元素中包含了屬性變更的目標,\n * 則將該目標從 existedAttributeMutationTargets 中移除,\n * 以防止執行接下來的屬性變更處理\n * \n * 該批 mutationRecords 中,某個 target 同時有 attribute 及 childList 的變更,\n * 則以 childList 節點插入及移除的 target.className 為主\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.countOfName[className] || 0) + correction;\n if (count === 0) {\n // remove\n delete this.countOfName[className];\n /**\n * class name 從 DOM tree 中被移除,\n * 匹配並刪除對應的 rule\n */\n this.delete(className);\n } else {\n if (!(className in this.countOfName)) {\n // add\n /**\n * 新 class name 被 connected 至 DOM tree,\n * 匹配並創建對應的 Rule\n */\n this.findAndInsert(className);\n }\n\n this.countOfName[className] = count;\n }\n }\n\n // console.timeEnd('css engine');\n });\n\n this.cache()\n\n if (!hasDocument) {\n return;\n }\n\n if (container) {\n let rootStyle: HTMLStyleElement\n // @ts-ignore\n for (let sheet of (container.shadowRoot?.styleSheets || document.styleSheets)) {\n if (sheet.title === 'master') {\n rootStyle = sheet.ownerNode\n }\n }\n if (rootStyle) {\n this.style = rootStyle;\n\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.ruleOfName) && !(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.ruleOfName[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 this.style = STYLE.cloneNode() as HTMLStyleElement;\n /** 使用 prepend 而非 append 去降低 rules 類的優先層級,無法強制排在所有 <style> 之後 */\n this.container?.prepend(this.style);\n }\n }\n\n MasterCSS.instances.push(this);\n }\n\n observe(target: Node, options: MutationObserverInit = { subtree: true, childList: true }) {\n if (options.subtree) {\n /**\n * 待所有 DOM 結構完成解析後,開始繪製 MasterCSSRule 樣式\n */\n (target as Element)\n .querySelectorAll('[class]')\n .forEach((element) => {\n element.classList.forEach((className) => {\n if (className in this.countOfName) {\n this.countOfName[className]++;\n } else {\n this.countOfName[className] = 1;\n\n this.findAndInsert(className);\n }\n })\n });\n }\n super.observe(target, {\n ...options,\n attributes: true,\n attributeOldValue: true,\n attributeFilter: ['class'],\n });\n return this;\n }\n\n disconnect(): void {\n super.disconnect();\n // @ts-ignore\n this.ruleOfName = {};\n // @ts-ignore\n this.countOfName = {};\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 * 尋找匹配的 MasterCSSRule 生成實例\n */\n findAndNew(name: string) {\n const findAndNewRule = (className: string) => {\n if (className in this.ruleOfName)\n return this.ruleOfName[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 * 根據目前蒐集到的所有 DOM class 重新 findAndNew\n */\n refresh(config: MasterCSSConfig) {\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.ruleOfName = {};\n\n /**\n * 拿當前所有的 classNames 按照最新的 colors, breakpoints, config.Rules 匹配並生成新的 style\n * 所以 refresh 過後 rules 可能會變多也可能會變少\n */\n for (const name in this.countOfName) {\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 }\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.ruleOfName[rule.className])\n return;\n\n let index;\n /**\n * 必須按斷點值遞增,並透過索引插入,\n * 以實現響應式先後套用的規則\n * @example <1 <2 <3 ALL >=1 >=2 >=3\n * @description\n */\n const endIndex = this.rules.length - 1;\n const media = rule.media;\n const order = rule.order;\n const prioritySelectorIndex = rule.prioritySelectorIndex;\n const hasWhere = rule.hasWhere;\n const findPrioritySelectorInsertIndex = (\n rules: MasterCSSRule[],\n findStartIndex?: (rule: MasterCSSRule) => any,\n findEndIndex?: (rule: MasterCSSRule) => any,\n ignoreRule?: (rule: MasterCSSRule) => any\n ) => {\n let targetRules: MasterCSSRule[];\n let sIndex = 0;\n let eIndex: number;\n\n // 1. 找尋目標陣列\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 targetRules = rules.slice(sIndex, eIndex);\n\n // 2. 由目標陣列找尋插入點\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 * 範圍越小 ( 越限定 越侷限 ) 越優先,\n * 按照範圍 max-width - min-width 遞減排序\n * find 第一個所遇到同樣 feature 且範圍值比自己大的 rule,\n * 並插入在該 rule 之後,讓自己優先被套用\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 第一個所遇到同樣 feature 且值比自己大的 rule,\n * 並插入在該 rule 之後,讓自己優先被套用\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 * 永遠插入在 range feature 前\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 第一個所遇到同樣 feature 且值比自己大的 rule,\n * 並插入在該 rule 之後,讓自己優先被套用\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 * 永遠插入在 range feature 前\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 * 如果找不到目標位置則插在最後面\n */\n if (index === undefined) {\n if (mediaStartIndex === -1) {\n // 無任何 media 時,優先級最高\n index = endIndex + 1;\n } else if (prioritySelectorIndex !== -1) {\n // 含有優先 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 // 不含優先 selector,且含有 where,優先級最低\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 // 不含優先 selector,且不含有 where,優先級緊接非 min-width / max-width 的 where 之後\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 // 不含優先 selector\n if (hasWhere) {\n // 含有 where,優先級最低\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 // 不含 where,優先級緊接 where 之後\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 // 含有優先 selector\n index = findPrioritySelectorInsertIndex(this.rules, undefined, eachRule => eachRule.media);\n }\n }\n\n try {\n this.rules.splice(index, 0, rule);\n this.ruleOfName[rule.className] = rule;\n\n if (this.style) {\n const sheet = this.style.sheet;\n\n let cssRuleIndex: number = 0;\n\n const previousRule = this.rules[index - 1];\n if (previousRule) {\n const lastNativeCssRule = previousRule.natives[previousRule.natives.length - 1].cssRule;\n\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 for (const eachNative of rule.natives) {\n sheet.insertRule(eachNative.text, cssRuleIndex);\n eachNative.cssRule = sheet.cssRules[cssRuleIndex++];\n }\n }\n } catch (error) {\n console.error(error);\n }\n }\n\n delete(className: string) {\n /**\n * class name 從 DOM tree 中被移除,\n * 匹配並刪除對應的 rule\n */\n const sheet = this.style.sheet;\n const deleteRule = (name: string) => {\n const rule = this.ruleOfName[name];\n if (\n !rule\n || name in this.relations && this.relations[name].some(eachClassName => eachClassName in this.countOfName)\n )\n return;\n\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 delete this.ruleOfName[rule.className];\n\n break;\n }\n }\n };\n\n if (className in this.classes) {\n for (const eachClassName of this.classes[className]) {\n if (!(eachClassName in this.countOfName)) {\n deleteRule(eachClassName);\n }\n }\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\nif (isBrowser) {\n window.MasterCSS = MasterCSS;\n}\n\ndeclare global {\n interface Window {\n MasterCSS: typeof MasterCSS;\n }\n}","import MasterCSS from './core'\nimport './polyfills/css-escape'\n\nexport function render(classes: string[], css: MasterCSS = new MasterCSS()): string {\n if (!classes?.length) return\n for (const eachClassName of classes) {\n if (!(eachClassName in css.countOfName)) {\n css.findAndInsert(eachClassName)\n css.countOfName[eachClassName] = 1\n }\n }\n return css.rules.map(eachRule => eachRule.natives.reduce((a, b) => a + b.text, '')).join('')\n}","import MasterCSS from './core'\nimport './polyfills/css-escape'\n\nexport function renderFromHTML(html: string, css: MasterCSS = new MasterCSS()): string {\n if (!html) return\n const regexp = /\\sclass=\"([^\"]*)\"/gm\n let results: string[]\n while (results = regexp.exec(html)) {\n const classNames = results[1].replace(/\\n/g, '').split(' ').filter(css => css)\n for (const eachClassName of classNames) {\n if (!(eachClassName in css.countOfName)) {\n css.findAndInsert(eachClassName)\n css.countOfName[eachClassName] = 1\n }\n }\n }\n return css.rules.map(eachRule => eachRule.natives.reduce((a, b) => a + b.text, '')).join('')\n}","import MasterCSS from './core';\nimport './polyfills/css-escape'\nimport { renderFromHTML } from './render-from-html';\n\nexport function renderIntoHTML(html: string, css: MasterCSS = new MasterCSS()): string {\n if (!html) return;\n return html\n .replace(/(<head>)/, `$1<style title=\"master\">${renderFromHTML(html, css)}</style>`)\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 './concat-arrays'\nimport { isPlainObject } from './is-plain-object'\nimport { isSymbol } from './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 function mergeAndConcat<T extends Record<string, any>, Tn extends Record<string, any>[]>(\n object: T,\n ...otherObjects: Tn\n): ExpandDeep<any> {\n return otherObjects.reduce((result, newComer) => {\n return mergeRecursively(result, newComer, concatArrays)\n }, object) as any\n}","import { defaultConfig } from './config';\nimport { MasterCSSConfig } from './interfaces/config';\nimport { mergeAndConcat } from './utils/merge';\n\nexport function configure(...configurations: MasterCSSConfig[]): MasterCSSConfig {\n if (configurations.length) {\n return mergeAndConcat(defaultConfig, ...configurations)\n } else {\n return defaultConfig\n }\n}"],"mappings":"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,GACAyE,GACAC,GACA7E,GACAb,GACAoF,GACAa,GACAkC,GACAzI,GACAkI,GACAlL,GACAoJ,GACAS,GACAzH,GACAiD,GACAN,EACAyF,GACAE,GACAlJ,GACA8E,GACA5F,GACA+C,GACA8G,GACAvJ,GACA0F,GACAtB,GACA0D,GACAD,GACAlI,EACAH,GACAiI,GACA1G,EACAgC,GACAsD,GACAzD,GACAqC,GACAkD,EACA/I,EACAyC,GACA8D,GACAnB,GACAlD,GACAuE,GACAkB,GACA+D,GACA3G,GACA4G,GACAS,GACA9K,GACAZ,GACA8G,GACA2E,GACAD,GACAN,GACAtH,GACAwH,EACA/F,GACAI,GACAtF,GACAgE,GACApB,GACAW,EACAnC,GACAqH,GACA9E,GACAwG,GACA3D,GACA7E,GACAyI,GACAvB,GACAlB,GACAjG,GACAuF,GACA+C,GACA/H,GACAJ,GACA0E,GACA9B,GACAqB,GACAxD,GACApD,GACAsB,GACAkD,GACAxC,GACAI,GACAnB,GACAoC,GACAL,GACAxB,GACAmF,GACAmF,GACA/C,GACA6B,EACA7K,GACAyH,GACAyE,GACAjB,GACAQ,GACAQ,GACAjC,GACAxH,GACApB,GACAyB,GACA6G,GACAnJ,GACAiL,GACA3F,GACAkB,GACAC,GACAvD,GACAsE,GACAO,GACApF,GACA+E,GACAwC,EACApG,GACAyF,GACAP,GACApJ,GACAuK,GACA/E,GACAnC,GACAyG,GACArE,GACAO,GACAI,GACAL,GACAI,GACAtC,GACAG,GACAkH,GACAzG,GACAuH,GACAtL,GACAoG,GACAkD,GACAuB,GACA7B,GACAnI,GACArB,GACA8H,GACApI,GACAY,GACAqE,GACA2F,GAMA7E,GACAV,GACA1E,GACAwD,GACAuE,GACA3B,GACAlD,GACAW,GACApD,GACAsI,GACArC,GACAC,GACA5B,GACA9D,GACAuI,GACA3E,GACAF,GACA8D,GACAvB,GACAlB,GACAqC,GACAK,GACAgC,GACAzL,GACAC,GACAwI,GACAC,GACAyC,GACA5D,GACAoE,GACAxG,GACA0C,GA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WC,KAAYD,EACnBnB,EAAWoB,CAAQ,OAGnBD,EACAnB,EAAWmB,CAAM,EAEjBzB,EAAQ,KAAK,WAAa,GAAIwB,CAAQ,CAGlD,CAEA,OAAOzB,CACX,CACJ,EA1GI4B,EADGhC,GACa,KAAK,SACrBgC,EAFGhC,GAEa,UAAU,2BAC1BgC,EAHGhC,GAGa,OAAO,ICR3B,IAAOiC,GAAP,cAA6BC,CAAc,CAI3C,EAHIC,EADGF,GACa,KAAK,oBACrBE,EAFGF,GAEa,WAAW,qBAC3BE,EAHGF,GAGa,OAAO,IC6LpB,IAAMG,GAAe,CACxBC,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,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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","names":["css_property_keyword_exports","__export","ABS","ABSOLUTE","ACCENT","ACTION","AFTER","ALIGN","ALL","ANIMATION","ANTIALIASED","AREA","ASPECT","ATTACHMENT","AUTO","BACKDROP","BACKGROUND","BASIS","BEFORE","BEHAVIOR","BG_PREFIX","BLEND","BLOCK","BLUR","BORDER","BOX","BOX_PREFIX","BREAK","CARET","CENTER","CLAMP","CLEAR","CLIP","CLONE","COL","COLLAPSE","COLOR","COLUMN","COLUMNS","COMMA","CONTAIN","CONTENT","CONTENTS","COUNT","COVER","CURSOR","DASH","DECORATION","DEG","DELAY","DIRECTION","DISPLAY","DOWN","DRAG","DROP","DURATION","ELLIPSIS","EM","END","EVENTS","FAMILY","FILL","FILTER","FIRST","FIT","FIXED","FLEX","FLEX_PREFIX","FLOAT","FLOW","FONT","FONT_PREFIX","FR","FULL","F_PREFIX","GAP","GRAYSCALE","GRID","GROW","HEIGHT","HIDDEN","HIDE","HUE","H_PREFIX","IMAGE","INDENT","INLINE","INSIDE","INVISIBLE","ISOLATE","ISOLATION","ITEM","ITEMS","ITERATION","JUSTIFY","KEEP","LAST","LAYOUT","LETTER","LETTER_SPACING","LINE","LIST","LOCAL","MARGIN","MAX","MAX_HEIGHT","MAX_WIDTH","MIDDLE","MIN","MIN_HEIGHT","MIN_WIDTH","MIX","MODE","MONO","NAME","NONE","NORMAL","NOWRAP","NUMERIC","OBJECT","OBJECT_PREFIX","OFFSET","OPACITY","ORDER","ORDER_PREFIX","ORIENT","ORIGIN","OUTLINE","OVERFLOW","OVERSCROLL_BEHAVIOR","PADDING","PLACE","PLAY_STATE","POINTER","POSITION","PROPERTY","PX","RADIUS","RATIO","REL","RELATIVE","REM","REPEAT","RESIZE","REVERSE","ROTATE","ROUND","ROUNDED","ROW","ROWS","SANS","SCALE","SCROLL","SELECT","SELF","SERIF","SHADOW","SHAPE","SHARP","SHOW","SHRINK","SIZE","SIZING","SKEW","SLICE","SMOOTHING","SNAP","SPACE","SPACING","SPAN","SQUARE","START","STATIC","STICKY","STOP","STROKE","STYLE","SUBPIXEL","TABLE","TEMPLATE","TEXT","THICKNESS","TIMING_FUNCTION","TOUCH","TRANSFORM","TRANSITION","TRANSLATE","TYPE","T_PREFIX","UNDERLINE","USER","VARIANT","VERTICAL","VIDEO","VIEW","VISIBILITY","VISIBLE","WEIGHT","WHITE","WIDTH","WORD","WRAP","W_PREFIX","X","Y","Z_INDEX","dash","init_css_property_keyword","__esmMin","words","require_css_escape","__commonJSMin","exports","module","root","factory","cssEscape","value","string","length","index","codeUnit","result","firstCodeUnit","defaultBreakpoints","hexToRgb","hex","aRgbHex","rgbToHex","r","g","b","fillColorScale","data","hasMainRgb","isLevelMore100","level","startLevel","startRgb","hexToRgb","endLevel","endRgb","newLevels","generateColor","levelDiff","rgbDiff","color","i","eachNewLevel","currentLevelDiff","newRgb","rgbToHex","defaultColors","fillColorScale","defaultRootSize","defaultSelectors","defaultSemantics","defaultThemes","dash","FIT","MAX","MIN","CONTENT","COLUMN","boxUnderneath","contentExtrema","sizingValues","key","defaultBreakpoints","defaultValues","init_css_property_keyword","getCssPropertyText","name","property","normalizeCssCalcText","value","isOperator","char","newValue","type","current","endWithBracket","clear","i","UNIT_VALUE_PATTERN","VAR_START","parseValue","token","defaultUnit","colorsThemesMap","values","rootSize","themes","value","unit","unitToken","colorMatched","colorNames","anyMatched","hasColorName","origin","prefix","colorName","level","opacityStr","_a","themeHexColorMap","hexColor","eachTheme","newValue","opacity","matches","splits","normalizeCssCalcText","PRIORITY_SELECTORS","START_SYMBOL","MATCHES","SEMANTICS","SYMBOL","WIDTH","MAX_WIDTH","MIN_WIDTH","MOTION","REDUCE","REDUCED_MOTION","PX","REM","selectorSymbols","selectorSplitRegexp","transformSelectorUnderline","selector","eachToken","i","MasterCSSRule","className","matching","css","TargetRule","id","unit","propName","colorful","breakpoints","mediaQueries","semantics","rootSize","values","relationThemesMap","themeNames","colorsThemesMap","selectors","token","value","prefixToken","suffixToken","valueTokens","valueToken","indexOfColon","currentValueToken","analyze","end","depth","func","varIndex","isString","val","count","j","START_SYMBOL","analyzeSelectorToken","selectorText","transformedSelectorText","currentSelector","symbolCount","char","suffixTokens","suffixSelector","originalSuffixTokens","eachOriginalSuffixToken","eachSingleSelectorEntry","transform","eachMultipleSelectorEntry","eachSelectorText","eachSuffixSelector","PRIORITY_SELECTORS","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","_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","dash","FONT","WEIGHT","init_css_property_keyword","font_family_default","MasterCSSRule","__publicField","dash","FONT","FAMILY","init_css_property_keyword","font_size_default","MasterCSSRule","__publicField","dash","FONT","SIZE","init_css_property_keyword","TOP","BOTTOM","LEFT","RIGHT","L","R","T","B","X","Y","spacing_default","MasterCSSRule","declaration","SPACING","MARGIN","PADDING","SPACING_LEFT","dash","LEFT","SPACING_RIGHT","RIGHT","SPACING_TOP","TOP","SPACING_BOTTOM","BOTTOM","X","Y","L","R","T","B","__publicField","init_css_property_keyword","width_default","MasterCSSRule","__publicField","WIDTH","init_css_property_keyword","height_default","MasterCSSRule","__publicField","HEIGHT","init_css_property_keyword","min_width_default","MasterCSSRule","__publicField","MIN_WIDTH","init_css_property_keyword","min_height_default","MasterCSSRule","__publicField","MIN_HEIGHT","init_css_property_keyword","letter_spacing_default","MasterCSSRule","__publicField","LETTER_SPACING","init_css_property_keyword","DASH","WEBKIT_PREFIX","MOZ_PREFIX","SUBPIXEL_ANTIALIASED","dash","SUBPIXEL","ANTIALIASED","WEBKIT_FONT_SMOOTHING","WEBKIT_PREFIX","FONT","SMOOTHING","MOZ_OSXFONT_SMOOTHING","MOZ_PREFIX","font_smoothing_default","MasterCSSRule","declaration","props","AUTO","GRAYSCALE","__publicField","init_css_property_keyword","font_style_default","MasterCSSRule","__publicField","dash","FONT","STYLE","init_css_property_keyword","font_variant_numeric_default","MasterCSSRule","__publicField","dash","FONT","VARIANT","NUMERIC","init_css_property_keyword","line_height_default","MasterCSSRule","__publicField","dash","LINE","HEIGHT","init_css_property_keyword","object_fit_default","MasterCSSRule","__publicField","dash","OBJECT","FIT","init_css_property_keyword","object_position_default","MasterCSSRule","__publicField","dash","OBJECT","POSITION","init_css_property_keyword","text_align_default","MasterCSSRule","__publicField","dash","TEXT","ALIGN","init_css_property_keyword","text_decoration_default","MasterCSSRule","__publicField","dash","TEXT","DECORATION","init_css_property_keyword","text_transform_default","MasterCSSRule","__publicField","dash","TEXT","TRANSFORM","init_css_property_keyword","vertical_align_default","MasterCSSRule","__publicField","dash","VERTICAL","ALIGN","init_css_property_keyword","lines_default","MasterCSSRule","declaration","HIDDEN","WEBKIT_PREFIX","BOX","dash","BREAK","WORD","ELLIPSIS","VERTICAL","__publicField","init_css_property_keyword","transform_origin_default","MasterCSSRule","__publicField","dash","TRANSFORM","ORIGIN","PX","init_css_property_keyword","transform_style_default","MasterCSSRule","__publicField","dash","TRANSFORM","STYLE","init_css_property_keyword","transform_box_default","MasterCSSRule","__publicField","dash","TRANSFORM","BOX","init_css_property_keyword","transform_default","MasterCSSRule","value","origin","method","type","valueStr","unit","last","TRANSLATE","REM","SKEW","DEG","ROTATE","values","eachValue","i","__publicField","TRANSFORM","init_css_property_keyword","transition_default","MasterCSSRule","__publicField","TRANSITION","init_css_property_keyword","transition_delay_default","MasterCSSRule","__publicField","dash","TRANSITION","DELAY","init_css_property_keyword","transition_duration_default","MasterCSSRule","__publicField","dash","TRANSITION","DURATION","init_css_property_keyword","transition_property_default","MasterCSSRule","__publicField","dash","TRANSITION","PROPERTY","init_css_property_keyword","transition_timing_function_default","MasterCSSRule","__publicField","dash","TRANSITION","TIMING_FUNCTION","init_css_property_keyword","max_height_default","MasterCSSRule","__publicField","MAX_HEIGHT","init_css_property_keyword","max_width_default","MasterCSSRule","__publicField","MAX_WIDTH","init_css_property_keyword","display_default","MasterCSSRule","__publicField","DISPLAY","init_css_property_keyword","box_sizing_default","MasterCSSRule","__publicField","dash","BOX","SIZING","init_css_property_keyword","opacity_default","MasterCSSRule","__publicField","OPACITY","init_css_property_keyword","visibility_default","MasterCSSRule","__publicField","VISIBILITY","init_css_property_keyword","clear_default","MasterCSSRule","__publicField","CLEAR","init_css_property_keyword","float_default","MasterCSSRule","__publicField","FLOAT","init_css_property_keyword","isolation_default","MasterCSSRule","__publicField","ISOLATION","init_css_property_keyword","overflow_default","MasterCSSRule","declaration","X","Y","__publicField","init_css_property_keyword","overscroll_behavior_default","MasterCSSRule","declaration","X","dash","OVERSCROLL_BEHAVIOR","Y","__publicField","init_css_property_keyword","z_index_default","MasterCSSRule","__publicField","Z_INDEX","init_css_property_keyword","animation_delay_default","MasterCSSRule","__publicField","dash","ANIMATION","DELAY","init_css_property_keyword","animation_direction_default","MasterCSSRule","__publicField","dash","ANIMATION","DIRECTION","init_css_property_keyword","animation_fill_mode_default","MasterCSSRule","__publicField","dash","ANIMATION","FILL","MODE","init_css_property_keyword","animation_iteration_count_default","MasterCSSRule","__publicField","dash","ANIMATION","ITERATION","COUNT","init_css_property_keyword","animation_name_default","MasterCSSRule","__publicField","dash","ANIMATION","NAME","init_css_property_keyword","animation_play_state_default","MasterCSSRule","__publicField","dash","ANIMATION","PLAY_STATE","init_css_property_keyword","animation_timing_function_default","MasterCSSRule","__publicField","dash","ANIMATION","TIMING_FUNCTION","init_css_property_keyword","animation_default","MasterCSSRule","__publicField","ANIMATION","init_css_property_keyword","init_css_property_keyword","BORDER_DASH","BORDER","DASH","getBorderProps","name","declaration","suffix","direction","BORDER_LEFT","LEFT","BORDER_RIGHT","RIGHT","BORDER_TOP","TOP","BORDER_BOTTOM","BOTTOM","X","Y","L","R","T","B","border_color_default","MasterCSSRule","declaration","getBorderProps","COLOR","dash","BORDER","__publicField","init_css_property_keyword","BORDER_TOP_LEFT_RADIUS","dash","BORDER","TOP","LEFT","RADIUS","BORDER_TOP_RIGHT_RADIUS","RIGHT","BORDER_BOTTOM_LEFT_RADIUS","BOTTOM","BORDER_BOTTOM_RIGHT_RADIUS","BORDER_RADIUS","BORDER_RADIUS_S","border_radius_default","MasterCSSRule","declaration","_a","suffix","splits","i","T","B","L","R","prefix","__publicField","init_css_property_keyword","border_style_default","MasterCSSRule","declaration","getBorderProps","STYLE","dash","BORDER","__publicField","init_css_property_keyword","border_width_default","MasterCSSRule","declaration","getBorderProps","WIDTH","dash","BORDER","__publicField","init_css_property_keyword","border_default","MasterCSSRule","declaration","getBorderProps","BORDER","__publicField","init_css_property_keyword","background_attachment_default","MasterCSSRule","__publicField","dash","BACKGROUND","ATTACHMENT","init_css_property_keyword","background_blend_mode_default","MasterCSSRule","__publicField","dash","BACKGROUND","BLEND","MODE","init_css_property_keyword","background_clip_default","MasterCSSRule","declaration","__publicField","dash","BACKGROUND","CLIP","init_css_property_keyword","background_color_default","MasterCSSRule","__publicField","dash","BACKGROUND","COLOR","init_css_property_keyword","background_origin_default","MasterCSSRule","__publicField","dash","BACKGROUND","ORIGIN","init_css_property_keyword","background_position_default","MasterCSSRule","__publicField","dash","BACKGROUND","POSITION","PX","init_css_property_keyword","background_repeat_default","MasterCSSRule","__publicField","dash","BACKGROUND","REPEAT","init_css_property_keyword","background_size_default","MasterCSSRule","__publicField","dash","BACKGROUND","SIZE","init_css_property_keyword","background_image_default","MasterCSSRule","__publicField","dash","BACKGROUND","IMAGE","init_css_property_keyword","background_default","MasterCSSRule","__publicField","BACKGROUND","init_css_property_keyword","mix_blend_mode_default","MasterCSSRule","__publicField","dash","MIX","BLEND","MODE","init_css_property_keyword","position_default","MasterCSSRule","__publicField","POSITION","init_css_property_keyword","placement_default","MasterCSSRule","declaration","propertyName","TOP","LEFT","RIGHT","BOTTOM","CENTER","MIDDLE","__publicField","init_css_property_keyword","init_css_property_keyword","parseValueUnit","value","getUnit","result","i","analyze","end","method","current","unit","pushCurrent","REM","val","backdrop_filter_default","MasterCSSRule","declaration","value","parseValueUnit","method","BLUR","dash","DROP","SHADOW","REM","HUE","ROTATE","DEG","__publicField","BACKDROP","FILTER","init_css_property_keyword","fill_default","MasterCSSRule","__publicField","FILL","init_css_property_keyword","stroke_default","MasterCSSRule","__publicField","STROKE","init_css_property_keyword","stroke_width_default","MasterCSSRule","__publicField","dash","STROKE","WIDTH","init_css_property_keyword","filter_default","MasterCSSRule","value","parseValueUnit","method","BLUR","dash","DROP","SHADOW","REM","HUE","ROTATE","DEG","__publicField","FILTER","init_css_property_keyword","cursor_default","MasterCSSRule","__publicField","CURSOR","init_css_property_keyword","pointer_events_default","MasterCSSRule","__publicField","dash","POINTER","EVENTS","init_css_property_keyword","resize_default","MasterCSSRule","__publicField","RESIZE","init_css_property_keyword","touch_action_default","MasterCSSRule","__publicField","dash","TOUCH","ACTION","init_css_property_keyword","user_drag_default","MasterCSSRule","declaration","__publicField","dash","USER","DRAG","init_css_property_keyword","user_select_default","MasterCSSRule","declaration","__publicField","dash","USER","SELECT","init_css_property_keyword","box_shadow_default","MasterCSSRule","__publicField","dash","BOX","SHADOW","init_css_property_keyword","text_shadow_default","MasterCSSRule","__publicField","dash","TEXT","SHADOW","init_css_property_keyword","text_size_default","MasterCSSRule","declaration","REM","__publicField","init_css_property_keyword","word_break_default","MasterCSSRule","__publicField","dash","WORD","BREAK","init_css_property_keyword","grid_columns_default","MasterCSSRule","declaration","DISPLAY","GRID","dash","TEMPLATE","COLUMNS","REPEAT","COMMA","MIN","MAX","FR","__publicField","init_css_property_keyword","grid_rows_default","MasterCSSRule","declaration","DISPLAY","GRID","dash","AUTO","FLOW","COLUMN","TEMPLATE","ROWS","REPEAT","COMMA","MIN","MAX","FR","__publicField","init_css_property_keyword","gap_default","MasterCSSRule","declaration","X","dash","COLUMN","GAP","Y","ROW","__publicField","init_css_property_keyword","word_spacing_default","MasterCSSRule","__publicField","dash","WORD","SPACING","variable_default","MasterCSSRule","declaration","__publicField","init_css_property_keyword","aspect_radio_default","MasterCSSRule","__publicField","dash","ASPECT","RATIO","init_css_property_keyword","box_decoration_break_default","MasterCSSRule","declaration","__publicField","dash","BOX","DECORATION","BREAK","init_css_property_keyword","break_after_default","MasterCSSRule","__publicField","dash","BREAK","AFTER","init_css_property_keyword","break_before_default","MasterCSSRule","__publicField","dash","BREAK","BEFORE","init_css_property_keyword","break_inside_default","MasterCSSRule","__publicField","dash","BREAK","INSIDE","init_css_property_keyword","flex_shrink_default","MasterCSSRule","__publicField","dash","FLEX","SHRINK","init_css_property_keyword","flex_direction_default","MasterCSSRule","__publicField","dash","FLEX","DIRECTION","init_css_property_keyword","flex_grow_default","MasterCSSRule","__publicField","dash","FLEX","GROW","init_css_property_keyword","flex_wrap_default","MasterCSSRule","__publicField","dash","FLEX","WRAP","init_css_property_keyword","flex_basis_default","MasterCSSRule","__publicField","dash","FLEX","BASIS","init_css_property_keyword","flex_default","MasterCSSRule","__publicField","FLEX","init_css_property_keyword","order_default","MasterCSSRule","__publicField","ORDER","init_css_property_keyword","grid_column_default","MasterCSSRule","value","SPAN","__publicField","dash","GRID","COLUMN","init_css_property_keyword","column_span_default","MasterCSSRule","__publicField","dash","COLUMN","SPAN","init_css_property_keyword","grid_row_default","MasterCSSRule","value","SPAN","__publicField","dash","GRID","ROW","init_css_property_keyword","color_default","MasterCSSRule","__publicField","COLOR","init_css_property_keyword","align_content_default","MasterCSSRule","__publicField","dash","ALIGN","CONTENT","init_css_property_keyword","align_items_default","MasterCSSRule","__publicField","dash","ALIGN","ITEMS","init_css_property_keyword","align_self_default","MasterCSSRule","__publicField","dash","ALIGN","SELF","init_css_property_keyword","grid_auto_columns_default","MasterCSSRule","__publicField","dash","GRID","AUTO","COLUMNS","init_css_property_keyword","grid_auto_flow_default","MasterCSSRule","__publicField","dash","GRID","AUTO","FLOW","init_css_property_keyword","grid_auto_rows_default","MasterCSSRule","__publicField","dash","GRID","AUTO","ROWS","init_css_property_keyword","justify_content_default","MasterCSSRule","__publicField","dash","JUSTIFY","CONTENT","init_css_property_keyword","justify_items_default","MasterCSSRule","__publicField","dash","JUSTIFY","ITEMS","init_css_property_keyword","justify_self_default","MasterCSSRule","__publicField","dash","JUSTIFY","SELF","init_css_property_keyword","place_content_default","MasterCSSRule","__publicField","dash","PLACE","CONTENT","init_css_property_keyword","place_items_default","MasterCSSRule","__publicField","dash","PLACE","ITEMS","init_css_property_keyword","place_self_default","MasterCSSRule","__publicField","dash","PLACE","SELF","init_css_property_keyword","padding_default","MasterCSSRule","declaration","PADDING","__publicField","init_css_property_keyword","margin_default","MasterCSSRule","declaration","MARGIN","__publicField","init_css_property_keyword","text_overflow_default","MasterCSSRule","__publicField","dash","TEXT","OVERFLOW","init_css_property_keyword","list_style_position_default","MasterCSSRule","__publicField","dash","LIST","STYLE","POSITION","init_css_property_keyword","list_style_type_default","MasterCSSRule","__publicField","dash","LIST","STYLE","TYPE","init_css_property_keyword","list_style_default","MasterCSSRule","__publicField","dash","LIST","STYLE","init_css_property_keyword","text_decoration_color_default","MasterCSSRule","__publicField","dash","TEXT","DECORATION","COLOR","init_css_property_keyword","text_decoration_style_default","MasterCSSRule","__publicField","dash","TEXT","DECORATION","STYLE","init_css_property_keyword","text_decoration_thickness_default","MasterCSSRule","__publicField","dash","TEXT","DECORATION","THICKNESS","init_css_property_keyword","text_indent_default","MasterCSSRule","__publicField","dash","TEXT","INDENT","init_css_property_keyword","content_default","MasterCSSRule","__publicField","CONTENT","init_css_property_keyword","outline_color_default","MasterCSSRule","__publicField","dash","OUTLINE","COLOR","init_css_property_keyword","outline_offset_default","MasterCSSRule","__publicField","dash","OUTLINE","OFFSET","init_css_property_keyword","outline_style_default","MasterCSSRule","__publicField","dash","OUTLINE","STYLE","init_css_property_keyword","outline_width_default","MasterCSSRule","__publicField","dash","OUTLINE","WIDTH","init_css_property_keyword","outline_default","MasterCSSRule","__publicField","OUTLINE","init_css_property_keyword","border_collapse_default","MasterCSSRule","__publicField","dash","BORDER","COLLAPSE","init_css_property_keyword","border_spacing_default","MasterCSSRule","__publicField","dash","BORDER","SPACING","init_css_property_keyword","table_layout_default","MasterCSSRule","__publicField","dash","TABLE","LAYOUT","accent_color_default","MasterCSSRule","__publicField","appearance_default","MasterCSSRule","__publicField","init_css_property_keyword","caret_color_default","MasterCSSRule","__publicField","dash","CARET","COLOR","init_css_property_keyword","scroll_behavior_default","MasterCSSRule","__publicField","dash","SCROLL","BEHAVIOR","init_css_property_keyword","scroll_margin_default","MasterCSSRule","declaration","SCROLL_MARGIN_PREFIX","dash","SCROLL","MARGIN","SCROLL_MARGIN_LEFT","LEFT","SCROLL_MARGIN_RIGHT","RIGHT","SCROLL_MARGIN_TOP","TOP","SCROLL_MARGIN_BOTTOM","BOTTOM","X","Y","L","R","T","B","__publicField","init_css_property_keyword","scroll_padding_default","MasterCSSRule","declaration","SCROLL_PADDING_PREFIX","dash","SCROLL","PADDING","SCROLL_PADDING_LEFT","LEFT","SCROLL_PADDING_RIGHT","RIGHT","SCROLL_PADDING_TOP","TOP","SCROLL_PADDING_BOTTOM","BOTTOM","X","Y","L","R","T","B","__publicField","init_css_property_keyword","scroll_snap_align_default","MasterCSSRule","__publicField","dash","SCROLL","SNAP","ALIGN","init_css_property_keyword","scroll_snap_stop_default","MasterCSSRule","__publicField","dash","SCROLL","SNAP","STOP","init_css_property_keyword","scroll_snap_type_default","MasterCSSRule","__publicField","dash","SCROLL","SNAP","TYPE","will_change_default","MasterCSSRule","__publicField","init_css_property_keyword","text_underline_offset_default","MasterCSSRule","__publicField","dash","TEXT","UNDERLINE","OFFSET","inset_default","MasterCSSRule","declaration","__publicField","init_css_property_keyword","columns_default","MasterCSSRule","__publicField","COLUMNS","init_css_property_keyword","white_space_default","MasterCSSRule","__publicField","dash","WHITE","SPACE","init_css_property_keyword","text_orientation_default","MasterCSSRule","__publicField","dash","TEXT","init_css_property_keyword","writing_mode_default","MasterCSSRule","__publicField","dash","MODE","init_css_property_keyword","contain_default","MasterCSSRule","__publicField","CONTAIN","init_css_property_keyword","animation_duration_default","MasterCSSRule","__publicField","dash","ANIMATION","DURATION","init_css_property_keyword","text_rendering_default","MasterCSSRule","__publicField","dash","TEXT","init_css_property_keyword","direction_default","MasterCSSRule","__publicField","DIRECTION","init_css_property_keyword","text_decoration_line_default","MasterCSSRule","__publicField","dash","TEXT","DECORATION","LINE","init_css_property_keyword","grid_column_start_default","MasterCSSRule","__publicField","dash","GRID","COLUMN","START","init_css_property_keyword","list_style_image_default","MasterCSSRule","__publicField","dash","LIST","STYLE","IMAGE","init_css_property_keyword","shape_outside_default","MasterCSSRule","__publicField","dash","SHAPE","init_css_property_keyword","shape_margin_default","MasterCSSRule","__publicField","dash","SHAPE","MARGIN","init_css_property_keyword","shape_image_threshold_default","MasterCSSRule","__publicField","dash","SHAPE","IMAGE","init_css_property_keyword","clip_path_default","MasterCSSRule","__publicField","dash","CLIP","init_css_property_keyword","grid_default","MasterCSSRule","__publicField","GRID","init_css_property_keyword","font_default","MasterCSSRule","__publicField","FONT","quotes_default","MasterCSSRule","__publicField","init_css_property_keyword","grid_template_default","MasterCSSRule","__publicField","dash","GRID","TEMPLATE","init_css_property_keyword","grid_row_start_default","MasterCSSRule","__publicField","dash","GRID","ROW","START","init_css_property_keyword","grid_template_areas_default","MasterCSSRule","__publicField","dash","GRID","TEMPLATE","AREA","init_css_property_keyword","grid_template_columns_default","MasterCSSRule","__publicField","dash","GRID","TEMPLATE","COLUMNS","init_css_property_keyword","grid_template_rows_default","MasterCSSRule","__publicField","dash","GRID","TEMPLATE","ROWS","init_css_property_keyword","grid_area_default","MasterCSSRule","__publicField","dash","GRID","AREA","init_css_property_keyword","grid_column_end_default","MasterCSSRule","__publicField","dash","GRID","COLUMN","END","init_css_property_keyword","grid_row_end_default","MasterCSSRule","__publicField","dash","GRID","ROW","END","init_css_property_keyword","mask_image_default","MasterCSSRule","declaration","__publicField","dash","IMAGE","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","init_css_property_keyword","stroke_dasharray_default","MasterCSSRule","__publicField","dash","STROKE","init_css_property_keyword","stroke_dashoffset_default","MasterCSSRule","__publicField","dash","STROKE","OFFSET","x_default","MasterCSSRule","__publicField","y_default","MasterCSSRule","__publicField","cx_default","MasterCSSRule","__publicField","cy_default","MasterCSSRule","__publicField","rx_default","MasterCSSRule","__publicField","ry_default","MasterCSSRule","__publicField","init_css_property_keyword","border_image_outset_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","init_css_property_keyword","border_image_repeat_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","REPEAT","init_css_property_keyword","border_image_slice_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","SLICE","init_css_property_keyword","border_image_source_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","init_css_property_keyword","border_image_width_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","WIDTH","init_css_property_keyword","border_image_default","MasterCSSRule","__publicField","dash","BORDER","IMAGE","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","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","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","defaultConfig","defaultColors","defaultBreakpoints","defaultSemantics","defaultValues","defaultSelectors","defaultThemes","DefaultRules","init","config","css","MasterCSS","selectorSymbols","hasDocument","STYLE","MAX_WIDTH","MIN_WIDTH","ATTRIBUTES","isBrowser","MutationObserver","_MasterCSS","config","defaultConfig","container","_a","_b","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","rootStyle","sheet","index","getRule","cssRule","escapedClassNames","eachSelectorText","escapedClassName","j","char","nextChar","currentRule","rule","eachInstance","semantics","classes","selectors","themes","colors","escapeString","str","semanticName","entry","isSingle","mergeClasses","theme","currentClass","eachClassName","mergeColors","colorName","levels","levelsThemes","level","color","obj","eachTheme","themeValue","options","name","findAndNewRule","EachRule","matching","eachSemanticEntry","MasterCSSRule","eachRule","instances","endIndex","media","order","prioritySelectorIndex","hasWhere","findPrioritySelectorInsertIndex","rules","findStartIndex","findEndIndex","ignoreRule","targetRules","sIndex","eIndex","mediaStartIndex","maxWidthFeature","minWidthFeature","range","eachMedia","eachMaxWidthFeature","eachMinWidthFeature","eachRange","sameRangeRules","currentMediaRule","currentMedia","currentMaxWidthFeature","currentMinWidthFeature","value","cssRuleIndex","previousRule","lastNativeCssRule","eachNative","error","deleteRule","firstNative","MasterCSS","__publicField","init","import_css_escape","render","classes","css","MasterCSS","eachClassName","eachRule","a","b","import_css_escape","renderFromHTML","html","css","MasterCSS","regexp","results","classNames","eachClassName","eachRule","a","b","import_css_escape","renderIntoHTML","html","css","MasterCSS","renderFromHTML","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","mergeAndConcat","object","otherObjects","result","concatArrays","configure","configurations","mergeAndConcat","defaultConfig"]}
|