@ropav/styles 0.4.0 → 0.5.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.
Files changed (138) hide show
  1. package/README.md +10 -5
  2. package/dist/components/accordion.css +5 -5
  3. package/dist/components/alert-dialog.css +1 -1
  4. package/dist/components/alert.css +1 -1
  5. package/dist/components/autocomplete/autocomplete.styles.d.ts +33 -0
  6. package/dist/components/autocomplete/autocomplete.styles.d.ts.map +1 -1
  7. package/dist/components/autocomplete/autocomplete.styles.js +12 -0
  8. package/dist/components/autocomplete.css +31 -3
  9. package/dist/components/button-group.css +6 -6
  10. package/dist/components/button.css +7 -11
  11. package/dist/components/calendar-year-picker.css +1 -1
  12. package/dist/components/card.css +1 -1
  13. package/dist/components/color-input-group/color-input-group.styles.d.ts +27 -0
  14. package/dist/components/color-input-group/color-input-group.styles.d.ts.map +1 -1
  15. package/dist/components/color-input-group/color-input-group.styles.js +6 -0
  16. package/dist/components/color-input-group.css +21 -1
  17. package/dist/components/combo-box/combo-box.styles.d.ts +27 -0
  18. package/dist/components/combo-box/combo-box.styles.d.ts.map +1 -1
  19. package/dist/components/combo-box/combo-box.styles.js +17 -7
  20. package/dist/components/combo-box.css +21 -1
  21. package/dist/components/date-input-group/date-input-group.styles.d.ts +27 -0
  22. package/dist/components/date-input-group/date-input-group.styles.d.ts.map +1 -1
  23. package/dist/components/date-input-group/date-input-group.styles.js +6 -0
  24. package/dist/components/date-input-group.css +21 -1
  25. package/dist/components/dropdown.css +1 -1
  26. package/dist/components/index.css +4 -0
  27. package/dist/components/index.d.ts +4 -0
  28. package/dist/components/index.d.ts.map +1 -1
  29. package/dist/components/input/input.styles.d.ts +15 -0
  30. package/dist/components/input/input.styles.d.ts.map +1 -1
  31. package/dist/components/input/input.styles.js +6 -0
  32. package/dist/components/input-group/input-group.styles.d.ts +27 -0
  33. package/dist/components/input-group/input-group.styles.d.ts.map +1 -1
  34. package/dist/components/input-group/input-group.styles.js +6 -0
  35. package/dist/components/input-group.css +23 -1
  36. package/dist/components/input.css +13 -1
  37. package/dist/components/list-box/list-box.styles.d.ts +15 -0
  38. package/dist/components/list-box/list-box.styles.d.ts.map +1 -1
  39. package/dist/components/list-box/list-box.styles.js +15 -5
  40. package/dist/components/list-box-item.css +4 -2
  41. package/dist/components/list-box.css +19 -0
  42. package/dist/components/menu/menu.styles.d.ts +19 -1
  43. package/dist/components/menu/menu.styles.d.ts.map +1 -1
  44. package/dist/components/menu/menu.styles.js +9 -1
  45. package/dist/components/menu.css +19 -0
  46. package/dist/components/modal.css +1 -1
  47. package/dist/components/number-field/number-field.styles.d.ts +27 -0
  48. package/dist/components/number-field/number-field.styles.d.ts.map +1 -1
  49. package/dist/components/number-field/number-field.styles.js +6 -0
  50. package/dist/components/number-field.css +60 -1
  51. package/dist/components/pagination.css +6 -6
  52. package/dist/components/popover.css +15 -1
  53. package/dist/components/search-field/search-field.styles.d.ts +27 -0
  54. package/dist/components/search-field/search-field.styles.d.ts.map +1 -1
  55. package/dist/components/search-field/search-field.styles.js +6 -0
  56. package/dist/components/search-field.css +25 -1
  57. package/dist/components/segmented-control/index.d.ts +2 -0
  58. package/dist/components/segmented-control/index.d.ts.map +1 -0
  59. package/dist/components/segmented-control/index.js +2 -0
  60. package/dist/components/segmented-control/segmented-control.styles.d.ts +73 -0
  61. package/dist/components/segmented-control/segmented-control.styles.d.ts.map +1 -0
  62. package/dist/components/segmented-control/segmented-control.styles.js +27 -0
  63. package/dist/components/segmented-control.css +193 -0
  64. package/dist/components/select/select.styles.d.ts +33 -0
  65. package/dist/components/select/select.styles.d.ts.map +1 -1
  66. package/dist/components/select/select.styles.js +12 -0
  67. package/dist/components/select.css +31 -3
  68. package/dist/components/sidebar/index.d.ts +2 -0
  69. package/dist/components/sidebar/index.d.ts.map +1 -0
  70. package/dist/components/sidebar/index.js +2 -0
  71. package/dist/components/sidebar/sidebar.styles.d.ts +190 -0
  72. package/dist/components/sidebar/sidebar.styles.d.ts.map +1 -0
  73. package/dist/components/sidebar/sidebar.styles.js +52 -0
  74. package/dist/components/sidebar.css +510 -0
  75. package/dist/components/splitter/index.d.ts +2 -0
  76. package/dist/components/splitter/index.d.ts.map +1 -0
  77. package/dist/components/splitter/index.js +2 -0
  78. package/dist/components/splitter/splitter.styles.d.ts +61 -0
  79. package/dist/components/splitter/splitter.styles.d.ts.map +1 -0
  80. package/dist/components/splitter/splitter.styles.js +26 -0
  81. package/dist/components/splitter.css +241 -0
  82. package/dist/components/table.css +3 -3
  83. package/dist/components/tabs.css +2 -2
  84. package/dist/components/textarea/textarea.styles.d.ts +15 -0
  85. package/dist/components/textarea/textarea.styles.d.ts.map +1 -1
  86. package/dist/components/textarea/textarea.styles.js +6 -0
  87. package/dist/components/textarea.css +13 -1
  88. package/dist/components/toast.css +1 -1
  89. package/dist/components/toggle-button-group.css +7 -7
  90. package/dist/components/toggle-button.css +7 -11
  91. package/dist/components/toolbar.css +1 -1
  92. package/dist/components/tooltip.css +15 -2
  93. package/dist/components/virtualizer/index.d.ts +2 -0
  94. package/dist/components/virtualizer/index.d.ts.map +1 -0
  95. package/dist/components/virtualizer/index.js +2 -0
  96. package/dist/components/virtualizer/virtualizer.styles.d.ts +44 -0
  97. package/dist/components/virtualizer/virtualizer.styles.d.ts.map +1 -0
  98. package/dist/components/virtualizer/virtualizer.styles.js +15 -0
  99. package/dist/components/virtualizer.css +64 -0
  100. package/dist/index.js +5 -1
  101. package/dist/ropav.min.css +2 -2
  102. package/dist/themes/airbnb.css +5 -0
  103. package/dist/themes/all.css +1 -0
  104. package/dist/themes/coinbase.css +5 -0
  105. package/dist/themes/default.css +16 -4
  106. package/dist/themes/discord.css +5 -0
  107. package/dist/themes/hero.css +262 -0
  108. package/dist/themes/lavender.css +5 -0
  109. package/dist/themes/mint.css +5 -0
  110. package/dist/themes/netflix.css +5 -0
  111. package/dist/themes/rabbit.css +5 -0
  112. package/dist/themes/shared/theme.css +19 -2
  113. package/dist/themes/sky.css +5 -0
  114. package/dist/themes/spotify.css +5 -0
  115. package/dist/themes/uber.css +5 -0
  116. package/dist/utilities/index.css +27 -0
  117. package/package.json +1 -1
  118. package/src/components/autocomplete/autocomplete.styles.ts +12 -0
  119. package/src/components/color-input-group/color-input-group.styles.ts +10 -0
  120. package/src/components/combo-box/combo-box.styles.ts +12 -0
  121. package/src/components/date-input-group/date-input-group.styles.ts +10 -0
  122. package/src/components/index.ts +4 -0
  123. package/src/components/input/input.styles.ts +6 -0
  124. package/src/components/input-group/input-group.styles.ts +10 -0
  125. package/src/components/list-box/list-box.styles.ts +6 -0
  126. package/src/components/menu/menu.styles.ts +10 -0
  127. package/src/components/number-field/number-field.styles.ts +10 -0
  128. package/src/components/search-field/search-field.styles.ts +10 -0
  129. package/src/components/segmented-control/index.ts +1 -0
  130. package/src/components/segmented-control/segmented-control.styles.ts +37 -0
  131. package/src/components/select/select.styles.ts +12 -0
  132. package/src/components/sidebar/index.ts +1 -0
  133. package/src/components/sidebar/sidebar.styles.ts +94 -0
  134. package/src/components/splitter/index.ts +1 -0
  135. package/src/components/splitter/splitter.styles.ts +44 -0
  136. package/src/components/textarea/textarea.styles.ts +6 -0
  137. package/src/components/virtualizer/index.ts +1 -0
  138. package/src/components/virtualizer/virtualizer.styles.ts +15 -0
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const autocompleteVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -24,6 +25,17 @@ export const autocompleteVariants = tv({
24
25
  trigger: "autocomplete__trigger--full-width",
25
26
  },
26
27
  },
