@pandacss/studio 0.0.0-dev-20240328120054 → 0.0.0-dev-20240402123728

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 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: [react(), studio()],
7
+ integrations: [studio()],
9
8
  })
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pandacss/studio",
3
- "version": "0.0.0-dev-20240328120054",
3
+ "version": "0.0.0-dev-20240402123728",
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.0.0-dev-20240328120054",
52
- "@pandacss/logger": "0.0.0-dev-20240328120054",
53
- "@pandacss/shared": "0.0.0-dev-20240328120054",
54
- "@pandacss/token-dictionary": "0.0.0-dev-20240328120054",
55
- "@pandacss/types": "0.0.0-dev-20240328120054",
56
- "@pandacss/astro-plugin-studio": "0.0.0-dev-20240328120054"
51
+ "@pandacss/config": "0.0.0-dev-20240402123728",
52
+ "@pandacss/logger": "0.0.0-dev-20240402123728",
53
+ "@pandacss/shared": "0.0.0-dev-20240402123728",
54
+ "@pandacss/token-dictionary": "0.0.0-dev-20240402123728",
55
+ "@pandacss/types": "0.0.0-dev-20240402123728",
56
+ "@pandacss/astro-plugin-studio": "0.0.0-dev-20240402123728"
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
- color: 'text',
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.base)}
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 = getSemanticColorValue(value)
12
+ const tokenValue = context.tokens.deepResolveReference(value)
29
13
 
30
14
  return (
31
15
  <Flex direction="column" w="full">
@@ -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: Token[], filterMethod?: (token: ColorToken) => boolean) => {
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<Record<string, any>>((acc, color) => {
21
- if (!filterMethod?.(color)) return acc
20
+ return values.reduce(
21
+ (acc, color) => {
22
+ if (!filterMethod?.(color)) return acc
22
23
 
23
- const colorPalette = color.extensions.colorPalette || UNCATEGORIZED_ID
24
+ const colorPalette = color.extensions.colorPalette || UNCATEGORIZED_ID
24
25
 
25
- if (!(colorPalette in acc)) {
26
- acc[colorPalette] = []
27
- }
26
+ if (!(colorPalette in acc)) {
27
+ acc[colorPalette] = []
28
+ }
28
29
 
29
- const exists = (acc[colorPalette] as any[]).find((tok) => tok.name === color.name)
30
- if (!exists) acc[colorPalette].push(color)
30
+ const exists = (acc[colorPalette] as any[]).find((tok) => tok.name === color.name)
31
+ if (!exists) acc[colorPalette].push(color)
31
32
 
32
- return acc
33
- }, {})
33
+ return acc
34
+ },
35
+ {} as Record<string, ColorToken[]>,
36
+ )
34
37
  }
35
38
 
