sposchedule
209 строк · 4.6 Кб
1export default {2root: ({ props }) => ({3class: [4'relative',5
6// Flex7{8flex: props.fluid,9'inline-flex': !props.fluid,10},11
12// Size13{ 'w-full': props.multiple },14
15// Color16'text-surface-900 dark:text-surface-0',17
18//States19{20'bg-surface-200 dark:bg-surface-700 select-none pointer-events-none cursor-default':21props.disabled,22},23],24}),25inputMultiple: ({ props, state }) => ({26class: [27// Font28'leading-none',29
30// Flex31'flex items-center flex-wrap',32'gap-2',33
34// Spacing35'm-0 list-none',36'py-1 px-1',37
38// Size39'w-full',40
41// Shape42'appearance-none rounded-md',43
44// Color45'text-surface-700 dark:text-white/80',46'placeholder:text-surface-400 dark:placeholder:text-surface-500',47{ 'bg-surface-0 dark:bg-surface-950': !props.disabled },48'border',49{ 'border-surface-300 dark:border-surface-700': !props.invalid },50
51// Invalid State52'invalid:focus:ring-red-200',53'invalid:hover:border-red-500',54{ 'border-red-500 dark:border-red-400': props.invalid },55
56// States57{58'hover:border-surface-400 dark:hover:border-surface-700':59!props.invalid,60},61{62'outline-none outline-offset-0 z-10 ring-1 ring-primary-500 dark:ring-primary-400':63state.focused,64},65
66// Transition67'transition duration-200 ease-in-out',68
69// Misc70'cursor-text overflow-hidden',71],72}),73inputToken: {74class: ['py-1 px-0 ml-2', 'inline-flex flex-auto'],75},76inputChip: {77class: 'flex-auto inline-flex pt-1 pb-1',78},79input: {80class:81'border-none outline-none bg-transparent m-0 p-0 shadow-none rounded-none w-full',82},83dropdown: {84class: [85'relative',86
87// Alignments88'items-center inline-flex justify-center text-center align-bottom',89
90// Shape91'rounded-r-md',92
93// Size94'py-2 leading-none',95'w-10',96
97// Colors98'text-primary-contrast',99'bg-primary',100'border border-primary',101
102// States103'focus:outline-none focus:outline-offset-0 focus:ring-1 ',104'hover:bg-primary-emphasis hover:border-primary-emphasis',105'focus:ring-primary-500 dark:focus:ring-primary-400',106],107},108loader: {109class: [110'text-surface-500 dark:text-surface-0/70',111'absolute top-[50%] right-[0.5rem] -mt-2 animate-spin',112],113},114overlay: {115class: [116// Colors117'bg-surface-0 dark:bg-surface-900',118'text-surface-700 dark:text-white/80',119
120// Shape121'border border-surface-300 dark:border-surface-700',122'rounded-md',123'shadow-md',124
125// Size126'overflow-auto',127],128},129list: {130class: 'p-1 list-none m-0',131},132option: ({ context }) => ({133class: [134'relative',135
136// Font137'leading-none',138
139// Spacing140'm-0 px-3 py-2',141'first:mt-0 mt-[2px]',142
143// Shape144'border-0 rounded',145
146// Colors147{148'text-surface-700 dark:text-white/80':149!context.focused && !context.selected,150'bg-surface-200 dark:bg-surface-600/60':151context.focused && !context.selected,152'text-surface-700 dark:text-white/80':153context.focused && !context.selected,154'bg-highlight': context.selected,155},156
157//States158{159'hover:bg-surface-100 dark:hover:bg-[rgba(255,255,255,0.03)]':160!context.focused && !context.selected,161},162{ 'hover:bg-highlight-emphasis': context.selected },163{164'hover:text-surface-700 hover:bg-surface-100 dark:hover:text-white dark:hover:bg-[rgba(255,255,255,0.03)]':165context.focused && !context.selected,166},167
168// Transition169'transition-shadow duration-200',170
171// Misc172'cursor-pointer overflow-hidden whitespace-nowrap',173],174}),175optionGroup: {176class: [177'font-semibold',178
179// Spacing180'm-0 py-2 px-3',181
182// Colors183'text-surface-400 dark:text-surface-500',184
185// Misc186'cursor-auto',187],188},189emptyMessage: {190class: [191// Font192'leading-none',193
194// Spacing195'py-2 px-3',196
197// Color198'text-surface-800 dark:text-white/80',199'bg-transparent',200],201},202transition: {203enterFromClass: 'opacity-0 scale-y-[0.8]',204enterActiveClass:205'transition-[transform,opacity] duration-[120ms] ease-[cubic-bezier(0,0,0.2,1)]',206leaveActiveClass: 'transition-opacity duration-100 ease-linear',207leaveToClass: 'opacity-0',208},209};210