{"version":3,"file":"rules.cjs","sources":["../src/rules.ts"],"sourcesContent":["/**\n * @module @twind/preset-tailwind/rules\n */\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n\nimport type {\n  MatchResult,\n  Rule,\n  MaybeArray,\n  CSSProperties,\n  CSSObject,\n  CSSBase,\n  ThemeMatchResult,\n  ThemeRuleResolver,\n  ColorFromThemeValue,\n  AutocompleteProvider,\n} from '@twind/core'\n\nimport { DEV } from 'distilt/env'\n\nimport {\n  mql,\n  match,\n  matchTheme,\n  matchColor,\n  toColorValue,\n  toCSS,\n  asArray,\n  arbitrary,\n  withAutocomplete,\n} from '@twind/core'\n\nimport type { TailwindTheme } from './types'\n\n// indirection wrapper to remove autocomplete functions from production bundles\nfunction withAutocomplete$(\n  rule: Rule<TailwindTheme>,\n  autocomplete: AutocompleteProvider<TailwindTheme> | false,\n): Rule<TailwindTheme> {\n  if (DEV) {\n    return withAutocomplete(rule, autocomplete)\n  }\n\n  return rule\n}\n\nconst rules: Rule<TailwindTheme>[] = [\n  /* arbitrary properties: [paint-order:markers] */\n  match('\\\\[([-\\\\w]+):(.+)]', ({ 1: $1, 2: $2 }, context) => ({\n    '@layer overrides': {\n      '&': {\n        [$1]: arbitrary(`[${$2}]`, '', context),\n      },\n    },\n  })),\n\n  /* Styling based on parent and peer state */\n  withAutocomplete$(\n    match('(group|peer)([~/][^-[]+)?', ({ input }, { h }) => [{ c: h(input) }]),\n    DEV && (() => ['group', 'peer']),\n  ),\n\n  /* LAYOUT */\n  matchTheme('aspect-', 'aspectRatio'),\n\n  match('container', (_, { theme }) => {\n    const { screens = theme('screens'), center, padding } = theme('container')\n\n    const rules = {\n      width: '100%',\n      marginRight: center && 'auto',\n      marginLeft: center && 'auto',\n      ...paddingFor('xs'),\n    } as CSSObject\n\n    for (const screen in screens) {\n      const value = screens[screen]\n\n      if (typeof value == 'string') {\n        rules[mql(value)] = {\n          '&': {\n            maxWidth: value,\n            ...paddingFor(screen),\n          },\n        }\n      }\n    }\n\n    return rules\n\n    function paddingFor(screen: string): CSSProperties | undefined {\n      const value =\n        padding && (typeof padding == 'string' ? padding : padding[screen] || padding.DEFAULT)\n\n      if (value) {\n        return {\n          paddingRight: value,\n          paddingLeft: value,\n        }\n      }\n    }\n  }),\n\n  // Content\n  matchTheme('content-', 'content', ({ _ }) => ({\n    '--tw-content': _,\n    content: 'var(--tw-content)',\n  })),\n\n  // Box Decoration Break\n  match('(?:box-)?decoration-(slice|clone)', 'boxDecorationBreak'),\n\n  // Box Sizing\n  match('box-(border|content)', 'boxSizing', ({ 1: $1 }) => $1 + '-box'),\n\n  // Display\n  match('hidden', { display: 'none' }),\n\n  // Table Layout\n  match('table-(auto|fixed)', 'tableLayout'),\n\n  match(\n    [\n      '(block|flex|table|grid|inline|contents|flow-root|list-item)',\n      '(inline-(block|flex|table|grid))',\n      '(table-(caption|cell|column|row|(column|row|footer|header)-group))',\n    ],\n    'display',\n  ),\n\n  // Floats\n  '(float)-(left|right|none)',\n\n  // Clear\n  '(clear)-(left|right|none|both)',\n\n  // Overflow\n  '(overflow(?:-[xy])?)-(auto|hidden|clip|visible|scroll)',\n\n  // Isolation\n  '(isolation)-(auto)',\n\n  // Isolation\n  match('isolate', 'isolation'),\n\n  // Object Fit\n  match('object-(contain|cover|fill|none|scale-down)', 'objectFit'),\n\n  // Object Position\n  matchTheme('object-', 'objectPosition'),\n  match('object-(top|bottom|center|(left|right)(-(top|bottom))?)', 'objectPosition', spacify),\n\n  // Overscroll Behavior\n  match('overscroll(-[xy])?-(auto|contain|none)', ({ 1: $1 = '', 2: $2 }) => ({\n    [('overscroll-behavior' + $1) as 'overscroll-behavior-x']: $2 as 'auto',\n  })),\n\n  // Position\n  match('(static|fixed|absolute|relative|sticky)', 'position'),\n\n  // Top / Right / Bottom / Left\n  matchTheme('-?inset(-[xy])?(?:$|-)', 'inset', ({ 1: $1, _ }) => ({\n    top: $1 != '-x' && _,\n    right: $1 != '-y' && _,\n    bottom: $1 != '-x' && _,\n    left: $1 != '-y' && _,\n  })),\n\n  matchTheme('-?(top|bottom|left|right)(?:$|-)', 'inset'),\n\n  // Visibility\n  match('(visible|collapse)', 'visibility'),\n  match('invisible', { visibility: 'hidden' }),\n\n  // Z-Index\n  matchTheme('-?z-', 'zIndex'),\n\n  /* FLEXBOX */\n  // Flex Direction\n  match('flex-((row|col)(-reverse)?)', 'flexDirection', columnify),\n\n  match('flex-(wrap|wrap-reverse|nowrap)', 'flexWrap'),\n  matchTheme('(flex-(?:grow|shrink))(?:$|-)' /*, 'flex-grow' | flex-shrink */),\n  matchTheme('(flex)-' /*, 'flex' */),\n  matchTheme('grow(?:$|-)', 'flexGrow'),\n  matchTheme('shrink(?:$|-)', 'flexShrink'),\n  matchTheme('basis-', 'flexBasis'),\n\n  matchTheme('-?(order)-' /*, 'order' */),\n  withAutocomplete$('-?(order)-(\\\\d+)', DEV && (() => range({ end: 12 }))),\n\n  /* GRID */\n  // Grid Template Columns\n  matchTheme('grid-cols-', 'gridTemplateColumns'),\n  withAutocomplete$(\n    match('grid-cols-(\\\\d+)', 'gridTemplateColumns', gridTemplate),\n    DEV && (() => range({ end: 6 })),\n  ),\n\n  // Grid Column Start / End\n  matchTheme('col-', 'gridColumn'),\n  withAutocomplete$(\n    match('col-(span)-(\\\\d+)', 'gridColumn', span),\n    DEV && (() => range({ end: 12 })),\n  ),\n\n  matchTheme('col-start-', 'gridColumnStart'),\n  withAutocomplete$(\n    match('col-start-(auto|\\\\d+)', 'gridColumnStart'),\n    DEV && (({ 1: $1 }) => ($1 === 'auto' ? [''] : range({ end: 13 }))),\n  ),\n\n  matchTheme('col-end-', 'gridColumnEnd'),\n  withAutocomplete$(\n    match('col-end-(auto|\\\\d+)', 'gridColumnEnd'),\n    DEV && (({ 1: $1 }) => ($1 === 'auto' ? [''] : range({ end: 13 }))),\n  ),\n\n  // Grid Template Rows\n  matchTheme('grid-rows-', 'gridTemplateRows'),\n  withAutocomplete$(\n    match('grid-rows-(\\\\d+)', 'gridTemplateRows', gridTemplate),\n    DEV && (() => range({ end: 6 })),\n  ),\n\n  // Grid Row Start / End\n  matchTheme('row-', 'gridRow'),\n  withAutocomplete$(match('row-(span)-(\\\\d+)', 'gridRow', span), DEV && (() => range({ end: 6 }))),\n\n  matchTheme('row-start-', 'gridRowStart'),\n  withAutocomplete$(\n    match('row-start-(auto|\\\\d+)', 'gridRowStart'),\n    DEV && (({ 1: $1 }) => ($1 === 'auto' ? [''] : range({ end: 7 }))),\n  ),\n\n  matchTheme('row-end-', 'gridRowEnd'),\n  withAutocomplete$(\n    match('row-end-(auto|\\\\d+)', 'gridRowEnd'),\n    DEV && (({ 1: $1 }) => ($1 === 'auto' ? [''] : range({ end: 7 }))),\n  ),\n\n  // Grid Auto Flow\n  match('grid-flow-((row|col)(-dense)?)', 'gridAutoFlow', (match) => spacify(columnify(match))),\n  match('grid-flow-(dense)', 'gridAutoFlow'),\n\n  // Grid Auto Columns\n  matchTheme('auto-cols-', 'gridAutoColumns'),\n\n  // Grid Auto Rows\n  matchTheme('auto-rows-', 'gridAutoRows'),\n\n  // Gap\n  matchTheme('gap-x(?:$|-)', 'gap', 'columnGap'),\n  matchTheme('gap-y(?:$|-)', 'gap', 'rowGap'),\n  matchTheme('gap(?:$|-)', 'gap'),\n\n  /* BOX ALIGNMENT */\n  // Justify Items\n  // Justify Self\n  withAutocomplete$(\n    '(justify-(?:items|self))-',\n    DEV &&\n      (({ 1: $1 }) =>\n        $1.endsWith('-items-')\n          ? ['start', 'end', 'center', 'stretch']\n          : /* '-self-' */ ['auto', 'start', 'end', 'center', 'stretch']),\n  ),\n\n  // Justify Content\n  withAutocomplete$(\n    match('justify-', 'justifyContent', convertContentValue),\n    DEV && (() => ['start', 'end', 'center', 'between', 'around', 'evenly']),\n  ),\n\n  // Align Content\n  // Align Items\n  // Align Self\n  withAutocomplete$(\n    match('(content|items|self)-', (match) => ({\n      [('align-' + match[1]) as 'align-content']: convertContentValue(match),\n    })),\n    DEV &&\n      (({ 1: $1 }) =>\n        $1 == 'content'\n          ? ['center', 'start', 'end', 'between', 'around', 'evenly', 'stretch', 'baseline']\n          : $1 == 'items'\n          ? ['start', 'end', 'center', 'stretch', 'baseline']\n          : /* $1 == 'self' */ ['auto', 'start', 'end', 'center', 'stretch', 'baseline']),\n  ),\n\n  // Place Content\n  // Place Items\n  // Place Self\n  withAutocomplete$(\n    match('(place-(content|items|self))-', ({ 1: $1, $$ }) => ({\n      [$1 as 'place-content']: ('wun'.includes($$[3]) ? 'space-' : '') + $$,\n    })),\n    DEV &&\n      (({ 2: $2 }) =>\n        $2 == 'content'\n          ? ['center', 'start', 'end', 'between', 'around', 'evenly', 'stretch', 'baseline']\n          : $2 == 'items'\n          ? ['start', 'end', 'center', 'stretch', 'baseline']\n          : /* $2 == 'self' */ ['auto', 'start', 'end', 'center', 'stretch', 'baseline']),\n  ),\n\n  /* SPACING */\n  // Padding\n  matchTheme('p([xytrbl])?(?:$|-)', 'padding', edge('padding')),\n\n  // Margin\n  matchTheme('-?m([xytrbl])?(?:$|-)', 'margin', edge('margin')),\n\n  // Space Between\n  matchTheme('-?space-(x|y)(?:$|-)', 'space', ({ 1: $1, _ }) => ({\n    '&>:not([hidden])~:not([hidden])': {\n      [`--tw-space-${$1}-reverse`]: '0',\n      ['margin-' +\n      { y: 'top', x: 'left' }[\n        $1 as 'y' | 'x'\n      ]]: `calc(${_} * calc(1 - var(--tw-space-${$1}-reverse)))`,\n      ['margin-' +\n      { y: 'bottom', x: 'right' }[$1 as 'y' | 'x']]: `calc(${_} * var(--tw-space-${$1}-reverse))`,\n    },\n  })),\n\n  match('space-(x|y)-reverse', ({ 1: $1 }) => ({\n    '&>:not([hidden])~:not([hidden])': {\n      [`--tw-space-${$1}-reverse`]: '1',\n    },\n  })),\n\n  /* SIZING */\n  // Width\n  matchTheme('w-', 'width'),\n\n  // Min-Width\n  matchTheme('min-w-', 'minWidth'),\n\n  // Max-Width\n  matchTheme('max-w-', 'maxWidth'),\n\n  // Height\n  matchTheme('h-', 'height'),\n\n  // Min-Height\n  matchTheme('min-h-', 'minHeight'),\n\n  // Max-Height\n  matchTheme('max-h-', 'maxHeight'),\n\n  /* TYPOGRAPHY */\n  // Font Weight\n  matchTheme('font-', 'fontWeight'),\n\n  // Font Family\n  matchTheme('font-', 'fontFamily', ({ _ }) => {\n    _ = asArray(_)\n\n    if (typeof _[1] == 'string') {\n      return { fontFamily: join(_ as MaybeArray<string>) }\n    }\n\n    return {\n      fontFamily: join(_[0]),\n      ...(_[1] as { fontFeatureSettings?: string }),\n    }\n  }),\n\n  // Font Smoothing\n  match('antialiased', {\n    WebkitFontSmoothing: 'antialiased',\n    MozOsxFontSmoothing: 'grayscale',\n  }),\n\n  match('subpixel-antialiased', {\n    WebkitFontSmoothing: 'auto',\n    MozOsxFontSmoothing: 'auto',\n  }),\n\n  // Font Style\n  match('italic', 'fontStyle'),\n  match('not-italic', { fontStyle: 'normal' }),\n\n  // Font Variant Numeric\n  match(\n    '(ordinal|slashed-zero|(normal|lining|oldstyle|proportional|tabular)-nums|(diagonal|stacked)-fractions)',\n    ({ 1: $1, 2: $2 = '', 3: $3 }) =>\n      // normal-nums\n      $2 == 'normal'\n        ? { fontVariantNumeric: 'normal' }\n        : {\n            [('--tw-' +\n              ($3 // diagonal-fractions, stacked-fractions\n                ? 'numeric-fraction'\n                : 'pt'.includes($2[0]) // proportional-nums, tabular-nums\n                ? 'numeric-spacing'\n                : $2 // lining-nums, oldstyle-nums\n                ? 'numeric-figure'\n                : // ordinal, slashed-zero\n                  $1)) as 'numeric-spacing']: $1,\n            fontVariantNumeric:\n              'var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)',\n            ...asDefaults({\n              '--tw-ordinal': 'var(--tw-empty,/*!*/ /*!*/)',\n              '--tw-slashed-zero': 'var(--tw-empty,/*!*/ /*!*/)',\n              '--tw-numeric-figure': 'var(--tw-empty,/*!*/ /*!*/)',\n              '--tw-numeric-spacing': 'var(--tw-empty,/*!*/ /*!*/)',\n              '--tw-numeric-fraction': 'var(--tw-empty,/*!*/ /*!*/)',\n            }),\n          },\n  ),\n\n  // Letter Spacing\n  matchTheme('tracking-', 'letterSpacing'),\n\n  // Line Height\n  matchTheme('leading-', 'lineHeight'),\n\n  // List Style Position\n  match('list-(inside|outside)', 'listStylePosition'),\n\n  // List Style Type\n  matchTheme('list-', 'listStyleType'),\n  withAutocomplete$(match('list-', 'listStyleType'), DEV && (() => ['none', 'disc', 'decimal'])),\n\n  // Placeholder Opacity\n  matchTheme('placeholder-opacity-', 'placeholderOpacity', ({ _ }) => ({\n    ['&::placeholder']: { '--tw-placeholder-opacity': _ },\n  })),\n\n  // Placeholder Color\n  matchColor('placeholder-', { property: 'color', selector: '&::placeholder' }),\n\n  // Text Alignment\n  match('text-(left|center|right|justify|start|end)', 'textAlign'),\n\n  match('text-(ellipsis|clip)', 'textOverflow'),\n\n  // Text Opacity\n  matchTheme('text-opacity-', 'textOpacity', '--tw-text-opacity'),\n\n  // Text Color\n  matchColor('text-', { property: 'color' }),\n\n  // Font Size\n  matchTheme('text-', 'fontSize', ({ _ }) =>\n    typeof _ == 'string'\n      ? { fontSize: _ }\n      : {\n          fontSize: _[0],\n          ...(typeof _[1] == 'string' ? { lineHeight: _[1] } : _[1]),\n        },\n  ),\n\n  // Text Indent\n  matchTheme('indent-', 'textIndent'),\n\n  // Text Decoration\n  match('(overline|underline|line-through)', 'textDecorationLine'),\n  match('no-underline', { textDecorationLine: 'none' }),\n\n  // Text Underline offset\n  matchTheme('underline-offset-', 'textUnderlineOffset'),\n\n  // Text Decoration Color\n  matchColor('decoration-', {\n    section: 'textDecorationColor',\n    opacityVariable: false,\n    opacitySection: 'opacity',\n  }),\n\n  // Text Decoration Thickness\n  matchTheme('decoration-', 'textDecorationThickness'),\n\n  // Text Decoration Style\n  withAutocomplete$(\n    match('decoration-', 'textDecorationStyle'),\n    DEV && (() => ['solid', 'double', 'dotted', 'dashed', 'wavy']),\n  ),\n\n  // Text Transform\n  match('(uppercase|lowercase|capitalize)', 'textTransform'),\n  match('normal-case', { textTransform: 'none' }),\n\n  // Text Overflow\n  match('truncate', {\n    overflow: 'hidden',\n    whiteSpace: 'nowrap',\n    textOverflow: 'ellipsis',\n  }),\n\n  // Vertical Alignment\n  withAutocomplete$(\n    match('align-', 'verticalAlign'),\n    DEV &&\n      (() => ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super']),\n  ),\n\n  // Whitespace\n  withAutocomplete$(\n    match('whitespace-', 'whiteSpace'),\n    DEV && (() => ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap']),\n  ),\n\n  // Word Break\n  match('break-normal', { wordBreak: 'normal', overflowWrap: 'normal' }),\n  match('break-words', { overflowWrap: 'break-word' }),\n  match('break-all', { wordBreak: 'break-all' }),\n  match('break-keep', { wordBreak: 'keep-all' }),\n\n  // Caret Color\n  matchColor('caret-', {\n    // section: 'caretColor',\n    opacityVariable: false,\n    opacitySection: 'opacity',\n  }),\n\n  // Accent Color\n  matchColor('accent-', {\n    // section: 'accentColor',\n    opacityVariable: false,\n    opacitySection: 'opacity',\n  }),\n\n  // Gradient Color Stops\n  match(\n    'bg-gradient-to-([trbl]|[tb][rl])',\n    'backgroundImage',\n    ({ 1: $1 }) => `linear-gradient(to ${position($1, ' ')},var(--tw-gradient-stops))`,\n  ),\n\n  matchColor(\n    'from-',\n    {\n      section: 'gradientColorStops',\n      opacityVariable: false,\n      opacitySection: 'opacity',\n    },\n    ({ _ }) => ({\n      '--tw-gradient-from': _.value,\n      '--tw-gradient-to': _.color({ opacityValue: '0' }),\n      '--tw-gradient-stops': `var(--tw-gradient-from),var(--tw-gradient-to)`,\n    }),\n  ),\n  matchColor(\n    'via-',\n\n    {\n      section: 'gradientColorStops',\n      opacityVariable: false,\n      opacitySection: 'opacity',\n    },\n    ({ _ }) => ({\n      '--tw-gradient-to': _.color({ opacityValue: '0' }),\n      '--tw-gradient-stops': `var(--tw-gradient-from),${_.value},var(--tw-gradient-to)`,\n    }),\n  ),\n  matchColor('to-', {\n    section: 'gradientColorStops',\n    property: '--tw-gradient-to',\n    opacityVariable: false,\n    opacitySection: 'opacity',\n  }),\n\n  /* BACKGROUNDS */\n  // Background Attachment\n  match('bg-(fixed|local|scroll)', 'backgroundAttachment'),\n\n  // Background Origin\n  match('bg-origin-(border|padding|content)', 'backgroundOrigin', ({ 1: $1 }) => $1 + '-box'),\n\n  // Background Repeat\n  match(['bg-(no-repeat|repeat(-[xy])?)', 'bg-repeat-(round|space)'], 'backgroundRepeat'),\n\n  // Background Blend Mode\n  withAutocomplete$(\n    match('bg-blend-', 'backgroundBlendMode'),\n    DEV &&\n      (() => [\n        'normal',\n        'multiply',\n        'screen',\n        'overlay',\n        'darken',\n        'lighten',\n        'color-dodge',\n        'color-burn',\n        'hard-light',\n        'soft-light',\n        'difference',\n        'exclusion',\n        'hue',\n        'saturation',\n        'color',\n        'luminosity',\n      ]),\n  ),\n\n  // Background Clip\n  match(\n    'bg-clip-(border|padding|content|text)',\n    'backgroundClip',\n    ({ 1: $1 }) => $1 + ($1 == 'text' ? '' : '-box'),\n  ),\n\n  // Background Opacity\n  matchTheme('bg-opacity-', 'backgroundOpacity', '--tw-bg-opacity'),\n\n  // Background Color\n  // bg-${backgroundColor}/${backgroundOpacity}\n  matchColor('bg-', { section: 'backgroundColor' }),\n\n  // Background Image\n  // supported arbitrary types are: length, color, angle, list\n  matchTheme('bg-', 'backgroundImage'),\n\n  // Background Position\n  matchTheme('bg-', 'backgroundPosition'),\n  match('bg-(top|bottom|center|(left|right)(-(top|bottom))?)', 'backgroundPosition', spacify),\n\n  // Background Size\n  matchTheme('bg-', 'backgroundSize'),\n\n  /* BORDERS */\n  // Border Radius\n  matchTheme('rounded(?:$|-)', 'borderRadius'),\n  matchTheme('rounded-([trbl]|[tb][rl])(?:$|-)', 'borderRadius', ({ 1: $1, _ }) => {\n    const corners = (\n      {\n        t: ['tl', 'tr'],\n        r: ['tr', 'br'],\n        b: ['bl', 'br'],\n        l: ['bl', 'tl'],\n      } as const\n    )[$1] || [$1, $1]\n\n    return {\n      [`border-${position(corners[0])}-radius` as 'border-top-left-radius']: _,\n      [`border-${position(corners[1])}-radius` as 'border-top-right-radius']: _,\n    }\n  }),\n\n  // Border Collapse\n  match('border-(collapse|separate)', 'borderCollapse'),\n\n  // Border Opacity\n  matchTheme('border-opacity(?:$|-)', 'borderOpacity', '--tw-border-opacity'),\n\n  // Border Style\n  match('border-(solid|dashed|dotted|double|none)', 'borderStyle'),\n\n  // Border Spacing\n  matchTheme('border-spacing(-[xy])?(?:$|-)', 'borderSpacing', ({ 1: $1, _ }) => ({\n    ...asDefaults({\n      '--tw-border-spacing-x': '0',\n      '--tw-border-spacing-y': '0',\n    }),\n    [('--tw-border-spacing' + ($1 || '-x')) as '--tw-border-spacing-x']: _,\n    [('--tw-border-spacing' + ($1 || '-y')) as '--tw-border-spacing-y']: _,\n    'border-spacing': 'var(--tw-border-spacing-x) var(--tw-border-spacing-y)',\n  })),\n\n  // Border Color\n  matchColor('border-([xytrbl])-', { section: 'borderColor' }, edge('border', 'Color')),\n  matchColor('border-'),\n\n  // Border Width\n  matchTheme('border-([xytrbl])(?:$|-)', 'borderWidth', edge('border', 'Width')),\n  matchTheme('border(?:$|-)', 'borderWidth'),\n\n  // Divide Opacity\n  matchTheme('divide-opacity(?:$|-)', 'divideOpacity', ({ _ }) => ({\n    '&>:not([hidden])~:not([hidden])': { '--tw-divide-opacity': _ },\n  })),\n\n  // Divide Style\n  match('divide-(solid|dashed|dotted|double|none)', ({ 1: $1 }) => ({\n    '&>:not([hidden])~:not([hidden])': { borderStyle: $1 },\n  })),\n\n  // Divide Width\n  match('divide-([xy]-reverse)', ({ 1: $1 }) => ({\n    '&>:not([hidden])~:not([hidden])': { ['--tw-divide-' + $1]: '1' },\n  })),\n\n  matchTheme('divide-([xy])(?:$|-)', 'divideWidth', ({ 1: $1, _ }) => {\n    const edges = (\n      {\n        x: 'lr',\n        y: 'tb',\n      } as const\n    )[$1 as 'x' | 'y']\n\n    return {\n      '&>:not([hidden])~:not([hidden])': {\n        [`--tw-divide-${$1}-reverse`]: '0',\n        [`border-${position(\n          edges[0],\n        )}Width`]: `calc(${_} * calc(1 - var(--tw-divide-${$1}-reverse)))`,\n        [`border-${position(edges[1])}Width`]: `calc(${_} * var(--tw-divide-${$1}-reverse))`,\n      },\n    }\n  }),\n\n  // Divide Color\n  matchColor('divide-', {\n    // section: $0.replace('-', 'Color') -> 'divideColor'\n    property: 'borderColor',\n    // opacityVariable: '--tw-border-opacity',\n    // opacitySection: section.replace('Color', 'Opacity') -> 'divideOpacity'\n    selector: '&>:not([hidden])~:not([hidden])',\n  }),\n\n  // Ring Offset Opacity\n  matchTheme('ring-opacity(?:$|-)', 'ringOpacity', '--tw-ring-opacity'),\n\n  // Ring Offset Color\n  matchColor('ring-offset-', {\n    // section: 'ringOffsetColor',\n    property: '--tw-ring-offset-color',\n    opacityVariable: false,\n    // opacitySection: section.replace('Color', 'Opacity') -> 'ringOffsetOpacity'\n  }),\n\n  // Ring Offset Width\n  matchTheme('ring-offset(?:$|-)', 'ringOffsetWidth', '--tw-ring-offset-width'),\n\n  // Ring Inset\n  match('ring-inset', { '--tw-ring-inset': 'inset' }),\n\n  // Ring Color\n  matchColor('ring-', {\n    // section: 'ringColor',\n    property: '--tw-ring-color',\n    // opacityVariable: '--tw-ring-opacity',\n    // opacitySection: section.replace('Color', 'Opacity') -> 'ringOpacity'\n  }),\n\n  // Ring Width\n  matchTheme('ring(?:$|-)', 'ringWidth', ({ _ }, { theme }) => ({\n    ...asDefaults({\n      '--tw-ring-offset-shadow': '0 0 #0000',\n      '--tw-ring-shadow': '0 0 #0000',\n      '--tw-shadow': '0 0 #0000',\n      '--tw-shadow-colored': '0 0 #0000',\n      // Within own declaration to have the defaults above to be merged with defaults from shadow\n      '&': {\n        '--tw-ring-inset': 'var(--tw-empty,/*!*/ /*!*/)',\n        '--tw-ring-offset-width': theme('ringOffsetWidth', '', '0px'),\n        '--tw-ring-offset-color': toColorValue(theme('ringOffsetColor', '', '#fff')),\n        '--tw-ring-color': toColorValue(theme('ringColor', '', '#93c5fd'), {\n          opacityVariable: '--tw-ring-opacity',\n        }),\n        '--tw-ring-opacity': theme('ringOpacity', '', '0.5'),\n      },\n    }),\n    '--tw-ring-offset-shadow': `var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)`,\n    '--tw-ring-shadow': `var(--tw-ring-inset) 0 0 0 calc(${_} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,\n    boxShadow: `var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)`,\n  })),\n\n  /* EFFECTS */\n  // Box Shadow Color\n  matchColor(\n    'shadow-',\n    {\n      section: 'boxShadowColor',\n      opacityVariable: false,\n      opacitySection: 'opacity',\n    },\n    ({ _ }) => ({\n      '--tw-shadow-color': _.value,\n      '--tw-shadow': 'var(--tw-shadow-colored)',\n    }),\n  ),\n\n  // Box Shadow\n  matchTheme('shadow(?:$|-)', 'boxShadow', ({ _ }) => ({\n    ...asDefaults({\n      '--tw-ring-offset-shadow': '0 0 #0000',\n      '--tw-ring-shadow': '0 0 #0000',\n      '--tw-shadow': '0 0 #0000',\n      '--tw-shadow-colored': '0 0 #0000',\n    }),\n    '--tw-shadow': join(_),\n    // replace all colors with reference to --tw-shadow-colored\n    // this matches colors after non-comma char (keyword, offset) before comma or the end\n    '--tw-shadow-colored': (join(_) as string).replace(\n      /([^,]\\s+)(?:#[a-f\\d]+|(?:(?:hsl|rgb)a?|hwb|lab|lch|color|var)\\(.+?\\)|[a-z]+)(,|$)/g,\n      '$1var(--tw-shadow-color)$2',\n    ),\n    boxShadow: `var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)`,\n  })),\n\n  // Opacity\n  matchTheme('(opacity)-' /*, 'opacity' */),\n\n  // Mix Blend Mode\n  withAutocomplete$(\n    match('mix-blend-', 'mixBlendMode'),\n    DEV &&\n      (() => [\n        'normal',\n        'multiply',\n        'screen',\n        'overlay',\n        'darken',\n        'lighten',\n        'color-dodge',\n        'color-burn',\n        'hard-light',\n        'soft-light',\n        'difference',\n        'exclusion',\n        'hue',\n        'saturation',\n        'color',\n        'luminosity',\n      ]),\n  ),\n\n  /* FILTERS */\n  ...filter(),\n  ...filter('backdrop-'),\n\n  /* TRANSITIONS AND ANIMATION */\n  // Transition Property\n  matchTheme('transition(?:$|-)', 'transitionProperty', (match, { theme }) => ({\n    transitionProperty: join(match),\n    transitionTimingFunction:\n      match._ == 'none' ? undefined : join(theme('transitionTimingFunction', '')),\n    transitionDuration: match._ == 'none' ? undefined : join(theme('transitionDuration', '')),\n  })),\n\n  // Transition Duration\n  matchTheme('duration(?:$|-)', 'transitionDuration', 'transitionDuration', join),\n\n  // Transition Timing Function\n  matchTheme('ease(?:$|-)', 'transitionTimingFunction', 'transitionTimingFunction', join),\n\n  // Transition Delay\n  matchTheme('delay(?:$|-)', 'transitionDelay', 'transitionDelay', join),\n\n  matchTheme('animate(?:$|-)', 'animation', (match, { theme, h, e }) => {\n    const animation: string = join(match)\n\n    // Try to auto inject keyframes\n    const parts = animation.split(' ')\n    const keyframeValues = theme('keyframes', parts[0]) as CSSBase\n\n    if (keyframeValues) {\n      return {\n        [('@keyframes ' + (parts[0] = e(h(parts[0])))) as '@keyframes xxx']: keyframeValues,\n        animation: parts.join(' '),\n      }\n    }\n\n    return { animation }\n  }),\n\n  /* TRANSFORMS */\n  // Transform\n  '(transform)-(none)',\n  match('transform', tranformDefaults),\n  match('transform-(cpu|gpu)', ({ 1: $1 }) => ({\n    '--tw-transform': transformValue($1 == 'gpu'),\n  })),\n\n  // Scale\n  matchTheme(\n    'scale(-[xy])?-',\n    'scale',\n    ({ 1: $1, _ }) =>\n      ({\n        [('--tw-scale' + ($1 || '-x')) as '--tw-scale-x']: _,\n        [('--tw-scale' + ($1 || '-y')) as '--tw-scale-y']: _,\n        ...tranformDefaults(),\n      } as CSSObject),\n  ),\n\n  // Rotate\n  matchTheme('-?(rotate)-', 'rotate', transform),\n\n  // Translate\n  matchTheme('-?(translate-[xy])-', 'translate', transform),\n\n  // Skew\n  matchTheme('-?(skew-[xy])-', 'skew', transform),\n\n  // Transform Origin\n  match('origin-(center|((top|bottom)(-(left|right))?)|left|right)', 'transformOrigin', spacify),\n\n  /* INTERACTIVITY */\n  // Appearance\n  withAutocomplete$('(appearance)-', DEV && (() => ['auto', 'none'])),\n\n  // Columns\n  matchTheme('(columns)-' /*, 'columns' */),\n  withAutocomplete$('(columns)-(\\\\d+)', DEV && (() => range({ end: 12 }))),\n\n  // Break Before, After and Inside\n  withAutocomplete$(\n    '(break-(?:before|after|inside))-',\n    DEV &&\n      (({ 1: $1 }) =>\n        $1.endsWith('-inside-')\n          ? ['auto', 'avoid', 'avoid-page', 'avoid-column']\n          : /* before || after */ [\n              'auto',\n              'avoid',\n              'all',\n              'avoid-page',\n              'page',\n              'left',\n              'right',\n              'column',\n            ]),\n  ),\n\n  // Cursor\n  matchTheme('(cursor)-' /*, 'cursor' */),\n  withAutocomplete$(\n    '(cursor)-',\n    DEV &&\n      (() => [\n        'alias',\n        'all-scroll',\n        'auto',\n        'cell',\n        'col-resize',\n        'context-menu',\n        'copy',\n        'crosshair',\n        'default',\n        'e-resize',\n        'ew-resize',\n        'grab',\n        'grabbing',\n        'help',\n        'move',\n        'n-resize',\n        'ne-resize',\n        'nesw-resize',\n        'no-drop',\n        'none',\n        'not-allowed',\n        'ns-resize',\n        'nw-resize',\n        'nwse-resize',\n        'pointer',\n        'progress',\n        'row-resize',\n        's-resize',\n        'se-resize',\n        'sw-resize',\n        'text',\n        'vertical-text',\n        'w-resize',\n        'wait',\n        'zoom-in',\n        'zoom-out',\n      ]),\n  ),\n\n  // Scroll Snap Type\n  match('snap-(none)', 'scroll-snap-type'),\n  match('snap-(x|y|both)', ({ 1: $1 }) => ({\n    ...asDefaults({\n      '--tw-scroll-snap-strictness': 'proximity',\n    }),\n    'scroll-snap-type': $1 + ' var(--tw-scroll-snap-strictness)',\n  })),\n  match('snap-(mandatory|proximity)', '--tw-scroll-snap-strictness'),\n\n  // Scroll Snap Align\n  match('snap-(?:(start|end|center)|align-(none))', 'scroll-snap-align'),\n\n  // Scroll Snap Stop\n  match('snap-(normal|always)', 'scroll-snap-stop'),\n\n  match('scroll-(auto|smooth)', 'scroll-behavior'),\n\n  // Scroll Margin\n  // Padding\n  matchTheme('scroll-p([xytrbl])?(?:$|-)', 'padding', edge('scroll-padding')),\n\n  // Margin\n  matchTheme<TailwindTheme, 'scrollMargin'>(\n    '-?scroll-m([xytrbl])?(?:$|-)',\n    'scroll-margin',\n    edge('scroll-margin'),\n  ),\n\n  // Touch Action\n  match('touch-(auto|none|manipulation)', 'touch-action'),\n  match('touch-(pinch-zoom|pan-(?:(x|left|right)|(y|up|down)))', ({ 1: $1, 2: $2, 3: $3 }) => ({\n    ...asDefaults({\n      '--tw-pan-x': 'var(--tw-empty,/*!*/ /*!*/)',\n      '--tw-pan-y': 'var(--tw-empty,/*!*/ /*!*/)',\n      '--tw-pinch-zoom': 'var(--tw-empty,/*!*/ /*!*/)',\n      '--tw-touch-action': 'var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)',\n    }),\n    // x, left, right -> pan-x\n    // y, up, down -> pan-y\n    // -> pinch-zoom\n    [`--tw-${$2 ? 'pan-x' : $3 ? 'pan-y' : $1}` as '--tw-pan-x']: $1,\n    'touch-action': 'var(--tw-touch-action)',\n  })),\n\n  // Outline Style\n  match('outline-none', {\n    outline: '2px solid transparent',\n    'outline-offset': '2px',\n  }),\n  match('outline', { outlineStyle: 'solid' }),\n  match('outline-(dashed|dotted|double)', 'outlineStyle'),\n\n  // Outline Offset\n  matchTheme('-?(outline-offset)-' /*, 'outlineOffset'*/),\n\n  // Outline Color\n  matchColor('outline-', {\n    opacityVariable: false,\n    opacitySection: 'opacity',\n  }),\n\n  // Outline Width\n  matchTheme('outline-', 'outlineWidth'),\n\n  // Pointer Events\n  withAutocomplete$('(pointer-events)-', DEV && (() => ['auto', 'none'])),\n\n  // Will Change\n  matchTheme('(will-change)-' /*, 'willChange' */),\n  withAutocomplete$('(will-change)-', DEV && (() => ['auto', 'contents', 'transform'])),\n\n  // Resize\n  [\n    'resize(?:-(none|x|y))?',\n    'resize',\n    ({ 1: $1 }) => ({ x: 'horizontal', y: 'vertical' }[$1] || $1 || 'both'),\n  ],\n\n  // User Select\n  match('select-(none|text|all|auto)', 'userSelect'),\n\n  /* SVG */\n  // Fill, Stroke\n  matchColor('fill-', { section: 'fill', opacityVariable: false, opacitySection: 'opacity' }),\n  matchColor('stroke-', { section: 'stroke', opacityVariable: false, opacitySection: 'opacity' }),\n\n  // Stroke Width\n  matchTheme('stroke-', 'strokeWidth'),\n\n  /* ACCESSIBILITY */\n  // Screen Readers\n  match('sr-only', {\n    position: 'absolute',\n    width: '1px',\n    height: '1px',\n    padding: '0',\n    margin: '-1px',\n    overflow: 'hidden',\n    whiteSpace: 'nowrap',\n    clip: 'rect(0,0,0,0)',\n    borderWidth: '0',\n  }),\n\n  match('not-sr-only', {\n    position: 'static',\n    width: 'auto',\n    height: 'auto',\n    padding: '0',\n    margin: '0',\n    overflow: 'visible',\n    whiteSpace: 'normal',\n    clip: 'auto',\n  }),\n]\n\nexport default rules\n\nfunction spacify(value: string | MatchResult): string {\n  return (typeof value == 'string' ? value : value[1]).replace(/-/g, ' ').trim()\n}\n\nfunction columnify(value: string | MatchResult): string {\n  return (typeof value == 'string' ? value : value[1]).replace('col', 'column')\n}\n\nfunction position(shorthand: string, separator = '-'): string {\n  const longhand: string[] = []\n\n  for (const short of shorthand) {\n    longhand.push({ t: 'top', r: 'right', b: 'bottom', l: 'left' }[short] as string)\n  }\n\n  return longhand.join(separator)\n}\n\nfunction join(match: ThemeMatchResult<MaybeArray<string>>): string\nfunction join(value: MaybeArray<string> | undefined): string | undefined\n\nfunction join(\n  value: ThemeMatchResult<MaybeArray<string>> | MaybeArray<string> | undefined,\n): string | undefined {\n  return value && '' + ((value as ThemeMatchResult<MaybeArray<string>>)._ || value)\n}\n\nfunction convertContentValue({ $$ }: MatchResult) {\n  return (\n    ({\n      // /* aut*/ o: '',\n      /* sta*/ r /*t*/: 'flex-',\n      /* end*/ '': 'flex-',\n      // /* cen*/ t /*er*/: '',\n      /* bet*/ w /*een*/: 'space-',\n      /* aro*/ u /*nd*/: 'space-',\n      /* eve*/ n /*ly*/: 'space-',\n      // /* str*/ e /*tch*/: '',\n      // /* bas*/ l /*ine*/: '',\n    }[$$[3] || ''] || '') + $$\n  )\n}\n\nfunction edge(\n  propertyPrefix: string,\n  propertySuffix = '',\n): ThemeRuleResolver<string | ColorFromThemeValue, TailwindTheme> {\n  return ({ 1: $1, _ }) => {\n    const edges =\n      {\n        x: 'lr',\n        y: 'tb',\n      }[$1 as 'x' | 'y'] || $1 + $1\n\n    return edges\n      ? {\n          ...toCSS(propertyPrefix + '-' + position(edges[0]) + propertySuffix, _),\n          ...toCSS(propertyPrefix + '-' + position(edges[1]) + propertySuffix, _),\n        }\n      : toCSS(propertyPrefix + propertySuffix, _)\n  }\n}\n\nfunction filter(prefix = ''): Rule<TailwindTheme>[] {\n  const filters = [\n    'blur',\n    'brightness',\n    'contrast',\n    'grayscale',\n    'hue-rotate',\n    'invert',\n    prefix && 'opacity',\n    'saturate',\n    'sepia',\n    !prefix && 'drop-shadow',\n  ].filter(Boolean) as string[]\n\n  let defaults = {} as CSSObject\n\n  // first create properties defaults\n  for (const key of filters) {\n    defaults[`--tw-${prefix}${key}` as '--tw-blur'] = 'var(--tw-empty,/*!*/ /*!*/)'\n  }\n\n  defaults = {\n    // move defaults\n    ...asDefaults(defaults),\n    // add default filter which allows standalone usage\n    [`${prefix}filter`]: filters.map((key) => `var(--tw-${prefix}${key})`).join(' '),\n  } as CSSObject\n\n  return [\n    `(${prefix}filter)-(none)`,\n\n    match(`${prefix}filter`, defaults),\n\n    ...filters.map((key) =>\n      matchTheme<TailwindTheme, 'hueRotate' | 'dropShadow'>(\n        // hue-rotate can be negated\n        `${key[0] == 'h' ? '-?' : ''}(${prefix}${key})(?:$|-)`,\n\n        key as 'hueRotate' | 'dropShadow',\n        ({ 1: $1, _ }) =>\n          ({\n            [`--tw-${$1}`]: asArray(_)\n              .map((value) => `${key}(${value})`)\n              .join(' '),\n            ...defaults,\n          } as CSSObject),\n      ),\n    ),\n  ]\n}\n\nfunction transform({ 1: $1, _ }: ThemeMatchResult<string>): CSSObject {\n  return {\n    ['--tw-' + $1]: _,\n    ...tranformDefaults(),\n  } as CSSObject\n}\n\nfunction tranformDefaults(): CSSObject {\n  return {\n    ...asDefaults({\n      '--tw-translate-x': '0',\n      '--tw-translate-y': '0',\n      '--tw-rotate': '0',\n      '--tw-skew-x': '0',\n      '--tw-skew-y': '0',\n      '--tw-scale-x': '1',\n      '--tw-scale-y': '1',\n      '--tw-transform': transformValue(),\n    }),\n    transform: 'var(--tw-transform)',\n  }\n}\n\nfunction transformValue(gpu?: boolean): string {\n  return [\n    gpu // -gpu\n      ? 'translate3d(var(--tw-translate-x),var(--tw-translate-y),0)'\n      : 'translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y))',\n    'rotate(var(--tw-rotate))',\n    'skewX(var(--tw-skew-x))',\n    'skewY(var(--tw-skew-y))',\n    'scaleX(var(--tw-scale-x))',\n    'scaleY(var(--tw-scale-y))',\n  ].join(' ')\n}\nfunction span({ 1: $1, 2: $2 }: MatchResult) {\n  return `${$1} ${$2} / ${$1} ${$2}`\n}\n\nfunction gridTemplate({ 1: $1 }: MatchResult) {\n  return `repeat(${$1},minmax(0,1fr))`\n}\n\nfunction range({\n  start = 1,\n  end,\n  step = 1,\n}: {\n  start?: number\n  end: number\n  step?: number\n}): string[] {\n  const result: string[] = []\n\n  for (let index = start; index <= end; index += step) {\n    result.push(`${index}`)\n  }\n\n  return result\n}\n\nfunction asDefaults(props: CSSObject): { '@layer defaults': CSSBase } {\n  return {\n    '@layer defaults': {\n      '*,::before,::after': props,\n      '::backdrop': props,\n    },\n  }\n}\n"],"names":["rules","match","$1","$2","context","arbitrary","input","h","c","matchTheme","_","theme","screens","center","padding","width","marginRight","marginLeft","paddingFor","screen","value","mql","maxWidth","DEFAULT","paddingRight","paddingLeft","content","display","spacify","top","right","bottom","left","visibility","columnify","withAutocomplete$","gridTemplate","span","convertContentValue","$$","includes","edge","y","x","asArray","fontFamily","join","WebkitFontSmoothing","MozOsxFontSmoothing","fontStyle","$3","fontVariantNumeric","asDefaults","matchColor","property","selector","fontSize","lineHeight","textDecorationLine","section","opacityVariable","opacitySection","textTransform","overflow","whiteSpace","textOverflow","wordBreak","overflowWrap","position","color","opacityValue","corners","t","r","b","l","borderStyle","edges","toColorValue","boxShadow","replace","filter","transitionProperty","transitionTimingFunction","undefined","transitionDuration","e","animation","parts","split","keyframeValues","tranformDefaults","transformValue","transform","outline","outlineStyle","height","margin","clip","borderWidth","trim","shorthand","separator","longhand","short","push","w","u","n","propertyPrefix","propertySuffix","toCSS","prefix","filters","Boolean","defaults","key","map","gpu","props"],"mappings":"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"}