@ropav/styles 0.4.0 → 0.6.0
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/README.md +89 -5
- package/dist/components/accordion.css +6 -14
- package/dist/components/alert-dialog.css +1 -13
- package/dist/components/alert.css +1 -1
- package/dist/components/autocomplete/autocomplete.styles.d.ts +33 -0
- package/dist/components/autocomplete/autocomplete.styles.d.ts.map +1 -1
- package/dist/components/autocomplete/autocomplete.styles.js +12 -0
- package/dist/components/autocomplete.css +54 -36
- package/dist/components/breadcrumbs.css +9 -2
- package/dist/components/button-group.css +6 -10
- package/dist/components/button.css +10 -18
- package/dist/components/calendar-year-picker.css +20 -8
- package/dist/components/calendar.css +46 -21
- package/dist/components/card.css +1 -1
- package/dist/components/checkbox.css +54 -56
- package/dist/components/chip.css +3 -1
- package/dist/components/close-button.css +7 -6
- package/dist/components/color-area.css +6 -6
- package/dist/components/color-input-group/color-input-group.styles.d.ts +27 -0
- package/dist/components/color-input-group/color-input-group.styles.d.ts.map +1 -1
- package/dist/components/color-input-group/color-input-group.styles.js +6 -0
- package/dist/components/color-input-group.css +31 -28
- package/dist/components/color-picker.css +1 -5
- package/dist/components/color-slider.css +14 -12
- package/dist/components/color-swatch-picker.css +2 -85
- package/dist/components/color-swatch.css +1 -1
- package/dist/components/combo-box/combo-box.styles.d.ts +27 -0
- package/dist/components/combo-box/combo-box.styles.d.ts.map +1 -1
- package/dist/components/combo-box/combo-box.styles.js +17 -7
- package/dist/components/combo-box.css +34 -4
- package/dist/components/date-input-group/date-input-group.styles.d.ts +27 -0
- package/dist/components/date-input-group/date-input-group.styles.d.ts.map +1 -1
- package/dist/components/date-input-group/date-input-group.styles.js +6 -0
- package/dist/components/date-input-group.css +55 -33
- package/dist/components/date-picker.css +1 -5
- package/dist/components/date-range-picker.css +1 -5
- package/dist/components/disclosure.css +0 -4
- package/dist/components/drawer.css +4 -8
- package/dist/components/drop-zone/drop-zone.styles.d.ts +34 -0
- package/dist/components/drop-zone/drop-zone.styles.d.ts.map +1 -0
- package/dist/components/drop-zone/drop-zone.styles.js +8 -0
- package/dist/components/drop-zone/index.d.ts +2 -0
- package/dist/components/drop-zone/index.d.ts.map +1 -0
- package/dist/components/drop-zone/index.js +2 -0
- package/dist/components/drop-zone.css +78 -0
- package/dist/components/dropdown.css +1 -5
- package/dist/components/error-message.css +0 -4
- package/dist/components/field-error.css +0 -4
- package/dist/components/index.css +5 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/input/input.styles.d.ts +15 -0
- package/dist/components/input/input.styles.d.ts.map +1 -1
- package/dist/components/input/input.styles.js +6 -0
- package/dist/components/input-group/input-group.styles.d.ts +27 -0
- package/dist/components/input-group/input-group.styles.d.ts.map +1 -1
- package/dist/components/input-group/input-group.styles.js +6 -0
- package/dist/components/input-group.css +35 -38
- package/dist/components/input-otp.css +14 -26
- package/dist/components/input.css +23 -32
- package/dist/components/kbd.css +3 -1
- package/dist/components/label.css +7 -2
- package/dist/components/link.css +13 -11
- package/dist/components/list-box/list-box.styles.d.ts +15 -0
- package/dist/components/list-box/list-box.styles.d.ts.map +1 -1
- package/dist/components/list-box/list-box.styles.js +15 -5
- package/dist/components/list-box-item.css +8 -12
- package/dist/components/list-box.css +19 -0
- package/dist/components/menu/menu.styles.d.ts +19 -1
- package/dist/components/menu/menu.styles.d.ts.map +1 -1
- package/dist/components/menu/menu.styles.js +9 -1
- package/dist/components/menu-item.css +4 -10
- package/dist/components/menu.css +19 -0
- package/dist/components/meter.css +8 -16
- package/dist/components/modal.css +1 -13
- package/dist/components/number-field/number-field.styles.d.ts +27 -0
- package/dist/components/number-field/number-field.styles.d.ts.map +1 -1
- package/dist/components/number-field/number-field.styles.js +6 -0
- package/dist/components/number-field.css +83 -36
- package/dist/components/pagination.css +6 -10
- package/dist/components/popover.css +15 -5
- package/dist/components/progress-bar/progress-bar.styles.d.ts +36 -0
- package/dist/components/progress-bar/progress-bar.styles.d.ts.map +1 -1
- package/dist/components/progress-bar/progress-bar.styles.js +10 -0
- package/dist/components/progress-bar.css +82 -16
- package/dist/components/progress-circle.css +0 -4
- package/dist/components/radio.css +7 -9
- package/dist/components/range-calendar.css +73 -31
- package/dist/components/search-field/search-field.styles.d.ts +27 -0
- package/dist/components/search-field/search-field.styles.d.ts.map +1 -1
- package/dist/components/search-field/search-field.styles.js +6 -0
- package/dist/components/search-field.css +36 -29
- package/dist/components/segmented-control/index.d.ts +2 -0
- package/dist/components/segmented-control/index.d.ts.map +1 -0
- package/dist/components/segmented-control/index.js +2 -0
- package/dist/components/segmented-control/segmented-control.styles.d.ts +73 -0
- package/dist/components/segmented-control/segmented-control.styles.d.ts.map +1 -0
- package/dist/components/segmented-control/segmented-control.styles.js +27 -0
- package/dist/components/segmented-control.css +188 -0
- package/dist/components/select/select.styles.d.ts +33 -0
- package/dist/components/select/select.styles.d.ts.map +1 -1
- package/dist/components/select/select.styles.js +12 -0
- package/dist/components/select.css +47 -33
- package/dist/components/sidebar/index.d.ts +2 -0
- package/dist/components/sidebar/index.d.ts.map +1 -0
- package/dist/components/sidebar/index.js +2 -0
- package/dist/components/sidebar/sidebar.styles.d.ts +226 -0
- package/dist/components/sidebar/sidebar.styles.d.ts.map +1 -0
- package/dist/components/sidebar/sidebar.styles.js +65 -0
- package/dist/components/sidebar.css +604 -0
- package/dist/components/slider.css +10 -11
- package/dist/components/splitter/index.d.ts +2 -0
- package/dist/components/splitter/index.d.ts.map +1 -0
- package/dist/components/splitter/index.js +2 -0
- package/dist/components/splitter/splitter.styles.d.ts +61 -0
- package/dist/components/splitter/splitter.styles.d.ts.map +1 -0
- package/dist/components/splitter/splitter.styles.js +26 -0
- package/dist/components/splitter.css +249 -0
- package/dist/components/switch.css +16 -15
- package/dist/components/table.css +72 -30
- package/dist/components/tabs.css +9 -20
- package/dist/components/tag.css +32 -24
- package/dist/components/textarea/textarea.styles.d.ts +15 -0
- package/dist/components/textarea/textarea.styles.d.ts.map +1 -1
- package/dist/components/textarea/textarea.styles.js +6 -0
- package/dist/components/textarea.css +23 -32
- package/dist/components/toast.css +4 -2
- package/dist/components/toggle-button-group.css +7 -11
- package/dist/components/toggle-button.css +9 -17
- package/dist/components/toolbar.css +1 -1
- package/dist/components/tooltip.css +15 -6
- package/dist/components/typography.css +12 -4
- package/dist/components/virtualizer/index.d.ts +2 -0
- package/dist/components/virtualizer/index.d.ts.map +1 -0
- package/dist/components/virtualizer/index.js +2 -0
- package/dist/components/virtualizer/virtualizer.styles.d.ts +44 -0
- package/dist/components/virtualizer/virtualizer.styles.d.ts.map +1 -0
- package/dist/components/virtualizer/virtualizer.styles.js +15 -0
- package/dist/components/virtualizer.css +72 -0
- package/dist/index.js +6 -1
- package/dist/ropav.min.css +2 -2
- package/dist/themes/airbnb.css +11 -4
- package/dist/themes/all.css +1 -0
- package/dist/themes/coinbase.css +11 -4
- package/dist/themes/default.css +40 -8
- package/dist/themes/discord.css +11 -4
- package/dist/themes/hero.css +282 -0
- package/dist/themes/lavender.css +11 -4
- package/dist/themes/mint.css +11 -4
- package/dist/themes/netflix.css +11 -4
- package/dist/themes/rabbit.css +11 -4
- package/dist/themes/shared/theme.css +20 -2
- package/dist/themes/sky.css +11 -4
- package/dist/themes/spotify.css +11 -4
- package/dist/themes/uber.css +11 -4
- package/dist/utilities/index.css +27 -0
- package/package.json +1 -1
- package/src/components/autocomplete/autocomplete.styles.ts +12 -0
- package/src/components/color-input-group/color-input-group.styles.ts +10 -0
- package/src/components/combo-box/combo-box.styles.ts +12 -0
- package/src/components/date-input-group/date-input-group.styles.ts +10 -0
- package/src/components/drop-zone/drop-zone.styles.ts +12 -0
- package/src/components/drop-zone/index.ts +1 -0
- package/src/components/index.ts +5 -0
- package/src/components/input/input.styles.ts +6 -0
- package/src/components/input-group/input-group.styles.ts +10 -0
- package/src/components/list-box/list-box.styles.ts +6 -0
- package/src/components/menu/menu.styles.ts +10 -0
- package/src/components/number-field/number-field.styles.ts +10 -0
- package/src/components/progress-bar/progress-bar.styles.ts +14 -0
- package/src/components/search-field/search-field.styles.ts +10 -0
- package/src/components/segmented-control/index.ts +1 -0
- package/src/components/segmented-control/segmented-control.styles.ts +37 -0
- package/src/components/select/select.styles.ts +12 -0
- package/src/components/sidebar/index.ts +1 -0
- package/src/components/sidebar/sidebar.styles.ts +117 -0
- package/src/components/splitter/index.ts +1 -0
- package/src/components/splitter/splitter.styles.ts +44 -0
- package/src/components/textarea/textarea.styles.ts +6 -0
- package/src/components/virtualizer/index.ts +1 -0
- package/src/components/virtualizer/virtualizer.styles.ts +15 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
SegmentedControl - one choice out of a few, drawn as a pill that slides
|
|
3
|
+
|
|
4
|
+
Structure (explicit composition):
|
|
5
|
+
.segmented-control → role="radiogroup", the track the pill slides in
|
|
6
|
+
.segmented-control__item → button[role="radio"]
|
|
7
|
+
.segmented-control__indicator
|
|
8
|
+
========================================================================== */
|
|
9
|
+
|
|
10
|
+
.segmented-control {
|
|
11
|
+
@apply relative inline-flex w-max items-center bg-default p-1;
|
|
12
|
+
|
|
13
|
+
/* The same corner a button of this size wears, not a larger one stepped out by the padding.
|
|
14
|
+
* The size scale already lines the track up with a button and a field; a corner of its own
|
|
15
|
+
* would break that agreement at exactly the place two of them sit side by side.
|
|
16
|
+
*
|
|
17
|
+
* Read through `var(--component-radius)` rather than the `rounded-component` utility, because
|
|
18
|
+
* raw CSS resolves the alias on `:root` and then inherits the root theme's radius into every
|
|
19
|
+
* `data-theme` subtree. */
|
|
20
|
+
border-radius: min(32px, var(--component-radius));
|
|
21
|
+
|
|
22
|
+
/* Forced Colors Mode flattens the track's fill onto the page, which leaves the pill sitting
|
|
23
|
+
* in nothing. `CanvasText` is the platform's own edge; an outline rather than a border so
|
|
24
|
+
* nothing shifts. */
|
|
25
|
+
@media (forced-colors: active) {
|
|
26
|
+
outline: 1px solid CanvasText;
|
|
27
|
+
outline-offset: -1px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/* Disabled state */
|
|
31
|
+
&[data-disabled="true"] {
|
|
32
|
+
@apply status-disabled;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/* ==========================================================================
|
|
37
|
+
Segment
|
|
38
|
+
========================================================================== */
|
|
39
|
+
|
|
40
|
+
.segmented-control__item {
|
|
41
|
+
@apply relative inline-flex h-7 min-w-0 shrink-0 appearance-none items-center justify-center gap-2 rounded-component border-0 bg-transparent px-3 text-center text-sm font-medium whitespace-nowrap outline-none select-none no-highlight;
|
|
42
|
+
|
|
43
|
+
--segmented-control-item-fg: var(--muted);
|
|
44
|
+
--segmented-control-item-fg-hover: var(--foreground);
|
|
45
|
+
--segmented-control-item-fg-selected: var(--segment-foreground);
|
|
46
|
+
|
|
47
|
+
color: var(--segmented-control-item-fg);
|
|
48
|
+
|
|
49
|
+
z-index: 1;
|
|
50
|
+
cursor: var(--cursor-interactive);
|
|
51
|
+
|
|
52
|
+
transition:
|
|
53
|
+
color 150ms var(--ease-smooth),
|
|
54
|
+
opacity 150ms var(--ease-smooth);
|
|
55
|
+
@apply motion-reduce:transition-none;
|
|
56
|
+
|
|
57
|
+
/* Selected state */
|
|
58
|
+
&[data-selected="true"] {
|
|
59
|
+
color: var(--segmented-control-item-fg-selected);
|
|
60
|
+
|
|
61
|
+
/* Sits on top of the indicator, which forced colors paints `Highlight`. `forced-color-adjust`
|
|
62
|
+
* suppresses the `Canvas` backplate Chromium would otherwise paint behind this label - it
|
|
63
|
+
* covers the indicator, and black-on-black is exactly what it would leave. */
|
|
64
|
+
@media (forced-colors: active) {
|
|
65
|
+
forced-color-adjust: none;
|
|
66
|
+
color: HighlightText;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Hover states - both approaches for compatibility */
|
|
71
|
+
@media (hover: hover) {
|
|
72
|
+
&:not([data-selected="true"]):not([data-disabled="true"]):hover,
|
|
73
|
+
&[data-hovered="true"]:not([data-selected="true"]):not([data-disabled="true"]) {
|
|
74
|
+
color: var(--segmented-control-item-fg-hover);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* Pressed states - both approaches for compatibility */
|
|
79
|
+
&:not([data-disabled="true"]):active,
|
|
80
|
+
&[data-pressed="true"]:not([data-disabled="true"]) {
|
|
81
|
+
@apply opacity-70;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/* Focus states - comprehensive fallback */
|
|
85
|
+
&:focus-visible:not(:focus),
|
|
86
|
+
&[data-focus-visible="true"] {
|
|
87
|
+
@apply status-focused;
|
|
88
|
+
|
|
89
|
+
/* Written after the utility, which sets this same property. Inset and offsetless so the ring
|
|
90
|
+
* stays inside the track's padding instead of spilling over its rounded edge - the same
|
|
91
|
+
* correction ToggleButtonGroup makes for an attached row. */
|
|
92
|
+
--tw-ring-offset-width: 0px;
|
|
93
|
+
@apply ring-inset;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
/* Disabled state */
|
|
97
|
+
&:disabled,
|
|
98
|
+
&[data-disabled="true"] {
|
|
99
|
+
@apply status-disabled;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/* ==========================================================================
|
|
104
|
+
Separator - a hairline between adjacent segments. Rendered inside each
|
|
105
|
+
segment and pinned to its leading edge, so it divides that segment from the
|
|
106
|
+
one before it rather than being a node between the two.
|
|
107
|
+
========================================================================== */
|
|
108
|
+
|
|
109
|
+
.segmented-control__separator {
|
|
110
|
+
@apply pointer-events-none absolute start-0 top-1/4 h-1/2 w-px rounded-sm bg-muted/25;
|
|
111
|
+
|
|
112
|
+
transition: opacity 150ms var(--ease-smooth);
|
|
113
|
+
@apply motion-reduce:transition-none;
|
|
114
|
+
|
|
115
|
+
/* Nothing to divide in front of the first segment. */
|
|
116
|
+
.segmented-control__item:first-child & {
|
|
117
|
+
@apply opacity-0;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* The pill covers its own leading divider, and the divider on the segment that follows would
|
|
122
|
+
otherwise sit hard against the pill's trailing edge. Both step aside as it arrives. */
|
|
123
|
+
.segmented-control__item[data-selected="true"] .segmented-control__separator,
|
|
124
|
+
.segmented-control__item[data-selected="true"]
|
|
125
|
+
+ .segmented-control__item
|
|
126
|
+
.segmented-control__separator {
|
|
127
|
+
@apply opacity-0;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/* ==========================================================================
|
|
131
|
+
Indicator - React Aria's SelectionIndicator. One is rendered inside every
|
|
132
|
+
segment and only the selected one is present, so what looks like a pill
|
|
133
|
+
sliding along is one element handing its place to the next.
|
|
134
|
+
========================================================================== */
|
|
135
|
+
|
|
136
|
+
.segmented-control__indicator {
|
|
137
|
+
@apply absolute start-0 top-0 size-full rounded-component bg-segment shadow-surface;
|
|
138
|
+
|
|
139
|
+
z-index: -1;
|
|
140
|
+
|
|
141
|
+
/* The indicator is a background and nothing else, so Forced Colors Mode flattens it away
|
|
142
|
+
* and nothing marks the selected segment. `Highlight` behind `HighlightText` is the
|
|
143
|
+
* platform's own pairing for a selected segment. */
|
|
144
|
+
@media (forced-colors: active) {
|
|
145
|
+
background-color: Highlight;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* `useSharedElement` reads this very declaration to decide what to carry across the handoff,
|
|
150
|
+
* so the stylesheet stays the only place that decides what animates. `height` is listed even
|
|
151
|
+
* though the pill only travels along one axis today, so a vertical orientation needs no
|
|
152
|
+
* change here.
|
|
153
|
+
*/
|
|
154
|
+
transition-duration: 250ms;
|
|
155
|
+
transition-property: translate, width, height;
|
|
156
|
+
transition-timing-function: var(--ease-out-fluid);
|
|
157
|
+
@apply motion-reduce:transition-none;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* ==========================================================================
|
|
161
|
+
Sizes - the outer track lands on the control scale (32/36/40px), so a
|
|
162
|
+
segmented control lines up with a button or a field of the same size. The
|
|
163
|
+
track's own `p-1` is the 8px difference.
|
|
164
|
+
========================================================================== */
|
|
165
|
+
|
|
166
|
+
.segmented-control--sm .segmented-control__item {
|
|
167
|
+
@apply h-6 px-2.5 text-xs;
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
.segmented-control--md {
|
|
171
|
+
/* No styles as this is the default size */
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
.segmented-control--lg .segmented-control__item {
|
|
175
|
+
@apply h-8 px-4;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
/* ==========================================================================
|
|
179
|
+
Full width modifier
|
|
180
|
+
========================================================================== */
|
|
181
|
+
|
|
182
|
+
.segmented-control--full-width {
|
|
183
|
+
@apply flex w-full;
|
|
184
|
+
|
|
185
|
+
.segmented-control__item {
|
|
186
|
+
@apply flex-1;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
@@ -7,6 +7,17 @@ export declare const selectVariants: import("tailwind-variants").TVReturnType<{
|
|
|
7
7
|
trigger: string;
|
|
8
8
|
};
|
|
9
9
|
};
|
|
10
|
+
size: {
|
|
11
|
+
lg: {
|
|
12
|
+
base: string;
|
|
13
|
+
popover: string;
|
|
14
|
+
};
|
|
15
|
+
md: {};
|
|
16
|
+
sm: {
|
|
17
|
+
base: string;
|
|
18
|
+
popover: string;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
10
21
|
variant: {
|
|
11
22
|
primary: {
|
|
12
23
|
base: string;
|
|
@@ -29,6 +40,17 @@ export declare const selectVariants: import("tailwind-variants").TVReturnType<{
|
|
|
29
40
|
trigger: string;
|
|
30
41
|
};
|
|
31
42
|
};
|
|
43
|
+
size: {
|
|
44
|
+
lg: {
|
|
45
|
+
base: string;
|
|
46
|
+
popover: string;
|
|
47
|
+
};
|
|
48
|
+
md: {};
|
|
49
|
+
sm: {
|
|
50
|
+
base: string;
|
|
51
|
+
popover: string;
|
|
52
|
+
};
|
|
53
|
+
};
|
|
32
54
|
variant: {
|
|
33
55
|
primary: {
|
|
34
56
|
base: string;
|
|
@@ -51,6 +73,17 @@ export declare const selectVariants: import("tailwind-variants").TVReturnType<{
|
|
|
51
73
|
trigger: string;
|
|
52
74
|
};
|
|
53
75
|
};
|
|
76
|
+
size: {
|
|
77
|
+
lg: {
|
|
78
|
+
base: string;
|
|
79
|
+
popover: string;
|
|
80
|
+
};
|
|
81
|
+
md: {};
|
|
82
|
+
sm: {
|
|
83
|
+
base: string;
|
|
84
|
+
popover: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
54
87
|
variant: {
|
|
55
88
|
primary: {
|
|
56
89
|
base: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.styles.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,cAAc;;
|
|
1
|
+
{"version":3,"file":"select.styles.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,eAAO,MAAM,cAAc;;QAerB,KAAK;QACL,IAAI;YACF,IAAI;YACJ,OAAO;;;;QAIT,EAAE;YACA,IAAI;YACJ,OAAO;;QAET,EAAE;QACF,EAAE;YACA,IAAI;YACJ,OAAO;;;;QAIT,OAAO;YACL,IAAI;;QAEN,SAAS;YACP,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIV,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { tv } from "tailwind-variants";
|
|
|
3
3
|
const selectVariants = tv({
|
|
4
4
|
defaultVariants: {
|
|
5
5
|
fullWidth: false,
|
|
6
|
+
size: "md",
|
|
6
7
|
variant: "primary"
|
|
7
8
|
},
|
|
8
9
|
slots: {
|
|
@@ -20,6 +21,17 @@ const selectVariants = tv({
|
|
|
20
21
|
trigger: "select__trigger--full-width"
|
|
21
22
|
}
|
|
22
23
|
},
|
|
24
|
+
size: {
|
|
25
|
+
lg: {
|
|
26
|
+
base: "select--lg",
|
|
27
|
+
popover: "select__popover--lg"
|
|
28
|
+
},
|
|
29
|
+
md: {},
|
|
30
|
+
sm: {
|
|
31
|
+
base: "select--sm",
|
|
32
|
+
popover: "select__popover--sm"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
23
35
|
variant: {
|
|
24
36
|
primary: { base: "select--primary" },
|
|
25
37
|
secondary: { base: "select--secondary" }
|
|
@@ -15,7 +15,14 @@
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
.select__trigger {
|
|
18
|
-
@apply relative isolate inline-flex min-h-9 rounded-field border
|
|
18
|
+
@apply relative isolate inline-flex min-h-9 rounded-field border px-3 field-line-md text-field-foreground shadow-field outline-none select-none no-highlight;
|
|
19
|
+
|
|
20
|
+
/* The fill, per state. The `--secondary` variant re-points these and declares nothing else. */
|
|
21
|
+
--select-trigger-bg: var(--field-background, var(--default));
|
|
22
|
+
--select-trigger-bg-hover: var(--field-hover);
|
|
23
|
+
--select-trigger-bg-focus: var(--field-focus);
|
|
24
|
+
|
|
25
|
+
background-color: var(--select-trigger-bg);
|
|
19
26
|
|
|
20
27
|
/* Forced Colors Mode flattens the fill onto the page and strips the shadow, leaving a field that
|
|
21
28
|
* reads as bare text - `--border-width-field` is 0, so the declared border brings nothing back on
|
|
@@ -26,10 +33,6 @@
|
|
|
26
33
|
outline-offset: -1px;
|
|
27
34
|
}
|
|
28
35
|
|
|
29
|
-
/**
|
|
30
|
-
* Transitions
|
|
31
|
-
* CRITICAL: motion-reduce must be AFTER transition for correct override specificity
|
|
32
|
-
*/
|
|
33
36
|
transition:
|
|
34
37
|
background-color 150ms var(--ease-smooth),
|
|
35
38
|
border-color 150ms var(--ease-smooth),
|
|
@@ -51,7 +54,7 @@
|
|
|
51
54
|
@media (hover: hover) {
|
|
52
55
|
&:hover,
|
|
53
56
|
&[data-hovered="true"] {
|
|
54
|
-
|
|
57
|
+
background-color: var(--select-trigger-bg-hover);
|
|
55
58
|
border-color: var(--field-border-hover);
|
|
56
59
|
}
|
|
57
60
|
}
|
|
@@ -61,7 +64,7 @@
|
|
|
61
64
|
&[data-focus-visible="true"] {
|
|
62
65
|
@apply status-focused;
|
|
63
66
|
border-color: var(--field-border-focus);
|
|
64
|
-
background-color: var(--
|
|
67
|
+
background-color: var(--select-trigger-bg-focus);
|
|
65
68
|
}
|
|
66
69
|
|
|
67
70
|
/* Focus state */
|
|
@@ -73,7 +76,7 @@
|
|
|
73
76
|
.select[data-invalid="true"] &,
|
|
74
77
|
.select[aria-invalid="true"] & {
|
|
75
78
|
@apply status-invalid-field;
|
|
76
|
-
background-color: var(--
|
|
79
|
+
background-color: var(--select-trigger-bg-focus);
|
|
77
80
|
}
|
|
78
81
|
|
|
79
82
|
/* Disabled state */
|
|
@@ -91,39 +94,22 @@
|
|
|
91
94
|
|
|
92
95
|
.select--secondary .select__trigger {
|
|
93
96
|
@apply shadow-none;
|
|
94
|
-
background-color: var(--select-trigger-bg);
|
|
95
97
|
|
|
96
98
|
--select-trigger-bg: var(--default);
|
|
97
99
|
--select-trigger-bg-hover: var(--default-hover);
|
|
98
100
|
--select-trigger-bg-focus: var(--default);
|
|
99
|
-
|
|
100
|
-
@media (hover: hover) {
|
|
101
|
-
&:hover,
|
|
102
|
-
&[data-hovered="true"] {
|
|
103
|
-
background-color: var(--select-trigger-bg-hover);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
&:focus-visible:not(:focus),
|
|
108
|
-
&[data-focus-visible="true"] {
|
|
109
|
-
background-color: var(--select-trigger-bg-focus);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
&:focus,
|
|
113
|
-
&[data-focus="true"] {
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.select[data-invalid="true"] &,
|
|
117
|
-
.select[aria-invalid="true"] & {
|
|
118
|
-
background-color: var(--select-trigger-bg-focus);
|
|
119
|
-
}
|
|
120
101
|
}
|
|
121
102
|
|
|
122
103
|
.select__value {
|
|
123
|
-
@apply flex-1 text-start
|
|
104
|
+
@apply flex-1 text-start wrap-break-word;
|
|
105
|
+
|
|
106
|
+
--select-value-fg: currentcolor;
|
|
107
|
+
--select-value-fg-placeholder: var(--field-placeholder, var(--muted));
|
|
108
|
+
|
|
109
|
+
color: var(--select-value-fg);
|
|
124
110
|
|
|
125
111
|
&[data-placeholder="true"] {
|
|
126
|
-
|
|
112
|
+
color: var(--select-value-fg-placeholder);
|
|
127
113
|
}
|
|
128
114
|
|
|
129
115
|
/* Removes the list-box-item indicator element from the select value*/
|
|
@@ -147,7 +133,7 @@
|
|
|
147
133
|
/* Similar to popover content styles */
|
|
148
134
|
.select__popover {
|
|
149
135
|
@apply min-w-(--trigger-width) origin-(--trigger-anchor-point) scroll-py-1 scrollbar overflow-y-auto overscroll-contain bg-overlay p-0 text-sm;
|
|
150
|
-
border-radius: min(32px, var(--radius
|
|
136
|
+
border-radius: min(32px, var(--component-radius));
|
|
151
137
|
box-shadow: var(--shadow-overlay);
|
|
152
138
|
|
|
153
139
|
/* Focus state */
|
|
@@ -224,6 +210,34 @@
|
|
|
224
210
|
}
|
|
225
211
|
}
|
|
226
212
|
|
|
213
|
+
/* ==========================================================================
|
|
214
|
+
Size variants
|
|
215
|
+
========================================================================== */
|
|
216
|
+
|
|
217
|
+
/* The trigger's own metrics, and the option rows in a popover that is portalled out of this tree -
|
|
218
|
+
* which is why the popover carries its own size class rather than being reached from the base. */
|
|
219
|
+
.select--sm .select__trigger {
|
|
220
|
+
@apply min-h-8 field-line-sm;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.select--lg .select__trigger {
|
|
224
|
+
@apply min-h-10 field-line-lg;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
.select__popover--sm {
|
|
228
|
+
[data-slot="list-box-item"] {
|
|
229
|
+
@apply min-h-8 py-1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.select__popover--lg {
|
|
234
|
+
@apply text-base;
|
|
235
|
+
|
|
236
|
+
[data-slot="list-box-item"] {
|
|
237
|
+
@apply min-h-10 py-2;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
227
241
|
/* Full width modifier */
|
|
228
242
|
.select--full-width {
|
|
229
243
|
@apply w-full;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import type { VariantProps } from "tailwind-variants";
|
|
2
|
+
export declare const sidebarVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
collapsible: {
|
|
4
|
+
icon: {
|
|
5
|
+
panel: string;
|
|
6
|
+
};
|
|
7
|
+
none: {
|
|
8
|
+
panel: string;
|
|
9
|
+
};
|
|
10
|
+
offcanvas: {
|
|
11
|
+
panel: string;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
inDrawer: {
|
|
15
|
+
true: {
|
|
16
|
+
panel: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
isCollapsible: {
|
|
20
|
+
true: {
|
|
21
|
+
subMenu: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
isResizable: {
|
|
25
|
+
true: {
|
|
26
|
+
rail: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
isSub: {
|
|
30
|
+
true: {
|
|
31
|
+
item: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
side: {
|
|
35
|
+
left: {
|
|
36
|
+
base: string;
|
|
37
|
+
panel: string;
|
|
38
|
+
};
|
|
39
|
+
right: {
|
|
40
|
+
base: string;
|
|
41
|
+
panel: string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
variant: {
|
|
45
|
+
floating: {
|
|
46
|
+
panel: string;
|
|
47
|
+
rail: string;
|
|
48
|
+
};
|
|
49
|
+
inset: {
|
|
50
|
+
inset: string;
|
|
51
|
+
panel: string;
|
|
52
|
+
rail: string;
|
|
53
|
+
};
|
|
54
|
+
sidebar: {};
|
|
55
|
+
};
|
|
56
|
+
}, {
|
|
57
|
+
base: string;
|
|
58
|
+
content: string;
|
|
59
|
+
footer: string;
|
|
60
|
+
group: string;
|
|
61
|
+
groupLabel: string;
|
|
62
|
+
header: string;
|
|
63
|
+
inset: string;
|
|
64
|
+
item: string;
|
|
65
|
+
itemIcon: string;
|
|
66
|
+
itemIndicator: string;
|
|
67
|
+
itemLabel: string;
|
|
68
|
+
itemTooltip: string;
|
|
69
|
+
itemTrailing: string;
|
|
70
|
+
panel: string;
|
|
71
|
+
rail: string;
|
|
72
|
+
railTarget: string;
|
|
73
|
+
separator: string;
|
|
74
|
+
subMenu: string;
|
|
75
|
+
trigger: string;
|
|
76
|
+
}, undefined, {
|
|
77
|
+
collapsible: {
|
|
78
|
+
icon: {
|
|
79
|
+
panel: string;
|
|
80
|
+
};
|
|
81
|
+
none: {
|
|
82
|
+
panel: string;
|
|
83
|
+
};
|
|
84
|
+
offcanvas: {
|
|
85
|
+
panel: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
inDrawer: {
|
|
89
|
+
true: {
|
|
90
|
+
panel: string;
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
isCollapsible: {
|
|
94
|
+
true: {
|
|
95
|
+
subMenu: string;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
isResizable: {
|
|
99
|
+
true: {
|
|
100
|
+
rail: string;
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
isSub: {
|
|
104
|
+
true: {
|
|
105
|
+
item: string;
|
|
106
|
+
};
|
|
107
|
+
};
|
|
108
|
+
side: {
|
|
109
|
+
left: {
|
|
110
|
+
base: string;
|
|
111
|
+
panel: string;
|
|
112
|
+
};
|
|
113
|
+
right: {
|
|
114
|
+
base: string;
|
|
115
|
+
panel: string;
|
|
116
|
+
};
|
|
117
|
+
};
|
|
118
|
+
variant: {
|
|
119
|
+
floating: {
|
|
120
|
+
panel: string;
|
|
121
|
+
rail: string;
|
|
122
|
+
};
|
|
123
|
+
inset: {
|
|
124
|
+
inset: string;
|
|
125
|
+
panel: string;
|
|
126
|
+
rail: string;
|
|
127
|
+
};
|
|
128
|
+
sidebar: {};
|
|
129
|
+
};
|
|
130
|
+
}, {
|
|
131
|
+
base: string;
|
|
132
|
+
content: string;
|
|
133
|
+
footer: string;
|
|
134
|
+
group: string;
|
|
135
|
+
groupLabel: string;
|
|
136
|
+
header: string;
|
|
137
|
+
inset: string;
|
|
138
|
+
item: string;
|
|
139
|
+
itemIcon: string;
|
|
140
|
+
itemIndicator: string;
|
|
141
|
+
itemLabel: string;
|
|
142
|
+
itemTooltip: string;
|
|
143
|
+
itemTrailing: string;
|
|
144
|
+
panel: string;
|
|
145
|
+
rail: string;
|
|
146
|
+
railTarget: string;
|
|
147
|
+
separator: string;
|
|
148
|
+
subMenu: string;
|
|
149
|
+
trigger: string;
|
|
150
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
151
|
+
collapsible: {
|
|
152
|
+
icon: {
|
|
153
|
+
panel: string;
|
|
154
|
+
};
|
|
155
|
+
none: {
|
|
156
|
+
panel: string;
|
|
157
|
+
};
|
|
158
|
+
offcanvas: {
|
|
159
|
+
panel: string;
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
inDrawer: {
|
|
163
|
+
true: {
|
|
164
|
+
panel: string;
|
|
165
|
+
};
|
|
166
|
+
};
|
|
167
|
+
isCollapsible: {
|
|
168
|
+
true: {
|
|
169
|
+
subMenu: string;
|
|
170
|
+
};
|
|
171
|
+
};
|
|
172
|
+
isResizable: {
|
|
173
|
+
true: {
|
|
174
|
+
rail: string;
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
isSub: {
|
|
178
|
+
true: {
|
|
179
|
+
item: string;
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
side: {
|
|
183
|
+
left: {
|
|
184
|
+
base: string;
|
|
185
|
+
panel: string;
|
|
186
|
+
};
|
|
187
|
+
right: {
|
|
188
|
+
base: string;
|
|
189
|
+
panel: string;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
variant: {
|
|
193
|
+
floating: {
|
|
194
|
+
panel: string;
|
|
195
|
+
rail: string;
|
|
196
|
+
};
|
|
197
|
+
inset: {
|
|
198
|
+
inset: string;
|
|
199
|
+
panel: string;
|
|
200
|
+
rail: string;
|
|
201
|
+
};
|
|
202
|
+
sidebar: {};
|
|
203
|
+
};
|
|
204
|
+
}, {
|
|
205
|
+
base: string;
|
|
206
|
+
content: string;
|
|
207
|
+
footer: string;
|
|
208
|
+
group: string;
|
|
209
|
+
groupLabel: string;
|
|
210
|
+
header: string;
|
|
211
|
+
inset: string;
|
|
212
|
+
item: string;
|
|
213
|
+
itemIcon: string;
|
|
214
|
+
itemIndicator: string;
|
|
215
|
+
itemLabel: string;
|
|
216
|
+
itemTooltip: string;
|
|
217
|
+
itemTrailing: string;
|
|
218
|
+
panel: string;
|
|
219
|
+
rail: string;
|
|
220
|
+
railTarget: string;
|
|
221
|
+
separator: string;
|
|
222
|
+
subMenu: string;
|
|
223
|
+
trigger: string;
|
|
224
|
+
}>>;
|
|
225
|
+
export type SidebarVariants = VariantProps<typeof sidebarVariants>;
|
|
226
|
+
//# sourceMappingURL=sidebar.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sidebar.styles.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AActD,eAAO,MAAM,eAAe;;QA6BtB,IAAI;YACF,KAAK;;QAEP,IAAI;YACF,KAAK;;QAEP,SAAS;YACP,KAAK;;;;QAMP,IAAI;YACF,KAAK;;;;QAMP,IAAI;YACF,OAAO;;;;QAMT,IAAI;YACF,IAAI;;;;QAMN,IAAI;YACF,IAAI;;;;QAIN,IAAI;YACF,IAAI;YACJ,KAAK;;QAEP,KAAK;YACH,IAAI;YACJ,KAAK;;;;QAcP,QAAQ;YACN,KAAK;YACL,IAAI;;QAEN,KAAK;YACH,KAAK;YACL,KAAK;YACL,IAAI;;QAEN,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGX,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC"}
|