import type { Rule } from '@unocss/core' ; import { colorResolver , handler as h } from '../utils' ; export const outline = [ [ /^outline-(?:width-|size-)?(.+)$/ , ( [ , d ] ) => ( { 'outline-width' : h . bracket . cssvar . fraction . rem ( d ) } ) ] , [ /^outline-(?:color-)?(.+)$/ , colorResolver ( 'outline-color' , 'outline-color' ) ] , [ /^outline-offset-(.+)$/ , ( [ , d ] ) => ( { 'outline-offset' : h . bracket . cssvar . fraction . rem ( d ) } ) ] , [ 'outline' , { 'outline-style' : 'solid' } ] , [ /^outline-(auto|dashed|dotted|double|hidden|solid|groove|ridge|inset|outset|inherit|initial|revert|unset)$/ , ( [ , c ] ) => ( { 'outline-style' : c } ) ] , [ 'outline-none' , { 'outline' : '2px solid transparent' , 'outline-offset' : '2px' } ] , ] ; export const appearance = [ [ 'appearance-none' , { 'appearance' : 'none' , '-webkit-appearance' : 'none' , } ] , ] ; const willChangeProperty = ( prop ) : string | undefined => { return h . properties . auto . global ( prop ) ?? { contents : 'contents' , scroll : 'scroll-position' , } [ prop ] ; } ; export const willChange = [ [ /^will-change-(.+)/ , ( [ , p ] ) => ( { 'will-change' : willChangeProperty ( p ) } ) ] , ] ;