28
+ size: {
29
+ lg: {
30
+ base: "autocomplete--lg",
31
+ popover: "autocomplete__popover--lg",
32
+ },
33
+ md: {},
34
+ sm: {
35
+ base: "autocomplete--sm",
36
+ popover: "autocomplete__popover--sm",
37
+ },
38
+ },
27
39
  variant: {
28
40
  primary: {
29
41
  base: "autocomplete--primary",
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const colorInputGroupVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -20,6 +21,15 @@ export const colorInputGroupVariants = tv({
20
21
  base: "color-input-group--full-width",
21
22
  },
22
23
  },
24
+ size: {
25
+ lg: {
26
+ base: "color-input-group--lg",
27
+ },
28
+ md: {},
29
+ sm: {
30
+ base: "color-input-group--sm",
31
+ },
32
+ },
23
33
  variant: {
24
34
  primary: {
25
35
  base: "color-input-group--primary",
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const comboBoxVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  },
9
10
  slots: {
10
11
  base: "combo-box",
@@ -21,6 +22,17 @@ export const comboBoxVariants = tv({
21
22
  inputGroup: "combo-box__input-group--full-width",
22
23
  },
23
24
  },
25
+ /* The field itself is the `Input` inside, which takes its own size class from the context the
26
+ * root provides. Only the popover is left, and it is teleported out of this tree. */
27
+ size: {
28
+ lg: {
29
+ popover: "combo-box__popover--lg",
30
+ },
31
+ md: {},
32
+ sm: {
33
+ popover: "combo-box__popover--sm",
34
+ },
35
+ },
24
36
  },
25
37
  });
26
38
 
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const dateInputGroupVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -22,6 +23,15 @@ export const dateInputGroupVariants = tv({
22
23
  base: "date-input-group--full-width",
23
24
  },
24
25
  },
26
+ size: {
27
+ lg: {
28
+ base: "date-input-group--lg",
29
+ },
30
+ md: {},
31
+ sm: {
32
+ base: "date-input-group--sm",
33
+ },
34
+ },
25
35
  variant: {
26
36
  primary: {
27
37
  base: "date-input-group--primary",
@@ -61,11 +61,14 @@ export * from "./radio";
61
61
  export * from "./radio-group";
62
62
  export * from "./scroll-shadow";
63
63
  export * from "./search-field";
64
+ export * from "./segmented-control";
64
65
  export * from "./select";
65
66
  export * from "./separator";
67
+ export * from "./sidebar";
66
68
  export * from "./skeleton";
67
69
  export * from "./slider";
68
70
  export * from "./spinner";
71
+ export * from "./splitter";
69
72
  export * from "./surface";
70
73
  export * from "./switch";
71
74
  export * from "./switch-group";
@@ -82,3 +85,4 @@ export * from "./toggle-button";
82
85
  export * from "./toggle-button-group";
83
86
  export * from "./toolbar";
84
87
  export * from "./tooltip";
88
+ export * from "./virtualizer";
@@ -6,6 +6,7 @@ export const inputVariants = tv({
6
6
  base: "input",
7
7
  defaultVariants: {
8
8
  fullWidth: false,
9
+ size: "md",
9
10
  variant: "primary",
10
11
  },
11
12
  variants: {
@@ -13,6 +14,11 @@ export const inputVariants = tv({
13
14
  false: "",
14
15
  true: "input--full-width",
15
16
  },
17
+ size: {
18
+ lg: "input--lg",
19
+ md: "",
20
+ sm: "input--sm",
21
+ },
16
22
  variant: {
17
23
  primary: "input--primary",
18
24
  secondary: "input--secondary",
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const inputGroupVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -20,6 +21,15 @@ export const inputGroupVariants = tv({
20
21
  base: "input-group--full-width",
21
22
  },
22
23
  },
24
+ size: {
25
+ lg: {
26
+ base: "input-group--lg",
27
+ },
28
+ md: {},
29
+ sm: {
30
+ base: "input-group--sm",
31
+ },
32
+ },
23
33
  variant: {
24
34
  primary: {
25
35
  base: "input-group--primary",
@@ -5,9 +5,15 @@ import { tv } from "tailwind-variants";
5
5
  export const listboxVariants = tv({
6
6
  base: "list-box",
7
7
  defaultVariants: {
8
+ size: "md",
8
9
  variant: "default",
9
10
  },
10
11
  variants: {
12
+ size: {
13
+ lg: "list-box--lg",
14
+ md: "",
15
+ sm: "list-box--sm",
16
+ },
11
17
  variant: {
12
18
  danger: "list-box--danger",
13
19
  default: "list-box--default",
@@ -4,6 +4,16 @@ import { tv } from "tailwind-variants";
4
4
 
5
5
  export const menuVariants = tv({
6
6
  base: "menu",
7
+ defaultVariants: {
8
+ size: "md",
9
+ },
10
+ variants: {
11
+ size: {
12
+ lg: "menu--lg",
13
+ md: "",
14
+ sm: "menu--sm",
15
+ },
16
+ },
7
17
  });
8
18
 
9
19
  export type MenuVariants = VariantProps<typeof menuVariants>;
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const numberFieldVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -22,6 +23,15 @@ export const numberFieldVariants = tv({
22
23
  group: "number-field__group--full-width",
23
24
  },
24
25
  },
26
+ size: {
27
+ lg: {
28
+ base: "number-field--lg",
29
+ },
30
+ md: {},
31
+ sm: {
32
+ base: "number-field--sm",
33
+ },
34
+ },
25
35
  variant: {
26
36
  primary: {
27
37
  base: "number-field--primary",
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const searchFieldVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -22,6 +23,15 @@ export const searchFieldVariants = tv({
22
23
  group: "search-field__group--full-width",
23
24
  },
24
25
  },
26
+ size: {
27
+ lg: {
28
+ base: "search-field--lg",
29
+ },
30
+ md: {},
31
+ sm: {
32
+ base: "search-field--sm",
33
+ },
34
+ },
25
35
  variant: {
26
36
  primary: {
27
37
  base: "search-field--primary",
@@ -0,0 +1 @@
1
+ export * from "./segmented-control.styles";
@@ -0,0 +1,37 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+
3
+ import { tv } from "tailwind-variants";
4
+
5
+ export const segmentedControlVariants = tv({
6
+ defaultVariants: {
7
+ fullWidth: false,
8
+ size: "md",
9
+ },
10
+ slots: {
11
+ base: "segmented-control",
12
+ indicator: "segmented-control__indicator",
13
+ item: "segmented-control__item",
14
+ separator: "segmented-control__separator",
15
+ },
16
+ variants: {
17
+ fullWidth: {
18
+ false: {},
19
+ true: {
20
+ base: "segmented-control--full-width",
21
+ },
22
+ },
23
+ size: {
24
+ lg: {
25
+ base: "segmented-control--lg",
26
+ },
27
+ md: {
28
+ base: "segmented-control--md",
29
+ },
30
+ sm: {
31
+ base: "segmented-control--sm",
32
+ },
33
+ },
34
+ },
35
+ });
36
+
37
+ export type SegmentedControlVariants = VariantProps<typeof segmentedControlVariants>;
@@ -5,6 +5,7 @@ import { tv } from "tailwind-variants";
5
5
  export const selectVariants = tv({
6
6
  defaultVariants: {
7
7
  fullWidth: false,
8
+ size: "md",
8
9
  variant: "primary",
9
10
  },
10
11
  slots: {
@@ -22,6 +23,17 @@ export const selectVariants = tv({
22
23
  trigger: "select__trigger--full-width",
23
24
  },
24
25
  },
26
+ size: {
27
+ lg: {
28
+ base: "select--lg",
29
+ popover: "select__popover--lg",
30
+ },
31
+ md: {},
32
+ sm: {
33
+ base: "select--sm",
34
+ popover: "select__popover--sm",
35
+ },
36
+ },
25
37
  variant: {
26
38
  primary: {
27
39
  base: "select--primary",
@@ -0,0 +1 @@
1
+ export * from "./sidebar.styles";
@@ -0,0 +1,94 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+
3
+ import { tv } from "tailwind-variants";
4
+
5
+ /*
6
+ * Side and collapse mode are carried as modifier classes rather than left to `[data-side]` /
7
+ * `[data-collapsible]` selectors in the stylesheet, the same call `splitterVariants` makes: a
8
+ * selector descending from the shell would reach a second sidebar rendered inside the inset — a
9
+ * settings pane with a nav of its own — and lay its border down the outer one's edge.
10
+ *
11
+ * Only the slots with side- or mode-specific rules branch. `data-collapsed` is deliberately not a
12
+ * variant: it flips while you watch, which is what a state key is for, and a modifier saying so
13
+ * would have to be recomputed on every toggle.
14
+ */
15
+ export const sidebarVariants = tv({
16
+ defaultVariants: {
17
+ collapsible: "icon",
18
+ side: "left",
19
+ },
20
+ slots: {
21
+ base: "sidebar",
22
+ content: "sidebar__content",
23
+ footer: "sidebar__footer",
24
+ group: "sidebar__group",
25
+ groupLabel: "sidebar__group-label",
26
+ header: "sidebar__header",
27
+ inset: "sidebar__inset",
28
+ item: "sidebar__item",
29
+ itemIcon: "sidebar__item-icon",
30
+ itemIndicator: "sidebar__item-indicator",
31
+ itemLabel: "sidebar__item-label",
32
+ itemTooltip: "sidebar__item-tooltip",
33
+ itemTrailing: "sidebar__item-trailing",
34
+ panel: "sidebar__panel",
35
+ rail: "sidebar__rail",
36
+ railTarget: "sidebar__rail-target",
37
+ separator: "sidebar__separator",
38
+ subMenu: "sidebar__sub-menu",
39
+ trigger: "sidebar__trigger",
40
+ },
41
+ variants: {
42
+ collapsible: {
43
+ icon: {
44
+ panel: "sidebar__panel--icon",
45
+ },
46
+ none: {
47
+ panel: "sidebar__panel--none",
48
+ },
49
+ offcanvas: {
50
+ panel: "sidebar__panel--offcanvas",
51
+ },
52
+ },
53
+ // Whether the panel is rendering inside a drawer. Resolved by the panel at call time rather
54
+ // than by the root, because it is the one part that changes shape when the viewport narrows.
55
+ inDrawer: {
56
+ true: {
57
+ panel: "sidebar__panel--drawer",
58
+ },
59
+ },
60
+ // Whether this submenu folds. Resolved by the submenu at call time rather than by the root,
61
+ // because one sidebar holds items that fold and items that do not.
62
+ isCollapsible: {
63
+ true: {
64
+ subMenu: "sidebar__sub-menu--collapsible",
65
+ },
66
+ },
67
+ // Whether the rail resizes rather than only toggling. Not folded into `collapsible`, because
68
+ // the two are independent: a sidebar that cannot collapse at all can still be dragged wider.
69
+ isResizable: {
70
+ true: {
71
+ rail: "sidebar__rail--resizable",
72
+ },
73
+ },
74
+ // Whether the row is a child under another item. Resolved by the item at call time, from the
75
+ // submenu it finds itself inside rather than from a prop a caller has to remember on every row.
76
+ isSub: {
77
+ true: {
78
+ item: "sidebar__item--sub",
79
+ },
80
+ },
81
+ side: {
82
+ left: {
83
+ base: "sidebar--left",
84
+ panel: "sidebar__panel--left",
85
+ },
86
+ right: {
87
+ base: "sidebar--right",
88
+ panel: "sidebar__panel--right",
89
+ },
90
+ },
91
+ },
92
+ });
93
+
94
+ export type SidebarVariants = VariantProps<typeof sidebarVariants>;
@@ -0,0 +1 @@
1
+ export * from "./splitter.styles";
@@ -0,0 +1,44 @@
1
+ import type { VariantProps } from "tailwind-variants";
2
+
3
+ import { tv } from "tailwind-variants";
4
+
5
+ /*
6
+ * Orientation is carried as a modifier class rather than left to a `[data-orientation]` selector
7
+ * in the stylesheet: a splitter nests, and a descendant selector on the root would reach an inner
8
+ * group's handle as well as its own. Only `base`, `handle` and `handleGrip` branch, because only
9
+ * they have orientation-specific rules — a modifier on the others would be dead CSS.
10
+ *
11
+ * `handleGrip` branches here rather than being sized from its parent's modifier, and that buys two
12
+ * things at once: the root already resolves these slots against the orientation, so a handle needs
13
+ * no extra wiring to size its grip, and the grip carries a `--` class of its own — which is what
14
+ * puts it in front of the Storybook forced-colors sweep. `showGrip` is deliberately *not* a variant:
15
+ * the grip is only rendered when it is asked for, so a modifier saying so would be dead CSS.
16
+ */
17
+ export const splitterVariants = tv({
18
+ defaultVariants: {
19
+ orientation: "horizontal",
20
+ },
21
+ slots: {
22
+ base: "splitter",
23
+ handle: "splitter__handle",
24
+ handleGrip: "splitter__handle-grip",
25
+ handleTarget: "splitter__handle-target",
26
+ panel: "splitter__panel",
27
+ },
28
+ variants: {
29
+ orientation: {
30
+ horizontal: {
31
+ base: "splitter--horizontal",
32
+ handle: "splitter__handle--horizontal",
33
+ handleGrip: "splitter__handle-grip--horizontal",
34
+ },
35
+ vertical: {
36
+ base: "splitter--vertical",
37
+ handle: "splitter__handle--vertical",
38
+ handleGrip: "splitter__handle-grip--vertical",
39
+ },
40
+ },
41
+ },
42
+ });
43
+
44
+ export type SplitterVariants = VariantProps<typeof splitterVariants>;
@@ -6,6 +6,7 @@ export const textAreaVariants = tv({
6
6
  base: "textarea",
7
7
  defaultVariants: {
8
8
  fullWidth: false,
9
+ size: "md",
9
10
  variant: "primary",
10
11
  },
11
12
  variants: {
@@ -13,6 +14,11 @@ export const textAreaVariants = tv({
13
14
  false: "",
14
15
  true: "textarea--full-width",
15
16
  },
17
+ size: {
18
+ lg: "textarea--lg",
19
+ md: "",
20
+ sm: "textarea--sm",
21
+ },
16
22
  variant: {
17
23
  primary: "textarea--primary",
18
24
  secondary: "textarea--secondary",
@@ -0,0 +1 @@
1
+ export * from "./virtualizer.styles";
@@ -0,0 +1,15 @@
1
+ import { tv } from "tailwind-variants";
2
+
3
+ /**
4
+ * The parts a windowed collection draws for itself, whichever collection it is.
5
+ *
6
+ * Only the scrollbar so far: a table and a listbox hide the native one and draw this in its place,
7
+ * so a dragged thumb moves the rows and the scroll offset together.
8
+ */
9
+ export const virtualizerVariants = tv({
10
+ slots: {
11
+ scrollbar: "virtualizer__scrollbar",
12
+ scrollbarThumb: "virtualizer__scrollbar-thumb",
13
+ scrollbarTrack: "virtualizer__scrollbar-track",
14
+ },
15
+ });