@pandacss/studio 0.36.1 → 0.37.1
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/astro.config.mjs +1 -2
- package/package.json +7 -7
- package/panda.config.ts +5 -7
- package/src/components/colors.tsx +4 -4
- package/src/components/font-family.tsx +10 -0
- package/src/components/font-tokens.tsx +10 -0
- package/src/components/overview.tsx +1 -1
- package/src/components/semantic-color.tsx +1 -17
- package/src/components/sizes.tsx +12 -1
- package/src/components/text-styles.tsx +14 -1
- package/src/lib/use-color-docs.ts +24 -18
- package/src/pages/sizes.astro +2 -3
- package/src/pages/spacing.astro +4 -4
- package/styled-system/css/conditions.mjs +1 -1
- package/styled-system/css/css.mjs +1 -1
- package/styled-system/css/cva.mjs +3 -1
- package/styled-system/helpers.mjs +1 -1
- package/styled-system/jsx/is-valid-prop.mjs +1 -1
- package/styled-system/styles.css +84 -86
- package/styled-system/types/conditions.d.ts +4 -2
- package/styled-system/types/prop-type.d.ts +11 -4
- package/styled-system/types/recipe.d.ts +2 -1
- package/styled-system/types/style-props.d.ts +276 -266
package/astro.config.mjs
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import react from '@astrojs/react'
|
|
2
1
|
import studio from '@pandacss/astro-plugin-studio'
|
|
3
2
|
import { defineConfig } from 'astro/config'
|
|
4
3
|
|
|
5
4
|
// https://astro.build/config
|
|
6
5
|
export default defineConfig({
|
|
7
6
|
devToolbar: { enabled: true },
|
|
8
|
-
integrations: [
|
|
7
|
+
integrations: [studio()],
|
|
9
8
|
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pandacss/studio",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.1",
|
|
4
4
|
"description": "The automated token documentation for Panda CSS",
|
|
5
5
|
"main": "dist/studio.js",
|
|
6
6
|
"module": "dist/studio.mjs",
|
|
@@ -48,12 +48,12 @@
|
|
|
48
48
|
"react": "18.2.0",
|
|
49
49
|
"react-dom": "18.2.0",
|
|
50
50
|
"vite": "5.1.3",
|
|
51
|
-
"@pandacss/config": "0.
|
|
52
|
-
"@pandacss/logger": "0.
|
|
53
|
-
"@pandacss/shared": "0.
|
|
54
|
-
"@pandacss/token-dictionary": "0.
|
|
55
|
-
"@pandacss/types": "0.
|
|
56
|
-
"@pandacss/astro-plugin-studio": "0.
|
|
51
|
+
"@pandacss/config": "0.37.1",
|
|
52
|
+
"@pandacss/logger": "0.37.1",
|
|
53
|
+
"@pandacss/shared": "0.37.1",
|
|
54
|
+
"@pandacss/token-dictionary": "0.37.1",
|
|
55
|
+
"@pandacss/types": "0.37.1",
|
|
56
|
+
"@pandacss/astro-plugin-studio": "0.37.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/react": "18.2.55",
|
package/panda.config.ts
CHANGED
|
@@ -71,18 +71,16 @@ export default {
|
|
|
71
71
|
lineHeight: 'normal',
|
|
72
72
|
fontWeight: 'normal',
|
|
73
73
|
colorScheme: 'light dark',
|
|
74
|
-
|
|
74
|
+
},
|
|
75
|
+
body: {
|
|
76
|
+
margin: 0,
|
|
77
|
+
minHeight: '100dvh',
|
|
75
78
|
background: 'bg',
|
|
79
|
+
color: 'text',
|
|
76
80
|
},
|
|
77
|
-
|
|
78
81
|
a: {
|
|
79
82
|
color: 'unset',
|
|
80
83
|
textDecoration: 'none',
|
|
81
84
|
},
|
|
82
|
-
|
|
83
|
-
body: {
|
|
84
|
-
margin: 0,
|
|
85
|
-
minHeight: '100dvh',
|
|
86
|
-
},
|
|
87
85
|
},
|
|
88
86
|
} satisfies Config
|
|
@@ -27,12 +27,12 @@ export default function Colors() {
|
|
|
27
27
|
<SemanticColorDisplay
|
|
28
28
|
value={colors.base.value}
|
|
29
29
|
condition="base"
|
|
30
|
-
token={getColorFromReference(colors.extensions.conditions
|
|
30
|
+
token={getColorFromReference(colors.extensions.conditions!.base)}
|
|
31
31
|
/>
|
|
32
32
|
<SemanticColorDisplay
|
|
33
|
-
value={colors[colors.extensions.condition].value}
|
|
34
|
-
condition={colors.extensions.condition}
|
|
35
|
-
token={getColorFromReference(colors.extensions.conditions[colors.extensions.condition])}
|
|
33
|
+
value={colors[colors.extensions.condition!].value}
|
|
34
|
+
condition={colors.extensions.condition!}
|
|
35
|
+
token={getColorFromReference(colors.extensions.conditions![colors.extensions.condition!])}
|
|
36
36
|
/>
|
|
37
37
|
</HStack>
|
|
38
38
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as React from 'react'
|
|
2
2
|
import { Flex, HStack, Square, Stack, panda } from '../../styled-system/jsx'
|
|
3
3
|
import * as context from '../lib/panda-context'
|
|
4
|
+
import { EmptyState } from './empty-state'
|
|
5
|
+
import { TypographyIcon } from './icons'
|
|
4
6
|
|
|
5
7
|
const fonts = context.getTokens('fonts')
|
|
6
8
|
|
|
@@ -9,6 +11,14 @@ const symbols = Array.from({ length: 10 }, (_, i) => String.fromCharCode(48 + i)
|
|
|
9
11
|
const specials = ['@', '#', '$', '%', '&', '!', '?', '+', '-']
|
|
10
12
|
|
|
11
13
|
export const FontFamily = () => {
|
|
14
|
+
if (fonts.length === 0) {
|
|
15
|
+
return (
|
|
16
|
+
<EmptyState title="No Tokens" icon={<TypographyIcon />}>
|
|
17
|
+
The panda config does not contain any font family
|
|
18
|
+
</EmptyState>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
|
|
12
22
|
return (
|
|
13
23
|
<Stack gap="10">
|
|
14
24
|
{fonts.map((font) => (
|
|
@@ -5,6 +5,8 @@ import { TokenContent } from '../components/token-content'
|
|
|
5
5
|
import { TokenGroup } from '../components/token-group'
|
|
6
6
|
import { Input, Textarea } from './input'
|
|
7
7
|
import { StickyTop } from './sticky-top'
|
|
8
|
+
import { EmptyState } from './empty-state'
|
|
9
|
+
import { TypographyIcon, XMarkIcon } from './icons'
|
|
8
10
|
|
|
9
11
|
interface FontTokensProps {
|
|
10
12
|
text?: string
|
|
@@ -23,6 +25,14 @@ export default function FontTokens(props: FontTokensProps) {
|
|
|
23
25
|
setText(event.target.value)
|
|
24
26
|
}
|
|
25
27
|
|
|
28
|
+
if (fontTokens.length === 0) {
|
|
29
|
+
return (
|
|
30
|
+
<EmptyState title="No Tokens" icon={<TypographyIcon />}>
|
|
31
|
+
The panda config does not contain any `{token}` tokens
|
|
32
|
+
</EmptyState>
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
|
|
26
36
|
return (
|
|
27
37
|
<TokenGroup>
|
|
28
38
|
<StickyTop>
|
|
@@ -44,7 +44,7 @@ export default function Overview() {
|
|
|
44
44
|
<Logo />
|
|
45
45
|
|
|
46
46
|
<div className={vstack({ my: '10', textAlign: 'center' })}>
|
|
47
|
-
<Yums className={css({ fontSize: '24rem' })} />
|
|
47
|
+
<Yums className={css({ fontSize: '24rem', h: '300px' })} />
|
|
48
48
|
<span className={css({ fontSize: '7xl', letterSpacing: 'tighter', fontWeight: 'medium' })}>Panda Studio</span>
|
|
49
49
|
<p className={css({ fontSize: '2xl' })}>Live documentation for your design tokens (colors, fonts, etc.)</p>
|
|
50
50
|
</div>
|
|
@@ -3,29 +3,13 @@ import { Flex, panda } from '../../styled-system/jsx'
|
|
|
3
3
|
import { ColorWrapper } from './color-wrapper'
|
|
4
4
|
import * as context from '../lib/panda-context'
|
|
5
5
|
|
|
6
|
-
const getSemanticColorValue = (variable: string): string => {
|
|
7
|
-
const _name = variable?.match(/var\(\s*--(.*?)\s*\)/)
|
|
8
|
-
if (!_name) return variable
|
|
9
|
-
|
|
10
|
-
const name = _name[1].replaceAll('-', '.')
|
|
11
|
-
const token = context.tokens.getByName(name)
|
|
12
|
-
|
|
13
|
-
if (!token) {
|
|
14
|
-
const defaultToken = context.tokens.getByName(`${name}.default`)
|
|
15
|
-
return getSemanticColorValue(defaultToken?.value)
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
if (token.value.startsWith('var(--')) return getSemanticColorValue(token.value)
|
|
19
|
-
return token.value
|
|
20
|
-
}
|
|
21
|
-
|
|
22
6
|
// remove initial underscore
|
|
23
7
|
const cleanCondition = (condition: string) => condition.replace(/^_/, '')
|
|
24
8
|
|
|
25
9
|
export function SemanticColorDisplay(props: { value: string; condition: string; token?: string }) {
|
|
26
10
|
const { value, condition } = props
|
|
27
11
|
|
|
28
|
-
const tokenValue =
|
|
12
|
+
const tokenValue = context.tokens.deepResolveReference(value)
|
|
29
13
|
|
|
30
14
|
return (
|
|
31
15
|
<Flex direction="column" w="full">
|
package/src/components/sizes.tsx
CHANGED
|
@@ -5,16 +5,19 @@ import { Grid, panda } from '../../styled-system/jsx'
|
|
|
5
5
|
import { getSortedSizes } from '../lib/sizes-sort'
|
|
6
6
|
import { TokenGroup } from './token-group'
|
|
7
7
|
import type { Token } from '@pandacss/token-dictionary'
|
|
8
|
+
import { EmptyState } from './empty-state'
|
|
9
|
+
import { SizesIcon } from './icons'
|
|
8
10
|
|
|
9
11
|
export interface SizesProps {
|
|
10
12
|
sizes: Token[]
|
|
13
|
+
name: string
|
|
11
14
|
}
|
|
12
15
|
|
|
13
16
|
const contentRegex = /^(min|max|fit)-content$/
|
|
14
17
|
const unitRegex = /(ch|%)$/
|
|
15
18
|
|
|
16
19
|
export default function Sizes(props: SizesProps) {
|
|
17
|
-
const { sizes } = props
|
|
20
|
+
const { sizes, name } = props
|
|
18
21
|
|
|
19
22
|
const sortedSizes = getSortedSizes(sizes).filter(
|
|
20
23
|
(token) =>
|
|
@@ -27,6 +30,14 @@ export default function Sizes(props: SizesProps) {
|
|
|
27
30
|
!unitRegex.test(token.value),
|
|
28
31
|
)
|
|
29
32
|
|
|
33
|
+
if (sortedSizes.length === 0) {
|
|
34
|
+
return (
|
|
35
|
+
<EmptyState title="No Tokens" icon={<SizesIcon />}>
|
|
36
|
+
The panda config does not contain any `{name}`` tokens
|
|
37
|
+
</EmptyState>
|
|
38
|
+
)
|
|
39
|
+
}
|
|
40
|
+
|
|
30
41
|
return (
|
|
31
42
|
<TokenGroup>
|
|
32
43
|
<Grid display="grid" columnGap="10" rowGap="2.5" columns={5}>
|
|
@@ -5,6 +5,7 @@ import { EmptyState } from './empty-state'
|
|
|
5
5
|
import { TextStylesIcon } from './icons'
|
|
6
6
|
import { TokenContent } from './token-content'
|
|
7
7
|
import { TokenGroup } from './token-group'
|
|
8
|
+
import type { Dict } from '../../styled-system/types'
|
|
8
9
|
|
|
9
10
|
export default function TextStyles() {
|
|
10
11
|
const textStyles = Object.entries(context.textStyles)
|
|
@@ -18,7 +19,7 @@ export default function TextStyles() {
|
|
|
18
19
|
<panda.div borderColor="card">
|
|
19
20
|
<panda.span fontWeight="medium">{name}</panda.span>
|
|
20
21
|
</panda.div>
|
|
21
|
-
<panda.div flex="auto" my="3" style={styles} truncate>
|
|
22
|
+
<panda.div flex="auto" my="3" style={removeEscapeHatchSyntax(styles)} truncate>
|
|
22
23
|
Panda textStyles are time saving
|
|
23
24
|
</panda.div>
|
|
24
25
|
</panda.div>
|
|
@@ -32,3 +33,15 @@ export default function TextStyles() {
|
|
|
32
33
|
</TokenGroup>
|
|
33
34
|
)
|
|
34
35
|
}
|
|
36
|
+
|
|
37
|
+
const removeEscapeHatchSyntax = (styles: Dict) => {
|
|
38
|
+
return Object.fromEntries(
|
|
39
|
+
Object.entries(styles).map(([key, value]) => {
|
|
40
|
+
if (typeof value === 'string' && value[0] === '[' && value[value.length - 1] === ']') {
|
|
41
|
+
return [key, value.slice(1, -1)]
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
return [key, value]
|
|
45
|
+
}),
|
|
46
|
+
)
|
|
47
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Token } from '@pandacss/token-dictionary'
|
|
1
|
+
import type { Token, TokenExtensions } from '@pandacss/token-dictionary'
|
|
2
2
|
import { useState } from 'react'
|
|
3
3
|
import * as context from './panda-context'
|
|
4
4
|
|
|
@@ -10,33 +10,36 @@ interface Color {
|
|
|
10
10
|
path: string[]
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
type ColorToken = Token & Color
|
|
13
|
+
type ColorToken = Token & Color & TokenExtensions
|
|
14
14
|
|
|
15
15
|
const UNCATEGORIZED_ID = 'uncategorized' as const
|
|
16
16
|
|
|
17
|
-
const groupByColorPalette = (colors:
|
|
17
|
+
const groupByColorPalette = (colors: ColorToken[], filterMethod?: (token: ColorToken) => boolean) => {
|
|
18
18
|
const values = colors.filter((color) => !color.isConditional && !color.extensions.isVirtual)
|
|
19
19
|
|
|
20
|
-
return values.reduce
|
|
21
|
-
|
|
20
|
+
return values.reduce(
|
|
21
|
+
(acc, color) => {
|
|
22
|
+
if (!filterMethod?.(color)) return acc
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
const colorPalette = color.extensions.colorPalette || UNCATEGORIZED_ID
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
if (!(colorPalette in acc)) {
|
|
27
|
+
acc[colorPalette] = []
|
|
28
|
+
}
|
|
28
29
|
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const exists = (acc[colorPalette] as any[]).find((tok) => tok.name === color.name)
|
|
31
|
+
if (!exists) acc[colorPalette].push(color)
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
return acc
|
|
34
|
+
},
|
|
35
|
+
{} as Record<string, ColorToken[]>,
|
|
36
|
+
)
|
|
34
37
|
}
|
|
35
38
|
|
|
36
|
-
const getSemanticTokens = (allTokens:
|
|
39
|
+
const getSemanticTokens = (allTokens: Token[], filterMethod?: (token: ColorToken) => boolean) => {
|
|
37
40
|
const semanticTokens = allTokens.filter(
|
|
38
41
|
(token) => token.type === 'color' && token.isConditional && !token.extensions?.isVirtual,
|
|
39
|
-
)
|
|
42
|
+
) as ColorToken[]
|
|
40
43
|
return semanticTokens
|
|
41
44
|
.reduce((acc, nxt) => {
|
|
42
45
|
if (!filterMethod) {
|
|
@@ -50,7 +53,7 @@ const getSemanticTokens = (allTokens: ColorToken[], filterMethod?: (token: Color
|
|
|
50
53
|
}
|
|
51
54
|
return acc
|
|
52
55
|
}, [] as ColorToken[])
|
|
53
|
-
.reduce<Record<string,
|
|
56
|
+
.reduce<Record<string, ColorToken>>(
|
|
54
57
|
(acc, nxt) => ({
|
|
55
58
|
...acc,
|
|
56
59
|
[nxt.extensions?.prop]: {
|
|
@@ -85,14 +88,17 @@ export const useColorDocs = () => {
|
|
|
85
88
|
.some((prop) => prop.includes(filterQuery))
|
|
86
89
|
}
|
|
87
90
|
|
|
88
|
-
const colorsInCategories = groupByColorPalette(colors, filterMethod)
|
|
91
|
+
const colorsInCategories = groupByColorPalette(colors as ColorToken[], filterMethod)
|
|
89
92
|
const uncategorizedColors = colorsInCategories[UNCATEGORIZED_ID]
|
|
90
93
|
|
|
91
94
|
const categorizedColors = Object.entries<any[]>(colorsInCategories).filter(
|
|
92
95
|
([category]) => category !== UNCATEGORIZED_ID,
|
|
93
96
|
)
|
|
94
97
|
|
|
95
|
-
const semanticTokens = Object.entries<Record<string, any>>(getSemanticTokens(allTokens, filterMethod))
|
|
98
|
+
const semanticTokens = Object.entries<Record<string, any>>(getSemanticTokens(allTokens, filterMethod)) as [
|
|
99
|
+
string,
|
|
100
|
+
Record<string, ColorToken>,
|
|
101
|
+
][]
|
|
96
102
|
const hasResults =
|
|
97
103
|
!!categorizedColors.length || !!uncategorizedColors?.length || !!Object.values(semanticTokens).length
|
|
98
104
|
|
package/src/pages/sizes.astro
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import Sizes
|
|
2
|
+
import Sizes from '../components/sizes'
|
|
3
3
|
import Layout from '../layouts/Layout.astro'
|
|
4
4
|
import Sidebar from '../layouts/Sidebar.astro'
|
|
5
5
|
import * as context from '../lib/panda-context'
|
|
@@ -9,7 +9,6 @@ const tokens = context.getTokens('sizes')
|
|
|
9
9
|
|
|
10
10
|
<Layout>
|
|
11
11
|
<Sidebar title="Sizes">
|
|
12
|
-
<Sizes sizes={tokens} client:load />
|
|
12
|
+
<Sizes sizes={tokens} name="sizes" client:load />
|
|
13
13
|
</Sidebar>
|
|
14
14
|
</Layout>
|
|
15
|
-
|
package/src/pages/spacing.astro
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
import Sizes
|
|
2
|
+
import Sizes from '../components/sizes'
|
|
3
3
|
import Layout from '../layouts/Layout.astro'
|
|
4
4
|
import Sidebar from '../layouts/Sidebar.astro'
|
|
5
5
|
import * as context from '../lib/panda-context'
|
|
@@ -8,7 +8,7 @@ const tokens = context.getTokens('spacing')
|
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
<Layout>
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
<Sidebar title="Spacing">
|
|
12
|
+
<Sizes sizes={tokens} name="spacing" client:load />
|
|
13
|
+
</Sidebar>
|
|
14
14
|
</Layout>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { withoutSpace } from '../helpers.mjs';
|
|
2
2
|
|
|
3
|
-
const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_default,_optional,_open,_closed,_fullscreen,_loading,_currentPage,_currentStep,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,base"
|
|
3
|
+
const conditionsStr = "_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_default,_optional,_open,_closed,_fullscreen,_loading,_currentPage,_currentStep,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_starting,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,base"
|
|
4
4
|
const conditions = new Set(conditionsStr.split(','))
|
|
5
5
|
|
|
6
6
|
export function isCondition(value){
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createCss, createMergeCss, hypenateProperty, withoutSpace } from '../helpers.mjs';
|
|
2
2
|
import { sortConditions, finalizeConditions } from './conditions.mjs';
|
|
3
3
|
|
|
4
|
-
const utilities = "aspectRatio:aspect,boxDecorationBreak:decoration,zIndex:z,boxSizing:box,objectPosition:
|
|
4
|
+
const utilities = "aspectRatio:aspect,boxDecorationBreak:decoration,zIndex:z,boxSizing:box,objectPosition:obj-pos,objectFit:obj-fit,overscrollBehavior:overscroll,overscrollBehaviorX:overscroll-x,overscrollBehaviorY:overscroll-y,position:pos/1,top:top,left:left,insetInline:inset-x/insetX,insetBlock:inset-y/insetY,inset:inset,insetBlockEnd:inset-b,insetBlockStart:inset-t,insetInlineEnd:end/insetEnd/1,insetInlineStart:start/insetStart/1,right:right,bottom:bottom,float:float,visibility:vis,display:d,hideFrom:hide,hideBelow:show,flexBasis:basis,flex:flex,flexDirection:flex/flexDir,flexGrow:grow,flexShrink:shrink,gridTemplateColumns:grid-cols,gridTemplateRows:grid-rows,gridColumn:col-span,gridRow:row-span,gridColumnStart:col-start,gridColumnEnd:col-end,gridAutoFlow:grid-flow,gridAutoColumns:auto-cols,gridAutoRows:auto-rows,gap:gap,gridGap:gap,gridRowGap:gap-x,gridColumnGap:gap-y,rowGap:gap-x,columnGap:gap-y,justifyContent:justify,alignContent:content,alignItems:items,alignSelf:self,padding:p/1,paddingLeft:pl/1,paddingRight:pr/1,paddingTop:pt/1,paddingBottom:pb/1,paddingBlock:py/1/paddingY,paddingBlockEnd:pb,paddingBlockStart:pt,paddingInline:px/paddingX/1,paddingInlineEnd:pe/1/paddingEnd,paddingInlineStart:ps/1/paddingStart,marginLeft:ml/1,marginRight:mr/1,marginTop:mt/1,marginBottom:mb/1,margin:m/1,marginBlock:my/1/marginY,marginBlockEnd:mb,marginBlockStart:mt,marginInline:mx/1/marginX,marginInlineEnd:me/1/marginEnd,marginInlineStart:ms/1/marginStart,spaceX:space-x,spaceY:space-y,outlineWidth:ring-width/ringWidth,outlineColor:ring-color/ringColor,outline:ring/1,outlineOffset:ring-offset/ringOffset,divideX:divide-x,divideY:divide-y,divideColor:divide-color,divideStyle:divide-style,width:w/1,inlineSize:w,minWidth:min-w/minW,minInlineSize:min-w,maxWidth:max-w/maxW,maxInlineSize:max-w,height:h/1,blockSize:h,minHeight:min-h/minH,minBlockSize:min-h,maxHeight:max-h/maxH,maxBlockSize:max-b,color:text,fontFamily:font,fontSize:fs,fontWeight:fw,fontSmoothing:smoothing,fontVariantNumeric:numeric,letterSpacing:tracking,lineHeight:leading,textAlign:text-align,textDecoration:text-decor,textDecorationColor:text-decor-color,textEmphasisColor:text-emphasis-color,textDecorationStyle:decoration-style,textDecorationThickness:decoration-thickness,textUnderlineOffset:underline-offset,textTransform:text-transform,textIndent:indent,textShadow:text-shadow,textShadowColor:text-shadow/textShadowColor,textOverflow:text-overflow,verticalAlign:v-align,wordBreak:break,textWrap:text-wrap,truncate:truncate,lineClamp:clamp,listStyleType:list-type,listStylePosition:list-pos,listStyleImage:list-img,backgroundPosition:bg-pos/bgPosition,backgroundPositionX:bg-pos-x/bgPositionX,backgroundPositionY:bg-pos-y/bgPositionY,backgroundAttachment:bg-attach/bgAttachment,backgroundClip:bg-clip/bgClip,background:bg/1,backgroundColor:bg/bgColor,backgroundOrigin:bg-origin/bgOrigin,backgroundImage:bg-img/bgImage,backgroundRepeat:bg-repeat/bgRepeat,backgroundBlendMode:bg-blend/bgBlendMode,backgroundSize:bg-size/bgSize,backgroundGradient:bg-gradient/bgGradient,textGradient:text-gradient,gradientFromPosition:gradient-from-pos,gradientToPosition:gradient-to-pos,gradientFrom:gradient-from,gradientTo:gradient-to,gradientVia:gradient-via,gradientViaPosition:gradient-via-pos,borderRadius:rounded/1,borderTopLeftRadius:rounded-tl/roundedTopLeft,borderTopRightRadius:rounded-tr/roundedTopRight,borderBottomRightRadius:rounded-br/roundedBottomRight,borderBottomLeftRadius:rounded-bl/roundedBottomLeft,borderTopRadius:rounded-t/roundedTop,borderRightRadius:rounded-r/roundedRight,borderBottomRadius:rounded-b/roundedBottom,borderLeftRadius:rounded-l/roundedLeft,borderStartStartRadius:rounded-ss/roundedStartStart,borderStartEndRadius:rounded-se/roundedStartEnd,borderStartRadius:rounded-s/roundedStart,borderEndStartRadius:rounded-es/roundedEndStart,borderEndEndRadius:rounded-ee/roundedEndEnd,borderEndRadius:rounded-e/roundedEnd,border:border,borderWidth:border-w,borderTopWidth:border-tw,borderLeftWidth:border-lw,borderRightWidth:border-rw,borderBottomWidth:border-bw,borderColor:border,borderInline:border-x/borderX,borderInlineWidth:border-x/borderXWidth,borderInlineColor:border-x/borderXColor,borderBlock:border-y/borderY,borderBlockWidth:border-y/borderYWidth,borderBlockColor:border-y/borderYColor,borderLeft:border-l,borderLeftColor:border-l,borderInlineStart:border-s/borderStart,borderInlineStartWidth:border-s/borderStartWidth,borderInlineStartColor:border-s/borderStartColor,borderRight:border-r,borderRightColor:border-r,borderInlineEnd:border-e/borderEnd,borderInlineEndWidth:border-e/borderEndWidth,borderInlineEndColor:border-e/borderEndColor,borderTop:border-t,borderTopColor:border-t,borderBottom:border-b,borderBottomColor:border-b,borderBlockEnd:border-be,borderBlockEndColor:border-be,borderBlockStart:border-bs,borderBlockStartColor:border-bs,boxShadow:shadow/1,boxShadowColor:shadow-color/shadowColor,mixBlendMode:mix-blend,filter:filter,brightness:brightness,contrast:contrast,grayscale:grayscale,hueRotate:hue-rotate,invert:invert,saturate:saturate,sepia:sepia,dropShadow:drop-shadow,blur:blur,backdropFilter:backdrop,backdropBlur:backdrop-blur,backdropBrightness:backdrop-brightness,backdropContrast:backdrop-contrast,backdropGrayscale:backdrop-grayscale,backdropHueRotate:backdrop-hue-rotate,backdropInvert:backdrop-invert,backdropOpacity:backdrop-opacity,backdropSaturate:backdrop-saturate,backdropSepia:backdrop-sepia,borderCollapse:border,borderSpacing:border-spacing,borderSpacingX:border-spacing-x,borderSpacingY:border-spacing-y,tableLayout:table,transitionTimingFunction:ease,transitionDelay:delay,transitionDuration:duration,transitionProperty:transition-prop,transition:transition,animation:animation,animationName:animation-name,animationTimingFunction:animation-ease,animationDuration:animation-duration,animationDelay:animation-delay,transformOrigin:origin,rotate:rotate,rotateX:rotate-x,rotateY:rotate-y,rotateZ:rotate-z,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,translateZ:translate-z/z,accentColor:accent,caretColor:caret,scrollBehavior:scroll,scrollbar:scrollbar,scrollMargin:scroll-m,scrollMarginLeft:scroll-ml,scrollMarginRight:scroll-mr,scrollMarginTop:scroll-mt,scrollMarginBottom:scroll-mb,scrollMarginBlock:scroll-my/scrollMarginY,scrollMarginBlockEnd:scroll-mb,scrollMarginBlockStart:scroll-mt,scrollMarginInline:scroll-mx/scrollMarginX,scrollMarginInlineEnd:scroll-me,scrollMarginInlineStart:scroll-ms,scrollPadding:scroll-p,scrollPaddingBlock:scroll-pb/scrollPaddingY,scrollPaddingBlockStart:scroll-pt,scrollPaddingBlockEnd:scroll-pb,scrollPaddingInline:scroll-px/scrollPaddingX,scrollPaddingInlineEnd:scroll-pe,scrollPaddingInlineStart:scroll-ps,scrollPaddingLeft:scroll-pl,scrollPaddingRight:scroll-pr,scrollPaddingTop:scroll-pt,scrollPaddingBottom:scroll-pb,scrollSnapAlign:snap-align,scrollSnapStop:snap-stop,scrollSnapType:snap-type,scrollSnapStrictness:snap-strictness,scrollSnapMargin:snap-m,scrollSnapMarginTop:snap-mt,scrollSnapMarginBottom:snap-mb,scrollSnapMarginLeft:snap-ml,scrollSnapMarginRight:snap-mr,touchAction:touch,userSelect:select,fill:fill,stroke:stroke,strokeWidth:stroke-w,srOnly:sr,debug:debug,appearance:appearance,backfaceVisibility:backface,clipPath:clip-path,hyphens:hyphens,mask:mask,maskImage:mask-image,maskSize:mask-size,textSizeAdjust:text-adjust,container:cq,containerName:cq-name,containerType:cq-type,textStyle:textStyle"
|
|
5
5
|
|
|
6
6
|
const classNameByProp = new Map()
|
|
7
7
|
const shorthands = new Map()
|
|
@@ -11,9 +11,10 @@ const defaults = (conf) => ({
|
|
|
11
11
|
|
|
12
12
|
export function cva(config) {
|
|
13
13
|
const { base, variants, defaultVariants, compoundVariants } = defaults(config)
|
|
14
|
+
const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })
|
|
14
15
|
|
|
15
16
|
function resolve(props = {}) {
|
|
16
|
-
const computedVariants =
|
|
17
|
+
const computedVariants = getVariantProps(props)
|
|
17
18
|
let variantCss = { ...base }
|
|
18
19
|
for (const [key, value] of Object.entries(computedVariants)) {
|
|
19
20
|
if (variants[key]?.[value]) {
|
|
@@ -57,6 +58,7 @@ export function cva(config) {
|
|
|
57
58
|
config,
|
|
58
59
|
merge,
|
|
59
60
|
splitVariantProps,
|
|
61
|
+
getVariantProps
|
|
60
62
|
})
|
|
61
63
|
}
|
|
62
64
|
|
|
@@ -229,7 +229,7 @@ var patternFns = {
|
|
|
229
229
|
isCssUnit
|
|
230
230
|
};
|
|
231
231
|
var getPatternStyles = (pattern, styles) => {
|
|
232
|
-
if (!pattern
|
|
232
|
+
if (!pattern?.defaultValues)
|
|
233
233
|
return styles;
|
|
234
234
|
const defaults = typeof pattern.defaultValues === "function" ? pattern.defaultValues(styles) : pattern.defaultValues;
|
|
235
235
|
return Object.assign({}, defaults, compact(styles));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { splitProps } from '../helpers.mjs';
|
|
2
2
|
import { memo } from '../helpers.mjs';
|
|
3
3
|
// src/index.ts
|
|
4
|
-
var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,insetInline,insetBlock,inset,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,outlineWidth,outlineColor,outline,outlineOffset,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,color,fontFamily,fontSize,fontWeight,fontSmoothing,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,textGradient,gradientFrom,gradientTo,gradientVia,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationDelay,transformOrigin,scale,scaleX,scaleY,translate,translateX,translateY,accentColor,caretColor,scrollBehavior,scrollbar,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,touchAction,userSelect,fill,stroke,strokeWidth,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_default,_optional,_open,_closed,_fullscreen,_loading,_currentPage,_currentStep,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,textStyle"
|
|
4
|
+
var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,insetInline,insetBlock,inset,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,color,fontFamily,fontSize,fontWeight,fontSmoothing,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,transformOrigin,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,touchAction,userSelect,fill,stroke,strokeWidth,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_default,_optional,_open,_closed,_fullscreen,_loading,_currentPage,_currentStep,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_starting,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,2xl,2xlOnly,2xlDown,smToMd,smToLg,smToXl,smTo2xl,mdToLg,mdToXl,mdTo2xl,lgToXl,lgTo2xl,xlTo2xl,@/xs,@/sm,@/md,@/lg,@/xl,@/2xl,@/3xl,@/4xl,@/5xl,@/6xl,@/7xl,@/8xl,textStyle"
|
|
5
5
|
var userGenerated = userGeneratedStr.split(",");
|
|
6
6
|
var cssPropertiesStr = "WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimingFunction,animationTimeline,appearance,aspectRatio,azimuth,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockStyle,borderBlockWidth,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineEnd,borderInlineColor,borderInlineStyle,borderInlineWidth,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,color,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicSize,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,direction,display,emptyCells,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontVariationSettings,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inputSecurity,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,printColorAdjust,quotes,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,scale,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockStart,scrollMarginBlockEnd,scrollMarginBottom,scrollMarginInline,scrollMarginInlineStart,scrollMarginInlineEnd,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineStart,scrollPaddingInlineEnd,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,shapeImageThreshold,shapeMargin,shapeOutside,tabSize,tableLayout,textAlign,textAlignLast,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,zIndex,zoom,alignmentBaseline,baselineShift,clipRule,colorInterpolation,colorRendering,dominantBaseline,fill,fillOpacity,fillRule,floodColor,floodOpacity,glyphOrientationVertical,lightingColor,marker,markerEnd,markerMid,markerStart,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,textAnchor,vectorEffect";
|
|
7
7
|
var allCssProperties = cssPropertiesStr.split(",").concat(userGenerated);
|