36
- const getSemanticTokens = (allTokens: ColorToken[], filterMethod?: (token: ColorToken) => boolean) => {
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, any>>(
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
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- import Sizes from '../components/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
-
@@ -1,5 +1,5 @@
1
1
  ---
2
- import Sizes from '../components/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
- <Sidebar title="Spacing">
12
- <Sizes sizes={tokens} client:load />
13
- </Sidebar>
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:object,objectFit:object,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,outlineWidth:ring/ringWidth,outlineColor:ring/ringColor,outline:ring/1,outlineOffset:ring/ringOffset,divideX:divide-x,divideY:divide-y,divideColor:divide,divideStyle:divide,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:font,fontSmoothing:smoothing,fontVariantNumeric:numeric,letterSpacing:tracking,lineHeight:leading,textAlign:text,textDecoration:text-decor,textDecorationColor:text-decor,textEmphasisColor:text-emphasis,textDecorationStyle:decoration,textDecorationThickness:decoration,textUnderlineOffset:underline-offset,textTransform:text,textIndent:indent,textShadow:text-shadow,textShadowColor:text-shadow/textShadowColor,textOverflow:text,verticalAlign:align,wordBreak:break,textWrap:text,truncate:truncate,lineClamp:clamp,listStyleType:list,listStylePosition:list,listStyleImage:list-img,backgroundPosition:bg/bgPosition,backgroundPositionX:bg-x/bgPositionX,backgroundPositionY:bg-y/bgPositionY,backgroundAttachment:bg/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/bgSize,backgroundGradient:bg-gradient/bgGradient,textGradient:text-gradient,gradientFrom:from,gradientTo:to,gradientVia:via,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/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,animationDelay:animation-delay,transformOrigin:origin,scale:scale,scaleX:scale-x,scaleY:scale-y,translate:translate,translateX:translate-x/x,translateY:translate-y/y,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,scrollSnapStop:snap,scrollSnapType:snap,scrollSnapStrictness: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-size-adjust,container:cq,containerName:cq-name,containerType:cq-type,textStyle:textStyle"
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()
@@ -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);
@@ -1,24 +1,21 @@
1
1
  @layer reset, base, tokens, recipes, utilities;
2
2
 
3
3
  @layer reset{
4
- html {
4
+ html,:host {
5
5
  --font-fallback: 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';
6
6
  -webkit-text-size-adjust: 100%;
7
7
  -webkit-font-smoothing: antialiased;
8
8
  -moz-osx-font-smoothing: grayscale;
9
9
  -moz-tab-size: 4;
10
10
  tab-size: 4;
11
+ -webkit-tap-highlight-color: transparent;
11
12
  line-height: 1.5;
12
13
  font-family: var(--global-font-body, var(--font-fallback));
13
14
  }
14
15
 
15
- * {
16
+ *,::before,::after,::backdrop,::first-letter,::file-selector-button {
16
17
  margin: 0px;
17
18
  padding: 0px;
18
- font: inherit;
19
- }
20
-
21
- *,*::before,*::after {
22
19
  box-sizing: border-box;
23
20
  border-width: 0px;
24
21
  border-style: solid;
@@ -33,6 +30,7 @@
33
30
 
34
31
  body {
35
32
  height: 100%;
33
+ line-height: inherit;
36
34
  }
37
35
 
38
36
  img {
@@ -49,47 +47,55 @@
49
47
  height: auto;
50
48
  }
51
49
 
50
+ h1,h2,h3,h4,h5,h6 {
51
+ text-wrap: balance;
52
+ font-size: inherit;
53
+ font-weight: inherit;
54
+ }
55
+
52
56
  p,h1,h2,h3,h4,h5,h6 {
53
57
  overflow-wrap: break-word;
54
58
  }
55
59
 
56
- ol,ul {
60
+ ol,ul,menu {
57
61
  list-style: none;
58
62
  }
59
63
 
60
- code,kbd,pre,samp {
61
- font-size: 1em;
62
- }
63
-
64
- button,[type='button'],[type='reset'],[type='submit'] {
64
+ button,input:where([type='button'], [type='reset'], [type='submit']),::file-selector-button {
65
+ appearance: button;
65
66
  -webkit-appearance: button;
66
- background-color: var(--colors-transparent);
67
- background-image: none;
68
67
  }
69
68
 
70
- button,input,optgroup,select,textarea {
69
+ button,input,optgroup,select,textarea,::file-selector-button {
70
+ font: inherit;
71
+ font-feature-settings: inherit;
72
+ font-variation-settings: inherit;
73
+ letter-spacing: inherit;
71
74
  color: inherit;
75
+ background: var(--colors-transparent);
72
76
  }
73
77
 
74
- button,select {
75
- text-transform: none;
76
- }
77
-
78
- table {
79
- text-indent: 0px;
80
- border-collapse: collapse;
81
- border-color: inherit;
78
+ ::placeholder {
79
+ opacity: 1;
80
+ --placeholder-fallback: color-mix(in srgb, currentColor 50%, transparent);
81
+ color: var(--global-color-placeholder, var(--placeholder-fallback));
82
82
  }
83
83
 
84
- input::placeholder,textarea::placeholder {
85
- opacity: 1;
86
- color: var(--global-color-placeholder, #9ca3af);
84
+ select,textarea,input:where(:not([type='button'], [type='reset'], [type='submit'])) {
85
+ border-width: 1px;
86
+ border-style: solid;
87
87
  }
88
88
 
89
89
  textarea {
90
90
  resize: vertical;
91
91
  }
92
92
 
93
+ table {
94
+ text-indent: 0px;
95
+ border-collapse: collapse;
96
+ border-color: inherit;
97
+ }
98
+
93
99
  summary {
94
100
  display: list-item;
95
101
  }
@@ -132,37 +138,24 @@
132
138
 
133
139
  code,kbd,samp,pre {
134
140
  --font-mono-fallback: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New';
135
- font-size: 1em;
141
+ font-feature-settings: normal;
142
+ font-variation-settings: normal;
136
143
  font-family: var(--global-font-mono, var(--font-mono-fallback));
144
+ font-size: 1em;
137
145
  }
138
146
 
139
- input[type="text"],input[type="email"],input[type="search"],input[type="password"] {
140
- -webkit-appearance: none;
141
- -moz-appearance: none;
142
- }
143
-
144
- input[type='search'] {
145
- -webkit-appearance: textfield;
146
- outline-offset: -2px;
147
+ progress {
148
+ vertical-align: baseline;
147
149
  }
148
150
 
149
151
  ::-webkit-search-decoration,::-webkit-search-cancel-button {
150
152
  -webkit-appearance: none;
151
153
  }
152
154
 
153
- ::-webkit-file-upload-button {
154
- -webkit-appearance: button;
155
- font: inherit;
156
- }
157
-
158
- input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button {
155
+ ::-webkit-inner-spin-button,::-webkit-outer-spin-button {
159
156
  height: auto;
160
157
  }
161
158
 
162
- input[type='number'] {
163
- -moz-appearance: textfield;
164
- }
165
-
166
159
  :-moz-ui-invalid {
167
160
  box-shadow: none;
168
161
  }
@@ -179,9 +172,28 @@
179
172
  @layer base{
180
173
  :root {
181
174
  --made-with-panda: '🐼';
175
+ --global-color-border: var(--colors-border);
176
+ --global-color-placeholder: var(--colors-neutral-500);
177
+ color-scheme: light dark;
178
+ font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
179
+ font-size: 0.84em;
180
+ line-height: var(--line-heights-normal);
181
+ font-weight: var(--font-weights-normal);
182
+ }
183
+
184
+ body {
185
+ margin: var(--spacing-0);
186
+ min-height: 100dvh;
187
+ background: var(--colors-bg);
188
+ color: var(--colors-text);
182
189
  }
183
190
 
184
- *,*::before,*::after,::backdrop {
191
+ a {
192
+ color: unset;
193
+ text-decoration: none;
194
+ }
195
+
196
+ *,::before,::after,::backdrop {
185
197
  --blur: /*-*/ /*-*/;
186
198
  --brightness: /*-*/ /*-*/;
187
199
  --contrast: /*-*/ /*-*/;
@@ -200,39 +212,22 @@
200
212
  --backdrop-opacity: /*-*/ /*-*/;
201
213
  --backdrop-saturate: /*-*/ /*-*/;
202
214
  --backdrop-sepia: /*-*/ /*-*/;
215
+ --gradient-from-position: /*-*/ /*-*/;
216
+ --gradient-to-position: /*-*/ /*-*/;
217
+ --gradient-via-position: /*-*/ /*-*/;
203
218
  --scroll-snap-strictness: proximity;
204
219
  --border-spacing-x: 0;
205
220
  --border-spacing-y: 0;
206
221
  --translate-x: 0;
207
222
  --translate-y: 0;
208
223
  --rotate: 0;
224
+ --rotate-x: 0;
225
+ --rotate-y: 0;
209
226
  --skew-x: 0;
210
227
  --skew-y: 0;
211
228
  --scale-x: 1;
212
229
  --scale-y: 1;
213
230
  }
214
-
215
- :root {
216
- --global-color-border: var(--colors-border);
217
- --global-color-placeholder: var(--colors-neutral-500);
218
- color-scheme: light dark;
219
- color: var(--colors-text);
220
- background: var(--colors-bg);
221
- font-family: Inter, Avenir, Helvetica, Arial, sans-serif;
222
- font-size: 0.84em;
223
- line-height: var(--line-heights-normal);
224
- font-weight: var(--font-weights-normal);
225
- }
226
-
227
- a {
228
- color: unset;
229
- text-decoration: none;
230
- }
231
-
232
- body {
233
- margin: var(--spacing-0);
234
- min-height: 100dvh;
235
- }
236
231
  }
237
232
 
238
233
  @layer tokens{
@@ -656,7 +651,7 @@
656
651
  --colors-neutral-800: #262626;
657
652
  --colors-neutral-900: #171717;
658
653
  --colors-neutral-950: #0a0a0a;
659
- --assets-check: url('data:image/svg+xml;utf8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0%200H3V3H0V0Z%22%20fill%3D%22%23E1E1E1%22/%3E%3Cpath%20d%3D%22M3%200H6V3H3V0Z%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M3%203H6V6H3V3Z%22%20fill%3D%22%23E1E1E1%22/%3E%3Cpath%20d%3D%22M0%203H3V6H0V3Z%22%20fill%3D%22white%22/%3E%3C/svg%3E%0A');
654
+ --assets-check: url("data:image/svg+xml;utf8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M0%200H3V3H0V0Z%22%20fill%3D%22%23E1E1E1%22/%3E%3Cpath%20d%3D%22M3%200H6V3H3V0Z%22%20fill%3D%22white%22/%3E%3Cpath%20d%3D%22M3%203H6V6H3V3Z%22%20fill%3D%22%23E1E1E1%22/%3E%3Cpath%20d%3D%22M0%203H3V6H0V3Z%22%20fill%3D%22white%22/%3E%3C/svg%3E%0A");
660
655
  --breakpoints-sm: 640px;
661
656
  --breakpoints-md: 768px;
662
657
  --breakpoints-lg: 1024px;
@@ -712,7 +707,6 @@
712
707
  }
713
708
 
714
709
  @layer utilities{
715
-
716
710
  .d_flex {
717
711
  display: flex;
718
712
  }
@@ -753,7 +747,7 @@
753
747
  gap: var(--spacing-2\.5);
754
748
  }
755
749
 
756
- .text_center {
750
+ .text-align_center {
757
751
  text-align: center;
758
752
  }
759
753
 
@@ -797,7 +791,7 @@
797
791
  gap: var(--spacing-0\.5);
798
792
  }
799
793
 
800
- .text_capitalize {
794
+ .text-transform_capitalize {
801
795
  text-transform: capitalize;
802
796
  }
803
797
 
@@ -805,7 +799,7 @@
805
799
  opacity: 0.7;
806
800
  }
807
801
 
808
- .text_uppercase {
802
+ .text-transform_uppercase {
809
803
  text-transform: uppercase;
810
804
  }
811
805
 
@@ -849,7 +843,7 @@
849
843
  height: var(--sizes-8);
850
844
  }
851
845
 
852
- .text_lowercase {
846
+ .text-transform_lowercase {
853
847
  text-transform: lowercase;
854
848
  }
855
849
 
@@ -894,7 +888,7 @@
894
888
  border-bottom-width: 0px;
895
889
  }
896
890
 
897
- .divide_card > :not([hidden]) ~ :not([hidden]) {
891
+ .divide-color_card > :not([hidden]) ~ :not([hidden]) {
898
892
  border-color: var(--colors-card);
899
893
  }
900
894
 
@@ -962,6 +956,10 @@
962
956
  margin-block: var(--spacing-10);
963
957
  }
964
958
 
959
+ .h_300px {
960
+ height: 300px;
961
+ }
962
+
965
963
  .tracking_tighter {
966
964
  letter-spacing: var(--letter-spacings-tighter);
967
965
  }
@@ -1140,11 +1138,11 @@
1140
1138
  flex-direction: column;
1141
1139
  }
1142
1140
 
1143
- .font_semibold {
1141
+ .fw_semibold {
1144
1142
  font-weight: var(--font-weights-semibold);
1145
1143
  }
1146
1144
 
1147
- .font_bold {
1145
+ .fw_bold {
1148
1146
  font-weight: var(--font-weights-bold);
1149
1147
  }
1150
1148
 
@@ -1188,7 +1186,7 @@
1188
1186
  margin-top: var(--spacing-2);
1189
1187
  }
1190
1188
 
1191
- .font_medium {
1189
+ .fw_medium {
1192
1190
  font-weight: var(--font-weights-medium);
1193
1191
  }
1194
1192
 
@@ -1292,7 +1290,7 @@
1292
1290
  margin-bottom: var(--spacing-8);
1293
1291
  }
1294
1292
 
1295
- .list_none {
1293
+ .list-type_none {
1296
1294
  list-style-type: none;
1297
1295
  }
1298
1296
 
@@ -1376,7 +1374,7 @@
1376
1374
  z-index: -1;
1377
1375
  }
1378
1376
 
1379
- .dark\:text_neutral\.300.dark,.dark .dark\:text_neutral\.300 {
1377
+ .dark .dark\:text_neutral\.300 {
1380
1378
  color: var(--colors-neutral-300);
1381
1379
  }
1382
1380
 
@@ -1388,7 +1386,7 @@
1388
1386
  content: '';
1389
1387
  }
1390
1388
 
1391
- .before\:bg_24px::before {
1389
+ .before\:bg-size_24px::before {
1392
1390
  background-size: 24px;
1393
1391
  }
1394
1392
 
@@ -1396,7 +1394,7 @@
1396
1394
  background-image: var(--assets-check);
1397
1395
  }
1398
1396
 
1399
- .focusWithin\:ring_2px:focus-within {
1397
+ .focusWithin\:ring-offset_2px:focus-within {
1400
1398
  outline-offset: 2px;
1401
1399
  }
1402
1400
 
@@ -1404,11 +1402,11 @@
1404
1402
  outline-style: solid;
1405
1403
  }
1406
1404
 
1407
- .focusWithin\:ring_2px:focus-within {
1405
+ .focusWithin\:ring-width_2px:focus-within {
1408
1406
  outline-width: 2px;
1409
1407
  }
1410
1408
 
1411
- .focusWithin\:ring_neutral\.400:focus-within {
1409
+ .focusWithin\:ring-color_neutral\.400:focus-within {
1412
1410
  outline-color: var(--colors-neutral-400);
1413
1411
  }
1414
1412
 
@@ -1416,13 +1414,13 @@
1416
1414
  color: var(--colors-accent);
1417
1415
  }
1418
1416
 
1419
- @media screen and (min-width: 48em) {
1417
+ @media screen and (min-width: 48rem) {
1420
1418
  .md\:px_6 {
1421
1419
  padding-inline: var(--spacing-6);
1422
1420
  }
1423
1421
  }
1424
1422
 
1425
- @media screen and (min-width: 64em) {
1423
+ @media screen and (min-width: 64rem) {
1426
1424
  .lg\:px_8 {
1427
1425
  padding-inline: var(--spacing-8);
1428
1426
  }
@@ -150,9 +150,9 @@ export interface Conditions {
150
150
  "_landscape": string
151
151
  /** `@media (orientation: portrait)` */
152
152
  "_portrait": string
153
- /** ` &.dark, .dark &` */
153
+ /** `.dark &` */
154
154
  "_dark": string
155
- /** ` &.light, .light &` */
155
+ /** `.light &` */
156
156
  "_light": string
157
157
  /** `@media (prefers-color-scheme: dark)` */
158
158
  "_osDark": string
@@ -178,6 +178,8 @@ export interface Conditions {
178
178
  "_horizontal": string
179
179
  /** `&[data-orientation=vertical]` */
180
180
  "_vertical": string
181
+ /** `@starting-style` */
182
+ "_starting": string
181
183
  /** `@media screen and (min-width: 40rem)` */
182
184
  "sm": string
183
185
  /** `@media screen and (min-width: 40rem) and (max-width: 47.9975rem)` */
@@ -55,11 +55,11 @@ export interface UtilityValues {
55
55
  marginInline: "auto" | Tokens["spacing"];
56
56
  marginInlineEnd: "auto" | Tokens["spacing"];
57
57
  marginInlineStart: "auto" | Tokens["spacing"];
58
+ spaceX: "auto" | Tokens["spacing"] | CssProperties["marginInlineStart"];
59
+ spaceY: "auto" | Tokens["spacing"] | CssProperties["marginBlockStart"];
58
60
  outlineColor: Tokens["colors"];
59
61
  outline: Tokens["borders"];
60
62
  outlineOffset: Tokens["spacing"];
61
- divideX: string;
62
- divideY: string;
63
63
  divideColor: Tokens["colors"];
64
64
  divideStyle: CssProperties["borderStyle"];
65
65
  width: "auto" | Tokens["sizes"] | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "1/5" | "2/5" | "3/5" | "4/5" | "1/6" | "2/6" | "3/6" | "4/6" | "5/6" | "1/12" | "2/12" | "3/12" | "4/12" | "5/12" | "6/12" | "7/12" | "8/12" | "9/12" | "10/12" | "11/12" | "screen";
@@ -140,7 +140,7 @@ export interface UtilityValues {
140
140
  blur: Tokens["blurs"];
141
141
  backdropFilter: "auto";
142
142
  backdropBlur: Tokens["blurs"];
143
- borderSpacing: Tokens["spacing"];
143
+ borderSpacing: Tokens["spacing"] | "auto";
144
144
  borderSpacingX: Tokens["spacing"];
145
145
  borderSpacingY: Tokens["spacing"];
146
146
  transitionTimingFunction: Tokens["easings"];
@@ -148,11 +148,18 @@ export interface UtilityValues {
148
148
  transitionDuration: Tokens["durations"];
149
149
  transition: "all" | "common" | "background" | "colors" | "opacity" | "shadow" | "transform";
150
150
  animation: Tokens["animations"];
151
+ animationTimingFunction: Tokens["easings"];
152
+ animationDuration: Tokens["durations"];
151
153
  animationDelay: Tokens["durations"];
154
+ rotate: "auto" | "auto-3d" | CssProperties["rotate"];
155
+ rotateX: CssProperties["rotate"];
156
+ rotateY: CssProperties["rotate"];
157
+ rotateZ: CssProperties["rotate"];
152
158
  scale: "auto" | CssProperties["scale"];
153
- translate: "auto" | CssProperties["translate"];
159
+ translate: "auto" | "auto-3d" | CssProperties["translate"];
154
160
  translateX: Tokens["spacing"] | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "full" | "-1/2" | "-1/3" | "-2/3" | "-1/4" | "-2/4" | "-3/4" | "-full";
155
161
  translateY: Tokens["spacing"] | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "full" | "-1/2" | "-1/3" | "-2/3" | "-1/4" | "-2/4" | "-3/4" | "-full";
162
+ translateZ: Tokens["spacing"] | "1/2" | "1/3" | "2/3" | "1/4" | "2/4" | "3/4" | "full" | "-1/2" | "-1/3" | "-2/3" | "-1/4" | "-2/4" | "-3/4" | "-full";
156
163
  accentColor: Tokens["colors"];
157
164
  caretColor: Tokens["colors"];
158
165
  scrollbar: "visible" | "hidden";
@@ -384,7 +384,7 @@ animationDirection?: ConditionalValue<CssVars | CssProperties["animationDirectio
384
384
  *
385
385
  * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
386
386
  */
387
- animationDuration?: ConditionalValue<CssProperties["animationDuration"] | AnyString>
387
+ animationDuration?: ConditionalValue<UtilityValues["animationDuration"] | CssVars | CssProperties["animationDuration"] | AnyString>
388
388
  /**
389
389
  * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
390
390
  *
@@ -499,7 +499,7 @@ animationRangeStart?: ConditionalValue<CssProperties["animationRangeStart"] | An
499
499
  *
500
500
  * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
501
501
  */
502
- animationTimingFunction?: ConditionalValue<CssProperties["animationTimingFunction"] | AnyString>
502
+ animationTimingFunction?: ConditionalValue<UtilityValues["animationTimingFunction"] | CssVars | CssProperties["animationTimingFunction"] | AnyString>
503
503
  /**
504
504
  * The **`animation-timeline`** CSS property specifies the timeline that is used to control the progress of an animation.
505
505
  *
@@ -4749,7 +4749,7 @@ right?: ConditionalValue<UtilityValues["right"] | CssVars | CssProperties["right
4749
4749
  *
4750
4750
  * @see https://developer.mozilla.org/docs/Web/CSS/rotate
4751
4751
  */
4752
- rotate?: ConditionalValue<CssProperties["rotate"] | AnyString>
4752
+ rotate?: ConditionalValue<UtilityValues["rotate"] | CssVars | CssProperties["rotate"] | AnyString>
4753
4753
  /**
4754
4754
  * The **`row-gap`** CSS property sets the size of the gap (gutter) between an element's rows.
4755
4755
  *
@@ -7283,6 +7283,7 @@ shadow?: ConditionalValue<UtilityValues["boxShadow"] | CssVars | CssProperties["
7283
7283
  shadowColor?: ConditionalValue<UtilityValues["boxShadowColor"] | CssVars | AnyString>
7284
7284
  x?: ConditionalValue<UtilityValues["translateX"] | CssVars | AnyString>
7285
7285
  y?: ConditionalValue<UtilityValues["translateY"] | CssVars | AnyString>
7286
+ z?: ConditionalValue<UtilityValues["translateZ"] | CssVars | AnyString>
7286
7287
  /**
7287
7288
  * The `scroll-margin-block` shorthand property sets the scroll margins of an element in the block dimension.
7288
7289
  *
@@ -7333,17 +7334,22 @@ scrollPaddingY?: ConditionalValue<UtilityValues["scrollPaddingBlock"] | CssVars
7333
7334
  scrollPaddingX?: ConditionalValue<UtilityValues["scrollPaddingInline"] | CssVars | CssProperties["scrollPaddingInline"] | AnyString>
7334
7335
  hideFrom?: ConditionalValue<UtilityValues["hideFrom"] | CssVars | AnyString>
7335
7336
  hideBelow?: ConditionalValue<UtilityValues["hideBelow"] | CssVars | AnyString>
7336
- divideX?: ConditionalValue<UtilityValues["divideX"] | CssVars | AnyString>
7337
- divideY?: ConditionalValue<UtilityValues["divideY"] | CssVars | AnyString>
7337
+ spaceX?: ConditionalValue<UtilityValues["spaceX"] | CssVars | AnyString>
7338
+ spaceY?: ConditionalValue<UtilityValues["spaceY"] | CssVars | AnyString>
7339
+ divideX?: ConditionalValue<string | number | AnyString>
7340
+ divideY?: ConditionalValue<string | number | AnyString>
7338
7341
  divideColor?: ConditionalValue<UtilityValues["divideColor"] | CssVars | AnyString>
7339
7342
  divideStyle?: ConditionalValue<UtilityValues["divideStyle"] | CssVars | AnyString>
7340
7343
  fontSmoothing?: ConditionalValue<UtilityValues["fontSmoothing"] | CssVars | AnyString>
7341
7344
  truncate?: ConditionalValue<UtilityValues["truncate"] | CssVars | AnyString>
7342
7345
  backgroundGradient?: ConditionalValue<UtilityValues["backgroundGradient"] | CssVars | AnyString>
7343
7346
  textGradient?: ConditionalValue<UtilityValues["textGradient"] | CssVars | AnyString>
7347
+ gradientFromPosition?: ConditionalValue<string | number | AnyString>
7348
+ gradientToPosition?: ConditionalValue<string | number | AnyString>
7344
7349
  gradientFrom?: ConditionalValue<UtilityValues["gradientFrom"] | CssVars | AnyString>
7345
7350
  gradientTo?: ConditionalValue<UtilityValues["gradientTo"] | CssVars | AnyString>
7346
7351
  gradientVia?: ConditionalValue<UtilityValues["gradientVia"] | CssVars | AnyString>
7352
+ gradientViaPosition?: ConditionalValue<string | number | AnyString>
7347
7353
  borderTopRadius?: ConditionalValue<UtilityValues["borderTopRadius"] | CssVars | AnyString>
7348
7354
  borderRightRadius?: ConditionalValue<UtilityValues["borderRightRadius"] | CssVars | AnyString>
7349
7355
  borderBottomRadius?: ConditionalValue<UtilityValues["borderBottomRadius"] | CssVars | AnyString>
@@ -7371,10 +7377,14 @@ scrollPaddingX?: ConditionalValue<UtilityValues["scrollPaddingInline"] | CssVars
7371
7377
  backdropSepia?: ConditionalValue<string | number | AnyString>
7372
7378
  borderSpacingX?: ConditionalValue<UtilityValues["borderSpacingX"] | CssVars | AnyString>
7373
7379
  borderSpacingY?: ConditionalValue<UtilityValues["borderSpacingY"] | CssVars | AnyString>
7380
+ rotateX?: ConditionalValue<UtilityValues["rotateX"] | CssVars | AnyString>
7381
+ rotateY?: ConditionalValue<UtilityValues["rotateY"] | CssVars | AnyString>
7382
+ rotateZ?: ConditionalValue<UtilityValues["rotateZ"] | CssVars | AnyString>
7374
7383
  scaleX?: ConditionalValue<string | number | AnyString>
7375
7384
  scaleY?: ConditionalValue<string | number | AnyString>
7376
7385
  translateX?: ConditionalValue<UtilityValues["translateX"] | CssVars | AnyString>
7377
7386
  translateY?: ConditionalValue<UtilityValues["translateY"] | CssVars | AnyString>
7387
+ translateZ?: ConditionalValue<UtilityValues["translateZ"] | CssVars | AnyString>
7378
7388
  scrollbar?: ConditionalValue<UtilityValues["scrollbar"] | CssVars | AnyString>
7379
7389
  scrollSnapStrictness?: ConditionalValue<UtilityValues["scrollSnapStrictness"] | CssVars | AnyString>
7380
7390
  /**