forked from cerc-io/snowballtools-base
* 🎨 style: adjust z index of the date picker popover * 🎨 style: add new spacing and rename box shadow from calendar to dropdown * 🐛 fix: console error becasue button inside button * ♻️ refactor: rename shadow calendar to shador dropdown on calendar component * 🚀 perf: remove vscode settings inside `packages/frontend` * ⚡️ feat: create check radio icon and chevron down icon component * 🔧 chore: install `downshift` * ⚡️ feat: create select component * 🎨 style: adjust the popover position based on the user screen * ⚡️ feat: separate select item to be a component * ⚡️ feat: separate select value to be a component * ♻️ refactor: adjust style and refactor to a new component * ⚡️ feat: create a type for merge two interface but keep the last value * 🐛 fix: forward ref the component to fix console error * ⚡️ feat: add `hideValues` prop to hide the values when on multiple * 🐛 fix: no result not showing * ⚡️ feat: make the select to be controller component * ♻️ refactor: remove console log * ♻️ refactor: update pr review
57 lines
1.3 KiB
TypeScript
57 lines
1.3 KiB
TypeScript
import { tv, VariantProps } from 'tailwind-variants';
|
|
|
|
export const selectItemTheme = tv({
|
|
slots: {
|
|
wrapper: [
|
|
'p-2',
|
|
'gap-3',
|
|
'flex',
|
|
'items-start',
|
|
'justify-between',
|
|
'rounded-lg',
|
|
'group',
|
|
'data-[disabled]:cursor-not-allowed',
|
|
],
|
|
icon: ['h-4.5', 'w-4.5', 'text-elements-high-em'],
|
|
content: ['flex', 'flex-1', 'whitespace-nowrap'],
|
|
label: [
|
|
'text-sm',
|
|
'text-elements-high-em',
|
|
'tracking-[-0.006em]',
|
|
'data-[disabled]:text-elements-disabled',
|
|
],
|
|
description: [
|
|
'text-xs',
|
|
'text-elements-low-em',
|
|
'data-[disabled]:text-elements-disabled',
|
|
],
|
|
dot: ['h-1', 'w-1', 'rounded-full', 'bg-border-interactive-hovered/[0.14]'],
|
|
},
|
|
variants: {
|
|
orientation: {
|
|
horizontal: {
|
|
wrapper: ['items-center'],
|
|
content: ['flex-row', 'items-center', 'gap-2'],
|
|
},
|
|
vertical: {
|
|
content: ['flex-col', 'gap-0.5'],
|
|
},
|
|
},
|
|
variant: {
|
|
default: {
|
|
wrapper: [],
|
|
},
|
|
danger: {
|
|
wrapper: [],
|
|
},
|
|
},
|
|
active: {
|
|
true: {
|
|
wrapper: ['bg-base-bg-emphasized', 'data-[disabled]:bg-transparent'],
|
|
},
|
|
},
|
|
},
|
|
});
|
|
|
|
export type SelectItemTheme = VariantProps<typeof selectItemTheme>;
|